Aarnav Tale
a26faab139
feat: add ownership transfer support
2026-03-14 15:17:45 -04:00
Aarnav Tale
55ddbe0987
fix: handle user deletion
2026-03-14 14:59:34 -04:00
Aarnav Tale
e255407115
feat: redo user page to match account linking
2026-03-14 14:56:04 -04:00
Aarnav Tale
225a52ded6
feat: correctly use error boundaries per-page
2026-03-14 13:52:08 -04:00
Aarnav Tale
38cf93e5ae
feat: replace onboarding for explicit user linking
2026-03-14 13:23:22 -04:00
Aarnav Tale
6470f5a821
feat: refactor several components and clean up ui
2026-03-09 22:09:58 -04:00
Aarnav Tale
a53fd31d27
chore: combine link usage
2026-03-09 13:56:03 -04:00
Aarnav Tale
37d0080cba
feat: cleanup button + add correct focus rings
2026-03-09 00:17:39 -04:00
Aarnav Tale
0ce411e92b
feat: switch to mist color from tailwind
2026-03-08 23:48:03 -04:00
Aarnav Tale
a1efe36ff1
fix: rename pending approval to no access
...
Member role simply has no UI permissions — not a pending state.
Co-authored-by: Amp <amp@ampcode.com >
Amp-Thread-ID: https://ampcode.com/threads/T-019cce57-c9e1-7732-9709-8288127573a9
2026-03-08 17:34:58 -04:00
Aarnav Tale
270b99f063
fix: show linked user in onboarding + pending approval screen
...
- Onboarding now shows which Headscale user was auto-linked
- Members (no ui_access) see a 'Pending Approval' page instead of
being silently logged out — their session stays valid
- Sign out button on the pending page so users can switch accounts
Co-authored-by: Amp <amp@ampcode.com >
Amp-Thread-ID: https://ampcode.com/threads/T-019cce57-c9e1-7732-9709-8288127573a9
2026-03-08 17:34:58 -04:00
Aarnav Tale
434f886034
feat: admin UI for Headscale user linking + skip onboarding
...
- Add 'Link Headscale user' option in user menu (admin-only, OIDC users)
- Dialog shows only unclaimed Headscale users
- New link_user action in user-actions with claim validation
- Onboarding now allows skipping the link step with clear messaging
- Users who skip are told they can ask an admin to link later
Co-authored-by: Amp <amp@ampcode.com >
Amp-Thread-ID: https://ampcode.com/threads/T-019cce57-c9e1-7732-9709-8288127573a9
2026-03-08 17:34:57 -04:00
Aarnav Tale
684a95b5e8
fix: harden user linking and session pruning
...
Security:
- Add unique constraint on headscale_user_id to prevent hijacking
- linkHeadscaleUser now rejects already-claimed Headscale users
- Onboarding dropdown filters out claimed users
- onboarding-skip action redirects on rejected claims
Maintenance:
- Replace probabilistic session pruning with setInterval (15m)
- Move pruning out of request path into server startup
Co-authored-by: Amp <amp@ampcode.com >
Amp-Thread-ID: https://ampcode.com/threads/T-019cce57-c9e1-7732-9709-8288127573a9
2026-03-08 17:34:55 -04:00
Aarnav Tale
0f8e192b5c
feat: initial auth rework
2026-03-07 17:10:34 -05:00
Aarnav Tale
3c5a653942
Merge pull request #469 from drifterza/feature/oidc-pending-approval
2026-02-26 18:03:26 -05:00
drifterza
a6b25b3ba3
add pending approval page for OIDC users without ui_access
2026-02-24 15:32:34 +02:00
drifterza
badefc7f85
fix: handle null user for tag-only nodes in Headscale 0.28+
...
In Headscale 0.28+, nodes can be registered with tag-only preauth keys
which have no associated user. This change updates the Machine type to
make user optional and adds null checks throughout the codebase where
node.user is accessed.
Fixes tag node operations (rename, add tags) that previously failed
with 'Unexpected Server Error' when accessing node.user.providerId
on nodes without a user association.
Refs: #432
2026-02-24 13:32:41 +02:00
Aarnav Tale
d189d75d5d
fix: resolve random css issues with mobile layouts
2026-01-11 15:55:14 -05:00
Aarnav Tale
0965e16401
fix: apply gravatar images to the users page
2026-01-11 14:55:22 -05:00
Aarnav Tale
444b2325fb
feat: fix acl api logic to work correctly
2025-11-04 23:51:36 -05:00
Aarnav Tale
8f260b79f1
feat: bundle all node_modules to reduce size
2025-10-15 18:14:14 -04:00
Aarnav Tale
82f6294499
Merge branch 'main' into next
2025-08-20 15:14:17 -04:00
Aarnav Tale
d2c4f5eb2b
feat: completely overhaul the auth model
...
* Cookies are now encrypted JWTs (GHSA-wrqq-v7qw-r5w7)
* Authentication is stored in the SQLite database (auto-migrated)
* Session logic is much cleaner
2025-08-19 17:52:16 -04:00
Domingo Dirutigliano
27b2831f00
displayName correctly integrated
2025-07-14 07:54:18 -04:00
Domingo Dirutigliano
ad469129bc
fix display name
2025-07-14 07:54:18 -04:00
Aarnav Tale
6a0e097412
chore: fix tiny nits
2025-06-16 11:45:24 -04:00
Aarnav Tale
7f5e0fe42d
fix: resolve some type errors
2025-05-25 11:02:19 -04:00
Aarnav Tale
6f2a0773ba
feat: disable role changing on unmanaged users
2025-05-25 11:02:19 -04:00
Aarnav Tale
f2747ada94
fix: suppress date and button hydration warnings
2025-04-03 16:54:12 -04:00
Aarnav Tale
0ad578e651
fix: prevent user rename if they are an oidc user
2025-04-03 16:25:30 -04:00
Aarnav Tale
8d1132606a
fix: add aria-label to radio groups
2025-04-03 16:22:52 -04:00
Aarnav Tale
259d150fc4
feat: add capabilities enforcement on users
2025-04-03 12:57:06 -04:00
Aarnav Tale
d5fb8a2966
feat: support skipping onboarding
2025-04-03 12:57:06 -04:00
Aarnav Tale
7b1340c93e
fix: make reassign dialog unactionable if editing owner
2025-04-03 12:57:06 -04:00
Aarnav Tale
7d61ad50c4
feat: oops commit the user role change page
2025-04-03 12:57:06 -04:00
Aarnav Tale
103a826178
chore: remove unused code in the user overview
2025-04-03 12:57:06 -04:00
Aarnav Tale
80c987f383
feat: implement onboarding for non-registered users
2025-04-02 13:26:58 -04:00
Aarnav Tale
2e383ddabe
feat: reimplement user actions
2025-04-01 12:27:44 -04:00
Aarnav Tale
2299907932
chore: document user login state
2025-03-29 14:28:11 -04:00
Aarnav Tale
bf02015dc7
feat: begin working on user auth
2025-03-29 14:12:15 -04:00
Aarnav Tale
b8d22beb17
feat: bundle node_modules into the server
2025-03-24 16:15:38 -04:00
Aarnav Tale
34cfee7cff
feat: reach an initial working stage
2025-03-24 16:15:38 -04:00
Aarnav Tale
6108de52e7
feat: switch to a central singleton handler
...
This also adds support for Headscale TLS installations
2025-03-17 22:21:16 -04:00
Aarnav Tale
f5436f5ee3
feat: respect context in server
2025-02-19 18:09:42 -05:00
Aarnav Tale
774fdb7be2
fix: use new headscale user api routes
2025-02-19 13:01:20 -05:00
Aarnav Tale
76d263b7e6
feat: switch to config file system
2025-02-13 12:35:12 -05:00
Aarnav Tale
287ac2dff0
feat: unify all colors
2025-02-04 17:21:03 -05:00
Aarnav Tale
771b87ae41
chore: only invoke useLiveData in root
2025-02-02 00:54:42 -05:00
Aarnav Tale
c9d8052e39
chore: remove cn non-default exports
2025-01-28 17:46:16 -05:00
Aarnav Tale
2c8880c84d
feat: switch to new toast provider
2025-01-28 16:06:41 -05:00