Tags are now categorized based on their set_hst field, which
points to the parent category tag (e.g., hst, spe, vue, vsn, msn).
This uses the actual semantic relationship defined in the database
rather than inferring from ref prefix or using the base.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tags are categorized by the base they belong to, not by their
ref prefix. A tag in the hst table is always a hashtag, regardless
of whether its ref starts with "flg", "ply", etc.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Count tags per category before rendering sidebar
- Only display categories that have tags in current view
- Show count next to each category name
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Event handlers now read fresh state from State.get() instead of
using captured values from when bindSidebarEvents was called.
This ensures the sidebar updates correctly with each render.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Instead of depending on non-existent api_library_list_* views,
now queries library_${base} for unique mrf_library values and
fetches tag info from main table.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
HST frontend now lives in its own repository: tzzr/hst-frontend
This maintains clean separation between DECK and HST frontends.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Customized version of DECK frontend for HST server (tzrtech.org):
- Remove DECK-specific bases: MST, BCK, MTH, ATC, Oracle, MAIL, CHAT
- Keep only taxonomy bases: HST, FLG, ITM, LOC, PLY
- Update IMG_BASE to https://tzrtech.org
- Update title to "hst" and logo to "HST"
- Clean up schema documentation
HST serves as the semantic tag model/template that DECK can copy from.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implementación completa de soporte multi-bucket para tabla ATC:
- Tabla public.bucket_registry (metadata de buckets)
- Tabla public.bucket_access_log (auditoría)
- Campo bucket_mrf en tzzr_core_secretaria.atc
- 2275 archivos migrados a bucket 'deck'
- Documentación completa de sesión
Cambios menores:
- deck-v4.6.html actualizado
- Caddyfile para captain-mobile
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change API_BASE to https://tzrtech.org/api (HST server)
- Update all schemas to 'public' (actual DB schema)
- Fixes TreeView data loading in production
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Events now logs to console when _debug is true:
- [Events.on] event (N handlers) - green
- [Events.off] event - orange
- [Events.emit] event data → N handlers - blue
Toggle in browser console:
Events._debug = false // disable
Events._debug = true // enable (default)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added API.getTree() to query tree_{base} tables
- TreeView now builds real 1:N hierarchy from tree_* data
- Recursive rendering with proper parent-child relationships
- Library filter still works (filters tags before building tree)
- Updated CSS for hierarchical tree display with depth indicators
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The example sed commands in the header contained the same
marker strings, causing extraction to capture header content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Toast: aria-live="assertive" + role="alert" for immediate announcements
- CSS: prefers-reduced-motion support added
- Version bump v4.1 → v4.2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changes:
- XSS protection with escapeHtml() utility
- Responsive CSS (3 mobile breakpoints)
- Full accessibility: aria-labels, roles, focus-visible
- GraphView memory leak fix
- Immutable state management
Files:
- deck-v4.1.html: Production-ready monolith
- CHANGELOG.md: Version history and documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add graph-mode class to parent containers when graph view is active
- Add CSS rules for .graph-mode and :has(.graph-view) for overflow: visible
- Ensure sidebar and controls are not clipped by parent overflow
- Add width/height 100% to content-area.graph-view
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add overflow: visible to .graph-view to prevent clipping
- Add .content-area.graph-view rule for parent overflow fix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change view-tabs from delegateEvent to direct onclick like hst-frontend
- Remove hardcoded 'active' class from grid tab in HTML
- Update active class immediately on click before state update
- Update proxy target to tzrtech.org
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move graph options from left panel to floating sidebar in GraphView
- Add zoom controls (fit, +, -) in top-right corner
- Add dynamic legend showing active categories
- Add cleanup system to View base class for event listeners
- Update delegateEvent to return cleanup function
- Filter nodes by category before rendering
- Fix text color variable (--text-primary to --text)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add resolveImgUrl() to prepend https://atc.tzzrdeck.me/ to relative paths
- Update getImg() and getFullImg() to use the new resolver
- Enables thumbnail display for attachments stored in R2 bucket
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Moved SEL and GET buttons from topbar to view-bar
- Created button group with consistent styling
- Positioned to the left of Grid/Tree/Graph tabs
- Added spacer for balanced layout
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use api_library_list_{base} views instead of generic query
- Add name_en and member_count to Library type
- Created PostgreSQL views for hst, flg, itm, loc, ply libraries
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Swap MST/BCK and MTH/ATC button positions
- Add schema support for different PostgreSQL schemas:
- secretaria_clara: atc, mst, bck
- production_alfred: mth
- mail_manager: mail
- context_manager: chat
- Libraries now load per-base (library_{base})
- Add new base types: key, mindlink
- Update FetchOptions to use schema instead of headers
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>