Commit Graph

63 Commits

Author SHA1 Message Date
a8cd6fc252 ci: build admin on Finland, run on Iran, notify from Finland [skip ci]
Align with ops topology: act_runner/Telegram on Finland, runtime on Iran.
2026-09-13 18:34:21 +03:30
27863718ff fix: strip inline comments from extracted Telegram env [skip ci] 2026-09-13 18:31:29 +03:30
ac8bb3bae1 fix: send admin deploy Telegram alerts from Actions runner [skip ci]
Iran VPS cannot reach api.telegram.org, and sourcing backend .env broke
on BOOKING_EXPIRY_CRON globs. Extract TELEGRAM_* safely over SSH and
notify from the foreign act_runner instead.
2026-09-13 18:31:13 +03:30
a7a8052ec3 fix
All checks were successful
Deploy admin to VPS / Rsync and deploy admin (push) Successful in 43m44s
2026-09-13 17:08:56 +03:30
91b450aa1a ci: install rsync/openssh in Gitea deploy job
Some checks failed
Deploy admin to VPS / Rsync and deploy admin (push) Has been cancelled
act_runner containers lack rsync, which caused the first VPS-build
deploy workflow to fail before syncing sources.
2026-09-13 16:28:22 +03:30
45db367588 ci: deploy admin by building on the VPS
Some checks failed
Deploy admin to VPS / Rsync and deploy admin (push) Failing after 10s
act_runner job images have no Docker daemon, so rsync sources and build
with scripts/deploy-on-vps.sh on the target host instead of GHCR/buildx.
2026-09-13 15:42:58 +03:30
ba1cf3efe2 ci: simplify Gitea admin deploy for act_runner
Some checks failed
Deploy admin to VPS / Build, push, and deploy admin (push) Has been cancelled
Single-job build/push/deploy plus nginx site install so self-hosted
runners do not stall on multi-job graphs.
2026-09-13 15:39:29 +03:30
a307400f83 ci: migrate Actions from GitHub to Gitea registry [skip ci]
Move workflows under .gitea/workflows and publish images to
git.ghabilee.ir instead of ghcr.io so deploy runs on self-hosted Gitea.
2026-09-13 14:49:37 +03:30
edd468cf1d test: enhance test configurations and cleanup procedures
Updated the Vitest configuration to increase test and hook timeouts to 20 seconds, addressing flaky tests under pre-push load. Additionally, improved test cleanup procedures across multiple test files by ensuring mocks are cleared after each test, enhancing test reliability and maintainability.
2026-09-13 13:42:22 +03:30
3f072976fe test(axios): refactor axios functional tests for improved clarity
Refactored the axios functional tests by removing unnecessary asynchronous imports and simplifying the setup in the `beforeEach` hook. This change enhances the readability and maintainability of the test code, ensuring it aligns with the project's coding standards.
2026-09-13 13:31:19 +03:30
c0428bb65d refactor(UserEditModal): format alert message for better readability
Updated the alert message in the UserEditModal component to improve code readability by formatting the function call across multiple lines. This change enhances maintainability and aligns with the project's coding standards.
2026-09-13 13:09:10 +03:30
3b86c2c72f feat(api): add notifications endpoints for user notifications
Introduced new API endpoints for managing in-app notifications. The `/api/v1/notifications/me` endpoint retrieves a paginated list of notifications for the authenticated user, while the `/api/v1/notifications/me/unread-count` endpoint returns the count of unread notifications. Enhanced the OpenAPI documentation to reflect these changes, including detailed parameter descriptions and response schemas for better clarity and usability.
2026-09-13 13:04:02 +03:30
26feb8f2f1 chore(version): bump version to 0.1.17
Updated the project version in package.json from 0.1.16 to 0.1.17 to reflect the latest changes and improvements.
2026-09-13 12:54:43 +03:30
96603d31f7 feat(alert-modal): integrate alert modal for confirmation actions
Enhanced various components to utilize the alert modal for user confirmations before executing critical actions. This includes marking messages as read, saving notification rules, restoring reviews, sending replies, changing ticket statuses, and managing event commissions. The integration improves user experience by ensuring actions are intentional and provides clear feedback on the outcomes.
2026-09-13 10:14:18 +03:30
0a68104e85 chore(openapi): format tags in API documentation for consistency
Updated the OpenAPI specification to format the 'tags' property as an array on multiple endpoints, ensuring consistent styling across the documentation. Additionally, simplified JSX return statements in the BookingsPage and AdminEventBookingsTab components for improved readability.
2026-09-11 23:00:12 +03:30
32b06db81c fix 2026-09-11 22:56:47 +03:30
3a08625cbe feat(bookings): add cancellation reason column to bookings table
Enhanced the bookings page and admin event bookings tab by adding a new column for 'cancellationReason'. This column displays the reason for cancellations when applicable, improving the visibility of booking statuses. Additionally, removed the 'غایب' (no-show) insight stat from the event overview tab for a cleaner presentation of event insights.
2026-09-11 22:56:04 +03:30
9435173971 chore(openapi): sync previous-attendees summary with confirmed guests 2026-09-11 21:55:34 +03:30
9254a8b487 feat(support-tickets): add close action and turn-based reply guidance
Let admins close tickets with confirmation and surface closedBy so consumer reopen rules stay clear.
2026-09-11 21:31:16 +03:30
4c5f4d5983 chore(version): bump version to 0.1.15
Updated the project version in package.json from 0.1.14 to 0.1.15 to reflect the latest changes and improvements.
2026-09-11 18:15:14 +03:30
116d1be258 fix(events): show proposed FAQs on pending revision review
Surface revision-payload FAQs on the pending card so admins can review
another host's FAQ changes alongside title/slug.
2026-09-11 18:03:08 +03:30
ffa2e2b904 fix 2026-09-11 15:55:49 +03:30
9552ae4c4c fix(settlements): adjust padding in completed status section and global styles
Updated the padding in the completed status section of the Settlements page for better spacing. Additionally, streamlined the consumer booking action bar styles by removing redundant padding properties.
2026-09-11 15:54:53 +03:30
2da1c5e80f fix(events): align admin capacity API with direct live edits
Support optional capacity on the reserved-capacity patch and stop showing
proposed capacity on pending revision cards.
2026-09-11 15:52:29 +03:30
5f2b83c9f9 chore(version): bump version to 0.1.12
Updated the project version in package.json from 0.1.11 to 0.1.12 to reflect the latest changes and improvements.
2026-09-10 20:27:13 +03:30
64e2c11076 feat(axios): implement token synchronization across tabs for access token refresh
Added functionality to synchronize access token refresh across multiple tabs using the `navigator.locks` API. This prevents race conditions when refreshing tokens, ensuring that a newer token published by another tab is reused instead of rotating the refresh token unnecessarily. Introduced a new method `refreshAccessTokenAcrossTabs` and updated the `getOrRefreshAccessToken` function to utilize this new method. Enhanced error handling for 401 responses to retry with the latest stored token when applicable.
2026-09-10 20:26:20 +03:30
661953f7ca chore(version): bump version to 0.1.11
Updated the project version in package.json from 0.1.10 to 0.1.11 to reflect the latest changes and improvements.
2026-09-10 13:27:57 +03:30
d95bef9e44 chore(deps): remove unused oxc-parser bindings from pnpm-lock.yaml
Cleaned up the pnpm-lock.yaml file by removing outdated and unused bindings for '@oxc-parser' packages, streamlining the dependency management and reducing potential bloat in the project.
2026-09-10 13:27:35 +03:30
74a1716e11 feat(openapi): add readStatus filter to API query parameters
Introduced a new optional query parameter `filters[readStatus]` in the openapi.json file to allow filtering by read state (read or unread). This enhancement improves the API's flexibility in managing notification states.
2026-09-10 13:08:18 +03:30
09debac84f feat(lint): integrate Oxlint for enhanced linting capabilities
Added a new configuration file `.oxlintrc.json` to incorporate Oxlint into the project, allowing for improved linting of TypeScript and React code. Updated the linting scripts in `package.json` to run Oxlint alongside ESLint, ensuring a comprehensive linting process. This change enhances code quality and consistency across the codebase.
2026-09-10 12:54:10 +03:30
1da7df0786 fix(openapi): format tags in openapi.json for consistency
Updated the formatting of tags in the openapi.json file to use array notation consistently across all endpoints. This change improves readability and maintains a uniform structure in the API documentation.
2026-09-09 18:53:08 +03:30
2580f04f06 fix 2026-09-09 11:45:12 +03:30
1612e3575d feat(events): add admin UI to create events for verified hosts
Wire manage-events/new with host picker and create flow against the new
admin create API, including entry points from the events list and user detail.
2026-09-09 11:22:00 +03:30
aff6eeace6 feat(api): add new endpoints for notifications and event FAQs
- Introduced a new PATCH endpoint `/api/v1/notifications/me/read-all` to mark all unread notifications as read for the authenticated user.
- Added a new GET endpoint `/api/v1/events/{eventId}/faqs/page` for retrieving paginated FAQs related to a specific event, with support for pagination, sorting, and filtering.
- Updated the existing GET endpoint `/api/v1/events/{eventId}/guest-list-links/invited-guests/page` to include pagination parameters.
2026-09-08 18:54:09 +03:30
5205ad6d16 fix 2026-09-08 18:51:43 +03:30
8d2e19ac7d fix(deploy): reject loopback API_PROXY_TARGET in production builds
Prevents baking self-proxy /api and /chat rewrites that pin a CPU core inside Docker.
2026-09-08 14:06:20 +03:30
5404974c32 refactor(TextEditor, Dropdown, UserDropdown): improve dropdown trigger implementation and styling
- Updated `TextEditor` component to use consistent class names for dropdown triggers, enhancing maintainability.
- Refactored `Dropdown` component to resolve trigger properties more reliably, ensuring proper rendering of button-like triggers.
- Modified `UserDropdown` to utilize `buttonVariants` for styling the dropdown trigger, improving visual consistency across components.
2026-09-08 11:51:36 +03:30
8967a48f94 fix 2026-09-07 21:51:09 +03:30
c2bc256103 fix(chat): use Engine.IO path /chat for admin oversight socket
Match consumer/backend so oversight realtime uses wss://host/chat instead
of the default /socket.io path.
2026-09-07 21:49:25 +03:30
3517a1c86c fix(auth): adjust layout width for better responsiveness
- Updated the layout width in `AuthLayout` to a fixed width of 400px for improved consistency and user experience.
2026-09-07 21:24:22 +03:30
525fcbfaa5 chore: bump version to 0.1.6 2026-09-07 21:14:31 +03:30
82148b4ed0 fix(events): update waitlist auto offer label for clarity 2026-09-07 20:51:32 +03:30
25c34c8a6f chore: remove unused constants and service utility
- Deleted `discovery.ts` for unused constants related to discovery page limits and sorting.
- Removed `unwrapService.ts`, a utility function for handling service results, as it is no longer needed.
2026-09-07 20:09:22 +03:30
9f0a3bfc86 fix 2026-09-07 18:57:57 +03:30
8b6791b3a2 chore: bump version to 0.1.5 2026-09-07 18:17:22 +03:30
82593dc18c refactor(events): update event management components and remove unused files
- Replaced `LIST_PUBLIC_CATEGORIES` with `LIST_ADMIN_CATEGORIES_FLAT` in `ArticleFormModal.tsx`.
- Removed the "Add Event" button from the dashboard page.
- Simplified the `EventsPage` by removing the button and adjusting the layout.
- Cleaned up the `AdminEventEditPage` by removing unnecessary props.
- Deleted unused layout and page files related to event creation.
- Updated `AdminAuthContent` to use `useAdminCitiesQuery` instead of `useDiscoveryCitiesQuery`.
- Refactored `EventGuestListAccessPanel` to remove the `accessMode` prop and adjust API calls accordingly.
- Removed several unused components and tests related to event creation, enhancing project maintainability.
2026-09-07 18:09:55 +03:30
Ali Sagheb Zabihi
99685e058d
Merge pull request #1 from Ali-SaZa/chore/sync-openapi
chore: sync OpenAPI from backend
2026-09-07 15:20:15 +03:30
Ali-SaZa
091078c959 chore: sync OpenAPI from ghabilee-backend 2026-09-07 11:42:00 +00:00
98e6482c0c feat(events): manage tiered cancellation policies 2026-09-07 14:37:58 +03:30
0421b4f6ee fix 2026-09-07 14:30:56 +03:30