Maurice
62fbc26811
fix: GitHub panel blank screen — add missing releases endpoint, fix NOMAD→TREK URL — closes #107
2026-03-29 22:37:21 +02:00
Maurice
2171203a4c
feat: configurable weekend days in Vacay — closes #97
...
Users can now select which days are weekends (default: Sat+Sun).
Useful for countries like Bangladesh (Fri+Sat) or others with
different work weeks. Settings appear under "Block weekends" toggle.
2026-03-29 19:46:24 +02:00
Maurice
b28b483b90
fix: unlimited invite links (max_uses=0) no longer blocked as fully used
2026-03-29 19:30:21 +02:00
Maurice
020cafade1
feat: auto-redirect to OIDC when password auth is disabled — closes #94
2026-03-29 18:25:51 +02:00
Maurice
e4b2262d4d
docs: update README for v2.7.0 — new features, env vars table, fix nomad references
2026-03-29 17:51:03 +02:00
Maurice
d2efd960b5
v2.7.0
2026-03-29 17:42:11 +02:00
Maurice
c51a27371b
chore: sync server package-lock.json for clean npm ci builds
2026-03-29 17:35:55 +02:00
Maurice
252d2d22a8
i18n: sync all 8 languages to 1086 keys — remove ES extras, complete AR
2026-03-29 17:23:19 +02:00
Maurice
80c2486570
i18n: add missing translation keys for all features across ES, FR, RU, ZH, NL, AR
2026-03-29 17:09:33 +02:00
Maurice
7dcd89fb71
fix: pan to clicked marker without zoom reset — closes #86
2026-03-29 16:55:27 +02:00
Maurice
8458481950
feat: atlas country marking, bucket list, trip creation UX — closes #49
...
Atlas:
- Click any country to mark as visited or add to bucket list
- Bucket list with country flags, planned month/year, horizontal layout
- Confirm popup with two options (mark visited / bucket list)
- Full A2/A3 country code mapping for all countries
Trip creation:
- Drag & drop cover image support
- Add travel buddies via CustomSelect dropdown when creating a trip
- Manual date entry via double-click on date picker (supports DD.MM.YYYY, ISO, etc.)
2026-03-29 16:51:35 +02:00
Maurice
808b7f7a72
fix: map pins update immediately when category filter is cleared
2026-03-29 15:27:56 +02:00
Maurice
f4ee7b868d
feat: sync category filter to map pins — closes #81
2026-03-29 15:26:47 +02:00
Maurice
e99960c3b6
feat: support OIDC_ONLY environment variable to disable password auth — closes #48
2026-03-29 15:14:41 +02:00
Maurice
c39d242cfb
feat: bag tracking with weight distribution, packing UX overhaul — closes #13
...
- Bag tracking: optional admin setting under Packing addon, weight per item,
bag assignment with inline creation, iOS-style weight sidebar + mobile modal
- Admin: merged Categories + Packing Templates into "Configuration" tab
- Packing UI: category-first workflow, mobile-friendly action buttons,
stable category ordering, responsive button labels
2026-03-29 15:08:56 +02:00
Maurice
2f8a189319
feat: packing templates with category-based workflow — closes #14
...
- Admin: create/edit/delete packing templates with categories and items
- Trip packing: category-first workflow (add category → add items inside)
- Apply template button adds items additively (preserves existing)
- Replaces old item+category freetext input
2026-03-29 14:19:06 +02:00
Maurice
44138af11a
feat: assign trip members to packing list categories — closes #71
2026-03-29 13:37:48 +02:00
mauriceboe
bc6c59f358
Merge pull request #72 from Summerfeeling/main
...
fix: prioritize ADM0_A3 over ISO_A3 in atlas area resolution to support France, Norway and Israel
2026-03-29 13:23:15 +02:00
Maurice
54804d0e5f
style: unify language button size with other settings buttons
2026-03-29 13:21:24 +02:00
Maurice
631e47944b
style: increase spacing between password/MFA sections in settings
2026-03-29 13:20:08 +02:00
Maurice
3abcc0ec76
feat: fix MFA integration — migration, otplib compat, branding, and add MFA translations for all languages
2026-03-29 13:18:53 +02:00
Maurice
530f233b7d
Merge PR #76 : feat/mfa — multifactor authentication ( closes #46 )
2026-03-29 13:01:05 +02:00
Maurice
fbb3bb862c
i18n: add missing Arabic translations for grid/list toggle, accommodation rename, and invite links
2026-03-29 12:58:18 +02:00
mauriceboe
3c3b7b9136
Merge pull request #76 from mansourSaleh/add-arabic-language-support
...
feat(client): add Arabic language support
2026-03-29 12:56:45 +02:00
Maurice
99514ddce1
feat: add invite registration links with configurable usage limits
...
Admins can create one-time registration links (1–5× or unlimited uses)
with optional expiry (1d–14d or never). Recipients can register even
when public registration is disabled. Atomic usage counting prevents
race conditions, all endpoints are rate-limited.
2026-03-29 12:49:15 +02:00
Mansour Almohsen
b0ffb63d67
feat(client): add Arabic language support
...
Add Arabic to the client i18n system, expose it in the language selectors, and enable RTL document handling. Also localize the remaining language-specific UI bits used by the login, demo, Vacay, and GitHub panels.
2026-03-29 12:47:45 +03:00
Maurice
d909aac751
i18n: rename "Hotel" booking type to "Accommodation" — closes #75
2026-03-29 11:14:33 +02:00
Maurice
e91b79ebfc
feat: add list/grid view toggle on dashboard — closes #73
2026-03-29 11:10:33 +02:00
Summerfeeling | Timo
2d7babcba3
fix: prioritize ADM0_A3 over ISO_A3 in atlas area resolution to support France, Norway and Israel
2026-03-29 03:40:57 +02:00
Fernando Bona
e56ea068ef
Merge branch 'main' into feat/mfa
2026-03-28 22:12:26 -03:00
fgbona
a091051387
feat/mfa: Removed install-server-deps.sh, .npmrc and .nvmrc
2026-03-28 22:10:49 -03:00
mauriceboe
df3e62af5c
Merge pull request #70 from Summerfeeling/main
...
fix: use correct uploads path as src for avatars in day plan sidebar
2026-03-29 01:50:58 +01:00
mauriceboe
399e4acf03
Merge pull request #69 from saswatds/helmet-fix
...
fix: resolve static asset SSL errors from helmet's upgrade-insecure-requests
2026-03-29 01:48:08 +01:00
Maurice
e0fd9830d9
Merge branch 'dev'
2026-03-29 01:43:07 +01:00
Maurice
7a445583d7
style: replace native color picker and text input with TREK-style components in holiday calendars
2026-03-29 01:41:57 +01:00
Summerfeeling | Timo
1d9d628e2d
fix: use correct uploads path for avatars in day plan sidebar
2026-03-29 01:39:15 +01:00
Maurice
005c08dcea
Merge PR #68 : multiple holiday calendars per vacay plan ( closes #36 )
2026-03-29 01:33:06 +01:00
Saswat
e25fec4e4a
fix: resolve static asset SSL errors from helmet's upgrade-insecure-requests
...
Helmet merges default CSP directives (including `upgrade-insecure-requests`)
into custom directives when `useDefaults` is true (the default). This caused
browsers to upgrade all HTTP sub-resource requests to HTTPS, breaking static
assets when the server runs over plain HTTP.
This commit conditionally sets `upgrade-insecure-requests` based on
FORCE_HTTPS: enabled in production (where HTTPS is available), explicitly
disabled (null) otherwise to prevent browser SSL errors on home servers
and development environments.
Also extracts `shouldForceHttps` to avoid repeated env lookups.
2026-03-28 17:30:51 -07:00
mauriceboe
85e69b8a3d
Update multilingual support in README
2026-03-29 01:09:27 +01:00
Maurice
1d57eacfa4
fix: wrap language buttons in settings to prevent overflow
2026-03-29 01:05:40 +01:00
Maurice
ecf7433980
i18n: add French, Russian, Chinese Simplified, and Dutch translations
2026-03-29 01:02:41 +01:00
Maurice
433d780f74
security: upgrade multer 1.4.5 → 2.1.1 — fixes CVE-2025-47944, CVE-2025-47935, CVE-2025-48997, CVE-2025-7338
2026-03-29 00:35:16 +01:00
Maurice
27f8856e9b
i18n: add addon catalog translations for EN and DE — fixes missing collab tab name
2026-03-28 23:46:15 +01:00
Maurice
f2c90ee0f4
Merge branch 'main' into dev
2026-03-28 23:29:00 +01:00
Maurice
83d256ebac
feat: custom timezones in timezone widget — closes #21
2026-03-28 23:23:52 +01:00
Stephen Wheet
3c4f5f7193
feat: multiple holiday calendars per vacay plan
...
- Add vacay_holiday_calendars table (region, label, color, sort_order)
- Lazy migration of existing holidays_region to first calendar row
- Extract applyHolidayCalendars() helper; replace inline holiday logic
- GET /vacay/plan now includes holiday_calendars array
- Add POST/PUT/DELETE /vacay/plan/holiday-calendars/:id endpoints
- Client VacayPlan/VacayEntry/HolidayInfo types updated
- loadHolidays() loops over all calendars; per-calendar color on HolidayInfo
- VacayMonthCard uses holiday.color instead of hardcoded red
- VacaySettings replaced single country picker with calendar list UI
- VacayPage legend renders one item per calendar
- i18n: addCalendar, calendarLabel, calendarColor, noCalendars (en + de)
- Fix pre-existing TS errors: VacayPlan/VacayEntry missing fields,
SettingToggleProps icon/onChange types, packing.suggestions.items array type
Closes #36
2026-03-28 22:16:12 +00:00
Maurice
31124a604a
feat: auto-split pasted lat,lng coordinates in place form — closes #22
2026-03-28 23:11:47 +01:00
Maurice
0d9dbb6286
i18n: consolidate es.js into es.ts, add missing 2.6.2 Spanish translations
2026-03-28 23:00:53 +01:00
Fernando Bona
66ae577b7b
Merge branch 'main' into feat/mfa
2026-03-28 18:59:06 -03:00
Joaquin
706548c45d
feat: add full Spanish translation ( #57 )
...
* feat(i18n): add spanish translation support
* refactor(i18n): refine spanish copy for es-es
* refactor(i18n): translate addon titles to spanish
2026-03-28 22:56:17 +01:00