-
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