When index.html was included in the precache manifest, the NavigationRoute
served a cached (stale) version for all navigation requests. This caused
newly added photos to be invisible until the new service worker activated,
because the old index.html contained an outdated photo manifest.
By removing html from globPatterns, navigation requests fall through to
the network, ensuring users always get the latest index.html.
Fixes#90
- Bumped versions for several packages including dotenv (17.3.1), es-toolkit (1.44.0), eslint (10.0.0), prettier (3.8.1), and others.
- Updated React and related packages to version 19.2.4.
- Adjusted motion package to version 12.34.0 across multiple applications.
- Enhanced compatibility by updating @types/node to 25.2.3 and other related packages.
Signed-off-by: Innei <tukon479@gmail.com>
- Commented out the ReactCompilerConfig object and its usage in the babel plugin configuration for the React plugin in Vite.
- This change simplifies the configuration and prepares for potential future adjustments.
Signed-off-by: Innei <tukon479@gmail.com>
- Renamed and reordered plugins for clarity, separating route generation from static web build plugins.
- Integrated route generation plugins into the Vite configuration to streamline the build process.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the vite-plugin-route-builder dependency in package.json files for both the web and dashboard applications.
- Modified the pnpm-lock.yaml to reflect the new version.
- Updated the router configuration to utilize generated routes from the new version.
- Added a new layout component for the main page in the web application.
- Adjusted import statements and added a new entry to .gitignore for generated routes.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the artifact path from './packages/docs/dist' to './apps/docs/dist' to reflect the correct directory structure for documentation deployment.
Signed-off-by: Innei <tukon479@gmail.com>
feat: Enhance PhotoAssetService with findPhotosByIds method for batch retrieval of photo manifests
refactor: Move PhotoAsset types to a dedicated file for better organization
feat: Introduce StaticAssetController and StaticShareController for handling static asset requests
feat: Create StaticShareService to manage share page functionality and dynamic data injection
refactor: Consolidate static web controller logic into StaticBaseController for code reuse
fix: Update module imports to reflect new directory structure for AppStateModule
chore: Update pnpm lockfile to include new dependencies
Signed-off-by: Innei <tukon479@gmail.com>
- Added site configuration injection to the document for dynamic site settings.
- Updated photo navigation links to include the correct path structure.
- Introduced a new page for displaying individual photos with enhanced viewer functionality.
- Refactored various components to utilize the new site configuration and improve code organization.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced the existing GNU AGPL v3 license with the new Attribution Network License (ANL) v1.0 in the LICENSE file.
- Updated package.json files to reflect the new license.
- Modified README.md to reference the new license.
- Adjusted various package.json files to remove outdated license entries.
- Added new dependencies and updated existing ones in pnpm-lock.yaml.
- Refactored onboarding components and improved UI consistency across the dashboard.
- Introduced new hooks and components for better onboarding experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded various dependencies across the project, including dotenv, eslint, prettier, and typescript.
- Updated package versions in package.json and pnpm-lock.yaml for better compatibility and performance.
- Adjusted tailwindcss and related plugins to the latest versions.
- Enhanced the S3 client configuration in the builder package.
- Fixed import statements in CSS files to use @import instead of @plugin for tailwindcss-safe-area.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the development server port from 3000 to 13333 in multiple files for consistency across the application.
- Updated URLs in SSR routes and configuration files to reflect the new port.
Signed-off-by: Innei <tukon479@gmail.com>
- Added PWA support using vite-plugin-pwa, including configuration for service worker and caching strategies.
- Updated index.html to include necessary meta tags for iOS Safari PWA support.
- Changed references from site.webmanifest to manifest.webmanifest for consistency.
- Removed redundant manifest generation from the favicon script, as it is now handled by vite-plugin-pwa.
Signed-off-by: Innei <tukon479@gmail.com>
- Added Tailwind CSS plugins and configurations to improve styling across the application.
- Introduced new global styles and layout components for better structure and design consistency.
- Implemented a MasonryGallery component for responsive photo display.
- Enhanced photo item rendering with EXIF data and improved loading states.
- Updated package dependencies to include new Tailwind CSS utilities and components.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced multiple Vite plugins including `ogImagePlugin`, `feedSitemapPlugin`, `localesJsonPlugin`, and `manifestInjectPlugin` to enhance the build process and support dynamic content generation.
- Implemented a custom hot module replacement (HMR) for JSON localization files to improve development experience.
- Added a new `createDependencyChunksPlugin` for better chunk management in the build process.
- Established a structure for handling localization files and generating corresponding assets, improving internationalization support.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored the database connection logic to utilize `neondatabase`, ensuring correct imports and type safety.
- Implemented atomic upsert operations in the views API, allowing for efficient insertion and updating of records using PostgreSQL's `ON CONFLICT` clause.
- Added new dependencies `ast-kit` and `unplugin-ast` for improved AST manipulation in the project.
- Enhanced the UI components with toast notifications for user feedback on reactions and improved styling with Tailwind CSS.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a Vite plugin to inject the photos manifest into the HTML, enabling dynamic updates and hot reloading.
- Updated ESLint configuration to ignore build errors during SSR.
- Modified package.json scripts for concurrent development of SSR and web applications.
- Adjusted paths and imports for better module resolution and consistency across the codebase.
- Added type definitions for the global __MANIFEST__ variable to ensure type safety.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the SSR routing to conditionally load development and production handlers based on the NODE_ENV variable.
- Introduced a new dev.ts file to handle requests in development mode, including asset proxying and HTML response generation.
- Removed the not-found.tsx file and streamlined the photoId route logic for better maintainability.
- Added support for Open Graph and Twitter meta tags in the production handler for improved SEO.
- Updated README with new S3 endpoint configuration.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new plugin for transforming JSON files in the locales directory, enhancing internationalization support.
- Updated the Vite configuration to include the new localesJsonPlugin, streamlining the handling of localization files.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new Vite plugin for generating RSS feeds and sitemaps based on photo data.
- Updated the example configuration file to reflect the new site URL format.
Signed-off-by: Innei <tukon479@gmail.com>
- Added i18next and react-i18next for multi-language support in the application.
- Created localization files for English, Japanese, Korean, Traditional Chinese, and Simplified Chinese.
- Implemented translation hooks in various components to replace hardcoded strings with translatable keys.
- Updated ESLint configuration to include new i18n JSON validation rules.
- Introduced a new event bus for handling i18n updates during development.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new site.config.ts file to manage site configuration, merging default settings with user-defined options.
- Updated import paths in tsconfig.json files for both SSR and web applications to reference the new site.config.ts.
- Modified usage of siteConfig in route.tsx and ActionGroup.tsx to ensure compatibility with the new configuration structure.
- Removed the old site configuration export from config/site.config.ts.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored the HTML template in `index.html` to use EJS-style placeholders for dynamic title and description.
- Added `vite-plugin-html` to the project for improved HTML handling and dynamic content injection during the build process.
- Updated `vite.config.ts` to configure the HTML plugin for minification and data injection.
- Adjusted `package.json` to include the new `vite-plugin-html` dependency.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated index.html to use placeholders for title and description.
- Enhanced vite.config.ts to transform HTML and replace placeholders with site configuration values.
Signed-off-by: Innei <tukon479@gmail.com>