Commit Graph

73 Commits

Author SHA1 Message Date
Innei
74584cd230 feat(oauth-gateway): implement multi-tenant OAuth gateway service
- Added a new OAuth gateway service to handle multi-tenant authentication callbacks.
- Implemented routing logic for provider callbacks, including tenant slug validation and host resolution.
- Introduced configuration management for environment variables and service settings.
- Created Dockerfile and package.json for service deployment and dependencies.
- Added HTML response for restricted tenant access and updated static web components accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-12 16:33:24 +08:00
Innei
16d78812ee chore(landing): update landing
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-11 22:52:35 +08:00
Innei
2665778890 chore: landing init 2025-11-11 21:47:58 +08:00
Innei
bc4e21d2f8 feat(dependencies): add @iconify-json/simple-icons and update auth routes
- Added @iconify-json/simple-icons version 1.2.57 to pnpm-lock.yaml and package.json.
- Changed the sign-up endpoint from '/sign-in/email' to '/sign-up/email' in AuthController.
- Enhanced SocialAuthButtons component with improved styling and accessibility features.
- Updated login page layout and error message presentation for better user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 22:37:21 +08:00
Innei
8d0e5dfe6b feat(sdk): consolidate SDK functionality and update dependencies
- Introduced a new SDK package to replace the previous ssr-sdk, consolidating shared functionality for handling views and reactions.
- Updated package.json files across applications to reference the new @afilmory/sdk.
- Removed the old ssr-sdk package and its associated files, streamlining the codebase.
- Enhanced API routes for reactions and views to utilize the new SDK schemas and client methods.
- Updated dependencies in various packages to ensure compatibility and improved functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 21:13:02 +08:00
Innei
caf47a4a01 feat(og): implement Open Graph image generation for photos
- Added OgModule with OgController and OgService to handle Open Graph image requests.
- Integrated Satori and Resvg for rendering images based on photo metadata.
- Created OgTemplate for structuring the Open Graph image layout.
- Enhanced error handling for photo retrieval and image generation processes.
- Updated package dependencies to include @resvg/resvg-js and satori for image processing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 17:58:12 +08:00
Innei
51f586705c feat: integrate site configuration and enhance photo navigation
- 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>
2025-11-08 14:31:13 +08:00
Innei
1dcb2945ca feat: implement site settings management and onboarding enhancements
- Added site settings management with a dedicated UI for configuration.
- Introduced new onboarding steps for site branding, including site name, title, and description.
- Updated API endpoints for site settings retrieval and updates.
- Enhanced the onboarding wizard to include site settings integration.
- Refactored related components and hooks for better state management and validation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-07 23:58:14 +08:00
Innei
0c84619e88 feat(static-web): implement static web module with controller and service for asset handling
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 02:22:24 +08:00
Innei
e27b45ec49 feat(builder): upload thumbnails via storage plugin (#137)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2025-10-31 21:49:31 +08:00
Innei
ba68be802e feat: revamp dashboard photo management (#136)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 02:07:13 +08:00
Innei
33a56b629b feat: enhance storage provider management and settings
- Added functionality to manage storage providers, including adding, editing, and toggling active status.
- Introduced utility functions for normalizing and serializing storage provider configurations.
- Implemented masking of sensitive fields in storage provider settings.
- Updated the dashboard UI components to reflect the new storage provider management features.
- Added new constants and utility functions for better handling of storage provider data.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 23:49:16 +08:00
Innei
af170a43bb refactor!: builder pipe and plugin system
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 19:48:04 +08:00
Innei
a4e506f51c feat(dashboard): provider init 2025-10-27 23:05:02 +08:00
Innei
223e90d4d2 feat(dashboard): design init
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 19:49:23 +08:00
Innei
c300b5e86a feat(server): onboarding and login layout design
- 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>
2025-10-27 01:18:06 +08:00
Innei
eda640aec4 fix: lockfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-26 18:51:50 +08:00
Innei
bb3088208d feat(server): onboarding init 2025-10-26 18:37:56 +08:00
Innei
197135f530 chore: update dependencies and refactor imports
- Removed the deprecated @afilmory/components package and replaced it with @afilmory/ui and @afilmory/utils in the SSR app.
- Updated pnpm-lock.yaml to reflect the new dependencies.
- Refactored imports in PhotoItem, HistogramChart, LoadingIndicator, RawExifViewer, and MasonryPhotoItem components to use the new packages.
- Added new icons to the @afilmory/ui package.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-25 01:12:36 +08:00
Innei
d6ad6d17ab refactor: component move to monorepo (#128)
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-25 00:59:25 +08:00
Innei
74222cb555 chore: update package dependencies and configurations
- Upgraded pnpm from version 10.18.1 to 10.19.0.
- Downgraded @uswriting/exiftool from version 1.0.5 to 1.0.3 in multiple package.json files.
- Updated various packages in pnpm-lock.yaml to their latest beta versions, including rolldown and related bindings.
- Adjusted TypeScript configuration in apps/ssr to change JSX setting from "react-jsx" to "preserve".
- Modified loading animations in UI components to include a duration of 1000ms for smoother transitions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-23 23:57:00 +08:00
Innei
32af836f42 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-19 00:18:22 +08:00
Innei
791fccf244 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-08 20:21:11 +08:00
Innei
bfe1537602 chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-02 17:58:43 +08:00
Innei
793ed1ae14 chore: update package manager and dependencies across multiple packages
- Upgraded the package manager to pnpm@10.17.1 in package.json files for apps and packages.
- Updated eslint-plugin-react-refresh to version 0.4.21 in packages/docs/package.json.
- Upgraded typescript-eslint and vite to versions 8.44.1 and 7.1.7 respectively in packages/docs/package.json.
- Ensured consistency in package versions across the project.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-24 00:51:37 +08:00
Innei
6fafb5710e chore: update react version in pnpm-lock.yaml and package.json
- Updated the react dependency version to 19.1.1 in both pnpm-lock.yaml and package.json for consistency and to ensure compatibility with the latest features and fixes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-22 00:18:13 +08:00
Innei
5d7a103175 chore: update react version in package.json and pnpm-lock.yaml
- Updated the react dependency version to ^19.1.1 in both package.json and pnpm-lock.yaml for consistency and to ensure compatibility with the latest features and fixes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-21 18:29:38 +08:00
Innei
84b6c0f438 chore: update dependencies and improve configurations
- 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>
2025-09-21 17:49:49 +08:00
Innei
2191e59b46 feat(builder): enhance S3 client configuration and download handling, try fix #100
- Added network tuning options to the builder configuration, including keep-alive settings, timeouts, and retry mechanisms.
- Integrated the NodeHttpHandler for improved HTTP handling in the S3 client.
- Implemented a download concurrency limiter using a semaphore to manage concurrent downloads.
- Enhanced the getFile method to include retry logic and timeout handling for S3 file downloads, improving robustness and performance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-14 23:49:30 +08:00
MaxtuneLee
41b0d7a73d Afilmory Docs (#66) 2025-09-11 18:42:47 +08:00
Innei
1cc5c76ee7 feat(gallery): add tag filtering options and UI components
- Introduced a new tag filtering mode with options for 'union' and 'intersection'.
- Added Checkbox and Switch components for user interface interactions.
- Updated the FilterPanel to include tag filter mode selection.
- Enhanced photo filtering logic to accommodate the new tag filter mode.
- Updated localization files to include new tag filter labels.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-31 23:38:43 +08:00
Innei
f5cd5d800c chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-31 01:36:08 +08:00
ChrAlpha
5295b10ac7 fix: missing i18n/icon for camera&lens filter (#77) 2025-08-10 15:05:42 +08:00
Innei
54b8bd334c feat: add camera and lens filtering functionality
- Introduced a new FilterPanel component for selecting tags, cameras, and lenses.
- Updated gallery settings to include selected cameras and lenses.
- Enhanced photo filtering logic to support camera and lens criteria.
- Updated UI to reflect changes in filtering options and improved user experience.
- Added localization for new filter options in English.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-04 01:44:26 +08:00
ChrAlpha
7310555c1a feat: map explore page (#29)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: MaxtuneLee <max@xox.im>
Co-authored-by: Innei <tukon479@gmail.com>
2025-07-07 17:22:56 +08:00
Innei
e4fde5ae74 feat: integrate PWA support and update manifest configuration
- 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>
2025-07-01 16:02:28 +08:00
Innei
6e84a1de2e chore: remove unused dependencies from package.json and pnpm-lock.yaml
- Deleted react-masonry and react-photo-view from both package.json and pnpm-lock.yaml as they are no longer needed.
- Updated the lock file to reflect the removal of these packages, ensuring a cleaner dependency tree.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-29 23:13:24 +08:00
Innei
96400b1775 feat: support share to external via iframe
- 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>
2025-06-29 23:09:57 +08:00
Innei
27ea01fbf1 refactor: remove blurhash replace to thumbhash
- Added Thumbhash component to replace Blurhash in PhotoViewer and PhotoMasonryItem for enhanced image loading performance.
- Updated the manifest version from 'v4' to 'v5' across multiple files to reflect the new data structure.
- Introduced thumbHash generation in the image processing pipeline, ensuring compatibility with existing thumbnail logic.
- Updated package dependencies to include thumbhash version 0.1.1.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-29 15:46:46 +08:00
Innei
8000a085d0 feat: integrate react-error-boundary for improved error handling, fixed #27
- Added `react-error-boundary` dependency to enhance error management in the application.
- Wrapped `Blurhash` components in `ErrorBoundary` to gracefully handle rendering errors in the gallery and debug pages.
- Updated `pnpm-lock.yaml` and `package.json` to include the new dependency version.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-28 14:05:27 +08:00
Innei
c8fa65e9c2 feat: implement analysis API and enhance reaction handling
- Added a new analysis API endpoint to aggregate view and reaction data based on a reference key.
- Introduced DTOs for type safety in the analysis API.
- Integrated SWR for data fetching in the PhotoViewer component, improving reaction handling and user feedback.
- Replaced the previous reaction handling logic with a more efficient approach using the new analysis API.
- Updated the package.json to include the @lobehub/fluent-emoji dependency for enhanced emoji support.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-27 01:51:43 +08:00
Innei
5bd5947ec2 feat: update database connection logic and enhance upsert functionality
- 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>
2025-06-27 01:19:08 +08:00
Innei
49ac494998 feat: init api
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-27 00:43:04 +08:00
Innei
91897b6032 feat: enhance SSR and web applications with manifest injection and configuration updates
- 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>
2025-06-26 22:03:04 +08:00
Innei
c8315c29b0 refactor: update WebGL image viewer and improve loading state handling
- Enhanced the ProgressiveImage component to utilize the new LoadingState enum for better loading state management.
- Updated the WebGLImageViewerEngine to notify loading states using the LoadingState enum, improving clarity in loading messages.
- Refactored spring animations to use the Transition type for better type safety.
- Updated localization files to include new loading messages for WebGL operations in both English and Chinese.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-26 21:08:16 +08:00
MaxtuneLee
e99f5b8ae5 Refactor/image preprocess (#25)
Switch to strategy pattern to handle image convert process.
2025-06-25 22:57:01 +08:00
MaxtuneLee
b215871056 fix: image file type detect (#24) 2025-06-25 18:49:35 +08:00
Innei
2fb584e8e1 feat: add ExifTool integration and enhance EXIF data handling
- Introduced ExifTool support by adding the '@uswriting/exiftool' package to manage EXIF metadata extraction.
- Updated ExifPanel component to conditionally render raw EXIF data based on ExifTool availability.
- Enhanced localization files to include new EXIF metadata categories and descriptions for better user experience across multiple languages.
- Added a new atom to manage the loading state of ExifTool, improving state management in the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-25 01:45:26 +08:00
MaxtuneLee
3554f6fac6 Refactor/live photo viewer (#20)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
2025-06-23 19:10:55 +08:00
Innei
5fa83219e6 chore: update dotenv configuration and dependencies
- Replaced 'dotenv/config' with 'dotenv-expand/config' in env.ts and cli.ts for enhanced environment variable handling.
- Added 'dotenv-expand' as a dependency in package.json and updated pnpm-lock.yaml accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-23 02:02:24 +08:00