-
306def14f3
rebuild the chat session list on the shared data primitives

pastilhasandClaude Opus 5
2026-08-06 23:24:24 +00:00
-
8c2790184a
render edit and write tool calls as real diffs

pastilhasandClaude Opus 5
2026-08-06 23:21:03 +00:00
-
d7f5cd5443
fix the chat's dark mode, dead air and overflow

pastilhasandClaude Opus 5
2026-08-06 23:09:47 +00:00
-
f4be4fd431
write the claude session id through instead of debouncing it

pastilhasandClaude Opus 5
2026-08-06 22:49:32 +00:00
-
143a6453d3
carry the design language through gitea's remaining views

pastilhasandClaude Opus 5
2026-08-06 21:22:57 +00:00
-
9877a1d8e0
adopt the design language across gitea's lists

pastilhasandClaude Opus 5
2026-08-06 21:20:15 +00:00
-
88652910d7
add the interface half of the duck suite design language

pastilhasandClaude Opus 5
2026-08-06 21:16:42 +00:00
-
1e3b64c6c2
gitea: correct which endpoint mints which origin

pastilhasandClaude Opus 5
2026-08-06 17:19:32 +00:00
-
10ff23c5dd
gitea: the app — repos, code, issues, pulls, notifications

pastilhasandClaude Opus 5
2026-08-06 17:10:36 +00:00
-
4892441ee2
gitea: clear every cached config when the owner's row changes

pastilhasandClaude Opus 5
2026-08-06 16:57:54 +00:00
-
c9cc5d4a58
gitea: one instance, a token per person

pastilhasandClaude Opus 5
2026-08-06 16:08:54 +00:00
-
e54d71da71
api: five reads that were declared as writes are now GET

pastilhasandClaude Opus 5
2026-08-06 13:38:49 +00:00
-
33ecfa989d
carry the invite's device name in the link so the phone can prefill it
pastilhas
2026-08-06 13:24:45 +00:00
-
2873948f98
close the websocket hole: authenticate was never authorise

pastilhasandClaude Opus 5
2026-08-06 13:13:06 +00:00
-
1eb2140f95
log every auth attempt that names an identity the platform does not know
pastilhas
2026-08-06 05:31:10 +00:00
-
b6b9b01aa6
keep the headscale server form on screen when the list query fails
pastilhas
2026-08-06 03:09:38 +00:00
-
217d5ed29a
headscale: describe an acl change in english, read the diff, then save
pastilhas
2026-08-06 01:23:54 +00:00
-
08948bc4aa
headscale: give the server picker its own panel
pastilhas
2026-08-06 01:11:17 +00:00
-
5f6377ac33
headscale: share the invite's https link, drop the deep link
pastilhas
2026-08-06 00:48:45 +00:00
-
91ed90893d
todo: headscale invites are live on all four servers
pastilhas
2026-08-05 19:02:32 +00:00
-
9dd3f76e56
headscale: read the invite list out of whatever envelope the companion sends
pastilhas
2026-08-05 19:02:20 +00:00
-
864140998f
remove stray companion probe script
pastilhas
2026-08-05 18:49:52 +00:00
-
3ca5968605
headscale: invites live under the companion's /api/v1 mount
pastilhas
2026-08-05 18:49:41 +00:00
-
4cee0335c2
headscale: device invites — admin surface for offscale enrollment
pastilhas
2026-08-05 18:10:44 +00:00
-
55abaa4042
headscale: probe every server when the list opens
pastilhas
2026-08-05 17:07:18 +00:00
-
2e2eebc9fd
headscale: compare node tags as a set, not a sequence
pastilhas
2026-08-05 17:03:40 +00:00
-
75d6b65119
headscale: key the server form to the server it edits
pastilhas
2026-08-05 17:02:41 +00:00
-
e8b19229cb
headscale: acl policy editor, node owner and tags
pastilhas
2026-08-05 16:48:27 +00:00
-
d6d405100c
headscale: diagnostics from the officer companion

pastilhasandClaude Opus 5
2026-08-05 16:17:01 +00:00
-
208f26ad89
headscale: an ssh console for when the api cannot answer

pastilhasandClaude Opus 5
2026-08-05 14:10:33 +00:00
-
2f92f9b15c
note the headscale gaps in the todo

pastilhasandClaude Opus 5
2026-08-05 13:48:38 +00:00
-
acff072f5c
a resting mouse is not the user

pastilhasandClaude Opus 5
2026-08-05 02:01:04 +00:00
-
541b2a509b
the player chrome can actually hide now

pastilhasandClaude Opus 5
2026-08-04 23:41:57 +00:00
-
e1cc3a2cd5
the task tray shows the newest first, and forgets the oldest

pastilhasandClaude Opus 5
2026-08-04 22:18:37 +00:00
-
ddc982ce5b
a rescan can be told how deep to look, and a node wallet cannot be deleted blind

pastilhasandClaude Opus 5
2026-08-04 21:00:24 +00:00
-
a61d5c3a91
frozen coins are never spendable, and a rescan already running is adopted

