feat(settings): add adaptive settings and support - #412
Conversation
Obiente previewNC Native · Obiente updates this comment as the preview changes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 37a7a8c3fe
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 532f49252f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 89ea85c0e8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| var selectedSectionName by rememberSaveable(session.serverUrl, session.loginName) { | ||
| mutableStateOf<String?>(null) | ||
| } | ||
| val supportDrafts = remember(session.serverUrl, session.loginName) { SupportSettingsDraftState() } |
There was a problem hiding this comment.
Persist reply recovery beyond the Settings composition
When Android performs a system-initiated activity recreation or process restoration, this ordinary remember creates a fresh SupportSettingsDraftState. If a reply previously returned ReplyDeliveryUnknown, the only refresh-required guard is therefore lost; after a failed automatic refresh, Support enables sending again and the user can retype and duplicate the non-idempotent reply. The final hoist fixes section navigation, but this composition-local ownership is fresh evidence that account-scoped recovery still needs a state holder that survives recreation.
AGENTS.md reference: AGENTS.md:L460-L463
Useful? React with 👍 / 👎.
Summary
Safety and privacy
rememberSaveableValidation
Validated on the dedicated build host at exact head
fef16a0e7a781175fcdc1a987d9057824c1d4325:bash tools/check-repository.shSettingsWorkspaceTestandJvmSupportIntakeTest:ui:desktopTest:androidApp:assembleDebugThe website production build passed before the authorized CI/CD capture refresh. The final head passes the repository's generated-capture and manifest contracts.
Release-marked Debian packaging reached
jpackageand compiled the source, but the dedicated build host does not have the required externalfakerootcommand. No.debwas produced locally. Hosted packaging remains the authoritative package check.Documentation
The Android and desktop getting-started guides describe the new Settings navigation and Support paths. The user-facing changelog fragment references this PR.