Commit Graph

67 Commits

Author SHA1 Message Date
Ylber Gashi
39026f09a0 Mobile: server role security, routing fixes, conversation pagination, accessibility, and file download unification (#359)
Close cross-workspace IDOR in role updates, reject invalid invite roles server-side,
fix no-workspace routing, add workspace delete flow, batch reaction queries,
add conversation pagination, improve accessibility labels, and unify file download pipeline.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 21:35:10 +01:00
Ylber Gashi
de626ab613 Fix workspace lifecycle: auto-init synced workspaces, clean up deletions, select workspace on auth (#357)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 11:49:15 +01:00
Ylber Gashi
96bb8c25c6 Mobile: fix validation toolchain and add test coverage for utility modules (#355)
Fix lint errors (import ordering), resolve FileReadStream type mismatch
for mobile's Blob-based readStream, move tests from src/__tests__ to
top-level test/ directory matching web/server conventions, and add tests
for emoji, message, node, radar utils plus an in-memory error log for
debugging experimental builds.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 11:19:41 +01:00
Ylber Gashi
7d44085a8e Improve mobile reliability and rendering (#340) 2026-03-14 11:45:14 +01:00
Ylber Gashi
ef91f3ad03 Harden Expo mobile startup and UX (#337) 2026-03-13 22:57:28 +01:00
Ylber Gashi
203a04b561 Mobile: clean up prebuild artifacts, fix type safety, and improve reliability
- Remove committed ios/android prebuild dirs (CNG generates these on demand)
- Add root-level /ios/ and /android/ to .gitignore to prevent stray prebuilds
- Extract message text utils to shared module (message-utils.ts)
- Fix sync-service bind targets (nodeInteractions/nodeReactions were bound to wrong service)
- Fix node-counters-service lock key (use parent_id instead of node id)
- Replace `any` casts with proper types (TextStyle, error handling, file info)
- Propagate SQLite query errors instead of silently swallowing them
- Skip re-copying assets that already exist on disk
- Memoize message list grouping to avoid unnecessary recomputation
- Show spinner instead of "Loading..." in emoji picker empty state
2026-03-10 22:52:44 +01:00
Ylber Gashi
0a35eef69b Mobile: fix chat navigation, unread counts, logout crash, and login errors
- Fix cross-tab chat navigation from Home using Link withAnchor + unstable_settings
  so back button goes to chat list instead of home screen
- Fix unread count not clearing: add clearCountersForNode for chat/channel nodes
  in both mutation handler and sync paths
- Fix unread counts persisting after re-login by checking parent interaction
  seen state during message counter increment
- Fix logout crash: await database.destroy() and stop services before closing DB
- Fix login error on re-login by cleaning up stale account data in handleLoginSuccess
- Switch ChatListItem to useNodeListQuery for reactive message preview updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 19:49:30 +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
Hakan Shehu
4217eedad5 Fix workspace update (#310) 2026-01-30 17:12:02 +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
6a9255dfed Fix cleanup on account logout (#296) 2026-01-15 23:40:07 +01:00
Hakan Shehu
6a90063f0d Fix otp code expiresAt parsing (#292) 2026-01-15 10:01:01 +01:00
Hakan Shehu
be42137b99 Remove storage checks and add a workspace readonly state (#282)
* Remove storage checks and add a workspace readonly state
* Make deprecated migrations as no-op
2026-01-09 11:57:52 +01:00
Hakan Shehu
3ccde245e9 Update pakcages (#278) 2026-01-08 11:17:53 +01:00
Hakan Shehu
c93f416a5a Use tanstackdb for queries and mutations (#275)
* Use tanstackdb for records query

* Use tanstackdb for chat list

* Use tanstackdb for database and view queries

* Use tanstackdb for space queries

* Remove unused query

* Use tanstackdb for files query and update live query deps

* Use tanstackdb for message queries

* Use tanstackdb for some node queries

* Use tanstackdb for channel deletes

* Improve node delete handling

* Use tanstackdb for channel creation

* Use tanstackdb for folder creation

* Use tanstackdb for space creation

* Flatten node object attributes

* Use tanstackdb for page creation

* Use tanstackdb for record creation

* Use tanstackdb for record updates

* Use tanstackdb for channel update

* Use tanstackdb for folder updates

* Use tanstackdb for space update

* Use tanstackdb for page update

* Use tanstackdb for database created & update

* Use tanstackdb for view create & delete

* Use tanstackdb for some field mutations

* Use tanstackdb for select option mutations

* Refactor workspace collections

* Use paced mutations for some rename inputs

* Use paced mutations for select option settings

* Use paced mutations for record updates

* Refactor some record queries

* Improve some view update handlers

* Improve view filters and sorts

* Use live infinite queries for some paginated lists

* Use tanstack/db for node reactions

* Fix message reactions dialog

* Remove unused file

* Remove node tree get query with tanstackdb recursive queries

* Replace live queries with plain ones for emojis and icons

* Replace some live queries

* MInor updates

* fix node updates

* fix tanstack db queries

* cleanup some inputs
2026-01-07 16:05:26 +01:00
Hakan Shehu
7149ef5466 Update packages (#267) 2025-11-19 13:55:39 -08:00
Hakan Shehu
22b8ce6970 Open in modal and other file improvements (#263) 2025-11-18 22:58:19 -08:00
Hakan Shehu
f46f65c7a3 Open records in a modal (#261) 2025-11-18 11:07:58 -08:00
Hakan Shehu
18cc7b44be Improve storage tracking and UI (#259) 2025-11-17 16:56:28 -08:00
Hakan Shehu
eee31d61bd Improve server loading and syncing (#253) 2025-11-14 07:50:19 -08:00
Hakan Shehu
b4cd046b53 Improve authentication flow (#251) 2025-11-13 22:38:19 -08:00
Hakan Shehu
3e4c8b8125 Implement new routing with tanstack router and mobile app kickoff (#248)
* Init mobile app
* Minor fixes and improvements
* Improve assets loading
* Fix event bus proxy
* Improve emojis and icons loading
* Improve app initialization in web
* Init tanstack router
* Refactor components
* Refactor some more components
* Refactor layouts
* Improve routing
* Improve routing
* Routing improvements
* Make sidebar work in mobile
* Refactor container and breadcrumb
* Fix some packages and warnings
* Encode and decode yjs update for ipc communication
* Refactor servers in client
* Fix some errors and warnings in editor and sidebar
* Add route masking for web
* Improve container layout
* Improve ui for mobile
* Improve mobile ui
* Create custom link component
* Router improvements
* Implement tabs for desktop
* tabs improvements
* Refactor routes
* Layout improvements
* Improve desktop tabs
* Use tanstack-db for global collections
* Improve tanstack db collections
* Refactor workspaces and accounts databases and routes locally
* Use tanstackdb for users
* Use tanstackdb for uploads and downloads
* Use tanstackdb for temp files
* Rename database to collections
* Improve tabs
* Fix packages
* Improve local file handling
* Rename sync cursor keys
* Save some bootstrap data in a file
* Reset all data on new version update in desktop
* Minor refactor
* Implement app reset on startup
* UI fixes and improvements
* More Ui improvements
* Fix logout
* Add tab in route contexts for workspace routes
* Store last used workspace id as metadata
* Fix account logout
* Fix file preview
* Fix file thumbnail loading in tabs
* Fix chat tab loading
* Fix some redirect handling
* Disable staletime for icon.svg.get query
* Fix not found pages and throws
* add readme for mobile
* fix some keys
* Improve add tab handler
* Fix path
2025-11-11 07:00:14 -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
0b11deb7a7 Improve sleep scheduler implementation for jobs (#223) 2025-10-07 19:42:45 +02:00
Hakan Shehu
733a4d1f59 Consider servers as available by default on init (#214) 2025-09-11 16:50:05 +02:00
Hakan Shehu
f8cf2c8c56 Improve file preview handling for non finished uploads (#213) 2025-09-11 16:44:35 +02:00
Hakan Shehu
3217764a7b Update packages (#212) 2025-09-11 14:19:45 +02:00
Hakan Shehu
095651ea60 Add a message in file preview if it hasn't been uploaded yet (#211) 2025-09-11 11:39:38 +02:00
Hakan Shehu
49ee759e93 Fix message files handling (#210) 2025-09-11 11:22:40 +02:00
Hakan Shehu
a813877c2d Decrease mutation sync retry delay (#198) 2025-08-29 16:52:40 +02:00
Hakan Shehu
4a2ac3f1ed Update packages (#196) 2025-08-29 16:25:52 +02:00
Hakan Shehu
fc3669bedb Dark theme & color customizations (#194) 2025-08-29 13:55:35 +02:00
Hakan Shehu
a3de8a84ac Update packages (#191) 2025-08-12 10:31:28 +02:00
Hakan Shehu
3de2bdf2f7 Fix editor drag handle positioning (#182) 2025-08-08 13:02:22 +02:00
Hakan Shehu
766952b31e Add plain tables to editor (#180) 2025-08-08 11:19:19 +02:00
Hakan Shehu
2a9fea972f Improve upload and download handling on file delete (#176) 2025-08-02 14:49:15 +02:00
Hakan Shehu
8ddef7086a Delete downloads and uploads if file is deleted (#174) 2025-08-02 14:07:34 +02:00
Hakan Shehu
d747ebb0da Update packages (#171) 2025-08-02 08:40:10 +02:00
Hakan Shehu
80dd1c60c6 Define chunk and file part size constant (#170) 2025-08-01 23:07:21 +02:00
Hakan Shehu
85ad4e7551 Fallback to legacy upload for older server versions (#168) 2025-08-01 20:10:27 +02:00
Hakan Shehu
eaf2b4afb2 Add max file size settings for user (#167) 2025-08-01 19:53:16 +02:00
Hakan Shehu
db4aa16891 Implement filter by relation field (#166) 2025-08-01 14:50:45 +02:00
Hakan Shehu
79925e1fc6 Improve file uploads and downloads (#164)
* Track upload progress in clients
* Implement client side jobs
* Separate local files, downloads and uploads
* Use dates instead of timestamps in jobs
* Improve some recurring jobs
* Local file improvements
* Remove job schedules on cancel
* Improve avatar handling
* Fix manual download
* Improve file uploads and downloads
* Improve downloads
* Use tus resumable uploads
* Drop file states table migration
* Remove some unused file system methods and types
* Use Redis KV and Locker for distributed TUS deployments
* Fix file name generation
* Add uploads clean job
* Have a dedicated endpoint for TUS uploads
* Do not revert uploads state because ot TUS resumables
* Use integer instead of text for job and job schedule status
* Rename a query
* Fix error handling for file uploads and downloads jobs
* Check node sync for file uploads
* Rename the temp files clean job
* Minor renames for consistency
* Improve uploads badge
* Small refactor in server job service
* Add env varaibles config for some tus stuff
* Use ms package for millisecond conversions
* Fix some migrations
* Fix logout
* Update hosting values
2025-08-01 14:13:40 +02:00
Hakan Shehu
6212e7c65e Update packages (#155) 2025-07-23 10:10:23 +02:00
Hakan Shehu
170a801603 Upgrade to Tiptap v3 (#154) 2025-07-23 08:30:22 +02:00
Hakan Shehu
e1e503e7b2 Workspace storage limits (#140) 2025-07-21 09:22:15 +02:00
Hakan Shehu
4813d715ae Implement workspace and account settings in sidebar (#130) 2025-07-17 13:02:02 +02:00
Hakan Shehu
5c95a03194 Implement collaborator, created by, updated by and updated at field filters (#126) 2025-07-09 21:40:38 +02:00