Repository navigation
Modernize cloud and Ollama model settings - #10
Merged
Merged
Conversation
dovvnloading
added a commit
that referenced
this pull request
Jul 29, 2026
… (findings #10, #11) (#174) Two dead settings from the R8a audit, both with real backend/UI wiring already in place on one side only. - Notification-type gating (finding #10): Settings' Info/Success/Warning/ Error checkboxes persisted real preferences via SettingsManager. set_notification_preferences, and get_notification_type_enabled already existed to read them back - nothing ever called it. NotificationState.show() set visible=True unconditionally regardless of what the user had unchecked. register_notifications now takes an optional SettingsManager; show() early-returns (leaving the current banner, if any, untouched) when the message's type is disabled. Gating lives in the one method every call site already goes through, so every existing notifications.show(...) call across canvas.py, agents.py, chat_library.py, settings.py, plugins.py, autosave.py, and crash_recovery.py is covered without touching any of them. - View popover FONT section (finding #11): the family/size/color controls already round-tripped real setFontFamily/setFontSize/setFontColor intents into scene state - nothing consumed scene.fontFamily/fontSizePt/fontColor as CSS. SceneCanvas now writes them as --gl-node-font-family/-size/-color custom properties on the canvas wrapper (fontSizePt is points, not pixels - the existing 8-16 range and 9pt default only make sense that way, and pt is a real CSS unit). .scene-node/.scene-node-title/ .scene-node-body reference the tokens with their prior literal values as fallbacks, so every node's title and generic body text now responds to the FONT section live. Scoped to the shared base rules rather than each node kind's own content styling (markdown headings, code blocks) so typographic hierarchy and monospace code stay intact. Live-verified end to end in a running instance: changing the font size slider, family select, and color swatch each visibly restyled a real canvas node's title and body text; toggling a notification type off suppressed that type's banner while leaving others unaffected. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Why
The previous settings flow treated model IDs as opaque strings, blocked the UI during discovery, and could activate models a user did not have installed. Cloud provider switches could also reuse incompatible saved model IDs. This PR makes readiness and selection state explicit while preserving compatibility adapters for existing runtime callers.
Validation
python -m compileall -q graphlink_appgit diff --checkpython -m pytest -q— 414 passed, 1 warningThe internal proposal remains local-only under
doc/and is excluded from this PR.