pastilhasandClaude Opus 5
2026-08-04 20:56:37 +00:00
-
e0f6a469aa
rate-limit every passphrase check, and stop address issuance outrunning the scan

pastilhasandClaude Opus 5
2026-08-04 20:41:46 +00:00
-
bc06fbb2a5
honour frozen coins in automatic selection, not just coin control

pastilhasandClaude Opus 5
2026-08-04 20:25:49 +00:00
-
1d9a648ff7
stop the generic wallet PATCH from being able to replace the seed

pastilhasandClaude Opus 5
2026-08-04 20:20:12 +00:00
-
d2290baa56
hide the rescan control on a source that cannot rescan

pastilhasandClaude Opus 5
2026-08-04 20:08:43 +00:00
-
22c0e83b49
recover an imported wallet's coins with an nbxplorer utxo scan

pastilhasandClaude Opus 5
2026-08-04 20:06:10 +00:00
-
82aa39a05f
chat: pin background tasks above the input and let you look inside them

pastilhasandClaude Opus 5
2026-08-04 19:40:26 +00:00
-
6fde7afd7f
docs: refresh the pm2 process list

pastilhasandClaude Opus 5
2026-08-04 19:27:33 +00:00
-
4b094aa3a5
jellyfin: actually report playback progress to the server

pastilhasandClaude Opus 5
2026-08-04 19:16:37 +00:00
-
7884bd3290
jellyfin: subtitle tracks, audio picker and real player controls

pastilhasandClaude Opus 5
2026-08-04 19:10:44 +00:00
-
7732ca1da5
vendor hls.js and play transcodes over hls

pastilhasandClaude Opus 5
2026-08-04 18:52:15 +00:00
-
9990c04008
jellyfin: ask for a bitrate, or get 416 pixels

pastilhasandClaude Opus 5
2026-08-04 18:34:27 +00:00
-
a894d64cb3
jellyfin panel app: browse, detail and player

pastilhasandClaude Opus 5
2026-08-04 18:16:45 +00:00
-
904edefd62
jellyfin sidecar: server registry, video façade and byte pass-through

pastilhasandClaude Opus 5
2026-08-04 17:59:50 +00:00
-
f2052fbdaa
freeze installs: bun resolves from the lockfile or fails

pastilhasandClaude Opus 5
2026-08-04 17:58:07 +00:00
-
5995cd3ab7
transmission: floor progress percentages instead of rounding

pastilhasandClaude Opus 5
2026-08-04 17:31:31 +00:00
-
ce5bac3cf5
music: album art on the /music mini bar

pastilhasandClaude Opus 5
2026-08-04 16:59:47 +00:00
-
81209ae66d
music: replace the dock with an in-panel scrubber on /music

pastilhasandClaude Opus 5
2026-08-04 16:47:06 +00:00
-
1be43df75b
library roots get cover art in the music grid

pastilhasandClaude Opus 5
2026-08-04 16:39:23 +00:00
-
1712a8b4d5
the album play button is the dock's play button

pastilhasandClaude Opus 5
2026-08-04 15:44:42 +00:00
-
c3279280de
black lyrics sheet, and lift the inactive lines out of the murk

pastilhasandClaude Opus 5
2026-08-04 15:41:45 +00:00
-
2c136c4b93
lyrics render in a split of the music detail panel, not a dock sheet

pastilhasandClaude Opus 5
2026-08-04 15:22:13 +00:00
-
5be85db043
lyrics sheet in the music dock

pastilhasandClaude Opus 5
2026-08-04 14:59:28 +00:00
-
a328451250
add /settings/user-management

pastilhasandClaude Opus 5
2026-08-04 14:57:48 +00:00
-
4ccdb8a1fa
db: the owner account cannot be demoted or deleted

pastilhasandClaude Opus 5
2026-08-04 14:48:04 +00:00
-
8de3b1908c
auth: the role column decides who owns the server

pastilhasandClaude Opus 5
2026-08-04 14:42:35 +00:00
-
c0e7364a90
stop the music player playing two tracks at once

pastilhasandClaude Opus 5
2026-08-04 14:37:45 +00:00
-
a9b6494f56
db: stop push re-creating every composite key on every run

pastilhasandClaude Opus 5
2026-08-04 14:35:26 +00:00
-
0799ec7325
commit the mobile dav correspondence

pastilhasandClaude Opus 5
2026-08-04 14:30:25 +00:00
-
6af80a20b0
db: add the user role column, and write down how push actually behaves

pastilhasandClaude Opus 5
2026-08-04 14:22:50 +00:00
-
3f57cec551
one-tap ios dav provisioning

pastilhasandClaude Opus 5
2026-08-04 14:20:52 +00:00
-
7b16e88b2f
scripts: give every user a root under DATA_PATH

pastilhasandClaude Opus 5
2026-08-04 14:00:33 +00:00
-
b21cfc2376
clean out the per-container architecture's remnants

