diff --git a/ROADMAP.md b/ROADMAP.md index d988114..d6dd040 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -262,3 +262,5 @@ Roughly in priority order: `v0.16.68` is a quick follow-on to v0.16.67: the Audit log's new table had no surrounding card, so it sat flush against the tab content instead of appearing inside the same bordered, elevated "tile" every other tab-hosted table uses -- Backup history's `dashboard-panel backup-history-section` wrapper on the Backups tab being the closest match. The Audit log's table markup is now wrapped in an equivalent `dashboard-panel audit-log-section` with an "Audit log" eyebrow above the existing heading, matching Backup history's structure exactly (search/filter row and table unchanged). Purely a wrapper/markup change -- no new CSS, no data or behavior changes. `v0.16.69` closes a gap flagged after reviewing the ZimaOS compose file: `compose.yaml`, `compose.release.yaml`, and `compose.zimaos.yaml` all documented `DATA_DIR_LIMIT_GB` and the `mem_limit`/`cpus`/`cpuset` resource-panel options in README/install.html but never actually carried them as commented-optional entries the way the marketing site's install guide showed -- someone copying a real compose file instead of the docs page got none of that guidance. All three now include the same commented-out block (env-var style in the two static compose files, `${VAR}`-substituted and wired through `.env.example` in `compose.release.yaml`). This also folds in the marketing site's `install.html`, which had drifted out of sync with an already-updated draft and was missing the same options on the user's machine -- resynced so the published guide matches what ships in the repo. + +`v0.16.70` fixes the Access Logs table (Administration > Logs, "Access requests"), the last page still on its own pre-unification CSS: `.log-table` pinned the Status and Duration columns with `position:sticky` and drew a divider `box-shadow` on each -- a horizontal-scroll affordance none of the other log-type pages use -- and left the Request column at a fixed width instead of stretching to fill the panel, so wide viewports showed an empty gap past Duration. Both are removed: the two trailing columns are back in normal table flow, and Request now takes `width:auto` to absorb the remaining space, matching how Gateway Events, Backup history, and the Audit log already size their last column. Purely a CSS change -- no markup, data, or behavior changes. diff --git a/package.json b/package.json index bf2948e..a7bd2ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "site-gateway", - "version": "0.16.69", + "version": "0.16.70", "private": true, "description": "Site Gateway: simple self-hosted website publishing, reverse proxying, and automatic HTTPS.", "type": "module", diff --git a/src/public/index.html b/src/public/index.html index f8151d2..f6870d5 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -8,7 +8,7 @@ Site Gateway - + - + diff --git a/src/public/styles.css b/src/public/styles.css index e98c6d9..543fbd4 100644 --- a/src/public/styles.css +++ b/src/public/styles.css @@ -487,25 +487,21 @@ dialog{max-height:calc(100vh - 28px);overflow:auto} #app .upstream-diagnostics summary{padding:0;color:var(--blue);font-size:var(--font-size-xs);font-weight:700;border:0} #app .upstream-diagnostics .upstream-detail{margin:6px 0 0} -/* Log table layout & column widths */ +/* Log table layout & column widths -- matches the .event-table/.performance-table + pattern used by Gateway Events, Backup history, and the Audit log: sticky header + only (no pinned/divided trailing columns), and the Request column absorbs the + remaining width instead of leaving a gap on wide panels. */ .log-table-wrap{max-height:min(52vh,620px);overflow:auto} .log-table-wrap .log-table thead th{position:sticky;top:0;background:var(--panel);z-index:1} .log-section-heading{margin:20px 0 10px} .log-section-heading h2{margin:0;font-size:1.05rem} .log-section-heading p{margin:var(--space-1) 0 0;font-size:.76rem} @media(min-width:761px){#dashboard>aside{position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;align-self:start}} -.log-table th:nth-last-child(2),.log-table td:nth-last-child(2),.log-table th:last-child,.log-table td:last-child{position:sticky;background:var(--panel);z-index:2} -.log-table th:nth-last-child(2),.log-table td:nth-last-child(2){right:104px;min-width:104px} -.log-table th:last-child,.log-table td:last-child{right:0;min-width:104px} -.log-table th:nth-last-child(2){box-shadow:-1px 0 0 var(--line)} -.log-table td:nth-last-child(2){box-shadow:-1px 0 0 var(--line)} -.log-table-wrap{overflow-x:hidden;overflow-y:auto} .log-table{table-layout:fixed} .log-table th:nth-child(1),.log-table td:nth-child(1){width:190px} .log-table th:nth-child(2),.log-table td:nth-child(2){width:220px} .log-table th:nth-child(4),.log-table td:nth-child(4),.log-table th:nth-child(5),.log-table td:nth-child(5){width:104px} -.log-table th:nth-child(3),.log-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere} -.log-table th:last-child,.log-table td:last-child{box-shadow:-1px 0 0 var(--line)} +.log-table th:nth-child(3),.log-table td:nth-child(3){width:auto;white-space:normal;overflow-wrap:anywhere} @media(max-width:900px){.log-table th:nth-child(1),.log-table td:nth-child(1){width:150px}.log-table th:nth-child(2),.log-table td:nth-child(2){width:170px}} .log-table th:nth-child(4),.log-table td:nth-child(4),.log-table th:nth-child(5),.log-table td:nth-child(5){text-align:center} #access-dialog .dialog-heading .close-dialog{display:none}