* Update README.md supporter list * Fix: Multiple bug fixes and features bundle (#888, #991, #617, #984) (#1007) * fix: resolve location creation failures, broken image uploads, and invalid URL handling - Add missing addToast import in LocationDetails.svelte for proper error feedback - Add objectId check and error response handling in ImageManagement.svelte to prevent ghost images - Add Content-Type check in +page.server.ts image action to handle non-JSON backend responses - Add client-side URL validation in LocationDetails.svelte (invalid URLs → null) - Improve Django field error extraction for user-friendly toast messages - Clean up empty description fields (whitespace → null) - Update BUGFIX_DOCUMENTATION.md with detailed fix descriptions * feat: bug fixes and new features bundle Bug fixes: - fix: resolve PATCH location with visits (#888) - fix: Wikipedia/URL image upload via server-side proxy (#991) - fix: private/public toggle race condition (#617) - fix: location creation feedback (addToast import) - fix: invalid URL handling for locations and collections - fix: world map country highlighting (bg-*-200 -> bg-*-400) - fix: clipboard API polyfill for HTTP contexts - fix: MultipleObjectsReturned for duplicate images - fix: SvelteKit proxy sessionid cookie forwarding Features: - feat: duplicate location button (list + detail view) - feat: duplicate collection button - feat: i18n translations for 19 languages - feat: improved error handling and user feedback Technical: - Backend: fetch_from_url endpoint with SSRF protection - Backend: validate_link() for collections - Backend: file_permissions filter() instead of get() - Frontend: copyToClipboard() helper function - Frontend: clipboard polyfill via server-side injection * chore: switch docker-compose from image to build Use local source code builds instead of upstream :latest images to preserve our custom patches and fixes. * fix: lodging save errors, AI language support, and i18n improvements - Fix Lodging save: add res.ok checks, error toasts, isSaving state (#984) - Fix URL validation: silently set invalid URLs to null (Lodging, Transportation) - Fix AI description language: pass user locale to Wikipedia API - Fix missing i18n keys: Strava toggle buttons (show/hide) - Add CHANGELOG.md - Remove internal documentation from public tracking - Update .gitignore for Cursor IDE and internal docs Co-authored-by: Cursor <cursoragent@cursor.com> * feat: update location duplication handling, improve UI feedback, and enhance localization support --------- Co-authored-by: AdventureLog Bugfix <bugfix@adventurelog.local> Co-authored-by: madmp87 <info@so-pa.de> Co-authored-by: Mathias Ponnwitz <devuser@dockge-dev.fritz.box> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Sean Morley <mail@seanmorley.com> * Enhance duplication functionality for collections and locations; update UI to reflect changes * Potential fix for code scanning alert no. 49: Information exposure through an exception Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Update Django and Pillow versions in requirements.txt * Fix error logging for image fetch timeout in ContentImageViewSet * Update requirements.txt to include jaraco.context and wheel for security fixes * Update app version and add security vulnerabilities to .trivyignore * Update backend/server/adventures/views/collection_view.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/src/lib/types.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Reorder build and image directives in docker-compose.yml for clarity * Refactor code structure for improved readability and maintainability * Remove inline clipboard polyfill script injection from server hooks (#1019) * Initial plan * Remove inline clipboard polyfill script injection from hooks.server.ts Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> * Fix unhandled promise rejections in copyToClipboard click handlers (#1018) * Initial plan * Fix: make copyToClipboard handlers async with try/catch error toast Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> * Harden `fetch_from_url` image proxy: require auth, rate-limit, and strengthen SSRF protections (#1017) * Initial plan * Harden fetch_from_url: require auth, rate-limit, block non-standard ports, check all IPs, re-validate redirects Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: seanmorley15 <98704938+seanmorley15@users.noreply.github.com> * Fix subregion filtering in world travel page to exclude null values * Update package.json to use caret (^) for versioning in overrides * fix: update package dependencies for compatibility and stability - Added cookie dependency with version constraint <0.7.0 - Updated svelte dependency to allow versions <=5.51.4 - Updated @sveltejs/adapter-vercel dependency to allow versions <6.3.2 * Refactor code structure for improved readability and maintainability --------- Co-authored-by: madmp87 <79420509+madmp87@users.noreply.github.com> Co-authored-by: AdventureLog Bugfix <bugfix@adventurelog.local> Co-authored-by: madmp87 <info@so-pa.de> Co-authored-by: Mathias Ponnwitz <devuser@dockge-dev.fritz.box> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
73 lines
1.9 KiB
JSON
73 lines
1.9 KiB
JSON
{
|
|
"name": "adventurelog-frontend",
|
|
"version": "0.11.0",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"django": "cd .. && cd backend/server && python3 manage.py runserver",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"lint": "prettier --check .",
|
|
"format": "prettier --write ."
|
|
},
|
|
"devDependencies": {
|
|
"@event-calendar/core": "^3.12.0",
|
|
"@event-calendar/day-grid": "^3.12.0",
|
|
"@event-calendar/interaction": "^3.12.0",
|
|
"@event-calendar/time-grid": "^3.12.0",
|
|
"@iconify-json/mdi": "^1.2.3",
|
|
"@sveltejs/adapter-node": "^5.2.12",
|
|
"@sveltejs/adapter-vercel": "^5.7.0",
|
|
"@sveltejs/kit": "^2.49.5",
|
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
|
"@tailwindcss/typography": "^0.5.16",
|
|
"@types/node": "^22.15.2",
|
|
"@types/qrcode": "^1.5.5",
|
|
"autoprefixer": "^10.4.21",
|
|
"baseline-browser-mapping": "^2.9.9",
|
|
"daisyui": "^4.12.24",
|
|
"postcss": "^8.5.3",
|
|
"prettier": "^3.5.3",
|
|
"prettier-plugin-svelte": "^3.3.3",
|
|
"svelte": "^4.2.19",
|
|
"svelte-check": "^3.8.6",
|
|
"tailwindcss": "^3.4.17",
|
|
"tslib": "^2.8.1",
|
|
"typescript": "^5.8.3",
|
|
"unplugin-icons": "^0.19.3",
|
|
"vite": "^5.4.19"
|
|
},
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@lukulent/svelte-umami": "^0.0.3",
|
|
"dompurify": "^3.2.5",
|
|
"emoji-picker-element": "^1.26.3",
|
|
"gsap": "^3.12.7",
|
|
"luxon": "^3.6.1",
|
|
"marked": "^15.0.11",
|
|
"psl": "^1.15.0",
|
|
"qrcode": "^1.5.4",
|
|
"svelte-dnd-action": "^0.9.68",
|
|
"svelte-i18n": "^4.0.1",
|
|
"svelte-maplibre": "^0.9.14"
|
|
},
|
|
"overrides": {
|
|
"esbuild": "^0.26.0",
|
|
"devalue": "^5.6.2",
|
|
"minimatch": "^10.2.1",
|
|
"tar": "^7.5.8"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"esbuild": "^0.26.0",
|
|
"devalue": "^5.6.2",
|
|
"minimatch": "^10.2.1",
|
|
"tar": "^7.5.8",
|
|
"cookie@<0.7.0": ">=0.7.0",
|
|
"svelte@<=5.51.4": ">=5.51.5",
|
|
"@sveltejs/adapter-vercel@<6.3.2": ">=6.3.2"
|
|
}
|
|
}
|
|
}
|