Commit Graph

  • b53db18826 fix: add personal data policy link to consent banner master F4ilji 2026-09-18 23:59:12 +05:00
  • da7e6368f7 fix: update consent banner text F4ilji 2026-09-18 23:58:23 +05:00
  • 1efa9df9ba fix: update consent banner text on public site F4ilji 2026-09-18 23:55:50 +05:00
  • 19c0cdef5b fix: remove links from consent banner F4ilji 2026-09-18 23:52:32 +05:00
  • 5ef1049be3 feat: update consent banner with detailed cookie policy text F4ilji 2026-09-18 23:47:40 +05:00
  • cfd7c411cf fix: update git remote to self-hosted Gitea F4ilji 2026-09-18 23:35:59 +05:00
  • d6c0f48d48 feat(analytics): add site analytics with grouped navigation sections F4ilji 2026-09-18 22:18:04 +05:00
  • 8af94388ab fix: make notifications migration idempotent F4ilji 2026-09-18 02:58:52 +05:00
  • 7ff860feca feat: block destructive DB commands in production F4ilji 2026-09-18 02:54:42 +05:00
  • 4a776a42e2 fix: resolve image upload issues in posts F4ilji 2026-09-18 02:25:36 +05:00
  • 1853b087f4 chore: update seeders, add MockDataSeeder and AssignAllPermissions command F4ilji 2026-09-18 01:39:28 +05:00
  • 02455fbca7 feat(factories): add new factories and update existing ones for all models F4ilji 2026-09-18 01:39:25 +05:00
  • c7a779d9aa refactor(models): replace HasFactory with HasContainerFactory across all models F4ilji 2026-09-18 01:39:22 +05:00
  • cf18dd660a fix: add missing HasContainerFactory trait to repo F4ilji 2026-09-18 01:38:01 +05:00
  • cc08cdbc97 fix: 405 error on schedule upload/edit F4ilji 2026-09-18 01:32:34 +05:00
  • bf77cb634c fix(departments): fix contact info editing, cache invalidation, and pivot data display F4ilji 2026-09-18 01:32:27 +05:00
  • e0e80fc430 fix: hide slider on main page when no slides available F4ilji 2026-09-17 14:12:54 +05:00
  • 9023fdd7e7 fix(schedule): restore original Index.vue with SSR-safe fixes F4ilji 2026-08-31 20:31:35 +05:00
  • d6a10d46c7 fix(schedule): case-sensitive import MainPageNavbar (Linux) F4ilji 2026-08-31 20:23:36 +05:00
  • a1183f91f6 fix(schedule): merge duplicate script blocks into one F4ilji 2026-08-31 20:20:59 +05:00
  • 36c122cf65 fix(deploy): restart SSR after build to pick up new SSR bundle F4ilji 2026-08-31 20:14:55 +05:00
  • 774de4a6ab fix(deploy): explicit SSR restart after build + defensive props F4ilji 2026-08-31 20:05:39 +05:00
  • 712f172071 fix(schedule): SSR-safe props to prevent null component hydration error F4ilji 2026-08-31 19:45:12 +05:00
  • 7052b35c19 fix(seeder): remove is_zaoch column not in schedules table F4ilji 2026-08-20 11:38:36 +05:00
  • 9b0c8f8158 feat(seeder): add ScheduleMockSeeder with 40 fake records F4ilji 2026-08-20 11:34:08 +05:00
  • e6d223d15c feat(schedules): add 'select all N' across pages F4ilji 2026-08-20 11:31:04 +05:00
  • 24387d6767 feat(schedules): add bulk delete via checkboxes F4ilji 2026-08-20 11:16:53 +05:00
  • f8d55092e5 fix: add null guard in generateSlug to prevent SSR crash on null tab titles F4ilji 2026-08-03 11:52:36 +05:00
  • 63e456088d feat(dashboard): add Roles CRUD with permission-based menu filtering F4ilji 2026-08-03 10:39:15 +05:00
  • d4ef7daeb1 feat(dashboard): add page export/import functionality F4ilji 2026-08-03 10:21:14 +05:00
  • 3860c5d24c fix(permissions): remove direct user permission sync — roles only F4ilji 2026-07-16 14:09:30 +05:00
  • b7259fdd6f refactor(permissions): replace hardcoded route middleware with auto-resolving CheckDashboardPermission F4ilji 2026-07-16 12:05:15 +05:00
  • b8fd42d9f8 fix(security): add permission middleware to dashboard routes F4ilji 2026-07-16 11:57:20 +05:00
  • 4f4bed0899 fix(menu): use 'view_any_role' instead of 'view_any_shield::role' F4ilji 2026-07-16 11:35:44 +05:00
  • 9ac4f89e36 feat(jenkins): add dashboard:sync-permissions after migrations F4ilji 2026-07-11 14:22:05 +05:00
  • c6ca3258c1 feat(permissions): add dashboard:sync-permissions artisan command F4ilji 2026-07-11 14:17:11 +05:00
  • 4e2105190b fix(tests): replace RefreshDatabase with DatabaseTransactions F4ilji 2026-07-10 17:11:27 +05:00
  • c59a08b3a0 test(vikon): add live API integration tests F4ilji 2026-07-10 16:55:30 +05:00
  • 0ea2b7d9ef test(vikon): add ViconApiConfig unit tests F4ilji 2026-07-10 16:51:34 +05:00
  • 73a0a6fe9c feat(vikon): extract API URL from hardcoded to integration_credentials F4ilji 2026-07-10 16:47:18 +05:00
  • 7748b05547 feat(vikon): move API token from .env to integration_credentials F4ilji 2026-07-10 16:43:09 +05:00
  • 8db442a34a Revert "fix(ssr): add Vue lifecycle guard plugin to suppress browser API errors in SSR hooks" F4ilji 2026-07-07 11:22:32 +05:00
  • bb74bb48ba fix(ssr): add Vue lifecycle guard plugin to suppress browser API errors in SSR hooks F4ilji 2026-07-06 21:18:33 +05:00
  • 6db62d9961 fix(ssr): suppress lifecycle hook errors (nextSibling null) at process level to prevent SSR crashes F4ilji 2026-07-06 21:16:12 +05:00
  • 63b71b87df fix(ssr): always return {head,body} from createInertiaApp — .then() fallback for undefined resolve F4ilji 2026-07-06 18:59:24 +05:00
  • f575325fa7 fix(ssr): remove window polyfill that broke Inertia SSR detection (typeof window check) F4ilji 2026-07-06 18:53:06 +05:00
  • 5fddb97cbf fix(ssr): return empty string on SSR failure instead of throwing to prevent undefined response F4ilji 2026-07-06 18:30:26 +05:00
  • 778ea67cb4 fix(ssr): add addEventListener/removeEventListener to document and window polyfills F4ilji 2026-07-06 18:22:22 +05:00
  • 48ab0b384e fix(ssr): add getElementById and other DOM methods to document polyfill F4ilji 2026-07-06 18:05:35 +05:00
  • 4c0152ae0f fix(ssr): polyfill localStorage/sessionStorage, guard BasicListBadge filters prop, remove this. from template F4ilji 2026-07-06 17:57:28 +05:00
  • eda69f4e37 fix(ssr): polyfill IntersectionObserver for Node.js SSR runtime F4ilji 2026-07-06 17:53:46 +05:00
  • 520533ef1f fix(ssr): null-safe campaign access to prevent TypeError during SSR F4ilji 2026-07-06 14:11:38 +05:00
  • 3ee875a6db fix(handler): fallback to HTML when Vite manifest missing during error rendering F4ilji 2026-07-06 13:41:52 +05:00
  • 9bac98d175 fix(logging): route EmailFetchException to email channel instead of app F4ilji 2026-07-06 13:39:26 +05:00
  • 65f4220932 fix(vikon): store version in file instead of cache to prevent revert after TTL expiry F4ilji 2026-07-06 13:28:22 +05:00
  • 9f4dfd9bfc ci: optimize Jenkinsfile — parallel pre-deploy, npm ci, fix rollback composer path F4ilji 2026-07-06 12:39:40 +05:00
  • 9943f7ab90 fix error F4ilji 2026-07-06 12:35:40 +05:00
  • b454c1ce97 fix(ssr): add null-check for breadcrumbs.page in Page.vue to prevent TypeError during SSR F4ilji 2026-07-05 23:51:40 +05:00
  • 769b2ff342 feat(logging): migrate remaining files to app channel — all Log:: calls now use domain channels F4ilji 2026-07-05 23:32:01 +05:00
  • 6bc1b3e921 feat(logging): migrate Education container to education channel F4ilji 2026-07-05 23:30:30 +05:00
  • cd9b682994 feat(logging): migrate AI tasks to ai channel F4ilji 2026-07-05 23:29:39 +05:00
  • 49dd578e50 feat(logging): migrate email pipeline to email channel F4ilji 2026-07-05 23:28:23 +05:00
  • 41b00fcdae feat(logging): migrate VK API jobs and services to vk channel F4ilji 2026-07-05 23:26:41 +05:00
  • 720aa4d0ae feat(logging): migrate VikonIntegration to vikon channel F4ilji 2026-07-05 23:13:51 +05:00
  • dfe8de0680 feat(logging): add 6 domain-specific daily channels to config F4ilji 2026-07-05 23:11:27 +05:00
  • e3eda2adbc fix(vikon): revert to api_domain for authorize URL, use vikon_core redirect_uri F4ilji 2026-07-05 22:39:21 +05:00
  • fd7de347d4 fix: null-safe role check, enable SQLite test DB, improve TinyMCE paste handling F4ilji 2026-07-05 22:34:04 +05:00
  • bec37c0e22 fix(vikon): use auth_domain for OAuth authorize URL instead of api_domain F4ilji 2026-07-05 22:31:51 +05:00
  • a372f725cd fix(ssr): embed Ziggy routes as fallback for SSR context F4ilji 2026-07-05 21:56:51 +05:00
  • 09771bf8ad fix(ssr): remove conflicting RouteMixin that caused 'Cannot read properties of undefined (reading index)' F4ilji 2026-07-05 21:47:03 +05:00
  • a80a60bdbe feat(vikon): redesign UI with update all button, specialized icons, and manual ZIP upload F4ilji 2026-07-05 18:00:49 +05:00
  • a32572f5e8 fix(vikon): remove env override for version, use hardcoded default F4ilji 2026-07-05 17:44:45 +05:00
  • eb142b2513 refactor(vikon): use Redis cache for version instead of file F4ilji 2026-07-05 15:11:17 +05:00
  • ad8a4d861b fix(vikon): read version from file and update after core update F4ilji 2026-07-05 15:06:14 +05:00
  • b0ff3bf397 feat(vikon): cleanup _old/_new artifacts after successful sync F4ilji 2026-07-05 13:58:00 +05:00
  • 416403b6ce debug(vikon): add detailed logging for ZIP size and FM sync stats F4ilji 2026-07-05 13:33:13 +05:00
  • b9ff255878 fix(vikon): use cURL streaming for ZIP downloads to avoid memory/timeout issues F4ilji 2026-07-05 13:26:10 +05:00
  • a18765aafa feat(vikon): merge update buttons into single flow with all parts selected by default F4ilji 2026-07-05 13:10:49 +05:00
  • af86841ebc feat(vikon): improve part update UI with per-part status indicators and Russian messages F4ilji 2026-07-05 12:53:44 +05:00
  • 08c04c5615 feat(vikon): show disabled modules with warning instead of hiding them F4ilji 2026-07-05 12:34:44 +05:00
  • efce5be699 fix(vikon): use moduleData['id'] instead of array key, handle additional_access_flags F4ilji 2026-07-05 12:25:15 +05:00
  • 97c4ab99f1 debug(vikon): log raw API response structure for parts mapping F4ilji 2026-07-05 12:19:14 +05:00
  • a162154f70 fix(vikon): cast API module IDs to int for Vue compatibility F4ilji 2026-07-05 12:12:04 +05:00
  • 0a5f99e6ae refactor(vikon): remove hardcoded module IDs and use config everywhere F4ilji 2026-07-05 11:40:02 +05:00
  • 8cf195efb0 refactor(vikon): fetch parts from VIKON API instead of hardcoded config F4ilji 2026-07-05 11:32:54 +05:00
  • 9a9521c570 fix(vikon): initialize selectedParts arrays to prevent crash on checkbox click F4ilji 2026-07-05 11:11:24 +05:00
  • af1fb094d2 fix(vikon): check HTTP status instead of JSON field for part generation check F4ilji 2026-07-05 10:55:37 +05:00
  • 3d9982e5be fix(vikon): handle numeric status codes from VIKON API (1=completed, -1=failed) F4ilji 2026-07-05 10:46:02 +05:00
  • 2bf2f4a861 fix(vikon): send POST data as form-urlencoded to match VIKON API expectations F4ilji 2026-07-05 10:31:40 +05:00
  • e83cd0109d fix(vikon): correct VIKON API endpoint names for part updates F4ilji 2026-07-05 10:21:27 +05:00
  • d83364432e feat(vikon): replace part select with checkboxes for multi-selection F4ilji 2026-07-05 09:55:45 +05:00
  • 11b2def517 test(vikon): add validateFileTypes mock to UpdatePartActionTest F4ilji 2026-07-05 03:02:03 +05:00
  • e8e36156e9 fix(vikon): add file type validation and temp cleanup in UpdatePartAction F4ilji 2026-07-05 03:01:12 +05:00
  • 059705d60d test(vikon): add feature tests for part update endpoint F4ilji 2026-07-05 02:58:32 +05:00
  • 1d423adc12 feat(vikon): add part selection UI to Vue dashboard F4ilji 2026-07-05 02:52:50 +05:00
  • b259809960 feat(vikon): add updatePart endpoint with request validation F4ilji 2026-07-05 02:50:41 +05:00
  • 15f72b4de1 feat(vikon): add restoreAfterFail for crash recovery in FilesystemTask F4ilji 2026-07-05 02:47:40 +05:00
  • da90011ad3 feat(vikon): add UpdatePartAction for partial module updates F4ilji 2026-07-05 02:45:47 +05:00
  • 514123a19f feat(vikon): add parts config for partial updates F4ilji 2026-07-05 02:42:51 +05:00
  • 4764d4e2d9 feat(vikon): add PollPartStatusTask for part update polling F4ilji 2026-07-05 02:41:23 +05:00