-
434e926f77
style: use primary color for scrollbar thumbs
main
Sebastian Krüger
2026-03-06 14:42:15 +01:00
-
7a9ce0c3b1
fix: explicitly style html root scrollbar for Firefox
Sebastian Krüger
2026-03-06 14:39:44 +01:00
-
ff1e1f6679
feat: style scrollbars globally using theme colors
Sebastian Krüger
2026-03-06 14:38:02 +01:00
-
648123fab5
feat: mobile-optimize admin section
Sebastian Krüger
2026-03-06 14:36:52 +01:00
-
a7fafaf7c5
refactor: replace native select with shadcn Select for user role in admin
Sebastian Krüger
2026-03-06 13:34:39 +01:00
-
b71d7dc559
refactor: remove duplicate utils/utils.ts, consolidate into utils.ts
Sebastian Krüger
2026-03-06 13:31:35 +01:00
-
f764e27d59
fix: shrink flyout account card, remove online indicator
Sebastian Krüger
2026-03-06 13:29:33 +01:00
-
d7eb2acc6c
fix: match mobile flyout header height to main header (h-16)
Sebastian Krüger
2026-03-06 13:27:31 +01:00
-
fb38d6b9a9
fix: constrain admin layout to container width matching rest of site
Sebastian Krüger
2026-03-06 13:22:15 +01:00
-
d021acaf0b
feat: add admin user edit page with avatar, banner, and photo gallery
Sebastian Krüger
2026-03-06 13:18:43 +01:00
-
e06a1915f2
fix: remove backdrop-blur overlay causing blurry text site-wide
Sebastian Krüger
2026-03-06 13:11:54 +01:00
-
ebab3405b1
fix: forward session token in admin SSR load functions
Sebastian Krüger
2026-03-06 12:56:47 +01:00
-
ad7ceee5f8
fix: resolve lint errors from ACL/admin implementation
Sebastian Krüger
2026-03-06 12:35:11 +01:00
-
c1770ab9c9
feat: role-based ACL + admin management UI
Sebastian Krüger
2026-03-06 12:31:33 +01:00
-
b200498a10
fix: correct CI badge URLs to use Gitea workflow badge format
Sebastian Krüger
2026-03-05 12:57:47 +01:00
-
1369d5c228
fix: copy packages/types into backend Docker build
Sebastian Krüger
2026-03-05 12:51:52 +01:00
-
e200514347
refactor: move flyout to left side, restore logo, remove close button
Sebastian Krüger
2026-03-05 12:34:57 +01:00
-
d7057c3681
refactor: improve mobile flyout header
Sebastian Krüger
2026-03-05 11:44:23 +01:00
-
d820a8f6be
chore: relative uploads dir
Sebastian Krüger
2026-03-05 11:05:30 +01:00
-
9bef2469d1
refactor: rename RecordedEvent fields to snake_case
Sebastian Krüger
2026-03-05 11:04:36 +01:00
-
97269788ee
feat: add shared @sexy.pivoine.art/types package and fix type safety across frontend/backend
Sebastian Krüger
2026-03-05 11:01:11 +01:00
-
c6126c13e9
feat: add backend logger matching frontend text format
Sebastian Krüger
2026-03-05 10:22:49 +01:00
-
fd4050a49f
refactor: remove directus.ts shim, import directly from api
Sebastian Krüger
2026-03-05 10:19:05 +01:00
-
efc7624ba3
style: apply prettier formatting to all files
Sebastian Krüger
2026-03-04 22:27:54 +01:00
-
18116072c9
feat: add formidable ESLint + Prettier linting setup
Sebastian Krüger
2026-03-04 22:24:55 +01:00
-
741e0c3387
docs: update README for custom backend replacing Directus
Sebastian Krüger
2026-03-04 22:01:46 +01:00
-
662e3e8fe2
fix: model join date used join_date but API returns date_created
Sebastian Krüger
2026-03-04 21:42:34 +01:00
-
fa159feffa
fix: remove black border below video controls
Sebastian Krüger
2026-03-04 21:41:07 +01:00
-
124f0bfb22
fix: video src used movie.id but movie is already the UUID string
Sebastian Krüger
2026-03-04 21:27:06 +01:00
-
df89cc59f5
fix: use preview transform for home page video teasers
Sebastian Krüger
2026-03-04 21:24:59 +01:00
-
845e3df223
fix: image transforms — preserve aspect ratio, increase quality
Sebastian Krüger
2026-03-04 21:22:30 +01:00
-
05cb6a66e3
fix: image transforms via Sharp, model photos crash, video duration
Sebastian Krüger
2026-03-04 20:56:33 +01:00
-
273aa42510
fix: serve assets via DB lookup to resolve file path correctly
Sebastian Krüger
2026-03-04 20:40:22 +01:00
-
1e930baccb
fix: resolve GraphQL request hang in Fastify integration
Sebastian Krüger
2026-03-04 20:31:18 +01:00
-
012bb176d9
fix: convert Web API ReadableStream to Node.js Readable for Fastify
Sebastian Krüger
2026-03-04 20:11:08 +01:00
-
ed7ac0c573
fix: downgrade nanoid to v3 for CommonJS compatibility
Sebastian Krüger
2026-03-04 19:43:44 +01:00
-
4565038be3
fix: cast recording duration float to integer in data migration
Sebastian Krüger
2026-03-04 19:39:52 +01:00
-
fbafbeca5d
fix: pass tags as native arrays not JSON strings in data migration
Sebastian Krüger
2026-03-04 19:36:04 +01:00
-
480369aa4e
fix: correct column names in data migration script to match actual Directus schema
Sebastian Krüger
2026-03-04 19:33:33 +01:00
-
ceb57ec1c4
fix: copy root node_modules to runner stage in backend Dockerfile
Sebastian Krüger
2026-03-04 19:29:36 +01:00
-
4f8271217c
fix: set CI=true for pnpm install in backend Dockerfile
Sebastian Krüger
2026-03-04 19:26:25 +01:00
-
046689e363
fix: set CI=true for pnpm install -rP in frontend Dockerfile
Sebastian Krüger
2026-03-04 19:19:45 +01:00
-
9ba71239b7
fix: use correct 'file' parameter in docker/build-push-action (not 'dockerfile')
Sebastian Krüger
2026-03-04 19:09:58 +01:00
-
757bbe9e3b
fix: skip buttplug Rust build in backend Dockerfile via --ignore-scripts
Sebastian Krüger
2026-03-04 19:08:48 +01:00
-
73f7a4f2f0
ci: replace combined workflow with separate frontend and backend workflow files
Sebastian Krüger
2026-03-04 19:05:54 +01:00
-
3bd8d95576
ci: disable registry cache for backend build to fix poisoned buildcache
Sebastian Krüger
2026-03-04 18:57:39 +01:00
-
14e816241d
ci: split frontend and backend into separate jobs to fix image tag mix-up
Sebastian Krüger
2026-03-04 18:53:16 +01:00
-
4102f9990c
fix: switch backend to CommonJS, generate Drizzle migrations, add migrate script
Sebastian Krüger
2026-03-04 18:42:58 +01:00
-
2565e6c28b
fix: resolve pnpm frozen-lockfile error and argon2 native build
Sebastian Krüger
2026-03-04 18:19:52 +01:00
-
493ddd7e78
chore: remove packages/bundle (Directus extension)
Sebastian Krüger
2026-03-04 18:11:22 +01:00
-
33dd076a50
ci: add backend image build to docker workflow
Sebastian Krüger
2026-03-04 18:10:06 +01:00
-
9d7afbe1b5
feat: replace Directus with custom Node.js GraphQL backend
Sebastian Krüger
2026-03-04 18:07:18 +01:00
-
de16b64255
fix: use env object from \$env/dynamic/public instead of named imports
Sebastian Krüger
2026-03-04 17:19:26 +01:00
-
1e69d0b158
fix: create env placeholder file inline in Dockerfile for dynamic public env
Sebastian Krüger
2026-03-04 17:09:42 +01:00
-
865787fb45
feat: switch PUBLIC_API_URL and PUBLIC_URL to dynamic env for runtime configurability
Sebastian Krüger
2026-03-04 17:01:37 +01:00
-
3915dbc115
fix: .env inclusion
Sebastian Krüger
2026-03-04 16:47:54 +01:00
-
83ca9d4fb5
chore: update all dependencies to latest versions
Sebastian Krüger
2026-03-04 16:43:56 +01:00
-
225b9d41f5
chore: clean up repo and fix docker compose configuration
Sebastian Krüger
2026-03-04 16:36:49 +01:00
-
ad83fb553a
feat: switch to dynamic env for Umami to allow runtime configuration
Sebastian Krüger
2026-02-21 11:47:32 +01:00
-
2be36a679d
fix: resolve buttplug-wasm build error by using Vec and slices
Sebastian Krüger
2026-02-21 11:33:12 +01:00
-
75d4b4227c
chore: update buttplug dependencies to commit fad6c9d
Sebastian Krüger
2026-02-21 11:29:36 +01:00
-
2277e4f686
fix: resolve buttplug-wasm build error by using as_ref() for JS arrays
Sebastian Krüger
2026-02-21 11:13:53 +01:00
-
13c6977e59
feat: add PUBLIC_UMAMI_SCRIPT variable and integrate into layout
Sebastian Krüger
2026-02-21 11:05:30 +01:00
-
c85fa7798e
chore: remove Letterspace newsletter integration and all LETTERSPACE_* variables
Sebastian Krüger
2026-02-21 10:56:43 +01:00
-
ce30eca574
chore: new imprint address
Sebastian Krüger
2026-02-21 10:37:19 +01:00
-
6724afa939
fix: use correct Directus preset parameter for asset transforms
Sebastian Krüger
2026-02-16 08:42:38 +01:00
-
e744d1e40f
fix: clean up stale sorter entries and fix battery reactivity
buttplug-10
Sebastian Krüger
2026-02-07 13:07:13 +01:00
-
82be8b8859
fix: resolve device listing bug after buttplug v10 upgrade
Sebastian Krüger
2026-02-07 12:11:53 +01:00
-
27d86fff8b
fix: vite wasm rollup
Sebastian Krüger
2026-02-06 15:00:04 +01:00
-
6ea4ed1933
feat: upgrade buttplug package to protocol v4 and WASM v10
Sebastian Krüger
2026-02-06 14:46:47 +01:00
-
fed2dd65e5
feat: display play count on video detail page
Sebastian Krüger
2025-11-20 19:23:36 +01:00
-
756d767d59
fix: align sharing button height with like button
Sebastian Krüger
2025-11-20 19:20:30 +01:00
-
ac09d544d4
fix: query actual likes count from database instead of cached field
Sebastian Krüger
2025-11-20 19:17:32 +01:00
-
2c010c98d0
fix: use registry cache instead of GitHub Actions cache for Gitea compatibility
Sebastian Krüger
2025-11-15 18:09:46 +01:00
-
3bdf58a827
fix: rename GITEA_TOKEN to REGISTRY_TOKEN to avoid reserved name conflict
Sebastian Krüger
2025-11-15 18:02:48 +01:00
-
105efc9a47
chore: remove GitHub workflows in favor of Gitea Actions
Sebastian Krüger
2025-11-15 17:19:28 +01:00
-
da474f9a61
feat: add Gitea Actions workflow for Docker build and push
Sebastian Krüger
2025-11-15 17:14:25 +01:00
-
08328c47f7
fix: query correct junction table for model photos
Valknar XXX
2025-11-13 08:52:01 +01:00
-
eed4318e49
fix: increase models grid max-width for better layout
Valknar XXX
2025-11-13 08:07:16 +01:00
-
f45a9678f7
fix: correct photo data structure access in model page
Valknar XXX
2025-11-13 07:21:06 +01:00
-
8937f71260
fix: update models grid from 2 to 3 columns on medium screens
Valknar XXX
2025-11-13 07:03:09 +01:00
-
036fc35c9a
fix: add custom endpoint for getVideoBySlug to bypass permissions
Valknar XXX
2025-11-03 17:13:56 +01:00
-
b2aa8a57ca
fix: import directusApiUrl in services.ts
Valknar XXX
2025-10-29 07:23:46 +01:00
-
5333bfd87a
fix: use native fetch for getVideoBySlug to fix authenticated SSR
Valknar XXX
2025-10-29 05:36:16 +01:00
-
cd4c33a3f2
fix: safely handle empty/null models array in getVideoBySlug
Valknar XXX
2025-10-29 04:33:52 +01:00
-
d9b48ff490
fix: use slug field for model lookup instead of name concat
Valknar XXX
2025-10-29 03:23:03 +01:00
-
0b07da8e64
fix: replace Directus SDK with native fetch for featured content
Valknar XXX
2025-10-28 23:54:56 +01:00
-
10ab7a65df
fix: ensure home page data is serializable
Valknar XXX
2025-10-28 23:41:40 +01:00
-
b883867b15
feat: add recording sharing and community features
Valknar XXX
2025-10-28 14:32:39 +01:00
-
9002eb768b
fix: simplify tags handling in recordings endpoint
Valknar XXX
2025-10-28 14:07:29 +01:00
-
47016a2d5c
fix: parse tags JSON string in recording creation
Valknar XXX
2025-10-28 13:44:35 +01:00
-
6b3d770182
feat: display gamification stats on user profile page
Valknar XXX
2025-10-28 13:36:32 +01:00
-
064894b8bb
feat: add gamification hooks, leaderboard UI, and translations
Valknar XXX
2025-10-28 13:29:34 +01:00
-
8f09244188
feat: implement recording-focused gamification system
Valknar XXX
2025-10-28 13:21:51 +01:00
-
74e68c32dc
feat: implement user profile pages with comment avatar links
Valknar XXX
2025-10-28 12:54:45 +01:00
-
9503f8d0aa
fix: add authentication guard to /me page
Valknar XXX
2025-10-28 12:17:58 +01:00
-
b8fdcb1193
fix: remove featured filter from models endpoint
Valknar XXX
2025-10-28 11:30:14 +01:00
-
6232cc58f0
fix: add null safety to logout button component
Valknar XXX
2025-10-28 11:21:42 +01:00
-
cd6e8b7b3d
feat: migrate all API calls to custom bundle endpoints
Valknar XXX
2025-10-28 11:17:51 +01:00
-
a2240f8315
feat: implement Knex-based /sexy/models endpoint
Valknar XXX
2025-10-28 11:08:53 +01:00