100 Commits
Author SHA1 Message Date
klevze 69edffdfee Rebuild Inertia SSR assets after the upload and artwork UI changes.
Replace hashed SSR bundles so server-rendered pages match the current frontend.
2026-09-20 14:51:12 +02:00
klevze fe1054aa32 Update the optimization roadmap through the latest milestones.
Keep the production optimization plan aligned with the work already landed on develop.
2026-09-20 14:51:12 +02:00
klevze a206981914 Wire new routes and environment keys for the recent modules.
Register AdSense, artwork review, comment captcha, lazy collections, and upload review props, and document the matching env vars and CLI commands.
2026-09-20 14:51:04 +02:00
klevze 02861b5a2f Expand profile gender options and cover country plus activity persistence.
Allow the broader gender enum and add tests for country saves and discovery event recording.
2026-09-20 14:50:59 +02:00
klevze 1b8853b0c9 Harden legacy user profile lookups.
Keep the old user controller aligned with current profile fields and safer query handling.
2026-09-20 14:50:59 +02:00
klevze 12da3c5081 Tighten artwork hourly snapshot window queries.
Reduce snapshot work to the active hour window so metrics aggregation stays cheaper on the hot path.
2026-09-20 14:50:59 +02:00
klevze 0b6f3a95e3 Limit anonymous community activity queries to the latest page.
Skip unused activity sources and historical over-fetching for guests while keeping authenticated feeds filterable.
2026-09-20 14:50:58 +02:00
klevze 5d703b8da4 Warn newer creators that uploads go through review first.
Show a level-based notice on /upload without revealing the internal approved-artwork threshold, and mention the usual 48-hour review window.
2026-09-20 14:50:39 +02:00
klevze 6b00652a20 Allow artworks to have one primary category and extra secondaries.
Keep artwork_category as membership, store a deterministic primary_category_id, and let upload plus studio pick up to five additional same-type categories without changing canonical URLs.
2026-09-20 14:50:12 +02:00
klevze ce0f278bac Add a read-only Google AdSense analytics module for admins.
Connect AdSense over OAuth, sync entities and daily reports locally, and show placement performance in the admin panel without calling the Management API from public pages.
2026-09-20 14:49:48 +02:00
klevze 04a60a981e Keep AdSense rendering limited to anonymous visitors.
Show guest-only ad units on public pages and skip the AdSense script entirely for signed-in users.
2026-09-20 14:49:34 +02:00
klevze 822b96e92a Lazy-load profile collections until the tab is opened.
Keep the profile payload smaller on first paint and fetch collections through a dedicated API when the collections tab is needed.
2026-09-20 14:49:33 +02:00
klevze a5e51617a6 Extract related artwork lookup into a dedicated service.
Reuse the same related-artwork ranking on similar-art pages and keep category and tag matches from duplicating results.
2026-09-20 14:49:32 +02:00
klevze 1053a38eee Harden vision vector search and embedding jobs.
Add point search, circuit-breaking, and safer gateway limits so artwork similarity lookups fail closed instead of hanging the request path.
2026-09-20 14:49:19 +02:00
klevze 04b8160d9e Track original artwork file availability more accurately.
Resolve local and object-storage originals, persist download status, and audit missing files without guessing from a single path.
2026-09-20 14:49:19 +02:00
klevze 0f52803b05 Send new artwork uploads through a trust-based review policy.
Require review for untrusted accounts, add admin artwork review APIs, and keep queued or auto-trusted publishes from counting as established history.
2026-09-20 14:49:06 +02:00
klevze 31c87e4977 Move model observers onto attributes and tidy provider bindings.
Register observers with ObservedBy, bind the comment spam classifier, and keep AppServiceProvider focused on application wiring.
2026-09-20 14:49:00 +02:00
klevze 586c44ba74 Add comment spam classification and captcha checks.
Score artwork comments with local signatures plus Together AI, and optionally require Turnstile before posting.
2026-09-20 14:48:50 +02:00
klevze 37bacc1334 Defer Carbon package discovery until it is needed.
Keep Laravel from auto-discovering nesbot/carbon so the app can boot the lazy Carbon provider instead.
2026-09-20 14:48:37 +02:00
klevze 5db36cb29f Align group profile summary contract 2026-08-30 08:48:03 +02:00
klevze 7805baa17d Collapse profile group contribution queries 2026-08-30 07:58:38 +02:00
klevze dba1f73e01 Defer profile favourites until needed 2026-08-30 07:30:15 +02:00
klevze 187292a374 Make XP progress formatting hydration-safe 2026-08-29 21:28:26 +02:00
klevze 99d94c9333 Make profile SSR formatting deterministic 2026-08-29 20:24:38 +02:00
klevze 872f420190 Defer profile featured artworks 2026-08-29 16:33:36 +02:00
klevze ff80f5bf97 Rollback comments observer margin 2026-08-29 14:12:51 +02:00
klevze 29e6dee609 Reduce deferred comments observer margin 2026-08-29 13:53:00 +02:00
klevze 2f8f7472ca tests cleanup 2026-08-29 13:49:13 +02:00
klevze 771f9f4350 Document M1-M18 production optimization status.
Record what landed, what is in flight, and what remains so later deploys can pick up the plan without archaeology.
2026-08-29 12:25:50 +02:00
klevze 4c409ceb81 Rebuild Inertia SSR artifacts after deferred artwork UI.
Keep bootstrap/ssr in sync with the client Vite build shipped in this stack.
2026-08-29 12:25:50 +02:00
klevze ab8fa6d845 Fix Windows/WSL production deploy hang and permissions.
Skip slow Git worktree walks on /mnt, run Vite on Windows npm, reuse Windows SSH keys, and stop rewriting the klevze-owned public app symlink that skinbase cannot replace.
2026-08-29 12:25:50 +02:00
klevze bf9ca12469 Add a public profile followers tab.
Expose follower lists on public profiles with a dedicated tab and API path instead of only showing counts.
2026-08-29 12:25:49 +02:00
klevze 1d350c9bca Defer similar-AI recommendations until the rail is near view.
ArtworkPage already imports this hook; ship the implementation so similar-AI work stays off the initial render.
2026-08-29 12:25:49 +02:00
klevze 437d943827 Prefetch artwork prev/next navigation off the critical path.
Move neighbor lookup into a dedicated service and let the viewer load adjacent artworks after first paint instead of blocking the detail request.
2026-08-29 12:25:49 +02:00
klevze bf902f509a Batch-load comment reaction counts on artwork comments.
Avoid per-comment reaction queries on the deferred comments API by aggregating counts in one service call.
2026-08-29 12:25:37 +02:00
klevze bfcbfec357 Cache Schema::hasTable lookups on artwork JSON.
Artwork detail was paying repeated information_schema hits per request. Keep public detail edge-case behavior covered by regression tests.
2026-08-29 12:25:37 +02:00
klevze b9beb8f5c5 Speed legacy photo serving and skip tracking on download routes.
Tighten thumbnail/legacy photo handling and exclude download/photo traffic from session visitor tracking so those hot paths stay cheap.
2026-08-29 12:25:37 +02:00
klevze e9cf754b37 Enable nginx X-Accel for original artwork downloads.
Hand originals to nginx after auth so PHP is not in the byte path. Keep DOWNLOAD_ACCEL_ENABLED off until the internal location is verified.
2026-08-29 12:25:37 +02:00
klevze fb560fb7dd Add HTTP performance log analyzer (M12.6).
Parse rotated nginx JSON access logs into host/route timings so production hotspots can be measured without ad-hoc one-off scripts.
2026-08-29 12:25:27 +02:00
klevze 4ab315e9d7 Defer artwork comments from initial render 2026-08-29 12:07:08 +02:00
klevze 8a80aae21e Ship production optimization M1-M12.5A: queues, metrics, HTTP observability, and vector search reliability.
Keep similar-ai from tripping the global circuit on a lone URL 502, clamp Qdrant search to 100, and add Server-Timing plus slow-request logging. Studio shared props, Academy S3 exists caching, heat chunking, and Redis/scheduler hygiene stay in this rollout.
2026-08-25 07:58:47 +02:00
klevze f52879edbb Current state with latest updates 2026-08-23 13:28:34 +02:00
klevze 5af95f6533 Optimize academy 2026-06-09 13:16:01 +02:00
klevze f89ee937c0 fixed sanitazer and academy 2026-06-05 16:53:20 +02:00
klevze 15870ddb1f Allow heading tags (h1-h6) in ContentSanitizer so news editor headings render 2026-06-04 07:52:57 +02:00
klevze 0b33a1b074 Implement academy analytics, billing, and web stories updates 2026-05-26 07:27:29 +02:00
klevze 456c3d6bb0 Fix: remove Academy families from sitemaps; show total prompts in Academy prompt library; fix void closure in AcademyAdminController 2026-05-11 21:56:38 +02:00
klevze ff96ef796e chore: commit remaining workspace changes 2026-05-08 21:51:29 +02:00
klevze 8d108b8a76 Homepage: add stable intro copy; mark footer utility links data-nosnippet; add render test 2026-05-08 21:51:28 +02:00
klevze 6b83d76cd1 SEO: gallery VisualArtwork contentUrl -> single best URL; update gallery unit test 2026-05-08 21:51:28 +02:00
klevze 0c5dde9b22 Featured artworks thumbnails 2026-05-06 19:11:31 +02:00
klevze 82f2b1f660 Add tests for featured thumbnail generation; apply Pint formatting and related edits 2026-05-06 18:55:40 +02:00
klevze 7a8bc8e22a Wire homepage hero to featured thumbnail family; add featured-picture component 2026-05-06 18:55:20 +02:00
klevze 8fa3adf4df Add job and artisan command for generating featured thumbnails 2026-05-06 18:55:08 +02:00
klevze bd8a5c14a0 Add FeaturedArtworkThumbnailGenerator and FeaturedArtworkSelector 2026-05-06 18:54:57 +02:00
klevze 2c2c0f6722 Add Artwork model convenience methods for featured thumbnails 2026-05-06 18:54:31 +02:00
klevze ee24111d59 Add featured thumbnail config and ArtworkFeaturedImagePath helper 2026-05-06 18:54:18 +02:00
klevze a3cfc6c17f feat(academy): prepare AI Academy v1 for production enablement 2026-05-03 19:59:27 +02:00
klevze 90e93f0d42 Fixes 2026-05-03 09:21:13 +02:00
klevze 44354e5bea News: normalize category select values; fix Studio news editor category persistence; add CSV→SQL generator and news_dates.sql 2026-05-03 09:12:38 +02:00
klevze a9dfa6ea11 Refine SEO, uploads, and deploy handling 2026-05-02 10:48:08 +02:00
klevze b6be6ed2ac chore: commit regenerated ssr assets 2026-05-02 09:37:28 +02:00
klevze caf1464aa5 chore: commit current workspace changes 2026-05-02 09:37:14 +02:00
klevze 79235133f0 Remove obsolete project SQL dump 2026-05-01 11:47:10 +02:00
klevze 396712bb3d Sync deploy mirror and upstream error page 2026-05-01 11:46:56 +02:00
klevze 18cea8b0f0 Wire admin studio SSR and search infrastructure 2026-05-01 11:46:06 +02:00
klevze 257b0dbef6 Build world campaigns rewards and recaps 2026-05-01 11:44:41 +02:00
klevze 28e7e46e13 Add news article comments and reactions 2026-05-01 11:43:49 +02:00
klevze 874f8feb9c Add homepage announcement module 2026-05-01 11:43:08 +02:00
klevze 961d21e91e Optimize anonymous public sessions 2026-05-01 11:42:10 +02:00
klevze 35011001ba Replace native selects with NovaSelect 2026-05-01 07:45:37 +02:00
klevze 67be537c86 new test files 2026-04-25 08:36:03 +02:00
klevze 19d5a9ed3e removed files 2026-04-25 08:35:52 +02:00
klevze c8c7a4d100 cleanup project
Removed unused files
2026-04-25 08:25:04 +02:00
klevze 157c6d49e8 Sanitize browse categories HTML output 2026-04-25 08:12:46 +02:00
klevze a0b903f09d UI: use free FontAwesome globe icon for Worlds menu item 2026-04-18 17:13:28 +02:00
klevze 87d60af5a9 Save workspace changes 2026-04-18 17:02:56 +02:00
klevze f02ea9a711 Add CLI audit command docs 2026-04-17 07:56:10 +02:00
klevze cdd42a0186 Improve creator studio browsing and versioning 2026-04-16 15:01:15 +02:00
klevze 56eaa3bcbf Improve studio artwork media revisions 2026-04-16 14:44:41 +02:00
klevze d5cff21ea2 feat: ship creator journey v2 and profile updates 2026-04-12 21:42:07 +02:00
klevze a2457f4e49 minor fixes 2026-04-09 08:50:36 +02:00
klevze 23d363a50c Add Meilisearch deploy support and studio grid tweak 2026-04-06 09:33:28 +02:00
klevze 08ad757bcb Commit workspace changes 2026-04-05 19:42:33 +02:00
klevze 148a3bbe43 Fix artwork user reference import 2026-04-05 19:35:44 +02:00
klevze 0b216b7ecd Implement creator studio and upload updates 2026-04-04 10:12:02 +02:00
klevze 1da7d3bf88 Profile: store covers in object storage (WebP); add covers config; remember artworks categories content-type preference 2026-03-29 09:22:36 +02:00
klevze cab4fbd83e optimizations 2026-03-28 19:15:39 +01:00
klevze 0b25d9570a added flags icons 2026-03-28 19:15:21 +01:00
klevze 73260e7eae updated gitignore and .env.example 2026-03-28 09:20:02 +01:00
klevze 2608be7420 Repair: copy legacy joinDate into new user's created_at when creating users from legacy wallz 2026-03-22 09:13:39 +01:00
klevze e8b5edf5d2 feat: add Reverb realtime messaging 2026-03-21 12:51:59 +01:00
klevze 60f78e8235 Add Laravel broadcasting setup
Register channel routes and add the default broadcasting configuration generated for Laravel broadcasting support.
2026-03-21 11:08:18 +01:00
klevze 979e011257 Refactor dashboard and upload flows
Remove dead admin UI code, redesign dashboard followers/following and upload experiences, and add schema audit tooling with repair migrations for forum and upload drift.
2026-03-21 11:02:22 +01:00
klevze 29c3ff8572 update 2026-03-20 21:17:26 +01:00
klevze 1a62fcb81d categories v1 finished 2026-03-17 20:13:33 +01:00
klevze 7da0fd39f7 updated gallery 2026-03-17 18:34:26 +01:00
klevze 7b37259a2c feat: redesign private messaging inbox 2026-03-17 18:34:00 +01:00
klevze 2119741ba7 feat: add community activity feed and mentions 2026-03-17 18:26:57 +01:00
klevze 2728644477 feat: add tag discovery analytics and reporting 2026-03-17 18:23:38 +01:00