Compare commits

...
Author SHA1 Message Date
Lotus CIandClaude Opus 5.5 5130dfc9c8 fix(settings): "ENTER for Newline" stays per device (#348)
CI / Build & Quality Checks (pull_request) Successful in 3m6s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 14m37s
Settings sync mirrored enterForNewline to io.lotus.settings, so turning it
on for a phone keyboard switched the desktop to Ctrl+Enter-to-send (and
vice versa). It is now in DEVICE_LOCAL_KEYS.

Verified with one account on a phone and a desktop profile: toggling it
on the phone leaves the desktop at Enter-to-send, and it is no longer in
the synced account data.

Fixes #348

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
2026-10-12 15:27:01 -04:00
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -104,3 +104,9 @@ describe('buildSyncedContent', () => {
assert.deepEqual(c.settings, pickSyncable(base)); assert.deepEqual(c.settings, pickSyncable(base));
}); });
}); });
describe('device-local keys', () => {
it('keeps enterForNewline on each device (#348)', () => {
assert.equal(DEVICE_LOCAL_KEYS.has('enterForNewline'), true);
});
});
+3
View File
@@ -49,6 +49,9 @@ export const DEVICE_LOCAL_KEYS: ReadonlySet<keyof Settings> = new Set<keyof Sett
'ringtoneVolume', 'ringtoneVolume',
'soundboardVolume', 'soundboardVolume',
'cameraOnJoin', 'cameraOnJoin',
// [Gitea #348] Enter = new line suits a phone keyboard, Enter = send a desktop one;
// syncing it switched the desktop to Ctrl+Enter when set on the phone.
'enterForNewline',
]); ]);
/** The subset of `settings` that is synced (deep-copied so callers can't alias). */ /** The subset of `settings` that is synced (deep-copied so callers can't alias). */