Commit Graph

384 Commits

Author SHA1 Message Date
Innei
5cae9431c0 refactor(config): simplify default builder configuration and enforce storage requirement
- Removed unnecessary fields from the default builder configuration, including repository and storage settings.
- Set storage to null to enforce configuration validation.
- Updated loadBuilderConfig to ensure storage configuration is provided, throwing an error if missing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-09 23:17:24 +08:00
Innei
7be611cc83 refactor(docker): update Dockerfile to use lts-alpine and streamline build process
- Changed base image for both builder and runner stages to node:lts-alpine for improved performance and reduced image size.
- Removed hardcoded NODE_VERSION argument to simplify the Dockerfile.
- Updated package installation command to use 'apk add' for consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-09 23:00:03 +08:00
Innei
017cd7635c feat(docker): add Dockerfile for core application build and production setup
- Introduced a new Dockerfile to streamline the build process for the core application.
- Configured multi-stage builds to optimize image size and separate build dependencies from production.
- Included installation of necessary packages and setup for the web and dashboard applications.
- Ensured proper copying of built assets to the production image for deployment.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-09 22:56:04 +08:00
Innei
442e1bcbf8 feat(docker): add perl installation to Dockerfile for production environment
- Updated Dockerfile to include installation of perl in the production image.
- Ensured that the environment is prepared for any necessary scripts or dependencies requiring perl.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-09 22:47:42 +08:00
Innei
e4d61ebd28 feat(auth): enhance social account management and improve authentication flow
- Added endpoints for linking and unlinking social accounts in AuthController.
- Introduced new types for social account requests and responses.
- Implemented methods to fetch and serialize social accounts.
- Updated the AuthProvider to include verification handling and cookie prefix management.
- Created new components for social connection settings in the dashboard, allowing users to manage their linked accounts.
- Added database migration for the new auth_verification table to support account verification processes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 23:47:51 +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
129682d191 feat(auth): update authentication routes and enhance super admin settings management
- Changed the sign-up endpoint to sign-in for email authentication.
- Added a new script to reset the superadmin password during development.
- Refactored super admin settings types to improve flexibility and introduced a new utility for schema form adaptation.
- Streamlined the SuperAdminSettingsForm component to utilize the new schema form adapter for better state management and change detection.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 22:19:14 +08:00
Innei
5fe57599d7 feat(errors): add new error codes for internal server errors and reserved tenant slugs
- Introduced COMMON_INTERNAL_SERVER_ERROR and TENANT_SLUG_RESERVED error codes to enhance error handling.
- Updated ERROR_CODE_DESCRIPTORS to include HTTP status and messages for the new error codes.
- Refactored various services and controllers to replace references to SuperAdminSettingService with SystemSettingService for improved consistency and clarity.
- Removed SuperAdminSettingService and its associated types, consolidating functionality into SystemSettingService.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 21:36:01 +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
d01da030e3 feat(static-web): enhance photo page handling with Open Graph metadata injection
- Updated StaticWebController to add a new endpoint for serving individual photo pages.
- Implemented decoratePhotoPageResponse method in StaticWebService to inject Open Graph tags and handle photo metadata.
- Removed unused environment variable references for static dashboard and web roots to streamline configuration.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 20:25:47 +08:00
Innei
c5883f3bdc feat(og): enhance Open Graph image generation with responsive layouts and font integration
- Updated OgService to implement responsive layout strategies based on photo aspect ratios.
- Introduced new PhotoDimensions interface for simplified dimension handling.
- Enhanced OgTemplate to support dynamic site branding and improved information hierarchy.
- Integrated custom fonts for better visual presentation in generated images.
- Added README documentation for the OG image generation module, detailing design principles and usage.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 19:35:54 +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
44f9cbb376 feat(feed): implement RSS feed generation and caching mechanism
- Introduced a new FeedModule with FeedService and FeedController for managing RSS feed generation.
- Added CacheModule to handle caching of feed data, improving performance and reducing load.
- Implemented generateRSSFeed function to create RSS XML from photo manifest data.
- Enhanced static web service to include site metadata and configuration in the generated documents.
- Refactored existing modules to integrate new feed functionalities and ensure proper dependency management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 17:05:09 +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
31edec33c8 feat(onboarding): enhance validation logic with Zod schemas for tenant and admin forms
- Introduced Zod schemas for tenant and admin validation to streamline error handling.
- Replaced manual validation logic with schema-based validation for improved readability and maintainability.
- Added specific error messages for required fields and validation rules.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 12:15:26 +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
89f2825a1b feat(auth): implement social authentication support and refactor related components
- Added social authentication buttons to the registration and login flows.
- Updated API endpoints for tenant registration and session management.
- Refactored authentication client to unify global and tenant authentication handling.
- Removed deprecated tenant authentication module and related configurations.
- Enhanced onboarding and settings UI to accommodate new social provider configurations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-07 02:16:00 +08:00
Innei
c1d585d9ac feat: add build:serve script and update build:web command for server serving, fixed #147
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:15:34 +08:00
Innei
bc4cd36233 feat: add tenant management features with error handling and UI components
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:12:01 +08:00
Innei
4633dbbd1e refactor(server): tanant auth (#148)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:10:08 +08:00
Whitewater
22f058aee3 feat(builder): enhance eagle storage plugin to read and inject image metadata (#141)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-03 12:56:58 +08:00
Whitewater
823a272974 refactor: enhance ColumnsPanel behavior (#144) 2025-11-03 12:53:52 +08:00
Innei
e49f318809 fix: remove default plugin, fixed #145
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-03 12:48:05 +08:00
Whitewater
757ebd900c fix: manifest saving on load failure and thumbnail removal (#142) 2025-11-03 12:46:44 +08:00
Whitewater
a9119b2811 fix: reorder plugin reference handling in AfilmoryBuilder class (#146) 2025-11-03 12:45:45 +08:00
Innei
f13adda795 chore: remove builder configuration file as it is no longer needed
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-03 01:59:59 +08:00
Innei
d5b20a630f feat(analytics): implement dashboard analytics components and API integration
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-02 22:32:00 +08:00
Innei
57c9642a98 refactor(storage-providers): streamline provider handling and remove unused types
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-02 20:46:33 +08:00
Innei
6cf5fd7c51 feat: add agents documentation for frontend and backend architecture
- Created AGENTS.md for the frontend detailing the glassmorphic depth design system, including design principles, color usage, component structure, and interactive elements.
- Added AGENTS.md for the backend outlining the architecture using Hono, core technologies, modular structure, and frontend integration.
- Enhanced photo asset service to handle video file uploads, including validation and processing of live photo pairs.
- Implemented a confirmation modal for photo uploads in the dashboard, allowing users to review selected files before uploading.
- Updated ESLint configuration to improve code quality and maintainability across the project.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-02 20:35:21 +08:00
Innei
71b925bd36 fix: static web proxy
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 23:14:49 +08:00
Innei
2da5204ffd feat(controller): add support for bypassing global prefix in controller metadata
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 18:31:50 +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
3d7c528c45 feat(builder): implement photo execution context for improved logging and storage key normalization
- Introduced a new `PhotoExecutionContext` to manage execution context for photo processing, enhancing logger management and storage key normalization.
- Refactored photo processing methods to utilize the new context, replacing global logger usage with context-based loggers.
- Updated related modules to ensure compatibility with the new execution context, improving modularity and reducing global state dependencies.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-31 23:36:42 +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
7dd6c1c812 feat: sync photos from active storage provider (#135)
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-30 00:21:10 +08:00
Ailuntz
298c98efbd fix: add duplicate ID detection in toc-extractor to match remark-heading (#133) 2025-10-29 10:54:59 +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
e99b211ac6 refactor: remove optional logger parameter from getFile methods across storage providers and update logging implementation
- Simplified getFile method signatures in StorageProvider and its implementations by removing the optional logger parameter.
- Updated logging calls to use a global logger instance instead of passing a logger as an argument.
- Ensured consistent logging behavior across different storage providers.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 20:03:22 +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
ad0c8830a6 chore: lint
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 13:52:09 +08:00
Innei
7670d58aaa feat: unify dashboard design 2025-10-28 13:52:01 +08:00
Innei
e2d2345b78 feat: superadmin settings
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 02:35:34 +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
addb2435c8 feat: onboarding ui adjust
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 16:56:30 +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
Whitewater
68ab78b336 fix: correct variable name in EagleStorageProvider's copyToDist method (#129) 2025-10-26 21:41:22 +08:00
Innei
a3cfeca643 chore: disable pwa
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-26 18:58:14 +08:00
Innei
eda640aec4 fix: lockfile
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-26 18:51:50 +08:00