Skip to content

Conversation

@cephalization
Copy link
Contributor

@cephalization cephalization commented Oct 24, 2025

Also fixes a few bugs:

  • Models page is now powered by a collection query. This allows for more consistent and efficient updates after cloning, updating, or deleting models
  • AI Provider credentials settings page now lets you edit credentials. Previously the dialog would close when you type any character when editing provider credentials
  • Data retention policy connections are refactored for simplicity and less prop drilling

Note

Switches generativeModels to a paginated connection and refactors settings pages to use preloaded Relay loaders with connection-based updates.

  • GraphQL/API
    • Add GenerativeModelConnection/GenerativeModelEdge; change Query.generativeModels to a paginated connection with args.
    • Server generative_models now returns a Connection (supports first/last/after/before).
  • Settings – Models
    • Convert ModelsTable to use Relay connection (edges.node) with @connection and @refetchable.
    • Update create/clone/delete mutations to use @prependNode/@deleteEdge with connectionId (no route revalidation).
    • Page uses preloaded loader; adds debounced search and revamped Select/ListBox usage.
  • Settings – Data Retention
    • Simplify connections by deriving connectionId from client:root; remove prop drilling.
    • Page and loader migrated to preloaded queries.
  • Settings – Annotations
    • Switch to preloaded + refetchable fragment; mutations refetch via fragment instead of route revalidation.
  • Settings – AI Providers
    • Extract ProviderCredentialsStatus; fixes editing UX and default input handling.
  • Settings – Prompts
    • Add settingsPromptsPageLoader and wire route loader; improve delete label error handling (toast).
  • Misc
    • General migration to loadQuery/usePreloadedQuery; remove unnecessary useEffect disposals.
    • ListBox refactor to pass ref prop directly.

Written by Cursor Bugbot for commit 63d8446. This will update automatically on new commits. Configure here.

@cephalization cephalization requested review from a team as code owners October 24, 2025 17:45
@github-project-automation github-project-automation bot moved this to 📘 Todo in phoenix Oct 24, 2025
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Oct 24, 2025
edgeTypeName: "GenerativeModel"
) {
id
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Schema Mismatch Causes UI Update Delay

The @prependNode directive in NewModelButton.tsx has edgeTypeName: "GenerativeModel". This mismatch with the schema's GenerativeModelEdge (used correctly in CloneModelButton.tsx) means new models don't appear in the UI immediately.

Fix in Cursor Fix in Web

const envVarSet = !!providerCredentials?.[envVarName];
return envVarSet || !isRequired;
}
);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Credential Check Fails on Empty Strings

The credential check logic now uses !! instead of !== undefined, which causes intentionally empty string environment variables to be treated as "not set." This can incorrectly report providers as "not configured" when an empty string is a valid or desired credential value.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Status: 📘 Todo

Development

Successfully merging this pull request may close these issues.

1 participant