Daniel Volz
d0837a7281
feat: stack related date fields and clarify share stock labels ( #422 )
...
* feat: stack related date fields and clarify share stock labels
* test: cover stacked date pairs and share labels
2026-03-12 21:32:56 +01:00
Daniel Volz
3fda41e501
fix: restore automatic intake auto-marking ( #420 )
2026-03-12 21:32:51 +01:00
Daniel Volz
dd8ddb64e6
feat: expose optional API docs through frontend ingress ( #416 )
2026-03-11 10:03:34 +01:00
dependabot[bot]
e0a50d01bb
build(deps): bump react-i18next from 15.7.4 to 16.5.6 in /frontend ( #395 )
...
* build(deps): bump react-i18next from 15.7.4 to 16.5.6 in /frontend
Bumps [react-i18next](https://github.com/i18next/react-i18next ) from 15.7.4 to 16.5.6.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/react-i18next/compare/v15.7.4...v16.5.6 )
---
updated-dependencies:
- dependency-name: react-i18next
dependency-version: 16.5.6
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* test(e2e): harden selectors for PR #395 checks
* test(e2e): harden API key and share button assertions
* test: stabilize flaky playwright checks for settings and schedule
* test: skip env-dependent e2e assertions when controls are unavailable
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-10 13:53:16 +01:00
Daniel Volz
105eb7bc0d
feat: add shared overview and harden frontend session state ( #407 )
2026-03-10 06:26:03 +01:00
Daniel Volz
733fe2f38a
fix: stabilize e2e suite and align dev runtime config ( #408 )
...
* fix: stabilize e2e suite and align dev runtime config
* fix: harden forbidden-settings e2e assertion
* fix: make forbidden settings e2e assertion robust
2026-03-10 06:25:46 +01:00
dependabot[bot]
2db49e427a
build(deps): bump the minor-and-patch group in /frontend with 4 updates
...
Bumps the minor-and-patch group in /frontend with 4 updates: [i18next](https://github.com/i18next/i18next ), [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ), [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `i18next` from 25.8.13 to 25.8.14
- [Release notes](https://github.com/i18next/i18next/releases )
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next/compare/v25.8.13...v25.8.14 )
Updates `lucide-react` from 0.575.0 to 0.577.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-react )
Updates `@biomejs/biome` from 2.4.4 to 2.4.6
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.6/packages/@biomejs/biome )
Updates `@types/node` from 25.3.3 to 25.3.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: i18next
dependency-version: 25.8.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: lucide-react
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 25.3.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-09 22:11:32 +01:00
Daniel Volz
e8279bd521
chore: release v1.19.0 ( #388 )
...
* docs: require explicit issue comment when closing issues via PR
* chore: release v1.19.0
2026-03-06 20:16:42 +01:00
Daniel Volz
5b6c6abb69
feat: display actual reminder schedule from server config ( #386 )
...
- Expose REMINDER_HOUR and REMINDER_MINUTES_BEFORE env values via settings API
- Add reminderHour and reminderMinutesBefore to frontend Settings interface
- Replace hardcoded i18n strings with parameterized translations
- Settings page now shows configured schedule instead of static 6:00 / 15 min
2026-03-06 19:51:19 +01:00
Daniel Volz
30c97e2f0d
fix: use per-intake reminder setting as single source of truth ( #384 )
...
- Filter intakes by per-intake intakeRemindersEnabled instead of falling
back to medication-level setting (fixes #383 )
- Add SMTP delivery validation with accepted/rejected recipient checks
- Enhance email success logging with recipient, messageId, SMTP response
- Simplify MedDetailModal reminder icon logic to match backend behavior
- Sync lockfile versions to 1.18.2
2026-03-06 19:50:45 +01:00
Daniel Volz
54d26e0241
fix: remove redundant flaky schedule timeline assertion ( #381 )
...
* test: remove redundant flaky schedule timeline assertion
* fix(frontend): fix schedule-data e2e formatting for CI gate
2026-03-04 21:15:29 +01:00
Daniel Volz
ac47fc001d
fix: adapt e2e medication flows to all package profiles ( #380 )
...
* test: adapt e2e medication flows to all package profiles
* fix(frontend): resolve frontend build lint blockers
2026-03-04 21:15:18 +01:00
Daniel Volz
4936929849
feat: replace hardcoded package assumptions with profile abstraction ( #379 )
2026-03-04 21:15:05 +01:00
Daniel Volz
b349e26833
chore: release v1.18.2 ( #374 )
2026-03-02 23:34:18 +01:00
Daniel Volz
56d244aa61
fix: stabilize frontend e2e selectors and auth/session reliability ( #373 )
2026-03-02 23:21:57 +01:00
dependabot[bot]
8fdd79ff33
build(deps-dev): bump @types/node ( #370 )
...
Bumps the minor-and-patch group in /frontend with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `@types/node` from 25.3.2 to 25.3.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 25.3.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 12:56:16 +01:00
Daniel Volz
cd8263e607
fix: align desktop intake labels and form field pairing ( #368 )
...
* fix: align desktop intake labels and form field pairing
* chore: align frontend lockfile version and include remaining local changes
2026-03-02 01:33:28 +01:00
Daniel Volz
e6a097d81d
chore: release v1.18.1 ( #366 )
2026-03-02 01:16:08 +01:00
Daniel Volz
f4723c6f99
chore: release v1.18.0 ( #365 )
2026-03-02 00:41:20 +01:00
Daniel Volz
da004b5c3e
fix: align frontend tube/liquid container semantics ( #364 )
...
* fix: align frontend tube/liquid container semantics
* test(frontend): fix PR #364 CI regressions
2026-03-02 00:23:32 +01:00
Daniel Volz
9e8a6315e7
fix: keep topical stock non-depleting in planner flows ( #359 )
...
* fix: keep topical stock non-depleting in planner and reports
* test: stabilize e2e selectors for updated medication semantics
* fix(backend): add missing planner translation keys
2026-02-28 23:36:52 +01:00
Daniel Volz
8aaeca6b26
feat: simplify tube stock editing UI ( #357 )
...
* feat: add package amount persistence and backend route support
* test: align backend test schemas with medication metadata fields
* fix(backend): restore intake usage normalizer for planner endpoint
* fix(backend): keep export typing compatible before liquid-unit stack step
* feat: simplify tube stock editing in desktop and mobile forms
2026-02-28 23:24:48 +01:00
Daniel Volz
2f2edfa479
chore: release v1.17.1 ( #351 )
2026-02-27 01:53:09 +01:00
Daniel Volz
b009d9e158
fix: frontend nginx restart loop from invalid log_format scope ( #350 )
...
* fix: place nginx log_format in valid context
* fix: unblock required checks for nginx hotfix
* fix: restore mandatory doku files in nginx hotfix pr
2026-02-27 01:47:59 +01:00
dependabot[bot]
46d768dd4e
build(deps): bump the minor-and-patch group in /frontend with 5 updates ( #344 )
...
Bumps the minor-and-patch group in /frontend with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react ) | `19.2.0` | `19.2.4` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `19.2.2` | `19.2.14` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) | `19.2.0` | `19.2.4` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom ) | `19.2.2` | `19.2.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.3.0` | `25.3.2` |
Updates `react` from 19.2.0 to 19.2.4
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react )
Updates `@types/react` from 19.2.2 to 19.2.14
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `react-dom` from 19.2.0 to 19.2.4
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react-dom )
Updates `@types/react-dom` from 19.2.2 to 19.2.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom )
Updates `@types/node` from 25.3.0 to 25.3.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@types/react` from 19.2.2 to 19.2.14
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `@types/react-dom` from 19.2.2 to 19.2.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom )
---
updated-dependencies:
- dependency-name: react
dependency-version: 19.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/react"
dependency-version: 19.2.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: react-dom
dependency-version: 19.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/react-dom"
dependency-version: 19.2.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 25.3.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/react"
dependency-version: 19.2.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/react-dom"
dependency-version: 19.2.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 01:28:55 +01:00
Daniel Volz
1ea4919323
chore: release v1.17.0 ( #348 )
2026-02-27 01:19:39 +01:00
Daniel Volz
ba0ab672b9
docs: update memory and report for multi-pr delivery ( #347 )
2026-02-27 01:15:40 +01:00
Daniel Volz
57c998ba09
chore: update dependabot automation and agent governance ( #341 )
...
* chore: update dependabot automation and agent governance
* chore: trigger required CI checks for governance PR
2026-02-27 01:11:05 +01:00
Daniel Volz
cc22f80209
fix: align frontend types and tests for react 19 ( #339 )
2026-02-27 01:01:48 +01:00
Daniel Volz
6b27d234d9
chore: reduce polling log noise across backend and nginx ( #336 )
2026-02-27 00:54:21 +01:00
Daniel Volz
19ba4bb7d2
feat: add FORM_LOGIN_ENABLED auth toggle ( #334 )
2026-02-27 00:48:58 +01:00
dependabot[bot]
8b3901c1e1
build(deps): bump rollup from 4.53.5 to 4.59.0 in /frontend ( #333 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 4.53.5 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.53.5...v4.59.0 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 4.59.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 06:29:10 +01:00
Daniel Volz
f36d56c523
test: update modal tests to reflect global ESC handler
...
Remove ESC-keydown tests from ProfileModal.test.tsx since the
useEscapeKey hook was removed from individual modals. Escape key
handling is now centralized in App.tsx's global handler, making
per-component ESC tests invalid (the component no longer responds
to ESC in isolation).
2026-02-25 23:54:21 +01:00
Daniel Volz
f0496e8ca5
fix: remove duplicate ESC handlers causing double history.back()
...
AboutModal, ProfileModal, and ShareDialog each had their own
useEscapeKey hook AND were handled by the global ESC handler in
App.tsx. When ESC was pressed, both fired synchronously, calling
history.back() twice — navigating past the current page instead
of just closing the modal.
Removed the per-modal useEscapeKey calls since the global handler
in App.tsx already manages ESC priority for all modals.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-25 23:50:07 +01:00
Daniel Volz
de300ad919
chore: release v1.16.1 ( #326 )
2026-02-25 22:26:19 +01:00
Daniel Volz
d02f16af3a
fix: stabilize e2e CI and local playwright workers ( #321 )
...
* fix: stabilize e2e CI and local playwright workers
* fix(ci): apply biome formatting and import order for frontend build
2026-02-25 22:15:38 +01:00
Copilot
2a9ca39c24
Allow medications with only a generic name (no commercial name required) ( #311 )
...
* Initial plan
* feat: allow generic name only for medications (frontend changes)
- Add getMedDisplayName() helper for consistent name display
- Update validation to require either commercial or generic name
- Update all display locations to use display name fallback
- Add i18n keys for nameOrGenericRequired in en.json and de.json
- Remove required attribute from commercial name field
- Update FIELD_LIMITS.name.min from 1 to 0
Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com >
* feat: allow generic name only for medications (backend changes)
- Update Zod schema to allow empty name with cross-field refinement
- Update reminder scheduler to use name || genericName for display
- Update planner routes to match medications by display name
- Update existing tests to match new validation behavior
Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com >
* fix: update placeholder text and fix FIELD_LIMITS test
- Remove "(optional)" from generic name placeholder in en/de
- Update types.test.ts to expect FIELD_LIMITS.name.min = 0
Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com >
2026-02-25 21:29:25 +01:00
Daniel Volz
0fded0d42f
chore: release v1.16.0 ( #308 )
2026-02-25 00:19:56 +01:00
Daniel Volz
6161c14a7b
fix: logo optimization, deprecated meta tag, and clipboard copy fallback ( #306 )
...
- Replace 2 MB favicon.svg (base64-PNG-in-SVG) with optimized 43 KB app-logo.png (256x256)
- Update AppHeader and AboutModal references to use new logo
- Remove SVG favicon link from index.html (PNG/ICO favicons remain)
- Fix deprecated apple-mobile-web-app-capable → mobile-web-app-capable meta tag
- Add clipboard copy fallback for non-secure contexts (LAN IP over HTTP)
Closes #303
2026-02-25 00:04:35 +01:00
Daniel Volz
96b2a0c96f
feat: image upload optimization with sharp, thumbnails, and structured error codes ( #304 )
...
- Add sharp for server-side image processing (WebP conversion + thumbnails)
- New shared backend utility for image upload, optimization, and cleanup
- Return structured error codes from upload endpoints (IMAGE_TOO_LARGE, INVALID_TYPE, etc.)
- Frontend error code mapping with i18n support (EN + DE)
- MedicationAvatar tries thumbnail first, falls back to full image
- Error display in MedicationsPage, MobileEditModal, and Auth avatar upload
Closes #302
2026-02-24 23:52:59 +01:00
Daniel Volz
26475fd3d0
feat: add correlation ids and tighten frontend security headers ( #299 )
...
* feat: add correlation ids and tighten frontend security headers
* docs: remove obsolete project setup guide
* fix: restore health config flags for compatibility
* test(frontend): align auth fetch assertions with correlation headers
2026-02-24 21:21:30 +01:00
Daniel Volz
63cd9ef19b
fix: harden share link dose operations and token reuse ( #298 )
...
* fix: harden share link dose operations and token reuse
* fix: restore share dose compatibility and add correlation helper
2026-02-24 21:12:43 +01:00
Daniel Volz
b0c5d48095
chore: update bug template guidance and include app test changes ( #293 )
2026-02-23 19:54:18 +01:00
dependabot[bot]
05226cc500
build(deps): bump the minor-and-patch group in /frontend with 4 updates ( #291 )
...
Bumps the minor-and-patch group in /frontend with 4 updates: [i18next](https://github.com/i18next/i18next ), [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ), [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom ) and [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ).
Updates `i18next` from 25.8.10 to 25.8.13
- [Release notes](https://github.com/i18next/i18next/releases )
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next/compare/v25.8.10...v25.8.13 )
Updates `lucide-react` from 0.574.0 to 0.575.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/0.575.0/packages/lucide-react )
Updates `react-router-dom` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.13.1/packages/react-router-dom )
Updates `@biomejs/biome` from 2.4.1 to 2.4.4
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.4/packages/@biomejs/biome )
---
updated-dependencies:
- dependency-name: i18next
dependency-version: 25.8.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: lucide-react
dependency-version: 0.575.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: react-router-dom
dependency-version: 7.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-23 19:25:28 +01:00
Daniel Volz
ba36f67371
fix: smooth mobile edit transition and align modal validation behavior ( #286 )
...
* fix: reliable Escape key close for all modals via useEscapeKey hook
- Add useEscapeKey hook (document-level keydown listener)
- Retrofit all 12 modal/overlay components to use it
- Remove redundant overlay onKeyDown Escape handlers
- Simplify modal-content onKeyDown to plain stopPropagation
- Replace MedDetailModal's capture-phase useEffect with 3 useEscapeKey calls
- Replace SharedSchedule's inline useEffect with useEscapeKey
- Add mandatory modal rules to UI Consistency skill
- All 777 frontend + 569 backend tests pass
* fix: smooth mobile edit transition and align modal validation behavior
* fix: keep overlay keydown non-closing for Enter key
* fix: show mobile name error when validation already exists
* fix: restore app-level escape priority handling
* fix: prioritize schedule lightbox on Escape
2026-02-23 06:42:06 +01:00
Daniel Volz
2aa6b1f406
fix: prevent background scroll when any modal is open ( #284 )
...
Replace CSS-only modal-open class toggle with a shared useScrollLock
hook that uses position:fixed + scroll position save/restore. This
reliably prevents background scrolling on all browsers including
iOS Safari.
The hook supports nesting (lock counter) so stacked modals (e.g.
MedDetail → RefillModal) work correctly.
Also adds missing modal states to the scroll lock: showRefillModal,
showEditStockModal, showImageLightbox, scheduleLightboxImage.
Replaces the inline 40-line scroll lock in MobileEditModal with the
shared hook.
2026-02-22 18:40:39 +01:00
Daniel Volz
3238a22fd6
test: add E2E regression tests for MedDetail tooltip visibility ( #282 )
...
Guard against tooltip pseudo-elements being clipped by ancestor
overflow:hidden or hidden behind modal overlays. Covers edit,
stock correction, export, and close button tooltips.
2026-02-22 18:07:58 +01:00
Daniel Volz
b139660241
chore: release v1.15.1 ( #280 )
2026-02-22 18:02:32 +01:00
Daniel Volz
259f00e7a0
fix: unify number stepper layout and detail modal padding ( #279 )
...
Reorder stepper DOM elements (input first) and apply refill-number-stepper
class to both steppers for consistent CSS order-based layout.
Fix missing bottom padding on .med-detail-body.
2026-02-22 17:57:36 +01:00
Daniel Volz
c620146c4b
chore: release v1.15.0 ( #275 )
2026-02-22 16:54:49 +01:00