Amir Raminfar
b2982e80cf
docs: give Dozzle Cloud its own section, move dtop and alerts ( #5044 )
2026-09-07 20:24:35 -07:00
Amir Raminfar and Claude Opus 5
333f7a5b86
feat(auth): sign in with GitHub and OIDC 🥳 ( #5043 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-07 19:42:59 -07:00
Amir Raminfar and Claude Opus 5
780c279aaf
feat: Redesign the live log indicator bar ( #5042 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-07 15:40:14 -07:00
Amir Raminfar and Claude Opus 5
d77a7ccff7
fix(cloud): min_level=disabled should not also stop metrics ( #5041 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-07 21:55:43 +00:00
Amir Raminfar and Claude Opus 5
720ef136e9
fix(logs): stop merged log stream from deadlocking the container store ( #5039 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-07 21:13:41 +00:00
Amir Raminfar and Claude Opus 5
cbd1084e71
perf(ci): persist the Go build cache across container builds ( #5033 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 07:21:21 -07:00
Amir Raminfar
0adb8bd45c
chore: release v10.10.0
2026-09-06 07:03:36 -07:00
Amir Raminfar and Claude Opus 5
3297713c63
fix(ui): stop the alert form from jumping while previews load ( #5032 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 06:45:37 -07:00
Amir Raminfar and Claude Opus 5
50a14311e7
ci: run pnpm dedupe on renovate updates ( #5031 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 06:41:31 -07:00
Amir Raminfar and Claude Opus 5
b81c483c59
perf(ui): stop duplicating the cloud config and status requests ( #5030 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 13:32:47 +00:00
Amir Raminfar and Claude Opus 5
02a3e78469
fix(ui): tint the notification bell with the log level ( #5029 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 13:30:03 +00:00
Amir Raminfar and Claude Opus 5
56d109d4b6
perf(ui): stop refetching dispatchers per alert card ( #5028 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 13:29:06 +00:00
Amir Raminfar
b570b14b02
perf(ui): prefetch route chunks once the app is idle ( #5027 )
2026-09-05 21:41:19 -07:00
Amir Raminfar and Claude Opus 5
5b14626ace
docs: translate the site into zh, de, fr and es ( #5025 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 20:35:12 -07:00
Amir Raminfar and Claude Opus 5
7ac348e055
docs: fix incorrect docs and drop stale content ( #5024 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 20:35:12 -07:00
Amir Raminfar and Claude Opus 5
7cd703b6e9
fix(ui): unwrap the link hint popover and unify the mono font ( #5023 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 02:13:50 +00:00
Amir Raminfar and Claude Opus 5
81c3e30152
refactor: remove native compose deploy feature ( #5022 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 01:56:14 +00:00
Amir Raminfar and Claude Opus 5
49d7954190
fix(notifications): polish the alert and destination cards ( #5021 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 18:48:50 -07:00
Amir Raminfar and Claude Opus 5
8e8f9db446
feat(notifications): rebuild the alert and destination workflows ( #5020 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 01:04:14 +00:00
Amir Raminfar and Claude Opus 5
c5fbdf404b
fix(docker): skip pnpm version switch during offline install ( #5019 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 00:21:00 +00:00
Amir Raminfar
07cc4404d1
chore: updates pnpm files
2026-09-05 17:07:57 -07:00
Amir Raminfar and Claude Opus 5
59bcc18495
perf: cut first-load cost and precompress assets at build time ( #5018 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 00:03:36 +00:00
Amir Raminfar and Claude Opus 5
52b39ee068
feat(ui): make the same-name container dropdown readable ( #5015 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 23:02:03 +00:00
Amir Raminfar and Claude Opus 5
ac9a9097bd
fix(web): link every stylesheet the entry chunk depends on ( #5014 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 23:01:58 +00:00
Amir Raminfar
2e8ff49651
ci: auto-comment the pr-XXX image tag on PRs and linked issues ( #5013 )
2026-09-05 14:35:16 -07:00
Amir Raminfar and Claude Opus 5
5b8ce5f065
feat(ui): show link hint on the dashboard too ( #5012 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 20:28:24 +00:00
Amir Raminfar and Claude Opus 5
e214d607b4
fix(events): stop containers from getting stuck after a restart ( #5011 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 20:12:34 +00:00
Amir Raminfar and Claude Opus 5
e9b2f7065c
feat(ui): pro badge, icon button animations, splitpanes nav fixes ( #5009 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 13:08:03 -07:00
Amir Raminfar and Claude Opus 5
3168aa0b85
fix(ui): stop truncating container names that fit ( #5010 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 13:07:51 -07:00
Amir Raminfar and Claude Opus 5
5d60e7fae2
feat(ui): suggest dev.dozzle.url from traefik router labels ( #5008 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 11:27:27 -07:00
Amir Raminfar and Claude Opus 5
a0c1a53d61
feat(ui): dev.dozzle.url label to link a container to its own web UI ( #5004 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 14:52:50 +00:00
Amir Raminfar and Claude Opus 5
098606870b
feat(logs): add download JSON button to log details ( #5005 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-05 14:45:54 +00:00
Amir Raminfar
ca54a13e6e
chore: release v10.9.2
2026-09-04 14:55:28 -07:00
Amir Raminfar and Claude Opus 5
c838ebd360
feat(cloud): report what kind of process this is, and tell agents about streamLogs ( #4996 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-04 21:54:51 +00:00
Amir Raminfar
fed01ebc28
chore: release v10.9.1
2026-09-04 08:40:35 -07:00
Amir Raminfar and Claude Opus 5
934afcb555
fix(ui): share useColorMode and the relative-time tick instead of one per component ( #4994 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-03 23:44:17 +00:00
Amir Raminfar and Claude Opus 5
bf9d6d41f2
fix(cloud): report remote agents to Dozzle Cloud ( #4993 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-03 16:43:19 -07:00
Amir Raminfar
6a88871a8d
chore: updates gitignore
2026-09-02 09:01:03 -07:00
Amir Raminfar and Claude Opus 5
2879bf965b
fix(auth): resolve roles from users.yml instead of the JWT claim ( #4983 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-02 08:37:46 -07:00
Amir Raminfar and Claude Opus 5
2a6edf52dc
feat(ui): add loading skeletons to the container table ( #4982 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-02 15:06:53 +00:00
Amir Raminfar
3b278f935f
perf: shrink entry bundle from 628 kB to 85 kB ( #4980 )
2026-09-01 20:45:42 -07:00
Amir Raminfar
5dba2be0c3
chore: release v10.9.0
2026-09-01 17:33:11 -07:00
Amir Raminfar and Claude Opus 5
89e9794c96
fix(auth): restore permissions for sessions minted before roles existed ( #4979 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-02 00:29:27 +00:00
Amir Raminfar and Claude Opus 5
abb141a0cf
refactor: give every setting a description and drop the card outlines ( #4977 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-01 17:07:03 -07:00
Amir Raminfar and Claude Opus 5
49dce121be
feat: show app icons for well known container images ( #4976 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-01 17:07:02 -07:00
Amir Raminfar and Claude Opus 5
1ec2699260
feat: check for newer container images and prompt to update ( #4973 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-01 12:33:31 -07:00
Amir Raminfar and Claude Opus 5
949cf7daa9
fix(notification): name the signal behind a container's exit code ( #4975 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-01 19:12:15 +00:00
Amir Raminfar and Claude Opus 5
75a0367051
docs: drop compose deployments note from actions page ( #4974 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-01 08:32:31 -07:00
Amir Raminfar and Claude Opus 5
43d8be8f1c
fix(deps): actually migrate releases to goldmark v2
...
v2 was added to go.mod but the code still imported v1, so v1 stayed a
direct dependency and renovate kept reopening the major bump. v2 removed
the top-level Convert, so use parser + html renderer directly.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UYTSyPzuMMzuaxgGShHdL4
2026-08-31 12:05:04 -07:00
Amir Raminfar and Claude Opus 5
db80ba682e
fix(ui): restore log header on notched phones and widen mobile container names ( #4972 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-31 11:51:50 -07:00
Amir Raminfar
f9dc18a0aa
chore: release v10.8.0
2026-08-30 18:44:22 -07:00
Amir Raminfar and Claude Opus 5
0cd356942b
feat(ui): rebuild cloud welcome modal around the daily scan ( #4967 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-31 01:36:47 +00:00
Amir Raminfar and Claude Opus 5
4d738904e3
feat(ui): single status icon in sidebar container list ( #4968 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-30 17:48:49 -07:00
Amir Raminfar
3b6b388355
feat(ui): show stopped containers on dashboard ( #4966 )
2026-08-29 19:53:12 -07:00
Amir Raminfar and Claude Opus 5
86ad7d639d
feat(ui): move status icon next to container name ( #4961 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-28 18:39:33 +00:00
Amir Raminfar
080130f7e5
chore: release v10.7.5
2026-08-28 08:35:25 -07:00
Amir Raminfar and Claude Opus 5
3794a3b637
fix(cloud): gate cloud endpoints behind a new cloud role ( #4960 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-28 14:08:38 +00:00
Amir Raminfar and Claude Opus 5
bed7e7a226
feat(auth): support excluding roles with ^ prefix ( #4959 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-28 13:58:01 +00:00
Amir Raminfar and Claude Opus 5
9bb8b3ae2b
fix(security)!: scope cloud search, alerts and debug to user labels, add notifications role ( #4951 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-26 14:57:39 -07:00
Amir Raminfar and Claude Opus 5
4bff12c46e
fix(security): apply user label filter to notification preview ( #4950 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-26 14:57:39 -07:00
Amir Raminfar and Claude Opus 5
c2d2623bb2
feat(ui): show health status in container table ( #4949 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-25 15:50:22 -07:00
Amir Raminfar
c374e78638
chore: release v10.7.4
2026-08-23 08:56:28 -07:00
Amir Raminfar and Claude Opus 5
ae7a42e172
fix(logs): guess levels for "::INFO::" and signale style lines ( #4941 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-23 08:53:52 -07:00
Amir Raminfar and Claude Opus 5
017690da99
refactor: adopt go 1.27 idioms ( #4935 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-20 12:17:04 -07:00
Amir Raminfar and Claude Opus 5
f18e4489f8
chore(deps): pin typescript to typescript-native-bridge 6.0.3-bridge.13 ( #4932 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-20 07:30:24 -07:00
Amir Raminfar
a9138bbd4c
chore: release v10.7.3
2026-08-19 07:07:09 -07:00
Amir Raminfar and Claude Opus 5
f96bd973bf
fix(logs): stop logging client disconnects as stream errors ( #4931 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-18 15:58:17 -07:00
Amir Raminfar and Claude Opus 5
786b060c64
fix(logs): keep event badges through the viewer's re-clone ( #4930 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-18 07:37:56 -07:00
Amir Raminfar and Claude Opus 5
43aa003a1b
ci: fix broken Go cache and drop redundant protoc install ( #4926 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 19:51:11 +00:00
Amir Raminfar and Claude Opus 5
fa1d2a220c
fix(logs): show cloud alerts in the historical log view ( #4925 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 17:04:07 +00:00
Amir Raminfar and Claude Opus 5
11d2894f04
refactor(cloud): treat alert ids as opaque strings ( #4924 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 19:35:15 -07:00
Amir Raminfar and Claude Opus 5
82dea58f40
perf(logs): poll Cloud for alerts on a timer, not on every log line ( #4921 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 19:15:43 -07:00
Amir Raminfar and Claude Opus 5
304c0c027e
fix(logs): correct the alert row, and badge the events behind it ( #4920 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 19:15:43 -07:00
Amir Raminfar and Claude Opus 5
dceeb6cf97
fix(logs): re-enable copy actions in the log context menu ( #4919 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 22:43:26 +00:00
Amir Raminfar and Claude Opus 5
2b781926a0
feat(logs): mark alerts in the scroll gutter ( #4917 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 15:09:04 -07:00
Amir Raminfar and Claude Opus 5
4f21a44b4b
feat(logs): show how long an alert's incident kept firing ( #4916 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 15:09:03 -07:00
Amir Raminfar and Claude Opus 5
4b7b3d2221
feat(logs): merge Dozzle Cloud alerts into the log stream ( #4915 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 15:09:03 -07:00
Amir Raminfar and Claude Opus 5
13270eed8b
feat(cloud): proxy alert history to the local web layer ( #4914 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 15:03:33 -07:00
Amir Raminfar and Claude Opus 5
0d03442e58
feat(cloud): add GetAlerts to the cloud tool service ( #4913 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-16 14:53:33 -07:00
Amir Raminfar
edb3421d74
chore: release v10.7.2
2026-08-15 11:35:03 -07:00
Amir Raminfar and Claude Opus 5
2b49998a60
feat(cloud): stream windowed container metrics to Dozzle Cloud ( #4911 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-15 10:16:30 -07:00
Amir Raminfar and Claude Opus 5
be30692e62
fix: don't log an error when docker events listener exits cleanly ( #4907 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-13 12:56:54 -07:00
Amir Raminfar and Claude Opus 5
b944b52495
feat: Prompt to reload when the UI is older than the server ( #4904 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-11 11:03:11 -07:00
Amir Raminfar and Claude Opus 5
893aa23ee0
docs: polish hero mock and add icons to hero buttons
...
Make the hero mock non-selectable and non-interactive so it reads as an
image rather than a web page. Animate the CPU, memory and network readouts
by scrolling a window across a fixed deterministic series, which keeps SSR
and hydration identical while looking live. Match the container name chip
to the real btn-sm height, and give the hero action buttons rocket and
GitHub icons.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-09 15:09:26 -07:00
Amir Raminfar
68d8e4c50c
docs: updates homepage
2026-08-09 14:58:38 -07:00
Amir Raminfar
4f6dfd3588
chore: release v10.7.1
2026-08-09 13:06:43 -07:00
Amir Raminfar and Claude Opus 5
6573887045
fix: stop alpine build from overwriting the latest tag ( #4902 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-09 13:06:29 -07:00
Amir Raminfar
cee383da8e
chore: release v10.7.0
2026-08-09 12:44:10 -07:00
Amir Raminfar
38ac279b7e
chore: updates protoc
2026-08-08 20:35:22 -07:00
Amir Raminfar and Claude Opus 5
cea3d13e93
feat: publish optional alpine image variant ( #4900 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-08 16:14:32 +00:00
Amir Raminfar and Claude Opus 5
770dcbbfde
ci: group and automerge github action digest updates ( #4899 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-08 15:56:37 +00:00
Amir Raminfar
6f28474d46
chore: release v10.6.15
2026-08-07 10:01:10 -07:00
Amir Raminfar
a25c379771
chore: updates d files
2026-08-07 10:00:54 -07:00
Amir Raminfar
7aa449d77c
chore: updates d files
2026-08-07 10:00:34 -07:00
Amir Raminfar
8e39e35127
fix(cloud): stream logs from the container start ( #4895 )
2026-08-07 16:43:38 +00:00
Amir Raminfar and Claude Opus 5
8358b98111
chore: use import.meta.dirname in vite configs ( #4891 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-05 23:20:53 +00:00
Amir Raminfar
8cf7ccd5ee
fix(security): block IPv6 transition addresses in webhook SSRF guard ( #4887 )
2026-08-04 12:33:51 -07:00
Amir Raminfar
c159db5f0b
chore: release v10.6.14
2026-07-30 10:36:35 -07:00
Amir Raminfar
a18edf03ec
chore: release v10.6.13
2026-07-30 10:36:13 -07:00
Amir Raminfar and Claude Opus 5
18acf6722b
test(e2e): assert static assets resolve under a custom base path ( #4880 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-07-30 07:20:19 -07:00