Commit Graph
8 Commits
Author SHA1 Message Date
evandro b441339bb4 feat(a11y): label icon-only buttons and inputs for screen readers
Header, message action, send/stop, history, model selector and dark-mode controls had no accessible name (icon-only buttons). Adds roles/labels and selected/disabled state; no visual change.
2026-10-10 04:29:33 -03:00
evandro 434cba2a69 refactor(settings): split SettingsScreen into section components and pure helpers
SettingsScreen CC 23 -> below 10. Form parsing, change detection and the dark-theme check moved to utils/ with unit tests; the dark switch now reads the OS scheme instead of comparing the background colour. Adds characterization tests for the screen.
2026-10-10 04:18:40 -03:00
evandro cb6eda0562 refactor(chat): split ChatScreen and reuse regenerateResponse after editing a message
The edit path duplicated the streaming flow with inline require() calls; it now reuses regenerateResponse, which also fixes:
- edited conversations were never saved to History
- the answer generated after an edit could not be stopped (no abort handle kept)
Stopping a stream now saves the partial conversation, like finishing or failing does.
Adds characterization tests for ChatScreen and useLMStudio.
2026-10-10 04:16:29 -03:00
Evandro Fonseca Junior 4cc1addb3c fix: make the web bundle run and repair broken route declarations
- add babel.config.js with unstable_transformImportMeta: zustand/middleware ships
  import.meta.env, which the Metro web bundle (a classic script) cannot parse, so
  every page threw 'SyntaxError: Cannot use import.meta outside a module' and the
  app never hydrated after the static export.
- declare the settings screen as 'settings/index' in the root stack: the old name
  'settings' matched no route, so the modal presentation and the 'Settings' title
  were silently dropped (expo-router logged 'No route named settings exists').
- add the missing app/+not-found.tsx that the root layout already referenced.
- update the About label from LocalAiApp to LocalMind.
2026-09-14 07:55:29 -03:00
Evandro Fonseca Junior 7303d568f4 feat: Implement local chat saving and history management using Zustand and AsyncStorage. 2026-03-04 23:51:24 -03:00
Evandro Fonseca Junior 5fd7f7d2ed feat: Implement a settings screen for server connection configuration and theme preferences, supported by new color definitions. 2026-03-04 17:13:30 -03:00
Evandro Fonseca Junior 0297db110a feat: Implement core chat functionality with LM Studio integration and theme management. 2026-03-04 16:56:45 -03:00
Evandro Fonseca Junior 93df87d7e9 feat: Introduce a comprehensive set of AI agent skills, agents, and workflows, along with new UI components and application structure. 2026-03-04 05:01:34 -03:00