feat(tailshare): start implementing the new file sharing app #28

Merged
codinget merged 27 commits from feat/tailshare into main 2026-07-25 23:31:14 +02:00
Owner

Scaffolds and starts implementing the base for the new file sharing app: tailshare.

This PR is not marked WIP, but it is also very much not a complete app yet - changes will go in later PRs and most of the TODO list currently exists as separate issues. I just need this merged so that the rest of the work can be parallelized.

TODO list:

  • initialize a new webpack + react + RTK app using Mantine for UI
  • setup tsconnect IPN with ways to control and configure it
  • use tsconnect-worker to allow for multiple tabs to run concurrently without state issues or multiple login (#55)
  • send and receive files over taildrop
  • browse and read arbitrary WebDAV servers (#86)
  • browse and read taildrive (#86)
  • upload files over WebDAV (#86)
  • copy and move files over WebDAV (#86)
  • copy and move files between sources (#87)
  • edit text/markdown/code directly (#88)
  • display images, audio and video files directly (#88)
  • SSG the app for all possible pages (#89)
  • implement service worker (#89)
  • make app installable as a PWA (#89)
  • host WebDAV server to the tailnet (#90)
  • expose WebDAV server over funnel (#90)
  • expose WebDAV server to taildrive (#90)
  • allow non-ephemeral tailscale node setup (#91)
  • open P2P connections over WebRTC (#36) to speed up transfers (#92, #115)
  • host self on the tailnet and funnel (#93)
  • SSR self with prerendered file tree (#93)
  • support running as server with node (#93)
  • support running server without tailscale (#93)
Scaffolds and starts implementing the base for the new file sharing app: tailshare. This PR is not marked WIP, but it is also very much not a complete app yet - changes will go in later PRs and most of the TODO list currently exists as separate issues. I just need this merged so that the rest of the work can be parallelized. TODO list: - [x] initialize a new webpack + react + RTK app using Mantine for UI - [x] setup tsconnect IPN with ways to control and configure it - [ ] use tsconnect-worker to allow for multiple tabs to run concurrently without state issues or multiple login (#55) - [x] send and receive files over taildrop - [ ] browse and read arbitrary WebDAV servers (#86) - [ ] browse and read taildrive (#86) - [ ] upload files over WebDAV (#86) - [ ] copy and move files over WebDAV (#86) - [ ] copy and move files between sources (#87) - [ ] edit text/markdown/code directly (#88) - [ ] display images, audio and video files directly (#88) - [ ] SSG the app for all possible pages (#89) - [ ] implement service worker (#89) - [ ] make app installable as a PWA (#89) - [ ] host WebDAV server to the tailnet (#90) - [ ] expose WebDAV server over funnel (#90) - [ ] expose WebDAV server to taildrive (#90) - [ ] allow non-ephemeral tailscale node setup (#91) - [ ] open P2P connections over WebRTC (#36) to speed up transfers (#92, #115) - [ ] host self on the tailnet and funnel (#93) - [ ] SSR self with prerendered file tree (#93) - [ ] support running as server with node (#93) - [ ] support running server without tailscale (#93)
codinget force-pushed feat/tailshare from 660e84fc4b to 07686ed2ef 2026-06-12 00:32:51 +02:00 Compare
codinget force-pushed feat/tailshare from 7391c61f56 to f584e860b0 2026-06-17 23:41:38 +02:00 Compare
codinget force-pushed feat/tailshare from f584e860b0 to e0ae717f74 2026-06-18 00:21:16 +02:00 Compare
codinget force-pushed feat/tailshare from e0ae717f74 to 96feda2cce 2026-06-20 18:32:29 +02:00 Compare
codinget force-pushed feat/tailshare from e9c4bdff50 to 4666937e87 2026-06-20 19:12:54 +02:00 Compare
codinget force-pushed feat/tailshare from fbf60542a2 to 75032762cd 2026-06-21 13:18:17 +02:00 Compare
codinget force-pushed feat/tailshare from d0fadd5201 to 8e712772b4 2026-06-25 21:56:18 +02:00 Compare
codinget force-pushed feat/tailshare from 9d5fefa60b to 0d6bc97fce 2026-06-27 02:29:15 +02:00 Compare
codinget force-pushed feat/tailshare from 0d6bc97fce to 3f6ae5f10f 2026-06-28 21:17:31 +02:00 Compare
codinget added this to the Tailshare roadmap project 2026-07-12 02:57:02 +02:00
codinget moved this to In progress in Tailshare roadmap on 2026-07-12 02:57:39 +02:00
codinget added the Human label 2026-07-12 03:51:39 +02:00
codinget force-pushed feat/tailshare from 3f6ae5f10f to 3e6cd74fc5 2026-07-25 19:03:28 +02:00 Compare
codinget added 22 commits 2026-07-25 19:57:13 +02:00
chore: fix npm package-lock deps for npm 11
CI / lint (pull_request) Successful in 1m15s
CI / format (pull_request) Successful in 1m24s
CI / install (pull_request) Successful in 4m38s
CI / typecheck (pull_request) Successful in 1m14s
CI / typetest (pull_request) Successful in 1m21s
CI / node-tests (pull_request) Successful in 1m28s
CI / browser-tests (pull_request) Successful in 2m46s
5232539476
codinget force-pushed feat/tailshare from 3e6cd74fc5 to 5232539476 2026-07-25 19:57:13 +02:00 Compare
codinget changed title from WIP: feat(tailshare): implement new file sharing app to feat(tailshare): start implementing the new file sharing app 2026-07-25 20:08:05 +02:00
codinget added 1 commit 2026-07-25 22:39:36 +02:00
refactor(tailshare): remove duplicate code that got extracted to other packages
CI / lint (pull_request) Successful in 1m27s
CI / format (pull_request) Successful in 1m29s
CI / typecheck (pull_request) Canceled after 0s
CI / typetest (pull_request) Canceled after 0s
CI / node-tests (pull_request) Canceled after 0s
CI / browser-tests (pull_request) Canceled after 0s
CI / install (pull_request) Canceled after 2m31s
21e1b4b666
codinget added 1 commit 2026-07-25 22:41:55 +02:00
fix(tailshare): properly use stableNodeID for exit nodes, not nodeKey
CI / lint (pull_request) Successful in 1m38s
CI / format (pull_request) Successful in 1m41s
CI / install (pull_request) Successful in 4m57s
CI / typetest (pull_request) Successful in 1m27s
CI / typecheck (pull_request) Successful in 1m40s
CI / node-tests (pull_request) Successful in 1m43s
CI / browser-tests (pull_request) Successful in 2m55s
dd9055276c
codinget added 2 commits 2026-07-25 22:56:00 +02:00
chore(tailshare): fix lint and typescript issues
CI / install (pull_request) Canceled after 3m2s
CI / lint (pull_request) Successful in 1m30s
CI / format (pull_request) Successful in 1m30s
CI / typecheck (pull_request) Canceled after 0s
CI / typetest (pull_request) Canceled after 0s
CI / node-tests (pull_request) Canceled after 0s
CI / browser-tests (pull_request) Canceled after 0s
a291b371f6
codinget added 1 commit 2026-07-25 22:58:44 +02:00
chore(docs): add notice of AI review of the tailshare implementation
CI / format (pull_request) Successful in 1m37s
CI / lint (pull_request) Successful in 1m40s
CI / install (pull_request) Successful in 4m57s
CI / typetest (pull_request) Successful in 1m42s
CI / typecheck (pull_request) Successful in 1m57s
CI / node-tests (pull_request) Successful in 1m58s
CI / browser-tests (pull_request) Successful in 3m19s
84437ed033
codinget merged commit 84437ed033 into main 2026-07-25 23:31:14 +02:00
codinget deleted branch feat/tailshare 2026-07-25 23:31:14 +02:00
Sign in to join this conversation.