Toutsu
d762ecc377
fix(data): serialize portfolio future reschedules
2026-06-01 20:58:53 +03:00
Toutsu
a28b75dd5b
fix(data): align portfolio mutation lock order
2026-06-01 20:23:43 +03:00
Toutsu
2b725708ef
test(discord): keep Moscow time parsing fixture in future
2026-06-01 20:00:59 +03:00
Toutsu
da0a306340
fix(data): enforce completed portfolio sessions
2026-06-01 15:04:20 +03:00
Toutsu
f493836b77
fix(data): reject stale portfolio trigger snapshots
2026-06-01 14:39:04 +03:00
Toutsu
6e7a0cb493
fix(data): enforce portfolio validation isolation
2026-06-01 14:28:51 +03:00
Toutsu
76b3ff7ddf
fix(data): serialize portfolio publication validation
2026-06-01 14:12:29 +03:00
Toutsu
536061f63c
docs: sync portfolio task 1 review indexes
2026-06-01 10:04:44 +03:00
Toutsu
f7a12d14d2
docs: document portfolio concurrency hardening plan
2026-06-01 09:56:33 +03:00
Toutsu
3c1a98bcc4
fix(data): harden portfolio publication concurrency
2026-06-01 09:46:18 +03:00
Toutsu
d591e5ed5a
fix(data): protect portfolio publication invariant
2026-06-01 09:20:27 +03:00
Toutsu
5809a470b9
test(data): scope portfolio migration assertions
2026-06-01 09:07:47 +03:00
Toutsu
ed842d2195
test(data): harden portfolio migration contract
2026-05-30 23:37:40 +03:00
Toutsu
a0040ec9fb
test(data): tighten portfolio moderation schema assertion
2026-05-30 23:25:12 +03:00
Toutsu
67b8aafd97
feat(data): add completed game portfolio schema
2026-05-30 23:21:31 +03:00
Toutsu
ac417731d6
docs: plan completed game portfolio implementation
2026-05-30 21:36:05 +03:00
Toutsu
991c7e1965
docs: specify completed game portfolio
2026-05-30 14:16:12 +03:00
Toutsu
0d9df29f58
Merge pull request #116 : feat(web): redesign profile page to match design system
Deploy Telegram Bot / build-and-push (push) Successful in 6m5s
Deploy Telegram Bot / scan-images (push) Successful in 3m44s
Deploy Telegram Bot / deploy (push) Successful in 33s
2026-05-29 15:19:45 +03:00
Toutsu
d54950698a
feat(web): redesign profile page to match design system
...
PR Checks / test-and-build (pull_request) Successful in 12m8s
- Rewrite Profile.razor to use .page-container, .glass-card, .gm-alert,
.btn-gm, .status-badge, .empty-state and other standard design system classes
- Replace custom unstyled markup with breadcrumb, page-header, skeleton loaders
- Add .identity-list styles to app.css for linked accounts section
- Unify visual language with Home, Templates and GroupDetails pages
2026-05-29 15:15:48 +03:00
Toutsu
394bd19b95
Merge pull request #114 : fix(web): restore public game pages
Deploy Telegram Bot / build-and-push (push) Successful in 6m0s
Deploy Telegram Bot / scan-images (push) Successful in 3m30s
Deploy Telegram Bot / deploy (push) Successful in 30s
v3.5.1
2026-05-29 09:40:20 +03:00
Toutsu
b52d4000b4
fix(web): restore public game pages
...
PR Checks / test-and-build (pull_request) Successful in 11m56s
Use the existing group_managers.created_at column when picking owner profile links for public pages.
Bump version -> 3.5.1
2026-05-29 09:27:01 +03:00
Toutsu
b32f962f11
Merge pull request #113 : feat(web): add public master profiles
Deploy Telegram Bot / build-and-push (push) Successful in 6m20s
Deploy Telegram Bot / scan-images (push) Successful in 3m0s
Deploy Telegram Bot / deploy (push) Successful in 28s
v3.5.0
2026-05-29 00:22:43 +03:00
Toutsu
0c1d3abd7e
feat(web): add public master profiles
...
PR Checks / test-and-build (pull_request) Successful in 12m32s
Add sanitized public GM profiles with publication controls, public /gm/{slug} pages, and links from public game surfaces.
Bump version -> 3.5.0
2026-05-29 00:08:14 +03:00
Toutsu
d81564c308
Merge pull request #109 : feat: добавить каталог игр и витрину ваншотов (issue #39 )
Deploy Telegram Bot / build-and-push (push) Successful in 6m52s
Deploy Telegram Bot / scan-images (push) Successful in 3m21s
Deploy Telegram Bot / deploy (push) Successful in 33s
v3.4.0
2026-05-28 17:56:53 +03:00
Toutsu
accb3b2405
fix(web): правильный парсинг query string для ?register=1
...
PR Checks / test-and-build (pull_request) Successful in 12m50s
Заменен Navigation.Uri.Contains() на QueryHelpers.ParseQuery
для корректного определения параметра register без ложных
срабатываний на подстроки (например, register=10).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 17:28:51 +03:00
Toutsu
a63e3bef1e
fix: финальные правки ревью для issue #39
...
PR Checks / test-and-build (pull_request) Successful in 13m16s
- PublicSession.razor: добавлена обработка ?register=1, AuthStateProvider,
TryGetPlatformIdentity, кнопки записи для авторизованных/неавторизованных
пользователей, отображение результата регистрации
- CreateSessionHandler: добавлен cover_image_url в INSERT SQL
- DiscordProjectStructureTests: версия 3.4.0 во всех проверках
- README.md: актуальная версия v3.4.0
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 17:00:33 +03:00
Toutsu
9d9aca53df
chore: bump version to 3.4.0
2026-05-28 16:43:11 +03:00
Toutsu
5b6971fda5
test: consolidate capacity tests, add GameSystem edge cases, remove ShowcaseQueryTests
2026-05-28 16:40:11 +03:00
Toutsu
b496a401fc
test: add GameSystem fuzzy matching and showcase query tests
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 16:33:29 +03:00
Toutsu
76c6818952
fix(shared): add missing Platform parameter in players upsert
2026-05-28 16:28:25 +03:00
Toutsu
633a020212
fix(shared): convert GameSystem to string in SQL, guard rollback after commit
2026-05-28 16:26:54 +03:00
Toutsu
ab38238fe8
feat(shared): extend CreateSessionCommand with showcase metadata
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 16:20:44 +03:00
Toutsu
4145cacc52
fix(web): add session-description styles for public session detail
2026-05-28 16:18:58 +03:00
Toutsu
6d59737d07
feat(web): update public session detail with showcase fields
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 16:13:35 +03:00
Toutsu
71ffcce06b
fix(web): add try/finally, concurrency guard, accessible label, registration link to showcase
2026-05-28 16:07:09 +03:00
Toutsu
72f43dbef2
feat(web): add /showcase catalog page with filters
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 16:00:21 +03:00
Toutsu
a5f4a68c6a
fix(web): add public-session guards and ON CONFLICT to RegisterFromShowcaseAsync
2026-05-28 15:40:21 +03:00
Toutsu
b2497ed877
feat(web): add showcase query and registration methods
2026-05-28 15:27:18 +03:00
Toutsu
9b42ea034a
fix(shared): align GameSystem enum with spec, make TryParseFuzzy nullable and display-name based
2026-05-28 15:06:39 +03:00
Toutsu
f94bea3e74
feat(shared): add GameSystem enum and Showcase DTOs
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 14:58:49 +03:00
Toutsu
cde1e4311f
feat(db): V027 add showcase fields to sessions
2026-05-28 14:46:04 +03:00
Toutsu
847a40815f
docs: add implementation plan for issue #39
2026-05-28 14:41:12 +03:00
Toutsu
6fd03ef836
docs: add design spec for issue #39 game catalog and showcase
2026-05-28 14:31:17 +03:00
Toutsu
c2ccc35e50
Merge pull request #107 : feat: add public club pages
Deploy Telegram Bot / build-and-push (push) Successful in 6m53s
Deploy Telegram Bot / scan-images (push) Successful in 3m39s
Deploy Telegram Bot / deploy (push) Successful in 33s
v3.3.0
2026-05-28 12:38:33 +03:00
Toutsu
3418d1a46c
feat: add public club pages
...
PR Checks / test-and-build (pull_request) Successful in 12m47s
Add publication settings for clubs and sessions, read-only public club/session pages, dashboard controls, privacy-focused public queries, docs, and tests.
Bump version to 3.3.0
2026-05-28 12:23:47 +03:00
Toutsu
fac5d75c7e
Fix Discord co-GM management
Deploy Telegram Bot / build-and-push (push) Successful in 5m58s
Deploy Telegram Bot / scan-images (push) Successful in 3m39s
Deploy Telegram Bot / deploy (push) Successful in 34s
2026-05-27 16:32:47 +03:00
Toutsu
7a2965b43f
fix(bot): add missing DI registrations for shared DeleteSessionHandler and ListSessionsHandler
...
Deploy Telegram Bot / build-and-push (push) Successful in 6m39s
Deploy Telegram Bot / scan-images (push) Successful in 3m26s
Deploy Telegram Bot / deploy (push) Successful in 29s
PR #106 extracted DeleteSessionHandler and ListSessionsHandler to GmRelay.Shared,
but forgot to register the shared implementations in Program.cs. This caused
an InvalidOperationException at startup on Native AOT builds because the Bot
wrappers could not resolve their shared dependencies.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v3.2.0
2026-05-27 15:58:51 +03:00
Toutsu
a0df94fc91
Merge branch 'main' of ssh://git.codeanddice.ru:222/Toutsu/GmRelayBot
Deploy Telegram Bot / build-and-push (push) Successful in 7m11s
Deploy Telegram Bot / scan-images (push) Successful in 3m27s
Deploy Telegram Bot / deploy (push) Failing after 1m3s
2026-05-27 15:19:32 +03:00
Toutsu
79694f7de8
Merge pull request #106 : refactor: extract remaining Telegram handlers to platform-neutral contracts
2026-05-27 15:19:23 +03:00
Toutsu
542f15f2d6
refactor: extract remaining Telegram handlers to platform-neutral contracts
...
PR Checks / test-and-build (pull_request) Successful in 13m48s
- Extract CreateSessionHandler, ListSessionsHandler, DeleteSessionHandler,
ExportCalendarHandler, HandleRescheduleTimeInputHandler,
HandleRescheduleVoteHandler to GmRelay.Shared
- Add IPlatformMessenger methods: SendScheduleAsync, UpdateScheduleAsync,
SendGroupMessageAsync with actions, CreateThreadAsync, DeleteThreadAsync
- Rewrite Telegram Bot wrappers as thin adapters delegating to shared handlers
- Rewrite DiscordRescheduleVoteHandler to use shared HandleRescheduleVoteHandler
- Update UpdateRouter with explicit type aliases for ambiguous handler names
- Add contract and source-inspection tests for extracted handlers
- Bump version 3.1.1 → 3.2.0
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-27 14:52:09 +03:00