- Removed the 'domain' tab from the SETTINGS_TABS array in SettingsNavigation.tsx for cleaner navigation.
- Commented out the usage of <SettingsNavigation active="domain" /> in the domain settings page to prevent rendering issues.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded pnpm to version 10.24.0 across multiple applications.
- Updated various package dependencies including:
- `@shikijs/rehype` to version 3.19.0
- `shiki` to version 3.19.0
- `tsx` to version 4.21.0
- `typescript-eslint` to version 8.48.1
- `maplibre-gl` to version 5.14.0
- `@hono/node-server` to version 1.19.6
- `jotai` to version 2.15.2
- `motion` to version 12.23.25
- Ensured consistency in package versions across applications.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed excessive logging statements related to request parameters, state decoding, tenant resolution, and redirection in the OAuth callback logic.
- Streamlined the code for improved readability while maintaining essential error handling and functionality.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a check to ensure AUTH_GATEWAY_STATE_SECRET or CONFIG_ENCRYPTION_KEY is provided, throwing an error if neither is set.
- Updated the configuration parsing to use a resolved state secret variable for clarity and consistency.
Signed-off-by: Innei <tukon479@gmail.com>
- Added detailed logging for OAuth callback processing, including request parameters and state decoding results.
- Implemented error logging for missing provider parameters and invalid state scenarios.
- Improved tenant slug resolution and target host logging to aid in debugging and monitoring.
Signed-off-by: Innei <tukon479@gmail.com>
- Eliminated the explicitHost parameter from the TargetResolutionInput interface and related functions.
- Updated the OAuth callback processing to streamline target host resolution, relying solely on tenant slug.
- Adjusted the GatewayStatePayload to remove targetHost, enhancing clarity in state management.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the ALLOW_CUSTOM_HOST configuration option from the gateway settings.
- Simplified tenant slug and explicit host handling in the OAuth callback logic, prioritizing state-derived values.
- Updated target host resolution to eliminate dependency on the allowCustomHost setting.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a signOut method to the auth API for handling user sign-out requests.
- Integrated sign-out functionality in the UserMenuButton component, updating session state and invalidating queries upon successful sign-out.
Signed-off-by: Innei <tukon479@gmail.com>
- Renamed variable for clarity and added sanitization for tenant slug derived from state.
- Updated target host resolution to prioritize tenant slug from state if not explicitly provided.
Signed-off-by: Innei <tukon479@gmail.com>
- Included @afilmory/utils as a workspace dependency in the oauth-gateway package.json.
- Updated pnpm-lock.yaml to reflect the addition of @afilmory/utils with the appropriate workspace link.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced encoding and decoding of OAuth state to include tenant metadata, allowing the gateway to route callbacks without hard-coded tenant slugs.
- Updated the AuthController to handle social account linking and sign-in with compatibility for legacy paths.
- Refactored redirect URI construction to simplify tenant slug handling.
- Enhanced documentation to reflect changes in the OAuth flow and state management.
Signed-off-by: Innei <tukon479@gmail.com>
- Eliminated the RSS field from social settings in configuration files and UI schemas.
- Updated related documentation and localization files to reflect the removal of RSS support.
- Adjusted components to ensure compatibility with the updated social configuration.
Signed-off-by: Innei <tukon479@gmail.com>
- Added support for virtualized rendering in ListView using @tanstack/react-virtual for improved performance with large photo sets.
- Integrated new hooks for mobile responsiveness and context management in ListView and PhotoCard components.
- Updated PageHeader and ViewModeSegment for better layout consistency and user experience.
- Increased upload limits in backend configuration to accommodate larger files and requests.
Signed-off-by: Innei <tukon479@gmail.com>
- Added animation effects to the PageHeaderCenter component using AnimatePresence and motion for a smoother user experience.
- Updated the Input component to support input composition handling, improving text input behavior during composition events.
- Adjusted styling in AutoSelect component for better layout consistency.
Signed-off-by: Innei <tukon479@gmail.com>
- Added ListView and MasonryView components for displaying photos in different layouts.
- Introduced a new GalleryViewMode type to manage view settings.
- Updated PhotosRoot to conditionally render ListView or MasonryView based on the selected view mode.
- Created a PageHeader component with a ViewModeSegment for toggling between view modes.
- Removed the deprecated MasonryRoot component and adjusted imports accordingly.
Signed-off-by: Innei <tukon479@gmail.com>
- Added imports for new database entities including authAccounts, billingUsageEvents, comments, and tenantDomains.
- Implemented deletion operations for comments and commentReactions in the DataManagementService to improve tenant data management.
Signed-off-by: Innei <tukon479@gmail.com>
- Implemented a new method to inject favicon links into the document head, ensuring proper favicon support for the static web service.
- Updated existing methods to call this new functionality, enhancing the overall user experience with appropriate icons.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded various dependencies including es-toolkit, lint-staged, vite, and zod to their latest versions.
- Updated tailwind-variants and tailwindcss-safe-area to newer versions.
- Adjusted types for React and other related packages to ensure compatibility.
- Removed obsolete patch for @creem_io/better-auth.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new endpoint to render a homepage Open Graph image with site statistics and featured photos.
- Introduced a new template for the homepage Open Graph image, including site name, description, author avatar, and featured photos.
- Updated the Open Graph service to handle rendering of the new homepage image.
- Implemented emoji loading functionality for enhanced visual representation in Open Graph images.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a GitHub link in the footer for easy access to the project repository.
- Simplified the NocturneButton component by removing unnecessary elements and adjusting styles for improved layout.
- Updated localization files to include the new GitHub string in both English and Chinese.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated documentation to include Aliyun OSS and Tencent COS as storage options.
- Introduced configuration examples for both providers in the storage providers documentation.
- Enhanced the storage provider registration to accommodate new providers.
- Updated the storage configuration interfaces to support OSS and COS.
- Modified the S3 client and provider implementations to handle requests for OSS and COS.
- Added environment variable configurations for OSS and COS.
- Implemented necessary changes in the UI schema and routes to reflect the new providers.
- Updated localization files for new storage provider types.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the TenantModule import from the FeaturedGalleriesModule, streamlining the module structure.
- Refactored the FeaturedGalleriesService to eliminate the TenantService dependency, enhancing service independence.
- Updated the logic in listFeaturedGalleries to calculate quality scores for tenants directly from the database, improving performance and clarity.
Signed-off-by: Innei <tukon479@gmail.com>
- Added photo count and tags display to the GalleryShowcase component, improving the information presented to users.
- Updated the FeaturedGalleriesService to fetch photo counts and popular tags for each tenant, ensuring accurate data representation.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new Gallery Showcase component to display featured galleries on the landing page.
- Updated localization files to include new strings for the Gallery Showcase.
- Enhanced the landing page by integrating the Gallery Showcase component alongside existing elements.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed unnecessary parameters from the domain verification instructions in the CustomDomainCard component.
- Simplified the hostname normalization function by eliminating checks for server-side rendering.
- Updated localization strings to remove references to TXT token requirements for domain binding, streamlining the user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Enhanced AGENTS.md to provide a more detailed description of the dashboard's design aesthetic, emphasizing a linear, data-first approach.
- Updated UI design guidelines in the dashboard to reflect a clearer description of the design principles, focusing on simplicity and clarity.
- Improved domain verification instructions in the CustomDomainCard and DomainListItem components, ensuring better user guidance for DNS setup.
- Added new localization keys for improved clarity in domain verification steps and UI elements.
Signed-off-by: Innei <tukon479@gmail.com>
- Added new documentation sections for SaaS architecture, deployment, and CMS functionality, detailing multi-tenant capabilities and live updates.
- Removed the outdated "Advanced SaaS Deployment" documentation in favor of a more streamlined approach.
- Introduced a health check module with endpoints to monitor the status of the database and Redis services, improving system reliability.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored StaticAssetService to remove unnecessary request options, simplifying the handleRequest method.
- Introduced resolveRequestHost method to streamline host resolution logic.
- Updated StaticBaseController and StaticShareController to align with the new request handling approach.
- Added I18nProvider to tenant missing and restricted entry points for improved localization support.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced new helper functions for string and date normalization, enhancing input validation across various services.
- Updated SiteSettingService and SystemSettingService to utilize the new normalization functions for improved data handling.
- Refactored existing code to replace custom normalization logic with the new helper methods, ensuring consistency and reducing redundancy.
- Enhanced localization files to support new error messages related to normalization.
Signed-off-by: Innei <tukon479@gmail.com>
- Added new UI schema for managing storage plans, including catalog, pricing, and product configurations.
- Introduced StoragePlanService to handle storage plan operations and integrate with existing billing services.
- Updated SuperAdmin settings to include managed storage provider configurations.
- Enhanced localization files with new keys for storage plan management.
- Implemented API endpoints for fetching and updating storage plans.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new endpoint in SuperAdminTenantController to fetch tenant photos.
- Introduced TenantDetailModal for displaying tenant details and associated photos.
- Created TenantUsageCell component to visualize tenant usage metrics.
- Updated localization files to include new keys for tenant photo management.
- Enhanced SuperAdminTenantManager to support modal interactions for tenant details.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new TenantDomainRepository and TenantDomainService to handle domain-related operations.
- Added endpoints in TenantController for listing, requesting, verifying, and deleting custom domains.
- Implemented domain verification logic with CNAME and TXT record support.
- Enhanced UI components for domain management, including CustomDomainCard and DomainListItem.
- Updated localization files to include new keys for domain management features.
Signed-off-by: Innei <tukon479@gmail.com>
- Added support for new storage providers including Backblaze B2 and GitHub.
- Introduced a new UI schema for storage provider configuration, allowing for better user experience.
- Updated localization files to include new keys for storage provider fields and usage metrics.
- Refactored existing storage provider logic to accommodate new categories and improve overall structure.
Signed-off-by: Innei <tukon479@gmail.com>
- Deleted SimpleCorsInterceptor, associated decorator, and helper functions to streamline CORS handling.
- Updated CorsMiddleware to use a simplified CORS configuration.
- Refactored StaticAssetController and StaticAssetService to remove references to the removed CORS functionality.
Signed-off-by: Innei <tukon479@gmail.com>
- Added SimpleCorsInterceptor to manage CORS headers for requests.
- Introduced AllowSimpleCors decorator for easy application of CORS settings on controllers and methods.
- Created helper function to apply CORS headers consistently across responses.
- Updated TenantController to utilize the new CORS functionality.
- Added COMMON_FORBIDDEN error code to improve error handling.
Signed-off-by: Innei <tukon479@gmail.com>
- Implemented TenantController with a new endpoint to check tenant slug availability.
- Added slug normalization and validation logic to ensure slugs meet specified criteria.
- Integrated SystemSettingService to retrieve base domain for tenant URLs.
- Updated TenantService to include a method for checking slug availability against existing records.
- Modified TenantModule to include the new TenantController and SystemSettingModule dependencies.
- Updated pnpm-lock.yaml to include new dependencies and version updates.
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>
- Introduced UI schema internationalization support by adding translation functions for English and Chinese.
- Updated various controllers and services to accept language headers for localized responses.
- Created new locale files for UI schema in English and Chinese, enhancing user experience for diverse audiences.
- Refactored UI schema generation to utilize translation keys for dynamic content rendering.
Signed-off-by: Innei <tukon479@gmail.com>
- Added StaticAssetHostService to manage static asset host resolution with caching.
- Updated StaticAssetService and StaticDashboardService to utilize the new static asset host resolver.
- Enhanced StaticWebController to pass request host information for improved asset handling.
- Refactored static asset interfaces to support new functionality.
- Integrated CORS headers and cache policies for better asset management.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated `useTranslation` from `react-i18next` across various components for localization.
- Updated navigation, settings, and photo management components to utilize translation keys for labels and descriptions.
- Refactored error messages and user prompts to support multiple languages.
- Improved user experience by ensuring all relevant text is translatable, enhancing accessibility for non-English users.
Signed-off-by: Innei <tukon479@gmail.com>
- Added i18next and react-i18next for localization support.
- Created i18n configuration in `src/i18n.ts` and set up language detection.
- Introduced `I18nProvider` to manage i18n context and resource updates.
- Added localization files for English and Chinese (Simplified) with necessary translations.
- Updated `ErrorElement` component to utilize translations for error messages.
- Enhanced dashboard documentation with i18n usage guidelines.
Signed-off-by: Innei <tukon479@gmail.com>