This website requires JavaScript.
4f3e641458
feat(home): mark DM Dashboard promo with Work in Progress badge
main
emil and Claude Opus 4.7
2026-05-18 09:47:35 +03:00
815c5c7b04
fix(home): move prerender export inside frontmatter so it stops rendering as text
emil and Claude Opus 4.7
2026-05-18 09:30:33 +03:00
79e1dc4144
fix(deploy): lock down postgres — no public port + password via .env
emil and Claude Opus 4.7
2026-05-16 02:56:53 +03:00
cce582df6c
feat(dm-dashboard): Wave 8 — spell generator + Open5e equipment/magicitems + UX polish
emil and Claude Opus 4.7
2026-05-16 02:47:41 +03:00
e6dec1eb95
fix(deploy): apply drizzle migrations to prod on container startup
emil and Claude Opus 4.7
2026-05-16 00:29:32 +03:00
4b78e9edad
fix(auth): defer env validation to first access so build works without secrets
emil and Claude Opus 4.7
2026-05-15 23:45:03 +03:00
f2afaf60a3
fix(lint): unblock CI — add scoped eslint-disable for APIContext mocks
emil and Claude Opus 4.7
2026-05-15 23:39:50 +03:00
2f7453e571
chore(qa): Final Wave cleanup — resolve lint findings from F2 review
emil and Claude Opus 4.7
2026-05-15 23:33:57 +03:00
701398f627
feat(dm-dashboard): Wave 7 — FREE→PRO data import flow (Task 22)
emil and Claude Opus 4.7
2026-05-15 23:33:39 +03:00
09e947f430
feat(dm-dashboard): Wave 6 — NPC form, result card, history panel, notes/initiative DB migration, translation service
emil
2026-05-15 23:09:06 +03:00
75f2dc6972
feat(dm-dashboard): Wave 5 — NPC generation API, history API, quota/tier badges, translate button
emil
2026-05-15 22:45:26 +03:00
2921e45237
feat(dm-dashboard): Wave 4 — rate limiting, translation API, AI tab navigation
emil
2026-05-15 22:26:41 +03:00
5aec915034
feat(dm-dashboard): Wave 3 — Boosty verification, notes/initiative API routes
emil
2026-05-15 22:00:19 +03:00
0bbaa6e3d8
feat(dm-dashboard): Wave 2 — Drizzle migration, DmSidebar fix, CORS config
emil
2026-05-15 21:48:09 +03:00
25f43ec4e2
feat(dm-dashboard): Wave 1 — auth fixes, DB schema, Open5e interfaces, AI clients
emil
2026-05-15 21:28:42 +03:00
1f09270329
fix(dm): polish hardcoded strings, typo, and aria-labels
emil and Claude Opus 4.7
2026-05-15 18:31:21 +03:00
c01c34d3e0
style(dm): widen desktop dashboard at xl/2xl breakpoints
emil and Claude Opus 4.7
2026-05-15 18:23:35 +03:00
659b042de5
fix(lint): resolve explicit any and empty catch in DM test scripts
emil and Sisyphus
2026-05-15 18:10:36 +03:00
8eafd504b2
fix(lint): resolve explicit any and useless assignment in DM components
emil and Sisyphus
2026-05-15 18:10:28 +03:00
3388d70d96
chore(lint): add debug-open5e.mjs to ESLint ignores
emil and Sisyphus
2026-05-15 18:10:19 +03:00
fddc40e967
docs: note boulder tracking sync issue in DM dashboard redesign
emil and Sisyphus
2026-05-15 18:02:00 +03:00
1c38df7e74
style(dm): redesign dashboard with purple-gold theme
emil
2026-05-15 17:49:32 +03:00
11da171bfb
docs: add AGENTS.md knowledge base (root + generators + dm)
emil
2026-05-15 04:35:00 +03:00
592fa4cc3e
chore(vk): remove debug logging from callback
emil
2026-05-15 04:21:34 +03:00
5815b52c4e
fix(vk): add client_id to user_info request, use query params for device_id
emil
2026-05-15 04:18:19 +03:00
57d56c7f29
debug(vk): log full callback URL and all query params
emil
2026-05-15 04:15:07 +03:00
258f062115
fix(lint): remove unused refreshToken variable
emil
2026-05-15 04:11:07 +03:00
fbc011f55e
fix(vk): use id.vk.ru domain, handle payload param, add device_id to token exchange
emil
2026-05-15 04:09:02 +03:00
5b6247ff7c
style(auth): remove debug border from AuthPanel, clean up console.log
emil
2026-05-15 03:55:51 +03:00
6f2d9aff5d
fix(auth): make DM pages server-rendered so middleware can set Astro.locals.user
emil
2026-05-15 03:50:41 +03:00
38a778f3de
debug(auth): add visible debug border and user state to AuthPanel
emil
2026-05-15 03:40:01 +03:00
08161dcdd1
fix(auth): unify cookie name to auth_token for OAuth and middleware compatibility
emil
2026-05-15 02:22:19 +03:00
de81e54ae1
fix(oauth): use SameSite=Lax for session cookie to survive cross-site redirect
emil
2026-05-15 02:14:21 +03:00
b762e2eb66
fix(health): check DB connectivity in health endpoint
emil
2026-05-15 02:05:40 +03:00
b71902b686
fix(oauth): use separate Set-Cookie headers for multiple cookies
emil
2026-05-15 01:59:56 +03:00
da6208de50
fix(oauth): fix VK token URL (.ru -> .com), add error logging to callbacks
emil
2026-05-15 01:50:45 +03:00
da0ee46bc0
fix(dm): scope DM theme CSS to .dm-theme class to override BaseLayout purple accent
emil
2026-05-15 01:46:01 +03:00
aaf596a7bc
fix(dm): OAuth redirect_uri, orange buttons, denser layout, hide lang switcher
emil
2026-05-15 01:42:09 +03:00
5273518908
fix: SameSite=Lax for OAuth cookies to allow cross-site redirects
emil
2026-05-15 01:28:24 +03:00
2b57cba3bb
fix: use process.env for runtime OAuth secrets
emil
2026-05-15 01:25:27 +03:00
4a13ba3272
fix deploy: copy dist directory instead of contents
emil
2026-05-15 01:01:55 +03:00
d24f978d7e
trigger deploy
emil
2026-05-15 00:54:45 +03:00
1a092e05c1
feat(dm): add dashboard with oauth, dice, initiative, open5e, notes
emil
2026-05-14 23:48:36 +03:00
7efe188a9a
feat(ads): restore custom AdBanner with Admitad link
emil
2026-05-14 16:21:50 +03:00
87b35ba067
fix(ads): remove Admitad and Chitai-gorod banners completely
emil
2026-05-14 15:55:37 +03:00
dfca40bb34
fix(lint): remove unused Props and eslint-disable directive
emil
2026-05-14 15:38:04 +03:00
b22a68bf12
feat(ads): replace custom banner with Admitad leaderboard
emil
2026-05-14 15:33:48 +03:00
375455aac9
fix(ads): remove Yandex branding from banner, use neutral accent styling
emil
2026-05-14 15:11:50 +03:00
7c4241fd0e
feat(ads): remove Yandex ads, move banner above generators
emil
2026-05-14 15:07:17 +03:00
ae809cd119
feat(ads): replace Yandex Market with Admitad Читай-город affiliate link
emil
2026-05-14 15:00:54 +03:00
f6f1ca05c9
feat(seo): add Admitad verification file
emil
2026-05-14 14:48:07 +03:00
2225044795
feat(seo): add Admitad verification meta tag
emil
2026-05-14 14:43:06 +03:00
f3993a8315
feat(ads): replace YandexRTB placeholder with AdBanner referral banners
emil
2026-05-14 14:10:22 +03:00
11e7c9578a
feat(ads): add Yandex Market referral link to banner rotation
emil
2026-05-14 14:05:49 +03:00
3917934d45
fix(blog): register @tailwindcss/typography for prose styling
emil
2026-05-14 13:24:43 +03:00
36a714d7e2
content(blog): add real articles to all 16 posts
emil
2026-05-14 13:12:39 +03:00
db09f493e9
fix(blog): add generator links, sync dates to 2026-05-14
emil
2026-05-14 10:32:53 +03:00
ea77828094
fix(blog): remove test-post.md, fix blog index slug links
emil
2026-05-14 03:28:08 +03:00
25fd24d236
feat(blog+categories): Wave 3-5 — blog infrastructure, categories, content, navigation
emil
2026-05-14 03:19:06 +03:00
23cf7058f0
feat(schema): Wave 2 — add generator categories, Organization schema, 404 pages
emil
2026-05-14 02:48:05 +03:00
43ea9bc8f3
fix(seo): Wave 1 — fix critical SEO gaps
emil
2026-05-14 02:39:56 +03:00
75038780d5
fix(lint): fix pre-existing unused vars in 5 generators
emil
2026-05-13 21:29:57 +03:00
8a0e2b5e0f
fix(lint): remove unused vars in refactored generators
emil
2026-05-13 20:59:01 +03:00
0081510914
Wave 6: refactor generators batch 4 to crypto random
emil
2026-05-13 20:41:27 +03:00
8e0485c215
Wave 5: refactor generators batch 3 to crypto random
emil
2026-05-13 20:34:16 +03:00
49269f209d
Wave 4: refactor generators batch 2 to crypto random
emil
2026-05-13 20:25:39 +03:00
3d94c99ff9
Wave 3: refactor generators batch 1 to crypto random
emil
2026-05-13 20:16:40 +03:00
e24a8b744d
Wave 2: shared components + dice engine crypto migration
emil
2026-05-13 19:42:28 +03:00
515c4a6168
Wave 1: add deps, crypto random utility, i18n helper, privacy fix, CI gates
emil
2026-05-13 19:34:42 +03:00
2c400abb0a
fix(magic8ball): enlarge triangle, shrink text further for long answers
emil
2026-05-13 00:50:55 +03:00
074adaa5e4
fix(magic8ball): lower text further and widen triangle for long answers
emil
2026-05-13 00:45:27 +03:00
40bf7dbacf
fix(magic8ball): shrink text and widen triangle viewport for long answers
emil
2026-05-13 00:43:18 +03:00
87e11655f6
fix(magic8ball): shift answer text down with mt-3 instead of pt-2
emil
2026-05-13 00:35:50 +03:00
1b02227cdd
Merge remote main: resolve conflicts, keep local icons and gitignore
emil
2026-05-13 00:31:07 +03:00
8f11c5af43
feat: add favorites panel to meal generator, remove redundant Another one button
emil
2026-05-13 00:25:09 +03:00
a1cc10d0a2
feat: add 4 new generators (Palette, Lorem, Country, Weighted)
emil28092005
2026-05-12 16:22:26 +03:00
02f9ada193
feat: add 6 new generators + Privacy Policy
emil
2026-05-11 23:34:31 +03:00
6f8264a0fb
fix: add PNG favicon for search engine snippets
emil
2026-05-11 22:26:17 +03:00
cbc0a3b545
feat: prepare site for Yandex Ads (RSYA) moderation
emil
2026-05-11 21:59:37 +03:00
7a29e3c192
feat: integrate Yandex RTB ad block R-A-19259130-1
dev
emil
2026-05-11 20:52:27 +03:00
7e36ec52ec
fix(wheel): default items separated by newlines for correct parsing
emil
2026-05-11 01:40:14 +03:00
e089dd07de
style: visual polish — accent tokens, starfield, fixed card/output heights, focus rings, spatial fixes
emil
2026-05-11 01:36:58 +03:00
8de77203aa
feat: add JSON-LD structured data
emil
2026-05-10 21:19:39 +03:00
8421441664
chore: add ESLint + Prettier, fix all lint errors
emil
2026-05-10 21:17:34 +03:00
bb62d7310e
test: add Vitest + 30 dice-engine tests
emil
2026-05-10 21:12:08 +03:00
3750cd2cc6
feat: add PWA support with offline caching
emil
2026-05-10 21:06:19 +03:00
56ab3f6952
refactor: extract shared client utilities
emil
2026-05-10 20:56:33 +03:00
f1ba82735b
refactor: i18n routing, shared GeneratorLayout, analytics component, content collections
emil
2026-05-10 20:42:05 +03:00
195c2deb54
Merge branch 'main' of github.com:emil28092005/Randify.pro
emil
2026-05-10 18:10:10 +03:00
8f562d4319
feat: add VK (Top.Mail.Ru) pixel tracking
emil
2026-05-10 18:09:35 +03:00
ef2aeb5345
feat(dice): full notation engine with kh/kl/dh/dl, exploding dice, reroll, presets, roll history, adv/disadv toggle
Emil Shanaty
2026-05-10 01:23:50 +03:00
2168b88407
Reorder generators: dice 2nd, wheel 3rd (priority trio)
emil and Claude Sonnet 4.6
2026-05-09 19:19:54 +03:00
7c5f67eab8
Upgrade Dice Generator: notation input, advantage/disadvantage, history, D&D presets
emil and Claude Sonnet 4.6
2026-05-09 17:18:16 +03:00
b3069f5374
Update CLAUDE.md to reflect current bilingual architecture
emil and Claude Sonnet 4.6
2026-05-09 17:00:13 +03:00
be6a0d712f
Fix Russian generator pages: use individual pages instead of dynamic route
emil and Claude Sonnet 4.6
2026-05-09 16:57:11 +03:00
65e42e7d44
Add Russian language version of the site
emil and Claude Sonnet 4.6
2026-05-09 16:49:57 +03:00
76d9233faa
feat: remove Update wheel button, wheel updates automatically on input
emil and Claude Sonnet 4.6
2026-05-09 16:10:20 +03:00
6e540fdb12
feat: wheel auto-updates on textarea input with 300ms debounce
emil and Claude Sonnet 4.6
2026-05-09 16:08:41 +03:00
e72312f23f
fix: confetti uses position:fixed to prevent page layout expansion
emil and Claude Sonnet 4.6
2026-05-09 16:06:37 +03:00
3863eb214e
feat: add Spin the Wheel generator
emil and Claude Sonnet 4.6
2026-05-09 16:03:30 +03:00