Commit Graph

45 Commits

Author SHA1 Message Date
Ylber Gashi
0bac909477 Mobile: reliability, polish, and test infrastructure sprint (#349)
Consolidate duplicated utility functions into shared format-utils module.
Replace unsafe static ref pattern in PageWebView with forwardRef/useImperativeHandle.
Stabilize useNodeListQuery memoization by replacing JSON.stringify deps.
Add React.memo to FlatList item components (MessageItem, ChatListItem,
SpaceListItem, FileItem). Wrap all tab route layouts with ErrorBoundary.
Set up jest-expo test infrastructure with initial format utility tests.
Add empty states for message list and home screen. Add accessibility
labels to buttons, inputs, list items, and navigation elements. Create
animated skeleton loading components for node lists. Fix pre-existing
lint errors in import ordering.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:47:10 +01:00
Ylber Gashi
c945579abd Mobile: WebView-based page editor with TipTap (#345)
* Mobile: replace inline page editor with WebView-based TipTap editor

Replaces the plain-text block-by-block page editor with a Vite-built
WebView that runs the full TipTap rich text editor. The editor HTML is
bundled as a single self-contained asset, loaded via expo-asset and
rendered in react-native-webview. Communication between RN and the
WebView uses postMessage/onMessage bridge for init, mutations, queries,
theme changes, and navigation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Mobile: reorganize WebView editor as standalone package

Moves the editor WebView app from apps/mobile/src/editor-webview/ to
apps/mobile/webviews/editor/ as a first-class build target with its own
package.json, tsconfig.json, and vite.config.ts. This fixes TypeScript
compilation (editor code no longer typechecked as React Native) and
makes the build story clearer.

- WebView editor is now at apps/mobile/webviews/editor/
- Built artifact copied to apps/mobile/assets/editor-dist/ on prestart
- Vite dev server support for fast iteration
- Tailwind CSS @source path fixed (../../../../packages/ui)
- Page title editing restored via RenameNodeSheet
- File preview now converts file:// to base64 data URLs for WebView
- WebView hidden until ready to avoid white flash
- Keyboard accessory bar hidden on iOS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 13:43:17 +01:00
Ylber Gashi
0711b24d5b Mobile: set up EAS Build and TestFlight for iOS team testing (#343)
* Mobile: set up EAS Build and TestFlight distribution for iOS team testing

- Add eas.json with production build profile (Node 22.16.0)
- Configure iOS app signing and provisioning via EAS
- Add Metro mocking for Kysely FileMigrationProvider (Hermes compilation error)
- Pin react-dom@19.1.0 to match react version (package.json overrides)
- Store EAS projectId in app.json for Expo CLI integration

The app now builds on EAS cloud and distributes to TestFlight. Team members can be added as internal testers for easy installation on their iPhones.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* Mobile: set up EAS Build and TestFlight distribution for iOS team testing

- Add eas.json with production build profile (Node 22.16.0)
- Configure iOS app signing and provisioning via EAS
- Add Metro mocking for Kysely FileMigrationProvider (Hermes compilation error)
- Pin react-dom@19.1.0 to match react version (package.json overrides)
- Store EAS projectId in app.json for Expo CLI integration

The app now builds on EAS cloud and distributes to TestFlight. Team members can be added as internal testers for easy installation on their iPhones.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-14 22:24:45 +01:00
Ylber Gashi
298f3cc173 Rewrite mobile app with Expo Router and React Native
Migrate from Vite/web-based setup to native React Native with Expo Router.
Includes auth flows, chat/spaces/settings screens, CRDT sync, file upload,
workspace switching, emoji picker, message reactions, and iOS/Android projects.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:07:20 +01:00
Hakan Shehu
1259f7bd91 Update packages (#322) 2026-02-09 15:42:21 +01:00
Hakan Shehu
5ea69ba06d Update packages (#311) 2026-01-30 17:38:34 +01:00
Ylber Gashi
3e1070f3a6 test(server): add vitest harness and initial integration tests (#302) 2026-01-19 22:17:32 +01:00
Hakan Shehu
3ccde245e9 Update pakcages (#278) 2026-01-08 11:17:53 +01:00
Hakan Shehu
7149ef5466 Update packages (#267) 2025-11-19 13:55:39 -08:00
Hakan Shehu
80b4235bf2 Update packages (#233) 2025-10-15 09:37:45 +02:00
Hakan Shehu
c64c5a6406 Update packages (#224) 2025-10-07 20:22:27 +02:00
Hakan Shehu
3217764a7b Update packages (#212) 2025-09-11 14:19:45 +02:00
Hakan Shehu
4a2ac3f1ed Update packages (#196) 2025-08-29 16:25:52 +02:00
Hakan Shehu
a3de8a84ac Update packages (#191) 2025-08-12 10:31:28 +02:00
Hakan Shehu
363ed3c51e Use tsx for running scripts (#190) 2025-08-11 20:47:02 +02:00
Hakan Shehu
84f7cb70f0 Downgrade typescript version tempirary (#184) 2025-08-08 14:32:40 +02:00
Hakan Shehu
4fb5b7db85 Update packages (#183) 2025-08-08 13:42:31 +02:00
Hakan Shehu
6212e7c65e Update packages (#155) 2025-07-23 10:10:23 +02:00
Hakan Shehu
6a2635320f Update packages (#112) 2025-07-04 09:12:30 +02:00
Hakan Shehu
1fd2cb0245 Update packages (#94) 2025-06-25 19:58:24 +02:00
Hakan Shehu
30e15e4bd3 Web version (#43)
* Create client package
* Create the UI package
* Init web app
* Use isomorphic 'ws' for web sockets
* File and asset implementations
* Use Opfs SAH version of sqlite in browser
* Generate Svg sprites for emojis and icons
* Include emojis sprite
* Improve and refactor assets
* More assets improvements
* Implement emoji and icons db import as readonly
* Improve import paths
* Handle concurrency limits for sqlite
* Fix event broadcast in web
* Pass windowId for subscribe and unsubscribe queries in desktop
* Remove asset context
* Implement avatar upload/download with the new structure
* Improve file handlings
* Move the necessary dependencies to client and ui packages
* Update packages
* Improve open file dialog
* Make sure database files are deleted in browser
* Improve avatar loading
* Improve file loading
* Fix some assets
* Implement asset caching for offline access
* Small fixes and improvements
* Use server instead of pre signed urls for file upload/download
* Cleanup some client related metadata
* Switch Axios with ky
* Refactor mutation results
* Minor concurrency fix
* Refactor web sockets
* Improve file uploading
* Handle connection close on server
* Use stream for downloading the file
* Add config options for cors
* Update document in all tabs on local change
* Include necessary icons for web
* Update docker compose
* Implement server upgrade required component
* Use correct client type and platform in web and desktop
* Improve service worker
* Improve versioning
* Fix an import
* Minor fixes
* Update some user endpoints
* Minor endpoint changes
* Enable app badge for desktop
* Add error handling in some database operations
* Update mutation naming convention
* Update query naming convention
* Update event and some metadata naming conventions
* Update event and job naming conventions in server
* Update Github workflow files
* Restructure assets directory
* Update packages
* Upgrade to Zod v4
* Upgrade to react 19
* Upgrade to tailwind v4
* Minor ui improvements
* Fix some cursor pointers
* Add browser not supported message in web
* Enhance server create flow, allow insecure connections and custom api paths
* Execute electron-rebuild as postinstall command
* Update docker compose
2025-06-11 00:14:17 +02:00
Hakan Shehu
b6c21ac3db Update packages (#23) 2025-05-01 23:19:31 +02:00
Hakan Shehu
a0df904981 Update packages 2025-04-23 18:04:40 +02:00
Hakan Shehu
fa8c941e93 Update packages in desktop, core & crdt 2025-04-08 19:58:08 +02:00
Hakan Shehu
130524708d Update packages 2025-03-17 23:33:48 +01:00
Hakan Shehu
21b0b0cd11 Move 'ms' package into desktop 2025-02-20 00:35:54 +01:00
Hakan Shehu
3a276d79d4 Update packages 2025-02-19 22:13:02 +01:00
Hakan Shehu
e046055f45 Update desktop packages 2025-01-29 13:29:34 +01:00
Hakan Shehu
7e39676081 Update packages 2025-01-19 19:23:50 +01:00
Hakan Shehu
74f74ea37a Restructure and refactor services in desktop 2025-01-17 14:35:13 +01:00
Hakan Shehu
a322fafcbf Update packages 2025-01-13 10:50:36 +01:00
Hakan Shehu
cd23a9b7c0 Update packages 2024-12-31 12:22:39 +01:00
Hakan Shehu
9c8b803b67 Remove author from package.json files 2024-12-13 18:03:20 +01:00
Hakan Shehu
7aaf8acf0b Improve emojis and icons 2024-12-04 12:14:48 +01:00
Hakan Shehu
4e6c3fedfb Include scripts in the workspace 2024-12-04 10:19:58 +01:00
Hakan Shehu
704dae1efc Use debug instead of pinojs 2024-12-03 13:42:02 +01:00
Hakan Shehu
3df94f7c40 Fix imports order 2024-12-02 00:44:02 +01:00
Hakan Shehu
f76db9913d React lint fixes 2024-12-01 23:59:41 +01:00
Hakan Shehu
1c204a17dc Lint fixes 2024-12-01 23:51:33 +01:00
Hakan Shehu
a19c6274b9 Update packages 2024-12-01 21:40:17 +01:00
Hakan Shehu
184851403e Switch to npm workspaces and electron forge 2024-11-16 16:55:45 +01:00
Hakan Shehu
39aef3d4d8 Build fixes and improvements 2024-11-10 11:54:15 +01:00
Hakan Shehu
3042625e34 Add crdt as a separate package 2024-11-07 09:32:26 +01:00
Hakan Shehu
00f6ac971e Include desktop in monorepo 2024-11-06 09:03:08 +01:00
Hakan Shehu
992066912e Initiate monorepo 2024-11-05 22:33:43 +01:00