mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-09 07:10:34 +01:00
feat(ui): submit task composers with Enter by default (#19272)
Use Enter to submit task replies and new tasks, with Shift+Enter for a new line. Add an experimental preference to require Command/Ctrl+Enter. Preserve autocomplete selection and IME confirmation, and retain the modifier shortcut until saved settings load. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
b4e7b76635
commit
b400f76647
19 files changed
+309
-9
No files matched your search
@@ -10,6 +10,14 @@ import {
|
||||
import type { ManagedInstanceConfig } from "../services/managed-config.js";
|
||||
|
||||
describe("instance settings service", () => {
|
||||
it("retains the legacy composer preference through saved and unrelated settings updates", () => {
|
||||
expect(normalizeExperimentalSettings({}).enableLegacyComposerSubmit).toBe(false);
|
||||
const enabled = applyExperimentalSettingsPatch({}, { enableLegacyComposerSubmit: true });
|
||||
const saved = JSON.parse(JSON.stringify(enabled));
|
||||
expect(normalizeExperimentalSettings(saved).enableLegacyComposerSubmit).toBe(true);
|
||||
expect(applyExperimentalSettingsPatch(saved, { enableCases: true }).enableLegacyComposerSubmit).toBe(true);
|
||||
expect(applyExperimentalSettingsPatch(saved, { enableLegacyComposerSubmit: false }).enableLegacyComposerSubmit).toBe(false);
|
||||
});
|
||||
it("defaults remote workspace enrollment on while preserving explicit operator choices", () => {
|
||||
expect(instanceExperimentalSettingsSchema.parse({}).remoteWorkspaceStorageEnabled).toBe(true);
|
||||
expect(INSTANCE_FEATURE_CATALOG.remoteWorkspaceStorageEnabled).toMatchObject({ cloudDefault: true, selfHostedDefault: true });
|
||||
@@ -118,6 +126,7 @@ describe("instance settings service", () => {
|
||||
enableGoogleWorkspaceConnector: false,
|
||||
enableConferenceRoomChat: false,
|
||||
enableClassicTaskInterface: false,
|
||||
enableLegacyComposerSubmit: false,
|
||||
enableExternalObjects: false,
|
||||
enableSmokeLab: false,
|
||||
enableCases: false,
|
||||
|
||||
@@ -272,6 +272,7 @@ export function normalizeExperimentalSettings(raw: unknown): InstanceExperimenta
|
||||
enableArtifactsV1: parsed.data.enableArtifactsV1 ?? true,
|
||||
enableConferenceRoomChat: parsed.data.enableConferenceRoomChat ?? false,
|
||||
enableClassicTaskInterface: parsed.data.enableClassicTaskInterface ?? false,
|
||||
enableLegacyComposerSubmit: parsed.data.enableLegacyComposerSubmit ?? false,
|
||||
enableIssuePlanDecompositions: parsed.data.enableIssuePlanDecompositions ?? false,
|
||||
enableExperimentalFileViewer: parsed.data.enableExperimentalFileViewer ?? false,
|
||||
enableExternalObjects: parsed.data.enableExternalObjects ?? false,
|
||||
@@ -330,6 +331,7 @@ export function normalizeExperimentalSettings(raw: unknown): InstanceExperimenta
|
||||
enableArtifactsV1: true,
|
||||
enableConferenceRoomChat: false,
|
||||
enableClassicTaskInterface: false,
|
||||
enableLegacyComposerSubmit: false,
|
||||
enableIssuePlanDecompositions: false,
|
||||
enableExperimentalFileViewer: false,
|
||||
enableExternalObjects: false,
|
||||
|
||||
Reference in new issue
Block a user