gitextract_qzg9plm7/ ├── .github/ │ └── workflows/ │ ├── docker-build.yml │ └── tests.yml ├── .gitignore ├── CLAUDE.md ├── CONTRIBUTING.md ├── LICENSE.md ├── LICENSE_PRO.md ├── README.md ├── app/ │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ └── src/ │ │ │ ├── debug/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin/ │ │ │ │ │ └── com/ │ │ │ │ │ └── magweter/ │ │ │ │ │ └── spacepad/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-v21/ │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── values/ │ │ │ │ │ └── styles.xml │ │ │ │ └── values-night/ │ │ │ │ └── styles.xml │ │ │ └── profile/ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ └── settings.gradle.kts │ ├── ios/ │ │ ├── .gitignore │ │ ├── Flutter/ │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Podfile │ │ ├── Runner/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ ├── Contents.json │ │ │ │ └── README.md │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ │ ├── Runner.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ └── RunnerTests/ │ │ └── RunnerTests.swift │ ├── lib/ │ │ ├── components/ │ │ │ ├── action_button.dart │ │ │ ├── action_panel.dart │ │ │ ├── admin_actions.dart │ │ │ ├── authenticated_background.dart │ │ │ ├── authenticated_image.dart │ │ │ ├── calendar_modal.dart │ │ │ ├── custom_booking_modal.dart │ │ │ ├── event_line.dart │ │ │ ├── frosted_panel.dart │ │ │ ├── solid_button.dart │ │ │ ├── spinner.dart │ │ │ └── toast.dart │ │ ├── controllers/ │ │ │ ├── dashboard_controller.dart │ │ │ ├── display_controller.dart │ │ │ └── login_controller.dart │ │ ├── date_format_helper.dart │ │ ├── exceptions/ │ │ │ └── api_exception.dart │ │ ├── main.dart │ │ ├── models/ │ │ │ ├── device_model.dart │ │ │ ├── display_data_model.dart │ │ │ ├── display_model.dart │ │ │ ├── display_settings_model.dart │ │ │ ├── event_model.dart │ │ │ ├── event_status.dart │ │ │ └── user_model.dart │ │ ├── pages/ │ │ │ ├── dashboard_page.dart │ │ │ ├── display_page.dart │ │ │ ├── login_page.dart │ │ │ └── splash_page.dart │ │ ├── services/ │ │ │ ├── api_service.dart │ │ │ ├── auth_service.dart │ │ │ ├── device_service.dart │ │ │ ├── display_service.dart │ │ │ ├── font_service.dart │ │ │ └── server_service.dart │ │ ├── theme.dart │ │ └── translations/ │ │ └── translations.dart │ ├── pubspec.yaml │ └── test/ │ └── widget_test.dart ├── backend/ │ ├── .editorconfig │ ├── .gitattributes │ ├── .gitignore │ ├── Dockerfile │ ├── FARO_SETUP.md │ ├── README.md │ ├── WORKSPACE_SETUP.md │ ├── app/ │ │ ├── Console/ │ │ │ └── Commands/ │ │ │ ├── CheckMarketingTriggers.php │ │ │ ├── CleanupExpiredEvents.php │ │ │ ├── RenewEventSubscriptions.php │ │ │ ├── SendHeartbeat.php │ │ │ ├── TriggerRegistrationWebhookForMissingNames.php │ │ │ ├── UpdateLemonSqueezySubscriptions.php │ │ │ └── ValidateLicense.php │ │ ├── Data/ │ │ │ ├── CalendarWebhookData.php │ │ │ ├── DisplayWebhookData.php │ │ │ ├── InstanceData.php │ │ │ ├── LicenseData.php │ │ │ ├── OrderWebhookData.php │ │ │ ├── PermissionResult.php │ │ │ ├── UserData.php │ │ │ └── UserWebhookData.php │ │ ├── Enums/ │ │ │ ├── AccountStatus.php │ │ │ ├── DisplayStatus.php │ │ │ ├── EventSource.php │ │ │ ├── EventStatus.php │ │ │ ├── GoogleBookingMethod.php │ │ │ ├── OAuthDriver.php │ │ │ ├── PermissionType.php │ │ │ ├── Plan.php │ │ │ ├── Provider.php │ │ │ ├── UsageType.php │ │ │ ├── UserStatus.php │ │ │ └── WorkspaceRole.php │ │ ├── Events/ │ │ │ ├── TrialExpiredOrCancelled.php │ │ │ ├── UserActivatedAfter24h.php │ │ │ ├── UserInactive.php │ │ │ ├── UserNotActivatedAfter24h.php │ │ │ ├── UserOnboarded.php │ │ │ ├── UserPassive.php │ │ │ └── UserRegistered.php │ │ ├── Exceptions/ │ │ │ └── Handler.php │ │ ├── Helpers/ │ │ │ ├── DisplaySettings.php │ │ │ └── Settings.php │ │ ├── Http/ │ │ │ ├── Controllers/ │ │ │ │ ├── API/ │ │ │ │ │ ├── ApiController.php │ │ │ │ │ ├── Auth/ │ │ │ │ │ │ └── AuthController.php │ │ │ │ │ ├── Cloud/ │ │ │ │ │ │ └── InstanceController.php │ │ │ │ │ ├── DeviceController.php │ │ │ │ │ ├── DisplayController.php │ │ │ │ │ └── EventController.php │ │ │ │ ├── AdminController.php │ │ │ │ ├── Auth/ │ │ │ │ │ ├── AuthController.php │ │ │ │ │ ├── GoogleController.php │ │ │ │ │ ├── LoginController.php │ │ │ │ │ ├── MicrosoftController.php │ │ │ │ │ ├── RegisterController.php │ │ │ │ │ └── SocialAuthController.php │ │ │ │ ├── BoardController.php │ │ │ │ ├── CalDAVAccountsController.php │ │ │ │ ├── CalendarController.php │ │ │ │ ├── Controller.php │ │ │ │ ├── DashboardController.php │ │ │ │ ├── DisplayController.php │ │ │ │ ├── DisplaySettingsController.php │ │ │ │ ├── GoogleAccountsController.php │ │ │ │ ├── GoogleWebhookController.php │ │ │ │ ├── LicenseController.php │ │ │ │ ├── OnboardingController.php │ │ │ │ ├── OutlookAccountsController.php │ │ │ │ ├── OutlookWebhookController.php │ │ │ │ ├── RoomController.php │ │ │ │ ├── UsageController.php │ │ │ │ └── WorkspaceController.php │ │ │ ├── Middleware/ │ │ │ │ ├── CheckUserActive.php │ │ │ │ ├── CheckUserOnboarding.php │ │ │ │ └── UpdateLastActivity.php │ │ │ ├── Requests/ │ │ │ │ ├── API/ │ │ │ │ │ ├── Auth/ │ │ │ │ │ │ └── LoginRequest.php │ │ │ │ │ ├── BookEventRequest.php │ │ │ │ │ ├── ChangeDisplayRequest.php │ │ │ │ │ ├── InstanceHeartbeatRequest.php │ │ │ │ │ └── ValidateInstanceRequest.php │ │ │ │ ├── ActivateLicenseRequest.php │ │ │ │ ├── Auth/ │ │ │ │ │ ├── LoginRequest.php │ │ │ │ │ ├── OAuth2TokenRequest.php │ │ │ │ │ └── RegisterRequest.php │ │ │ │ ├── CreateBoardRequest.php │ │ │ │ ├── CreateDisplayRequest.php │ │ │ │ ├── UpdateBoardRequest.php │ │ │ │ └── UpdateDisplayCustomizationRequest.php │ │ │ └── Resources/ │ │ │ └── API/ │ │ │ ├── DeviceResource.php │ │ │ ├── DisplayDataResource.php │ │ │ ├── DisplayResource.php │ │ │ ├── DisplaySettingsResource.php │ │ │ ├── EventResource.php │ │ │ └── UserResource.php │ │ ├── Infrastructure/ │ │ │ └── Cloud/ │ │ │ └── LicenseService.php │ │ ├── Listeners/ │ │ │ ├── ActivateUser.php │ │ │ ├── SendOnboardingCompleteNotification.php │ │ │ ├── SendOrderCreatedNotification.php │ │ │ ├── SendRegistrationNotification.php │ │ │ ├── SendTrialExpiredOrCancelledNotification.php │ │ │ ├── SendUserActivatedAfter24hNotification.php │ │ │ ├── SendUserInactiveNotification.php │ │ │ ├── SendUserNotActivatedAfter24hNotification.php │ │ │ └── SendUserPassiveNotification.php │ │ ├── Models/ │ │ │ ├── Board.php │ │ │ ├── CalDAVAccount.php │ │ │ ├── Calendar.php │ │ │ ├── Device.php │ │ │ ├── Display.php │ │ │ ├── DisplaySetting.php │ │ │ ├── Event.php │ │ │ ├── EventSubscription.php │ │ │ ├── GoogleAccount.php │ │ │ ├── Instance.php │ │ │ ├── OutlookAccount.php │ │ │ ├── PersonalAccessToken.php │ │ │ ├── Room.php │ │ │ ├── Setting.php │ │ │ ├── User.php │ │ │ ├── Workspace.php │ │ │ └── WorkspaceMember.php │ │ ├── Notifications/ │ │ │ └── MagicLoginNotification.php │ │ ├── Observers/ │ │ │ └── EventObserver.php │ │ ├── Policies/ │ │ │ ├── BoardPolicy.php │ │ │ └── DisplayPolicy.php │ │ ├── Providers/ │ │ │ ├── AppServiceProvider.php │ │ │ └── AuthServiceProvider.php │ │ ├── Services/ │ │ │ ├── CalDAVService.php │ │ │ ├── DisplayService.php │ │ │ ├── EventService.php │ │ │ ├── GoogleService.php │ │ │ ├── ImageService.php │ │ │ ├── InstanceService.php │ │ │ └── OutlookService.php │ │ └── Traits/ │ │ ├── HasLastActivity.php │ │ ├── HasUlid.php │ │ └── RespondsWithApiResponse.php │ ├── artisan │ ├── bootstrap/ │ │ ├── app.php │ │ ├── cache/ │ │ │ └── .gitignore │ │ ├── opentelemetry.php │ │ └── providers.php │ ├── composer.json │ ├── config/ │ │ ├── app.php │ │ ├── auth.php │ │ ├── broadcasting.php │ │ ├── cache.php │ │ ├── database.php │ │ ├── faro.php │ │ ├── filesystems.php │ │ ├── googletagmanager.php │ │ ├── lemon-squeezy.php │ │ ├── logging.php │ │ ├── magiclink.php │ │ ├── mail.php │ │ ├── queue.php │ │ ├── recaptchav3.php │ │ ├── sanctum.php │ │ ├── sentry.php │ │ ├── services.php │ │ ├── session.php │ │ ├── settings.php │ │ └── wave.php │ ├── database/ │ │ ├── .gitignore │ │ ├── factories/ │ │ │ ├── BoardFactory.php │ │ │ ├── CalDAVAccountFactory.php │ │ │ ├── CalendarFactory.php │ │ │ ├── DeviceFactory.php │ │ │ ├── DisplayFactory.php │ │ │ ├── EventSubscriptionFactory.php │ │ │ ├── GoogleAccountFactory.php │ │ │ ├── InstanceFactory.php │ │ │ ├── OutlookAccountFactory.php │ │ │ ├── RoomFactory.php │ │ │ ├── UserFactory.php │ │ │ └── WorkspaceFactory.php │ │ ├── migrations/ │ │ │ ├── 2014_10_12_000000_create_users_table.php │ │ │ ├── 2014_10_12_100000_create_password_reset_tokens_table.php │ │ │ ├── 2017_07_06_000000_create_table_magic_links.php │ │ │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ │ │ ├── 2019_12_14_000001_create_personal_access_tokens_table.php │ │ │ ├── 2021_03_06_211907_add_access_code_to_magic_links_table.php │ │ │ ├── 2024_03_19_000000_add_usage_type_to_users_table.php │ │ │ ├── 2024_10_08_193424_create_outlook_accounts_table.php │ │ │ ├── 2024_10_08_193455_create_calendars_table.php │ │ │ ├── 2024_10_12_203020_create_displays_table.php │ │ │ ├── 2024_10_17_212003_create_event_subscriptions_table.php │ │ │ ├── 2025_01_12_122905_create_devices_table.php │ │ │ ├── 2025_01_12_190259_create_rooms_table.php │ │ │ ├── 2025_05_04_204354_remove_unique_from_outlook_accounts.php │ │ │ ├── 2025_05_07_181029_create_sessions_table.php │ │ │ ├── 2025_05_07_181034_create_cache_table.php │ │ │ ├── 2025_05_17_130507_create_google_accounts_table.php │ │ │ ├── 2025_05_17_153857_add_google_account_id_to_calendars_table.php │ │ │ ├── 2025_05_18_010101_remove_unique_from_google_accounts.php │ │ │ ├── 2025_05_18_010201_remove_unique_from_calendars.php │ │ │ ├── 2025_05_18_114502_add_status_to_accounts.php │ │ │ ├── 2025_05_21_000000_add_google_account_id_to_event_subscriptions.php │ │ │ ├── 2025_05_23_000000_create_caldav_accounts_table.php │ │ │ ├── 2025_05_23_000001_add_caldav_account_id_to_calendars_table.php │ │ │ ├── 2025_05_23_201433_add_google_id_to_users_table.php │ │ │ ├── 2025_05_27_203928_add_last_activity_at_to_users_table.php │ │ │ ├── 2025_05_27_204843_add_last_activity_at_to_devices_table.php │ │ │ ├── 2025_05_28_193657_add_is_billing_exempt_to_users_table.php │ │ │ ├── 2025_05_28_194845_add_is_unlimited_to_users_table.php │ │ │ ├── 2025_06_08_000001_add_terms_accepted_at_to_users_table.php │ │ │ ├── 2025_06_09_115819_drop_is_billing_exempt_from_users_table.php │ │ │ ├── 2025_06_09_122516_add_hosted_domain_to_google_accounts_table.php │ │ │ ├── 2025_06_09_122702_add_tenant_id_to_outlook_accounts_table.php │ │ │ ├── 2025_06_09_125231_add_uid_to_devices_table.php │ │ │ ├── 2025_06_09_150001_create_instances_table.php │ │ │ ├── 2025_06_15_000000_create_settings_table.php │ │ │ ├── 2025_06_15_120000_change_billable_id_to_ulid_on_lemonsqueezy_tables.php │ │ │ ├── 2025_06_16_000000_create_events_table.php │ │ │ ├── 2025_07_05_000000_create_display_settings_table.php │ │ │ ├── 2025_07_05_000001_alter_avatar_column_on_google_accounts_table.php │ │ │ ├── 2025_07_27_000000_add_is_admin_to_users_table.php │ │ │ ├── 2025_11_28_000000_add_permission_type_to_outlook_accounts_table.php │ │ │ ├── 2025_11_28_000001_add_permission_type_to_google_accounts_table.php │ │ │ ├── 2025_11_28_000002_add_permission_type_to_caldav_accounts_table.php │ │ │ ├── 2025_12_03_000000_add_service_account_file_path_to_google_accounts_table.php │ │ │ ├── 2025_12_04_000000_add_booking_method_to_google_accounts_table.php │ │ │ ├── 2025_12_05_000000_encrypt_existing_tokens_in_google_and_outlook_accounts.php │ │ │ ├── 2025_12_06_000003_add_first_name_and_last_name_to_users_table.php │ │ │ ├── 2025_12_30_000000_create_workspaces_table.php │ │ │ ├── 2025_12_30_000001_create_workspace_members_table.php │ │ │ ├── 2025_12_30_000002_add_workspace_id_to_tables.php │ │ │ ├── 2025_12_30_000003_add_workspace_id_to_accounts_tables.php │ │ │ ├── 2025_12_30_000004_create_workspaces_for_existing_users.php │ │ │ ├── 2026_02_28_000000_increase_events_description_column_size.php │ │ │ ├── 2026_02_28_000001_increase_caldav_accounts_password_column_size.php │ │ │ ├── 2026_02_28_120000_create_boards_table.php │ │ │ ├── 2026_02_28_120001_create_board_displays_table.php │ │ │ ├── 2026_02_28_120002_add_theme_to_boards_table.php │ │ │ ├── 2026_02_28_120003_add_logo_to_boards_table.php │ │ │ ├── 2026_02_28_120004_add_display_options_to_boards_table.php │ │ │ ├── 2026_02_28_120005_add_additional_settings_to_boards_table.php │ │ │ ├── 2026_02_28_120007_add_title_and_subtitle_to_boards_table.php │ │ │ ├── 2026_02_28_120008_add_view_mode_to_boards_table.php │ │ │ └── 2026_02_28_140000_add_boards_count_to_instances_table.php │ │ └── seeders/ │ │ └── DatabaseSeeder.php │ ├── docs/ │ │ ├── CODING_STANDARDS.md │ │ └── WORKSPACE_SETUP.md │ ├── lang/ │ │ ├── de/ │ │ │ └── boards.php │ │ ├── en/ │ │ │ ├── boards.php │ │ │ └── validation.php │ │ ├── es/ │ │ │ └── boards.php │ │ ├── fr/ │ │ │ └── boards.php │ │ ├── nl/ │ │ │ └── boards.php │ │ └── sv/ │ │ └── boards.php │ ├── package.json │ ├── phpunit.xml │ ├── public/ │ │ ├── .htaccess │ │ ├── images/ │ │ │ └── backgrounds/ │ │ │ └── README.md │ │ ├── index.php │ │ ├── robots.txt │ │ └── site.webmanifest │ ├── requests/ │ │ ├── .gitignore │ │ ├── api/ │ │ │ ├── activate.http │ │ │ ├── auth/ │ │ │ │ └── login.http │ │ │ ├── book-room.http │ │ │ ├── cancel-event.http │ │ │ ├── change-display.http │ │ │ ├── check-in-event.http │ │ │ ├── get-display-data.http │ │ │ ├── get-displays.http │ │ │ ├── get-events.http │ │ │ ├── get-me.http │ │ │ ├── heartbeat.http │ │ │ └── outlook/ │ │ │ ├── get-outlook-calendars.http │ │ │ └── outlook-auth.http │ │ ├── graph/ │ │ │ ├── get-calendar-by-email.http │ │ │ ├── get-calendars.http │ │ │ ├── get-events.http │ │ │ └── get-rooms.http │ │ └── webhook-tests.http │ ├── resources/ │ │ ├── css/ │ │ │ └── app.css │ │ ├── js/ │ │ │ ├── app.js │ │ │ ├── bootstrap.js │ │ │ └── echo.js │ │ └── views/ │ │ ├── .gitkeep │ │ ├── auth/ │ │ │ ├── login.blade.php │ │ │ └── register.blade.php │ │ ├── components/ │ │ │ ├── alerts/ │ │ │ │ └── alert.blade.php │ │ │ ├── calendars/ │ │ │ │ └── picker.blade.php │ │ │ ├── cards/ │ │ │ │ └── card.blade.php │ │ │ ├── displays/ │ │ │ │ └── table-row.blade.php │ │ │ ├── icons/ │ │ │ │ ├── arrow-left.blade.php │ │ │ │ ├── brush.blade.php │ │ │ │ ├── building.blade.php │ │ │ │ ├── caldav.blade.php │ │ │ │ ├── calendar.blade.php │ │ │ │ ├── display.blade.php │ │ │ │ ├── external.blade.php │ │ │ │ ├── google.blade.php │ │ │ │ ├── information.blade.php │ │ │ │ ├── logout.blade.php │ │ │ │ ├── microsoft.blade.php │ │ │ │ ├── pause.blade.php │ │ │ │ ├── play.blade.php │ │ │ │ ├── plus.blade.php │ │ │ │ ├── room.blade.php │ │ │ │ ├── settings.blade.php │ │ │ │ ├── trash.blade.php │ │ │ │ └── users.blade.php │ │ │ ├── impersonation-banner.blade.php │ │ │ ├── modals/ │ │ │ │ ├── google-service-account.blade.php │ │ │ │ ├── license-key.blade.php │ │ │ │ ├── manage-subscription.blade.php │ │ │ │ ├── select-google-booking-method.blade.php │ │ │ │ └── select-permission.blade.php │ │ │ ├── rooms/ │ │ │ │ └── picker.blade.php │ │ │ └── scripts/ │ │ │ ├── clarity.blade.php │ │ │ └── faro.blade.php │ │ ├── errors/ │ │ │ ├── 403.blade.php │ │ │ ├── 404.blade.php │ │ │ ├── 419.blade.php │ │ │ ├── 429.blade.php │ │ │ └── 500.blade.php │ │ ├── layouts/ │ │ │ ├── base.blade.php │ │ │ ├── blank.blade.php │ │ │ └── error.blade.php │ │ ├── pages/ │ │ │ ├── admin/ │ │ │ │ └── user.blade.php │ │ │ ├── admin.blade.php │ │ │ ├── boards/ │ │ │ │ ├── form.blade.php │ │ │ │ ├── index.blade.php │ │ │ │ └── show.blade.php │ │ │ ├── caldav-accounts/ │ │ │ │ └── create.blade.php │ │ │ ├── dashboard.blade.php │ │ │ ├── displays/ │ │ │ │ ├── create.blade.php │ │ │ │ ├── customization.blade.php │ │ │ │ └── settings.blade.php │ │ │ ├── onboarding.blade.php │ │ │ └── usage/ │ │ │ └── index.blade.php │ │ └── vendor/ │ │ ├── googletagmanager/ │ │ │ └── body.blade.php │ │ └── pagination/ │ │ └── tailwind.blade.php │ ├── routes/ │ │ ├── api.php │ │ ├── channels.php │ │ ├── console.php │ │ └── web.php │ ├── storage/ │ │ ├── app/ │ │ │ └── .gitignore │ │ ├── framework/ │ │ │ ├── .gitignore │ │ │ ├── cache/ │ │ │ │ └── .gitignore │ │ │ ├── sessions/ │ │ │ │ └── .gitignore │ │ │ ├── testing/ │ │ │ │ └── .gitignore │ │ │ └── views/ │ │ │ └── .gitignore │ │ └── logs/ │ │ └── .gitignore │ ├── tailwind.config.js │ ├── tests/ │ │ ├── Feature/ │ │ │ ├── API/ │ │ │ │ ├── AuthControllerTest.php │ │ │ │ └── EventControllerTest.php │ │ │ ├── AdminBoardsTest.php │ │ │ ├── BoardControllerTest.php │ │ │ ├── BoardUsageTest.php │ │ │ ├── DisplaySettingsApiTest.php │ │ │ ├── InstanceHeartbeatTest.php │ │ │ └── PageReachabilityTest.php │ │ ├── Pest.php │ │ ├── TestCase.php │ │ └── Unit/ │ │ ├── DisplaySettingsTest.php │ │ ├── SettingsTest.php │ │ └── WorkspaceUsageTest.php │ └── vite.config.js ├── deployment/ │ └── docker-compose.mariadb-redis.yml ├── docker-compose.dev.yml ├── docker-compose.prod.yml ├── docker-compose.yml ├── docs/ │ ├── REVERSE_PROXY.md │ ├── SETUP.md │ └── UPGRADE_GUIDE.md └── k6/ ├── README.md ├── load-test.js └── tags.js