Frappe renders the desktop icon caption as a single nowrap + ellipsis line in a
127px cell, which broke two ways on long (az/ru) module names:
- main desk: .icon-caption is shrink-to-fit, so it grew past its cell and the
ellipsis never triggered — the label spilled into the neighbouring icon.
- folder modal: our own -webkit-line-clamp:2 + ellipsis cut the label ("…").
Captions now take the full cell width and wrap over as many lines as they need;
the cell grows taller instead of overflowing. Cells widen to 152px above 1060px
(below that the 6-col grid is already at the viewport edge, so the stock width
stays); mobile is untouched. The folder modal card now sizes to its icon grid —
Bootstrap capped the dialog width, so the widened last column hung outside it.
Also carries the in-progress theme rename (modern → silk) in the JS bundle,
CLAUDE.md and az locale.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move config-driven doctype blocking off before_request onto the permission
system so a System Manager cannot undo it from the UI:
- permission_query_conditions ("*") returns 1=0 for prod-blocked doctypes
-> list views come back empty for everyone but Administrator.
- has_permission denies every per-doc op (read/create/write/delete).
- extend_bootinfo strips blocked doctypes from user.can_*.
Doctypes are deliberately NOT blocked at before_request: a blunt URL/API
block breaks search_link/dynamic links, while permission hooks are bypassed
by ignore_permissions so internal/framework reads keep working.
Split desk_layout gating: the visual overlay stays gated on is_enforcing();
access-block accessors (prod_blocked_*) gate on 'not is_design_mode()' so a
block only bites on production (the design machine keeps full access).
Reports/pages/workspaces blocking unchanged (before_request + has_permission).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
is_design_mode() now returns True automatically on machines where the jey_layout
editor app is installed (test/design machines), so site_config no longer needs
jey_design_mode. Production (jey_theme only) stays in always-enforce mode. An
explicit jey_design_mode in site_config still overrides (0/1).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Non-destructive, server-side filtering/injection of desk workspaces/cards/links
driven by config/desk_layout.json. Adds desk_layout.py + desk_overrides.py,
extends access_control.py (Report/Page blocking, fail-open hooks), dynamically
loads the jey_layout editor in design mode, and documents the edge proxy
proxy_buffer_size gotcha in CLAUDE.md. Test snapshot cleared to empty.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds three new cards (E-Taxes Setup, Reference, Documents) under a
"E-Taxes & ƏMAS" header so Asan Login, E-Taxes Settings, and the rest
of the standalone invoice_az doctypes are reachable from the Taxes Az
workspace and sidebar.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Chrome theme: active grid row now visually matches the static row —
flattened inputs, forced bottom border, padding match, pressed-in
button-style effect on focused cells with smooth 0.45s transition.
- Read-only grid cells get a distinct lighter-grey bg only while their
row is the active one (uses Frappe's display:none on .field-area).
- Button press animations: expanded shadow set + explicit transitions
so press/release is symmetric and eased.
- Shared: fixed section-in keyframe leaving a stacking context that
clipped Link autocomplete dropdowns; dropdown fade-out without
Popper position reset; smooth sidebar expand to match collapse.
- JS: clip section overflow during collapse transition, restore after
transitionend; freeze dropdown position during Bootstrap hide.
- CLAUDE.md: rewritten as Claude Code guidance doc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Extended chrome theme from desktop icons only to the full ERPNext UI:
navbar, sidebar, buttons, inputs, forms, lists, tables, modals,
dropdowns, tabs, timeline, scrollbars. Uses 45° multi-stop reflective
gradients, beveled shadows, conic-gradient accents, and polished
metal body background.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>