pastilhasandClaude Opus 5
2026-08-04 13:41:16 +00:00
-
99f1006669
auth: drop the user environment provisioning

pastilhasandClaude Opus 5
2026-08-04 13:31:30 +00:00
-
e661e3738f
scripts: make the light installs localhost-native, and stop relaxing guards for it

pastilhasandClaude Opus 5
2026-08-04 13:01:54 +00:00
-
0a1766768d
mac: name the laptop build a profile, and derive it like the others

pastilhasandClaude Opus 5
2026-08-04 12:47:27 +00:00
-
1f4dbbb810
scripts: add a light install profile

pastilhasandClaude Opus 5
2026-08-04 12:41:47 +00:00
-
37ff7c3103
mac: bring the laptop ecosystem back in step with the architecture

pastilhasandClaude Opus 5
2026-08-04 12:31:06 +00:00
-
0e893cc292
scripts: stop creating the /usr/local/bin/claude symlink

pastilhasandClaude Opus 5
2026-08-04 12:22:16 +00:00
-
6b50ad978e
merge the macos branch: setup script, mac pm2 ecosystem, claude binary resolution

pastilhasandClaude Opus 5
2026-08-04 13:01:26 +01:00
-
-
d743d03fa2
add mobile DAV provisioning handoff doc

pastilhasandClaude Opus 5
2026-08-04 11:46:38 +00:00
-
a8335bfdd6
scripts: validate the sudoers entry before installing it

pastilhasandClaude Opus 5
2026-08-04 11:34:33 +00:00
-
593bcc1575
scripts: make setup.sh converge instead of trusting proxies

pastilhasandClaude Opus 5
2026-08-04 11:32:14 +00:00
-
75b3484636
log every dav request, and every rejected credential

pastilhasandClaude Opus 5
2026-08-04 11:19:50 +00:00
-
c4fecc201b
fix dav autodiscovery: well-known needs every method, /dav needs no cors

pastilhasandClaude Opus 5
2026-08-04 11:08:50 +00:00
-
16f5175205
scripts: rewrite the desktop teardown for the mirror-based setup

pastilhasandClaude Opus 5
2026-08-04 11:02:16 +00:00
-
4d2ec215a2
add /calendar and /contacts screens over the caldav json door

pastilhasandClaude Opus 5
2026-08-04 10:50:53 +00:00
-
a961d8a34f
music: report what the nightly full actually found

pastilhasandClaude Opus 5
2026-08-04 10:47:13 +00:00
-
3770d7c647
re-adopt orphaned chat sessions on reconnect

pastilhasandClaude Opus 5
2026-08-04 10:36:02 +00:00
-
75666e5e94
settings: manage dav app passwords

pastilhasandClaude Opus 5
2026-08-04 03:33:41 +00:00
-
8cf210eae5
caldav: json door for the web ui

pastilhasandClaude Opus 5
2026-08-04 03:30:28 +00:00
-
bc52ce6361
docs: phone photo backup contract, and the file-sync decision

pastilhasandClaude Opus 5
2026-08-04 03:27:01 +00:00
-
edf26323da
memos sidecar

pastilhasandClaude Opus 5
2026-08-04 03:24:15 +00:00
-
36c7b1f3fd
delete api routes with no consumers

pastilhasandClaude Opus 5
2026-08-04 03:19:37 +00:00
-
ccd104a28b
caldav/carddav: officer-caldav sidecar and the /dav door

pastilhasandClaude Opus 5
2026-08-04 03:16:17 +00:00
-
86d979046b
restore list markers in rendered markdown

pastilhasandClaude Opus 5
2026-08-04 03:00:16 +00:00
-
c591a8a771
make the /chat url a permalink again

pastilhasandClaude Opus 5
2026-08-04 02:15:30 +00:00
-
7b6ca5f4ca
attribute subagent output to the task that spawned it

pastilhasandClaude Opus 5
2026-08-04 01:48:21 +00:00
-
96ceb3aca6
delete the claude-done hook and its unauthenticated endpoint

pastilhasandClaude Opus 5
2026-08-04 01:36:35 +00:00
-
4eeaa3c93d
fail only the disconnected sidecar's in-flight requests

pastilhasandClaude Opus 5
2026-08-04 01:33:29 +00:00
-
69961a52cd
enroll devices against the headscale server the owner picked

pastilhasandClaude Opus 5
2026-08-04 01:07:56 +00:00
-
8e7e129f02
drop a scratch file committed by mistake, and ignore the pattern

pastilhasandClaude Opus 5
2026-08-04 00:24:54 +00:00
-
e526b8599c
stop using a real account xpub as a test fixture

pastilhasandClaude Opus 5
2026-08-04 00:20:36 +00:00
-
5b30aebb1d
let the owner pick which chain source the wallet reads from

pastilhasandClaude Opus 5
2026-08-04 00:01:18 +00:00
-
5c38236b39
split the wallet's chain reads from its signing half

pastilhasandClaude Opus 5
2026-08-03 23:50:53 +00:00