Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f3e641458 | ||
|
|
815c5c7b04 | ||
|
|
79e1dc4144 | ||
|
|
cce582df6c | ||
|
|
e6dec1eb95 | ||
|
|
4b78e9edad | ||
|
|
f2afaf60a3 | ||
|
|
2f7453e571 | ||
|
|
701398f627 | ||
|
|
09e947f430 | ||
|
|
75f2dc6972 | ||
|
|
2921e45237 | ||
|
|
5aec915034 | ||
|
|
0bbaa6e3d8 | ||
|
|
25f43ec4e2 | ||
|
|
1f09270329 | ||
|
|
c01c34d3e0 | ||
|
|
659b042de5 | ||
|
|
8eafd504b2 | ||
|
|
3388d70d96 | ||
|
|
fddc40e967 | ||
|
|
1c38df7e74 | ||
|
|
11da171bfb | ||
|
|
592fa4cc3e | ||
|
|
5815b52c4e | ||
|
|
57d56c7f29 | ||
|
|
258f062115 | ||
|
|
fbc011f55e | ||
|
|
5b6247ff7c | ||
|
|
6f2d9aff5d | ||
|
|
38a778f3de | ||
|
|
08161dcdd1 | ||
|
|
de81e54ae1 | ||
|
|
b762e2eb66 | ||
|
|
b71902b686 | ||
|
|
da6208de50 | ||
|
|
da0ee46bc0 | ||
|
|
aaf596a7bc | ||
|
|
5273518908 | ||
|
|
2b57cba3bb | ||
|
|
4a13ba3272 | ||
|
|
d24f978d7e | ||
|
|
1a092e05c1 | ||
|
|
7efe188a9a | ||
|
|
87b35ba067 | ||
|
|
dfca40bb34 | ||
|
|
b22a68bf12 | ||
|
|
375455aac9 | ||
|
|
7c4241fd0e | ||
|
|
ae809cd119 | ||
|
|
f6f1ca05c9 | ||
|
|
2225044795 | ||
|
|
f3993a8315 | ||
|
|
11e7c9578a | ||
|
|
3917934d45 | ||
|
|
36a714d7e2 | ||
|
|
db09f493e9 | ||
|
|
ea77828094 | ||
|
|
25fd24d236 | ||
|
|
23cf7058f0 | ||
|
|
43ea9bc8f3 | ||
|
|
75038780d5 | ||
|
|
8a0e2b5e0f | ||
|
|
0081510914 | ||
|
|
8e0485c215 | ||
|
|
49269f209d | ||
|
|
3d94c99ff9 | ||
|
|
e24a8b744d | ||
|
|
515c4a6168 | ||
|
|
2c400abb0a | ||
|
|
074adaa5e4 | ||
|
|
40bf7dbacf | ||
|
|
87e11655f6 | ||
|
|
1b02227cdd | ||
|
|
8f11c5af43 | ||
|
|
a1cc10d0a2 | ||
|
|
02f9ada193 | ||
|
|
6f8264a0fb | ||
|
|
cbc0a3b545 |
@@ -1,5 +1,4 @@
|
||||
node_modules
|
||||
dist
|
||||
.git
|
||||
.env
|
||||
*.log
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# OAuth - VK ID
|
||||
# Register at https://id.vk.com/about/business/go/
|
||||
VK_CLIENT_ID=
|
||||
VK_CLIENT_SECRET=
|
||||
|
||||
# OAuth - Yandex
|
||||
# Register at https://oauth.yandex.com/
|
||||
YANDEX_CLIENT_ID=
|
||||
YANDEX_CLIENT_SECRET=
|
||||
|
||||
# Database
|
||||
DATABASE_URL=postgresql://dmuser:dmpass@localhost:5432/dmdashboard
|
||||
|
||||
# JWT
|
||||
JWT_SECRET=your-jwt-secret-min-32-chars
|
||||
@@ -7,6 +7,24 @@ on:
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/randify
|
||||
NODE_ENV: test
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
env:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: randify
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -16,8 +34,13 @@ jobs:
|
||||
cache: npm
|
||||
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
- run: npm run test
|
||||
- run: npm run build
|
||||
|
||||
- name: Run database migrations
|
||||
run: npm run db:migrate
|
||||
|
||||
- name: Setup SSH key
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
@@ -25,9 +48,16 @@ jobs:
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
|
||||
|
||||
- name: Deploy via rsync
|
||||
- name: Deploy Node.js app
|
||||
run: |
|
||||
# drizzle/ and src/db/migrate.mjs are needed inside the Docker
|
||||
# build context so the image can apply pending migrations on startup.
|
||||
rsync -avz --delete \
|
||||
-e "ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no" \
|
||||
dist/ \
|
||||
-e "ssh -i ~/.ssh/deploy_key" \
|
||||
dist drizzle src package*.json docker-compose.yml Dockerfile \
|
||||
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:~/www/randify.pro/
|
||||
|
||||
- name: Restart app
|
||||
run: |
|
||||
ssh -i ~/.ssh/deploy_key ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} \
|
||||
"cd ~/www/randify.pro && docker compose down && docker compose up -d --build && sleep 5 && curl -sf http://localhost:4321/api/health || echo 'Health check skipped'"
|
||||
|
||||
@@ -3,3 +3,7 @@ dist/
|
||||
.env
|
||||
*.log
|
||||
.astro/
|
||||
.kimi/
|
||||
node_modules_old/
|
||||
package-lock.json
|
||||
plan.md
|
||||
|
||||
@@ -0,0 +1,445 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"active_work_id": "dm-dashboard-ai-c738b11e",
|
||||
"works": {
|
||||
"critical-refactor-f063daf0": {
|
||||
"work_id": "critical-refactor-f063daf0",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/critical-refactor.md",
|
||||
"plan_name": "critical-refactor",
|
||||
"status": "completed",
|
||||
"started_at": "2026-05-13T16:25:19.266Z",
|
||||
"updated_at": "2026-05-13T18:03:08.059Z",
|
||||
"session_ids": [
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"todo:1": {
|
||||
"task_key": "todo:1",
|
||||
"task_label": "1",
|
||||
"task_title": "Add missing dependencies to package.json",
|
||||
"session_id": "ses_1ddd57501ffeO4NlJDKb2pwLz2",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "writing",
|
||||
"started_at": "2026-05-13T16:27:48.876Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-13T16:33:52.668Z",
|
||||
"ended_at": "2026-05-13T16:33:52.668Z",
|
||||
"elapsed_ms": 363792
|
||||
},
|
||||
"todo:4": {
|
||||
"task_key": "todo:4",
|
||||
"task_label": "4",
|
||||
"task_title": "Create ResultBox.astro shared component",
|
||||
"session_id": "ses_1ddce8961ffeoaXaB2Rxgt684X",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "visual-engineering",
|
||||
"updated_at": "2026-05-13T16:42:05.595Z",
|
||||
"started_at": "2026-05-13T16:40:57.448Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T16:42:05.595Z",
|
||||
"elapsed_ms": 68147
|
||||
},
|
||||
"todo:6": {
|
||||
"task_key": "todo:6",
|
||||
"task_label": "6",
|
||||
"task_title": "Refactor CardGenerator.astro",
|
||||
"session_id": "ses_1ddc76889ffe240ehScl9taAza",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T16:47:10.433Z",
|
||||
"started_at": "2026-05-13T16:44:57.812Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T16:47:10.433Z",
|
||||
"elapsed_ms": 132621
|
||||
},
|
||||
"todo:10": {
|
||||
"task_key": "todo:10",
|
||||
"task_label": "10",
|
||||
"task_title": "Refactor DateGenerator.astro",
|
||||
"session_id": "ses_1ddc380cbffe0YA1da3ew6QlNf",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T17:16:10.363Z",
|
||||
"started_at": "2026-05-13T16:49:43.859Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T17:16:10.363Z",
|
||||
"elapsed_ms": 1586504
|
||||
},
|
||||
"todo:13": {
|
||||
"task_key": "todo:13",
|
||||
"task_label": "13",
|
||||
"task_title": "Refactor GradientGenerator.astro",
|
||||
"session_id": "ses_1dda85f21ffeEGeOWrbqmWAk02",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T17:22:16.123Z",
|
||||
"started_at": "2026-05-13T17:19:45.020Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T17:22:16.123Z",
|
||||
"elapsed_ms": 151103
|
||||
},
|
||||
"todo:17": {
|
||||
"task_key": "todo:17",
|
||||
"task_label": "17",
|
||||
"task_title": "Refactor LoremGenerator.astro",
|
||||
"session_id": "ses_1dda37bf2ffexATCZ3W4Z6EDu1",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T17:25:32.173Z",
|
||||
"started_at": "2026-05-13T17:25:11.269Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T17:25:32.173Z",
|
||||
"elapsed_ms": 20904
|
||||
},
|
||||
"todo:20": {
|
||||
"task_key": "todo:20",
|
||||
"task_label": "20",
|
||||
"task_title": "Refactor MealGenerator.astro",
|
||||
"session_id": "ses_1dda01e38ffeVc6AUwAlt7lQXl",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T17:31:02.031Z",
|
||||
"started_at": "2026-05-13T17:30:26.005Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T17:31:02.031Z",
|
||||
"elapsed_ms": 36026
|
||||
},
|
||||
"todo:24": {
|
||||
"task_key": "todo:24",
|
||||
"task_label": "24",
|
||||
"task_title": "Refactor PasswordGenerator.astro",
|
||||
"session_id": "ses_1dd9b7bb1ffez3Q0aayg7PZUIF",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"updated_at": "2026-05-13T17:34:08.166Z",
|
||||
"started_at": "2026-05-13T17:32:34.652Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-13T17:34:08.166Z",
|
||||
"elapsed_ms": 93514
|
||||
},
|
||||
"todo:27": {
|
||||
"task_key": "todo:27",
|
||||
"task_label": "27",
|
||||
"task_title": "Refactor TeamsGenerator.astro",
|
||||
"session_id": "ses_1dd94b493ffemX2z2dEFdh8W7R",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"started_at": "2026-05-13T17:37:23.881Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-13T17:41:13.262Z",
|
||||
"ended_at": "2026-05-13T17:41:13.262Z",
|
||||
"elapsed_ms": 229381
|
||||
},
|
||||
"final-wave:f1": {
|
||||
"task_key": "final-wave:f1",
|
||||
"task_label": "F1",
|
||||
"task_title": "**Plan Compliance Audit** — `oracle`",
|
||||
"session_id": "ses_1dd81d9e1ffeclA0rP510AXfNB",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "deep",
|
||||
"started_at": "2026-05-13T17:47:58.486Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-13T18:02:13.341Z",
|
||||
"ended_at": "2026-05-13T18:02:13.341Z",
|
||||
"elapsed_ms": 854855
|
||||
}
|
||||
},
|
||||
"ended_at": "2026-05-13T18:03:08.059Z",
|
||||
"elapsed_ms": 5868793
|
||||
},
|
||||
"seo-blog-categories-9c7476b9": {
|
||||
"work_id": "seo-blog-categories-9c7476b9",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/seo-blog-categories.md",
|
||||
"plan_name": "seo-blog-categories",
|
||||
"status": "completed",
|
||||
"started_at": "2026-05-13T23:32:06.345Z",
|
||||
"updated_at": "2026-05-14T00:35:49.637Z",
|
||||
"session_ids": [
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"todo:1": {
|
||||
"task_key": "todo:1",
|
||||
"task_label": "1",
|
||||
"task_title": "test-post.md — extra 9th EN blog post (scope creep)",
|
||||
"session_id": "ses_1dc1d5043ffeFR7r3vy15aTFmv",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "deep",
|
||||
"started_at": "2026-05-13T23:36:41.704Z",
|
||||
"ended_at": "2026-05-14T00:33:08.868Z",
|
||||
"elapsed_ms": 3387164,
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T00:33:08.868Z"
|
||||
},
|
||||
"todo:7": {
|
||||
"task_key": "todo:7",
|
||||
"task_label": "7",
|
||||
"task_title": "Update generatorSchema.ts with category field",
|
||||
"session_id": "ses_1dc1d7618ffeRpk0nnIfvvISQH",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"started_at": "2026-05-13T23:42:40.563Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T00:34:58.498Z",
|
||||
"ended_at": "2026-05-14T00:34:58.498Z",
|
||||
"elapsed_ms": 3137935
|
||||
}
|
||||
},
|
||||
"ended_at": "2026-05-14T00:35:49.637Z",
|
||||
"elapsed_ms": 3823292
|
||||
},
|
||||
"fill-blog-content-fb2229ab": {
|
||||
"work_id": "fill-blog-content-fb2229ab",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/fill-blog-content.md",
|
||||
"plan_name": "fill-blog-content",
|
||||
"status": "completed",
|
||||
"started_at": "2026-05-14T09:06:01.254Z",
|
||||
"updated_at": "2026-05-14T10:11:10.838Z",
|
||||
"ended_at": "2026-05-14T10:11:10.838Z",
|
||||
"elapsed_ms": 7509549,
|
||||
"session_ids": [
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR",
|
||||
"ses_1da346c55ffe2yhgC2v7zqrilE"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1de6ede59ffexUwt5C0sddEWwR": "direct",
|
||||
"ses_1da346c55ffe2yhgC2v7zqrilE": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"todo:1": {
|
||||
"task_key": "todo:1",
|
||||
"task_label": "1",
|
||||
"task_title": "EN — What is Cryptographically Secure Randomness",
|
||||
"session_id": "ses_1da41fec6ffeNQIbWZFz8CVyWF",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "writing",
|
||||
"updated_at": "2026-05-14T09:14:45.203Z",
|
||||
"started_at": "2026-05-14T09:12:23.181Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-14T09:14:45.203Z",
|
||||
"elapsed_ms": 142022
|
||||
},
|
||||
"todo:5": {
|
||||
"task_key": "todo:5",
|
||||
"task_label": "5",
|
||||
"task_title": "EN — RNG in Gaming",
|
||||
"session_id": "ses_1da24e0f5ffeOF5lOCH6y7ITTz",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "writing",
|
||||
"started_at": "2026-05-14T09:21:18.403Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T09:41:37.697Z",
|
||||
"ended_at": "2026-05-14T09:41:37.696Z",
|
||||
"elapsed_ms": 1219293
|
||||
},
|
||||
"todo:9": {
|
||||
"task_key": "todo:9",
|
||||
"task_label": "9",
|
||||
"task_title": "RU — Криптографически стойкая случайность",
|
||||
"session_id": "ses_1da21f28fffeAnOJVgAFQWldSb",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "writing",
|
||||
"updated_at": "2026-05-14T09:53:48.978Z",
|
||||
"started_at": "2026-05-14T09:52:28.114Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-14T09:53:48.978Z",
|
||||
"elapsed_ms": 80864
|
||||
},
|
||||
"todo:13": {
|
||||
"task_key": "todo:13",
|
||||
"task_label": "13",
|
||||
"task_title": "RU — RNG в играх",
|
||||
"session_id": "ses_1da16a3cdffe5O9FyZDLUu2SUM",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "writing",
|
||||
"updated_at": "2026-05-14T10:11:10.838Z",
|
||||
"started_at": "2026-05-14T10:09:51.259Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-14T10:11:10.838Z",
|
||||
"elapsed_ms": 79579
|
||||
}
|
||||
}
|
||||
},
|
||||
"blog-typography-fix-c9cf9be1": {
|
||||
"work_id": "blog-typography-fix-c9cf9be1",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/blog-typography-fix.md",
|
||||
"plan_name": "blog-typography-fix",
|
||||
"status": "completed",
|
||||
"started_at": "2026-05-14T10:23:17.171Z",
|
||||
"updated_at": "2026-05-14T10:25:36.103Z",
|
||||
"ended_at": "2026-05-14T10:25:36.103Z",
|
||||
"elapsed_ms": 127932,
|
||||
"session_ids": [
|
||||
"ses_1da346c55ffe2yhgC2v7zqrilE"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1da346c55ffe2yhgC2v7zqrilE": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"final-wave:f1": {
|
||||
"task_key": "final-wave:f1",
|
||||
"task_label": "F1",
|
||||
"task_title": "Build + Visual Check",
|
||||
"session_id": "ses_1d9fc2935ffesVSRCGlGP4wnCU",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "quick",
|
||||
"updated_at": "2026-05-14T10:25:36.103Z",
|
||||
"started_at": "2026-05-14T10:24:51.820Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-14T10:25:36.103Z",
|
||||
"elapsed_ms": 44283
|
||||
}
|
||||
}
|
||||
},
|
||||
"dm-dashboard-c3118dfa": {
|
||||
"work_id": "dm-dashboard-c3118dfa",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/dm-dashboard.md",
|
||||
"plan_name": "dm-dashboard",
|
||||
"status": "completed",
|
||||
"started_at": "2026-05-14T17:56:40.328Z",
|
||||
"updated_at": "2026-05-14T20:09:11.770Z",
|
||||
"session_ids": [
|
||||
"ses_1d89ad89affe987QEXPgCGcx4S"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1d89ad89affe987QEXPgCGcx4S": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"final-wave:f1": {
|
||||
"task_key": "final-wave:f1",
|
||||
"task_label": "F1",
|
||||
"task_title": "**Plan Compliance Audit** — `oracle`",
|
||||
"session_id": "ses_1d7f26069ffeYjfNhmNuooCc3p",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "quick",
|
||||
"started_at": "2026-05-14T18:05:29.120Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T20:01:43.840Z",
|
||||
"ended_at": "2026-05-14T20:01:43.840Z",
|
||||
"elapsed_ms": 6974720
|
||||
},
|
||||
"final-wave:f2": {
|
||||
"task_key": "final-wave:f2",
|
||||
"task_label": "F2",
|
||||
"task_title": "Code Quality Review (re-run after fixes)",
|
||||
"session_id": "ses_1d7eaed87ffen4vuG6WyFcGh7b",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"started_at": "2026-05-14T19:44:00.709Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T20:07:46.967Z",
|
||||
"ended_at": "2026-05-14T20:07:46.967Z",
|
||||
"elapsed_ms": 1426258
|
||||
},
|
||||
"final-wave:f3": {
|
||||
"task_key": "final-wave:f3",
|
||||
"task_label": "F3",
|
||||
"task_title": "Real Manual QA (re-run after fixes)",
|
||||
"session_id": "ses_1d7eab36dffeC7MQ1w6VXEOAnr",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "unspecified-high",
|
||||
"started_at": "2026-05-14T19:46:49.796Z",
|
||||
"status": "completed",
|
||||
"updated_at": "2026-05-14T20:07:53.184Z",
|
||||
"ended_at": "2026-05-14T20:07:53.184Z",
|
||||
"elapsed_ms": 1263388
|
||||
},
|
||||
"final-wave:f4": {
|
||||
"task_key": "final-wave:f4",
|
||||
"task_label": "F4",
|
||||
"task_title": "Scope Fidelity Check",
|
||||
"session_id": "ses_1d7fd7992ffe3wLZZY1Zj6CrLD",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "deep",
|
||||
"updated_at": "2026-05-14T20:01:50.576Z",
|
||||
"started_at": "2026-05-14T19:50:33.428Z",
|
||||
"status": "completed",
|
||||
"ended_at": "2026-05-14T20:01:50.576Z",
|
||||
"elapsed_ms": 677148
|
||||
}
|
||||
},
|
||||
"ended_at": "2026-05-14T20:09:11.770Z",
|
||||
"elapsed_ms": 7951442
|
||||
},
|
||||
"dm-dashboard-redesign-a1bfaddc": {
|
||||
"work_id": "dm-dashboard-redesign-a1bfaddc",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/dm-dashboard-redesign.md",
|
||||
"plan_name": "dm-dashboard-redesign",
|
||||
"status": "active",
|
||||
"started_at": "2026-05-15T12:32:10.008Z",
|
||||
"updated_at": "2026-05-15T12:32:10.008Z",
|
||||
"session_ids": [
|
||||
"ses_1d6b615cbffe5pqd0AObdil6OK"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1d6b615cbffe5pqd0AObdil6OK": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {}
|
||||
},
|
||||
"dm-dashboard-ai-c738b11e": {
|
||||
"work_id": "dm-dashboard-ai-c738b11e",
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/dm-dashboard-ai.md",
|
||||
"plan_name": "dm-dashboard-ai",
|
||||
"status": "active",
|
||||
"started_at": "2026-05-15T17:58:09.859Z",
|
||||
"updated_at": "2026-05-15T19:37:40.096Z",
|
||||
"session_ids": [
|
||||
"ses_1d3921469ffeQox08ZjNWWJq7u"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1d3921469ffeQox08ZjNWWJq7u": "direct"
|
||||
},
|
||||
"agent": "atlas",
|
||||
"task_sessions": {
|
||||
"final-wave:f1": {
|
||||
"task_key": "final-wave:f1",
|
||||
"task_label": "F1",
|
||||
"task_title": "**Plan Compliance Audit** — `oracle`",
|
||||
"session_id": "ses_1d2e49248ffelY8jx06oXxpWMG",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "deep",
|
||||
"started_at": "2026-05-15T18:24:29.818Z",
|
||||
"status": "running",
|
||||
"updated_at": "2026-05-15T19:37:40.097Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"active_plan": "/home/emil/Desktop/Coding/AI/Randify.pro/.sisyphus/plans/dm-dashboard-ai.md",
|
||||
"started_at": "2026-05-15T17:58:09.859Z",
|
||||
"status": "active",
|
||||
"updated_at": "2026-05-15T19:37:40.096Z",
|
||||
"session_ids": [
|
||||
"ses_1d3921469ffeQox08ZjNWWJq7u"
|
||||
],
|
||||
"session_origins": {
|
||||
"ses_1d3921469ffeQox08ZjNWWJq7u": "direct"
|
||||
},
|
||||
"plan_name": "dm-dashboard-ai",
|
||||
"task_sessions": {
|
||||
"final-wave:f1": {
|
||||
"task_key": "final-wave:f1",
|
||||
"task_label": "F1",
|
||||
"task_title": "**Plan Compliance Audit** — `oracle`",
|
||||
"session_id": "ses_1d2e49248ffelY8jx06oXxpWMG",
|
||||
"agent": "Sisyphus-Junior",
|
||||
"category": "deep",
|
||||
"started_at": "2026-05-15T18:24:29.818Z",
|
||||
"status": "running",
|
||||
"updated_at": "2026-05-15T19:37:40.097Z"
|
||||
}
|
||||
},
|
||||
"agent": "atlas"
|
||||
}
|
||||
|
After Width: | Height: | Size: 39 KiB |
@@ -0,0 +1,77 @@
|
||||
# F3 Manual QA Report — DM Dashboard Redesign
|
||||
|
||||
## Test Environment
|
||||
- **URL**: http://localhost:4321/dm/
|
||||
- **Browser**: Chromium + Mobile Chromium (Pixel 5)
|
||||
- **Dev Server**: Astro dev on localhost:4321
|
||||
|
||||
## Automated Test Suite (Playwright CLI)
|
||||
- **Total tests**: 50
|
||||
- **Passed**: 50
|
||||
- **Failed**: 0
|
||||
- **Projects**: chromium (Desktop Chrome), mobile-chromium (Pixel 5)
|
||||
- **Test files**: smoke.spec.ts, dice.spec.ts, initiative.spec.ts, reference.spec.ts, notes.spec.ts, data-migration.spec.ts
|
||||
|
||||
## Manual QA — Browser Automation Results
|
||||
|
||||
### Scenario 1: Dice Roller
|
||||
- Navigate to `/dm/#dice`
|
||||
- Click d20 button → result appears
|
||||
- Enter custom formula `2d6+3` → roll works
|
||||
- History persists after refresh
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
### Scenario 2: Initiative Tracker
|
||||
- Navigate to `/dm/#initiative`
|
||||
- Add combatant "Гоблин" → appears in list
|
||||
- Add second combatant, click Next Turn → active combatant cycles
|
||||
- Data persists after refresh
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
### Scenario 3: Open5e Reference
|
||||
- Navigate to `/dm/#reference`
|
||||
- Search for "goblin" → results appear
|
||||
- Click result → detail modal opens
|
||||
- Click overlay → modal closes
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
### Scenario 4: Notes Panel
|
||||
- Navigate to `/dm/#notes`
|
||||
- Type text → auto-save indicator appears
|
||||
- Refresh page → text persists in localStorage
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
### Scenario 5: Responsive Desktop (1440px)
|
||||
- Viewport 1440×900
|
||||
- Dice, Initiative, and Reference sections all visible simultaneously
|
||||
- 3-column layout confirmed
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
### Scenario 6: Responsive Mobile (375px)
|
||||
- Viewport 375×812
|
||||
- Tab navigation visible and functional
|
||||
- Single-column layout, tab switching works across all 4 sections
|
||||
- **Status**: PASS | **Console Errors**: none
|
||||
|
||||
## Visual Verification
|
||||
Screenshots captured for all scenarios:
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-dice-roller.png`
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-initiative.png`
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-open5e.png`
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-notes.png`
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-responsive-desktop.png`
|
||||
- `.sisyphus/evidence/f3-screenshots/f3-responsive-mobile.png`
|
||||
|
||||
## Console Errors
|
||||
**None detected** across all manual QA flows and all 50 automated tests.
|
||||
|
||||
## Data Persistence
|
||||
- Dice history: sessionStorage ✅
|
||||
- Initiative tracker: sessionStorage ✅
|
||||
- Notes: localStorage ✅
|
||||
|
||||
---
|
||||
|
||||
## VERDICT: APPROVE
|
||||
|
||||
All 4 DM Dashboard sections (Dice Roller, Initiative Tracker, Open5e Reference, Notes Panel) function correctly. Responsive layouts work on both desktop (1440px) and mobile (375px). No console errors, no broken layouts, all interactive elements respond to input, and data persistence works as expected.
|
||||
|
After Width: | Height: | Size: 175 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 394 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 142 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 49 KiB |
@@ -0,0 +1,25 @@
|
||||
Scenarios [10/11 pass] | Integration [5/6] | Edge Cases [5 tested] | VERDICT: REJECT
|
||||
|
||||
Details:
|
||||
PASS: T2: Tab switching and URL hash — hash=true, keyboardFocused=initiative
|
||||
PASS: T2: Mobile scrollable tabs — allInRow=true, minHeightOk=true, tabCount=4
|
||||
PASS: T2: Initial tab state — aria-selected=true
|
||||
PASS: T9: Dice rolling and history — d20=11(valid=true), 2d6+3=6(valid=true), history=2, empty=true
|
||||
PASS: T9: Critical hit/fail colors — foundCrit=false, foundFail=false, colorClasses=true
|
||||
PASS: T9: Hover and active states — hoverClass=true, activeClass=true
|
||||
PASS: T10: Initiative tracking flow — goblin=true, sorted=true, turnChanged=true, afterDelete=1
|
||||
PASS: T11: Open5e search and detail — results=true, empty=false, searchResults=10, modalOpened=true, modalClosed=true
|
||||
PASS: T11: Empty search state — emptyVisible=true, noResults=true
|
||||
FAIL: T12: Notes auto-save and cross-tab sync — savedVisible=true, savedOpacity=1, chars=16, sync=false, cleared=true
|
||||
PASS: T6: All sections accessible — allAccessible=true
|
||||
PASS: INT-1: Switch between all tabs — urlHashOk=true
|
||||
PASS: INT-2: Roll dice, check history, clear — history=2, empty=true
|
||||
PASS: INT-3: Initiative flow — sorted=true, turnChanged=true, afterDelete=1
|
||||
PASS: INT-4: Open5e search and modal — cards=10, modalOpened=true, modalClosed=true
|
||||
PASS: INT-5: Notes persistence — value="Persistent note test"
|
||||
FAIL: INT-6: Responsive layout — desktop=false, mobile=true, back=false
|
||||
PASS: EDGE-1: Empty states — dice=true, init=true, notes=true
|
||||
PASS: EDGE-2: Rapid tab switching — url=http://localhost:4322/dm/#initiative
|
||||
PASS: EDGE-3: Invalid dice notation — result="?", details="Invalid notation"
|
||||
PASS: EDGE-4: Empty search in Open5e — results=true, empty=false, noError=true
|
||||
PASS: EDGE-5: Clear notes after typing — value="", chars=0
|
||||
|
After Width: | Height: | Size: 153 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 142 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 149 KiB |
|
After Width: | Height: | Size: 144 KiB |
@@ -0,0 +1,69 @@
|
||||
# Final QA Verdict — Wave F3
|
||||
|
||||
## Build Status
|
||||
- 93 pages built, 0 errors
|
||||
- No Zod validation errors
|
||||
|
||||
## Per-Task QA Results
|
||||
|
||||
| Task | Description | Status |
|
||||
|------|-------------|--------|
|
||||
| 1 | Build passes, no Zod errors | PASS |
|
||||
| 2 | `<main>` in about/privacy | PASS |
|
||||
| 3 | Ad block after `<main>` | PASS |
|
||||
| 4 | `hreflang="x-default"` | PASS |
|
||||
| 5 | `<xhtml:link>` in sitemap | PASS |
|
||||
| 6 | OG tags on index + dice | PASS |
|
||||
| 7 | category field in schema | PASS |
|
||||
| 8 | All 28 JSONs have category | PASS |
|
||||
| 9 | Organization schema | PASS |
|
||||
| 10 | dist/404.html exists | PASS |
|
||||
| 11 | @astrojs/rss in package.json | PASS |
|
||||
| 12 | BlogPosting schema in posts | PASS |
|
||||
| 13 | dist/blog/*/index.html exists (9 EN) | PASS |
|
||||
| 14 | dist/ru/blog/*/index.html exists (8 RU) | PASS |
|
||||
| 15 | Blog index pages exist | PASS |
|
||||
| 16 | RSS feeds exist | PASS |
|
||||
| 17 | Gaming category has dice content | PASS |
|
||||
| 18 | Category links on homepage | PASS |
|
||||
| 19 | `aria-label="Breadcrumb"` | PASS |
|
||||
| 20 | Related generators on dice | PASS |
|
||||
| 21 | RelatedPosts on blog pages | PASS |
|
||||
| 22-23 | 9 EN + 8 RU blog posts | PASS |
|
||||
| 24 | Blog link in homepage | PASS |
|
||||
| 25-26 | Breadcrumbs on generator/blog | PASS |
|
||||
|
||||
## Integration Tests
|
||||
|
||||
| Test | Status |
|
||||
|------|--------|
|
||||
| Homepage loads with category pills + generator grid | PASS |
|
||||
| Category page filters correctly (gaming has dice, no password) | PASS |
|
||||
| Blog index lists posts | PASS (but links broken — see bugs) |
|
||||
| Blog post renders with BlogPosting schema | PASS |
|
||||
| RSS feed contains posts | PASS |
|
||||
| Prev/next navigation on blog posts | PASS |
|
||||
| Related posts show on blog pages | PASS |
|
||||
| Related generators show on generator pages | PASS |
|
||||
| 404 page renders | PASS |
|
||||
|
||||
## Edge Cases
|
||||
|
||||
| Test | Status |
|
||||
|------|--------|
|
||||
| RU locale on all pages | PASS |
|
||||
| Empty blog collection | N/A (collection has posts) |
|
||||
| Category with excluded generators | PASS (gaming=6, security=3, etc.) |
|
||||
|
||||
## Bugs Found
|
||||
|
||||
### CRITICAL: Blog Index Broken Links
|
||||
- **EN blog index** links to `/blog/en/<slug>/` but posts exist at `/blog/<slug>/`
|
||||
- **RU blog index** links to `/ru/blog/ru/<slug>/` but posts exist at `/ru/blog/<slug>/`
|
||||
- **Impact**: All blog index links are 404s
|
||||
- **Root cause**: `post.slug` includes locale prefix (e.g. `en/color-theory-palettes`) in the blog collection
|
||||
- **Isolated to**: Blog index pages only. Individual post prev/next and RelatedPosts links are correct.
|
||||
|
||||
## Score
|
||||
|
||||
Scenarios 26/26 pass | Integration 8/9 pass | Edge Cases 2/2 tested | VERDICT: CONDITIONAL PASS
|
||||
@@ -0,0 +1,42 @@
|
||||
=== Playwright E2E Infrastructure Verification ===
|
||||
Date: 2026-05-15
|
||||
Task: T0 - Verify and configure Playwright E2E test infrastructure
|
||||
|
||||
---
|
||||
1. npx playwright test --list
|
||||
---
|
||||
Listing tests:
|
||||
[chromium] › dm/smoke.spec.ts:4:3 › DM Dashboard Smoke Tests › /dm/ loads without errors
|
||||
[chromium] › dm/smoke.spec.ts:11:3 › DM Dashboard Smoke Tests › /ru/dm/ loads without errors
|
||||
[mobile-chromium] › dm/smoke.spec.ts:4:3 › DM Dashboard Smoke Tests › /dm/ loads without errors
|
||||
[mobile-chromium] › dm/smoke.spec.ts:11:3 › DM Dashboard Smoke Tests › /ru/dm/ loads without errors
|
||||
Total: 4 tests in 1 file
|
||||
|
||||
---
|
||||
2. npx playwright test tests/dm/smoke.spec.ts
|
||||
---
|
||||
Running 4 tests using 4 workers
|
||||
|
||||
✓ 3 [chromium] › tests/dm/smoke.spec.ts:11:3 › DM Dashboard Smoke Tests › /ru/dm/ loads without errors (2.9s)
|
||||
✓ 4 [mobile-chromium] › tests/dm/smoke.spec.ts:11:3 › DM Dashboard Smoke Tests › /ru/dm/ loads without errors (3.1s)
|
||||
✓ 1 [mobile-chromium] › tests/dm/smoke.spec.ts:4:3 › DM Dashboard Smoke Tests › /dm/ loads without errors (3.1s)
|
||||
✓ 2 [chromium] › tests/dm/smoke.spec.ts:4:3 › DM Dashboard Smoke Tests › /dm/ loads without errors (3.2s)
|
||||
|
||||
4 passed (8.4s)
|
||||
|
||||
---
|
||||
Summary
|
||||
---
|
||||
- playwright.config.ts: EXISTING, VALID
|
||||
- testDir: ./tests
|
||||
- baseURL: http://localhost:4321
|
||||
- fullyParallel: true
|
||||
- projects: chromium, mobile-chromium
|
||||
- webServer: npm run dev, reuseExistingServer: !CI
|
||||
- package.json scripts:
|
||||
- test:e2e: playwright test (ADDED)
|
||||
- test:ui: playwright test (PRESERVED)
|
||||
- Smoke test created: tests/dm/smoke.spec.ts
|
||||
- /dm/ loads without errors (title contains "DM Dashboard")
|
||||
- /ru/dm/ loads without errors (title contains "DM Dashboard")
|
||||
- Result: ALL TESTS PASS (4/4)
|
||||
@@ -0,0 +1 @@
|
||||
{"status":"ok"}
|
||||
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,605 @@
|
||||
|
||||
> randify@0.0.1 build
|
||||
> astro build
|
||||
|
||||
16:06:25 [types] Generated 474ms
|
||||
16:06:25 [build] output: "hybrid"
|
||||
16:06:25 [build] directory: /home/emil/Desktop/Coding/AI/Randify.pro/dist/
|
||||
16:06:25 [build] adapter: @astrojs/node
|
||||
16:06:25 [build] Collecting build info...
|
||||
16:06:25 [build] ✓ Completed in 521ms.
|
||||
16:06:25 [build] Building hybrid entrypoints...
|
||||
16:06:29 [vite] ✓ built in 4.38s
|
||||
16:06:29 [build] ✓ Completed in 4.43s.
|
||||
|
||||
building client (vite)
|
||||
16:06:29 [vite] transforming...
|
||||
16:06:29 [vite] ✓ 83 modules transformed.
|
||||
16:06:29 [vite] rendering chunks...
|
||||
16:06:29 [vite] computing gzip size...
|
||||
16:06:29 [vite] dist/client/_astro/animations.JKmio82t.js 0.19 kB │ gzip: 0.13 kB
|
||||
16:06:29 [vite] dist/client/_astro/validation.plcuGzaj.js 0.20 kB │ gzip: 0.16 kB
|
||||
16:06:29 [vite] dist/client/_astro/clipboard.v9BZgIeL.js 0.43 kB │ gzip: 0.22 kB
|
||||
16:06:29 [vite] dist/client/_astro/random.PhfdigkC.js 0.50 kB │ gzip: 0.31 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.CFrvq8IZ.js 0.87 kB │ gzip: 0.55 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.DeuEhRu-.js 1.20 kB │ gzip: 0.60 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.CDqNCJbh.js 1.35 kB │ gzip: 0.70 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.PmXvumdK.js 1.45 kB │ gzip: 0.82 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.D82rtlIG.js 1.54 kB │ gzip: 0.84 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.CBL-zfRu.js 1.60 kB │ gzip: 0.80 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.ChTmcvxE.js 1.61 kB │ gzip: 0.72 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.B3IGpv9b.js 1.62 kB │ gzip: 0.80 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.CcnzwbSI.js 1.70 kB │ gzip: 0.90 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.Ctqpdo5m.js 1.71 kB │ gzip: 0.85 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.Dk2zSKc8.js 1.73 kB │ gzip: 0.98 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.C2xv_bfE.js 1.86 kB │ gzip: 1.04 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.DEA5quja.js 1.96 kB │ gzip: 0.94 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BFWROTcs.js 2.16 kB │ gzip: 1.06 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.D3o68Cb5.js 2.30 kB │ gzip: 1.14 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.C2hEIf7W.js 2.85 kB │ gzip: 1.69 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BPWMU8Hf.js 2.88 kB │ gzip: 1.40 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.D0K3hqdU.js 3.91 kB │ gzip: 1.94 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BYkrZFZ1.js 4.07 kB │ gzip: 1.69 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.Ccfod4c9.js 4.27 kB │ gzip: 1.95 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.C3FdK1i-.js 4.50 kB │ gzip: 1.96 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BIopzZUx.js 4.76 kB │ gzip: 1.96 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.C4XJaAq2.js 5.24 kB │ gzip: 2.18 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BjwopM0U.js 7.16 kB │ gzip: 2.53 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.v_hq36aE.js 9.68 kB │ gzip: 3.83 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.iGyTjoKm.js 10.89 kB │ gzip: 3.88 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.C_iAN1Og.js 11.80 kB │ gzip: 2.75 kB
|
||||
16:06:29 [vite] dist/client/_astro/i18n.ByZTyuwN.js 12.13 kB │ gzip: 6.14 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.BI9nWQCa.js 26.98 kB │ gzip: 7.71 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.DlpuYXZt.js 35.52 kB │ gzip: 17.44 kB
|
||||
16:06:29 [vite] dist/client/_astro/hoisted.DDZr0hhq.js 45.23 kB │ gzip: 14.57 kB
|
||||
16:06:29 [vite] ✓ built in 509ms
|
||||
|
||||
prerendering static routes
|
||||
16:06:31 ▶ src/pages/404.astro
|
||||
16:06:31 └─ /404.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+21ms)
|
||||
16:06:31 ▶ src/pages/about.astro
|
||||
16:06:31 └─ /about/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/blog/[slug].astro
|
||||
16:06:31 ├─ /blog/uuid-vs-sequential-ids/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+13ms)
|
||||
16:06:31 ├─ /blog/color-theory-palettes/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+9ms)
|
||||
16:06:31 ├─ /blog/random-team-picker/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+9ms)
|
||||
16:06:31 ├─ /blog/rng-in-gaming/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+8ms)
|
||||
16:06:31 ├─ /blog/psychology-of-randomness/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+9ms)
|
||||
16:06:31 ├─ /blog/dice-notation-explained/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+12ms)
|
||||
16:06:31 ├─ /blog/how-to-create-strong-passwords/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+12ms)
|
||||
16:06:31 └─ /blog/what-is-cryptographically-secure-randomness/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+8ms)
|
||||
16:06:31 ▶ src/pages/blog/index.astro
|
||||
16:06:31 └─ /blog/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ▶ src/pages/generators/cards.astro
|
||||
16:06:31 └─ /generators/cards/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ▶ src/pages/generators/category/[category].astro
|
||||
16:06:31 ├─ /generators/category/gaming/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ├─ /generators/category/security/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ├─ /generators/category/decision-making/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ├─ /generators/category/creative/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 └─ /generators/category/utility/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/coin.astro
|
||||
16:06:31 └─ /generators/coin/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/colors.astro
|
||||
16:06:31 └─ /generators/colors/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/country.astro
|
||||
16:06:31 └─ /generators/country/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/date.astro
|
||||
16:06:31 └─ /generators/date/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/dice.astro
|
||||
16:06:31 └─ /generators/dice/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/emoji.astro
|
||||
16:06:31 └─ /generators/emoji/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/fontpair.astro
|
||||
16:06:31 └─ /generators/fontpair/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/gradient.astro
|
||||
16:06:31 └─ /generators/gradient/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/hash.astro
|
||||
16:06:31 └─ /generators/hash/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/letter.astro
|
||||
16:06:31 └─ /generators/letter/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/list.astro
|
||||
16:06:31 └─ /generators/list/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/lorem.astro
|
||||
16:06:31 └─ /generators/lorem/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/lottery.astro
|
||||
16:06:31 └─ /generators/lottery/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ▶ src/pages/generators/magic8ball.astro
|
||||
16:06:31 └─ /generators/magic8ball/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/meal.astro
|
||||
16:06:31 └─ /generators/meal/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/names.astro
|
||||
16:06:31 └─ /generators/names/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/numbers.astro
|
||||
16:06:31 └─ /generators/numbers/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/palette.astro
|
||||
16:06:31 └─ /generators/palette/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/password.astro
|
||||
16:06:31 └─ /generators/password/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/rps.astro
|
||||
16:06:31 └─ /generators/rps/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/shuffler.astro
|
||||
16:06:31 └─ /generators/shuffler/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/teams.astro
|
||||
16:06:31 └─ /generators/teams/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/time.astro
|
||||
16:06:31 └─ /generators/time/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/generators/uuid.astro
|
||||
16:06:31 └─ /generators/uuid/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/weighted.astro
|
||||
16:06:31 └─ /generators/weighted/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/generators/wheel.astro
|
||||
16:06:31 └─ /generators/wheel/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/generators/yesno.astro
|
||||
16:06:31 └─ /generators/yesno/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/privacy.astro
|
||||
16:06:31 └─ /privacy/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 λ src/pages/rss.xml.ts
|
||||
16:06:31 └─ /rss.xml16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+12ms)
|
||||
16:06:31 ▶ src/pages/ru/404.astro
|
||||
16:06:31 └─ /ru/404/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/about.astro
|
||||
16:06:31 └─ /ru/about/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/blog/[slug].astro
|
||||
16:06:31 ├─ /ru/blog/uuid-vs-sequential-ids/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+7ms)
|
||||
16:06:31 ├─ /ru/blog/color-theory-guide/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ├─ /ru/blog/random-team-selection/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+7ms)
|
||||
16:06:31 ├─ /ru/blog/rng-in-gaming/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+7ms)
|
||||
16:06:31 ├─ /ru/blog/psychology-of-randomness/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ├─ /ru/blog/dice-notation-guide/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ├─ /ru/blog/how-to-create-strong-passwords/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+8ms)
|
||||
16:06:31 └─ /ru/blog/what-is-cryptographically-secure-randomness/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+7ms)
|
||||
16:06:31 ▶ src/pages/ru/blog/index.astro
|
||||
16:06:31 └─ /ru/blog/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/cards.astro
|
||||
16:06:31 └─ /ru/generators/cards/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/category/[category].astro
|
||||
16:06:31 ├─ /ru/generators/category/gaming/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ├─ /ru/generators/category/security/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ├─ /ru/generators/category/decision-making/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ├─ /ru/generators/category/creative/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 └─ /ru/generators/category/utility/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/coin.astro
|
||||
16:06:31 └─ /ru/generators/coin/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/colors.astro
|
||||
16:06:31 └─ /ru/generators/colors/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/country.astro
|
||||
16:06:31 └─ /ru/generators/country/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/date.astro
|
||||
16:06:31 └─ /ru/generators/date/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/dice.astro
|
||||
16:06:31 └─ /ru/generators/dice/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/emoji.astro
|
||||
16:06:31 └─ /ru/generators/emoji/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+12ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/fontpair.astro
|
||||
16:06:31 └─ /ru/generators/fontpair/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/gradient.astro
|
||||
16:06:31 └─ /ru/generators/gradient/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/hash.astro
|
||||
16:06:31 └─ /ru/generators/hash/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/letter.astro
|
||||
16:06:31 └─ /ru/generators/letter/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/list.astro
|
||||
16:06:31 └─ /ru/generators/list/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/lorem.astro
|
||||
16:06:31 └─ /ru/generators/lorem/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/lottery.astro
|
||||
16:06:31 └─ /ru/generators/lottery/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/magic8ball.astro
|
||||
16:06:31 └─ /ru/generators/magic8ball/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/meal.astro
|
||||
16:06:31 └─ /ru/generators/meal/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/names.astro
|
||||
16:06:31 └─ /ru/generators/names/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/numbers.astro
|
||||
16:06:31 └─ /ru/generators/numbers/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/palette.astro
|
||||
16:06:31 └─ /ru/generators/palette/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/password.astro
|
||||
16:06:31 └─ /ru/generators/password/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/rps.astro
|
||||
16:06:31 └─ /ru/generators/rps/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/shuffler.astro
|
||||
16:06:31 └─ /ru/generators/shuffler/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/teams.astro
|
||||
16:06:31 └─ /ru/generators/teams/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/time.astro
|
||||
16:06:31 └─ /ru/generators/time/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/uuid.astro
|
||||
16:06:31 └─ /ru/generators/uuid/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/weighted.astro
|
||||
16:06:31 └─ /ru/generators/weighted/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/wheel.astro
|
||||
16:06:31 └─ /ru/generators/wheel/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+3ms)
|
||||
16:06:31 ▶ src/pages/ru/generators/yesno.astro
|
||||
16:06:31 └─ /ru/generators/yesno/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ▶ src/pages/ru/privacy.astro
|
||||
16:06:31 └─ /ru/privacy/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+2ms)
|
||||
16:06:31 λ src/pages/ru/rss.xml.ts
|
||||
16:06:31 └─ /ru/rss.xml16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+5ms)
|
||||
16:06:31 ▶ src/pages/ru/index.astro
|
||||
16:06:31 └─ /ru/index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+6ms)
|
||||
16:06:31 ▶ src/pages/index.astro
|
||||
16:06:31 └─ /index.html16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] Cookie header: none
|
||||
16:06:31 [WARN] `Astro.request.headers` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that `output` is configured as either `"server"` or `output: "hybrid"` in your config file, and that the page accessing the headers is rendered on-demand.
|
||||
[Middleware] No auth_token cookie found
|
||||
(+4ms)
|
||||
16:06:31 ✓ Completed in 1.89s.
|
||||
|
||||
16:06:31 [build] Rearranging server assets...
|
||||
16:06:31 [@astrojs/sitemap] `sitemap-index.xml` created at `dist/client`
|
||||
16:06:31 [build] Server built in 7.42s
|
||||
16:06:31 [build] Complete!
|
||||
@@ -0,0 +1,41 @@
|
||||
# T18 — Data Migration Verification
|
||||
|
||||
## Test Setup
|
||||
- Pre-populated `sessionStorage` with old-format dice history and initiative data.
|
||||
- Pre-populated `localStorage` with old-format notes.
|
||||
- Ran Playwright tests against `/dm/#dice`, `/dm/#initiative`, `/dm/#notes` on both desktop and mobile viewports.
|
||||
|
||||
## Results
|
||||
|
||||
### Dice History (`dm-dice-history`)
|
||||
**Status:** INCOMPATIBLE
|
||||
- Old format uses `result` instead of `total` and omits `rolls`.
|
||||
- `renderHistory()` calls `entry.rolls.includes(20)`, which throws when `rolls` is undefined.
|
||||
- The uncaught exception aborts rendering, leaving the history list empty.
|
||||
- **Evidence:** Playwright test confirms empty state is visible and 0 history items rendered.
|
||||
|
||||
### Initiative Tracker (`dm-initiative`)
|
||||
**Status:** PARTIALLY COMPATIBLE
|
||||
- Old format stores `name`, `modifier`, `initiative`, `active` but lacks `id` and `hp`.
|
||||
- The list renders correctly (name and initiative score display).
|
||||
- **Broken:** Delete button does nothing because `deleteCombatant()` cannot match a missing `id`.
|
||||
- **Evidence:** Playwright test confirms the combatant renders and survives a delete click.
|
||||
|
||||
### Notes (`dm-notes`)
|
||||
**Status:** FULLY COMPATIBLE
|
||||
- Old format stores a plain string; new `loadNotes()` reads the same key unchanged.
|
||||
- Textarea populates correctly from `localStorage`.
|
||||
- **Evidence:** Playwright test confirms textarea value matches old data.
|
||||
|
||||
## Summary
|
||||
| Feature | Compatibility |
|
||||
|---------|---------------|
|
||||
| Dice history | Broken — missing `total`/`rolls` fields cause JS error |
|
||||
| Initiative | Loads but delete is broken due to missing `id` |
|
||||
| Notes | Fully compatible |
|
||||
|
||||
## Commands Run
|
||||
```bash
|
||||
npx playwright test tests/dm/data-migration.spec.ts
|
||||
```
|
||||
All 6 tests passed (3 scenarios × 2 viewports).
|
||||
@@ -0,0 +1,11 @@
|
||||
|
||||
Running 6 tests using 6 workers
|
||||
|
||||
✓ 3 [chromium] › tests/dm/data-migration.spec.ts:63:3 › Data Migration › notes old data loads correctly (2.9s)
|
||||
✓ 2 [chromium] › tests/dm/data-migration.spec.ts:38:3 › Data Migration › initiative old data loads with broken delete (3.7s)
|
||||
✓ 1 [chromium] › tests/dm/data-migration.spec.ts:25:3 › Data Migration › dice history old data is incompatible (3.8s)
|
||||
✓ 5 [mobile-chromium] › tests/dm/data-migration.spec.ts:63:3 › Data Migration › notes old data loads correctly (4.4s)
|
||||
✓ 4 [mobile-chromium] › tests/dm/data-migration.spec.ts:38:3 › Data Migration › initiative old data loads with broken delete (4.5s)
|
||||
✓ 6 [mobile-chromium] › tests/dm/data-migration.spec.ts:25:3 › Data Migration › dice history old data is incompatible (5.2s)
|
||||
|
||||
6 passed (6.8s)
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
> randify@0.0.1 test
|
||||
> vitest run
|
||||
|
||||
|
||||
RUN v4.1.5 /home/emil/Desktop/Coding/AI/Randify.pro
|
||||
|
||||
|
||||
Test Files 10 passed (10)
|
||||
Tests 148 passed (148)
|
||||
Start at 16:06:50
|
||||
Duration 1.10s (transform 1.38s, setup 388ms, import 1.57s, tests 283ms, environment 5.30s)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
src/pages/rss.xml.ts(10,6): error TS7006: Parameter 'post' implicitly has an 'any' type.
|
||||
src/pages/rss.xml.ts(18,25): error TS7006: Parameter 'post' implicitly has an 'any' type.
|
||||
src/pages/ru/rss.xml.ts(10,6): error TS7006: Parameter 'post' implicitly has an 'any' type.
|
||||
src/pages/ru/rss.xml.ts(18,25): error TS7006: Parameter 'post' implicitly has an 'any' type.
|
||||
@@ -0,0 +1,185 @@
|
||||
|
||||
> randify@0.0.1 build
|
||||
> astro build
|
||||
|
||||
02:36:15 [types] Generated 342ms
|
||||
02:36:15 [build] output: "static"
|
||||
02:36:15 [build] directory: /home/emil/Desktop/Coding/AI/Randify.pro/dist/
|
||||
02:36:15 [build] Collecting build info...
|
||||
02:36:15 [build] ✓ Completed in 368ms.
|
||||
02:36:15 [build] Building static entrypoints...
|
||||
02:36:17 [vite] ✓ built in 2.10s
|
||||
02:36:17 [build] ✓ Completed in 2.15s.
|
||||
|
||||
building client (vite)
|
||||
02:36:17 [vite] transforming...
|
||||
02:36:17 [vite] ✓ 71 modules transformed.
|
||||
02:36:17 [vite] rendering chunks...
|
||||
02:36:17 [vite] computing gzip size...
|
||||
02:36:17 [vite] dist/_astro/hoisted.BKKrxAht.js 0.16 kB │ gzip: 0.15 kB
|
||||
02:36:17 [vite] dist/_astro/animations.JKmio82t.js 0.19 kB │ gzip: 0.13 kB
|
||||
02:36:17 [vite] dist/_astro/validation.plcuGzaj.js 0.20 kB │ gzip: 0.16 kB
|
||||
02:36:17 [vite] dist/_astro/clipboard.v9BZgIeL.js 0.43 kB │ gzip: 0.22 kB
|
||||
02:36:17 [vite] dist/_astro/random.PhfdigkC.js 0.50 kB │ gzip: 0.31 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.B5m2ZYh6.js 0.90 kB │ gzip: 0.56 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CdG8uTdI.js 1.23 kB │ gzip: 0.61 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CT9HX5_Y.js 1.38 kB │ gzip: 0.72 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.Cb7Tv2oN.js 1.48 kB │ gzip: 0.83 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.D82rtlIG.js 1.54 kB │ gzip: 0.84 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.uArMeWBD.js 1.63 kB │ gzip: 0.81 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CwDo-_-Z.js 1.64 kB │ gzip: 0.73 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.j6ibv0wb.js 1.65 kB │ gzip: 0.81 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.BEwWV8JC.js 1.73 kB │ gzip: 0.90 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.6rLeMLDm.js 1.74 kB │ gzip: 0.86 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.DOtqogeQ.js 1.76 kB │ gzip: 0.99 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CHG7AXVP.js 1.89 kB │ gzip: 1.05 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.DnGtBYme.js 1.99 kB │ gzip: 0.95 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.hrxZZFEF.js 2.19 kB │ gzip: 1.07 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CjZD7f2g.js 2.33 kB │ gzip: 1.15 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.qLZXl1Do.js 2.88 kB │ gzip: 1.70 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.BKosNXxl.js 2.91 kB │ gzip: 1.41 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CpSL7HYx.js 3.94 kB │ gzip: 1.95 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.DmqdUAAB.js 4.10 kB │ gzip: 1.70 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.COsV1Syq.js 4.30 kB │ gzip: 1.96 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.Ftg8tUcf.js 4.53 kB │ gzip: 1.97 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.3XDY-7Px.js 4.79 kB │ gzip: 1.97 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.mRfAHLMS.js 5.27 kB │ gzip: 2.20 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.B7vaoHN9.js 7.19 kB │ gzip: 2.54 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.DU8tsC8l.js 9.71 kB │ gzip: 3.84 kB
|
||||
02:36:17 [vite] dist/_astro/i18n.DYCg5-VL.js 10.76 kB │ gzip: 5.53 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.ChvQAxmv.js 10.92 kB │ gzip: 3.89 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.DdCnpAKh.js 11.83 kB │ gzip: 2.76 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.CvjQ9xHL.js 35.55 kB │ gzip: 17.46 kB
|
||||
02:36:17 [vite] dist/_astro/hoisted.Bdx021zL.js 45.26 kB │ gzip: 14.58 kB
|
||||
02:36:17 [vite] ✓ built in 438ms
|
||||
|
||||
generating static routes
|
||||
02:36:18 ▶ src/pages/about.astro
|
||||
02:36:18 └─ /about/index.html (+11ms)
|
||||
02:36:18 ▶ src/pages/generators/cards.astro
|
||||
02:36:18 └─ /generators/cards/index.html (+6ms)
|
||||
02:36:18 ▶ src/pages/generators/coin.astro
|
||||
02:36:18 └─ /generators/coin/index.html (+4ms)
|
||||
02:36:18 ▶ src/pages/generators/colors.astro
|
||||
02:36:18 └─ /generators/colors/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/generators/country.astro
|
||||
02:36:18 └─ /generators/country/index.html (+4ms)
|
||||
02:36:18 ▶ src/pages/generators/date.astro
|
||||
02:36:18 └─ /generators/date/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/dice.astro
|
||||
02:36:18 └─ /generators/dice/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/generators/emoji.astro
|
||||
02:36:18 └─ /generators/emoji/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/generators/fontpair.astro
|
||||
02:36:18 └─ /generators/fontpair/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/generators/gradient.astro
|
||||
02:36:18 └─ /generators/gradient/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/hash.astro
|
||||
02:36:18 └─ /generators/hash/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/letter.astro
|
||||
02:36:18 └─ /generators/letter/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/list.astro
|
||||
02:36:18 └─ /generators/list/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/lorem.astro
|
||||
02:36:18 └─ /generators/lorem/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/lottery.astro
|
||||
02:36:18 └─ /generators/lottery/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/magic8ball.astro
|
||||
02:36:18 └─ /generators/magic8ball/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/meal.astro
|
||||
02:36:18 └─ /generators/meal/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/names.astro
|
||||
02:36:18 └─ /generators/names/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/generators/numbers.astro
|
||||
02:36:18 └─ /generators/numbers/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/palette.astro
|
||||
02:36:18 └─ /generators/palette/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/password.astro
|
||||
02:36:18 └─ /generators/password/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/rps.astro
|
||||
02:36:18 └─ /generators/rps/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/shuffler.astro
|
||||
02:36:18 └─ /generators/shuffler/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/teams.astro
|
||||
02:36:18 └─ /generators/teams/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/time.astro
|
||||
02:36:18 └─ /generators/time/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/uuid.astro
|
||||
02:36:18 └─ /generators/uuid/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/weighted.astro
|
||||
02:36:18 └─ /generators/weighted/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/wheel.astro
|
||||
02:36:18 └─ /generators/wheel/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/generators/yesno.astro
|
||||
02:36:18 └─ /generators/yesno/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/privacy.astro
|
||||
02:36:18 └─ /privacy/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/about.astro
|
||||
02:36:18 └─ /ru/about/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/cards.astro
|
||||
02:36:18 └─ /ru/generators/cards/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/coin.astro
|
||||
02:36:18 └─ /ru/generators/coin/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/colors.astro
|
||||
02:36:18 └─ /ru/generators/colors/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/country.astro
|
||||
02:36:18 └─ /ru/generators/country/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/date.astro
|
||||
02:36:18 └─ /ru/generators/date/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/dice.astro
|
||||
02:36:18 └─ /ru/generators/dice/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/emoji.astro
|
||||
02:36:18 └─ /ru/generators/emoji/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/fontpair.astro
|
||||
02:36:18 └─ /ru/generators/fontpair/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/gradient.astro
|
||||
02:36:18 └─ /ru/generators/gradient/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/hash.astro
|
||||
02:36:18 └─ /ru/generators/hash/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/letter.astro
|
||||
02:36:18 └─ /ru/generators/letter/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/list.astro
|
||||
02:36:18 └─ /ru/generators/list/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/lorem.astro
|
||||
02:36:18 └─ /ru/generators/lorem/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/lottery.astro
|
||||
02:36:18 └─ /ru/generators/lottery/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/magic8ball.astro
|
||||
02:36:18 └─ /ru/generators/magic8ball/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/meal.astro
|
||||
02:36:18 └─ /ru/generators/meal/index.html (+3ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/names.astro
|
||||
02:36:18 └─ /ru/generators/names/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/numbers.astro
|
||||
02:36:18 └─ /ru/generators/numbers/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/palette.astro
|
||||
02:36:18 └─ /ru/generators/palette/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/password.astro
|
||||
02:36:18 └─ /ru/generators/password/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/rps.astro
|
||||
02:36:18 └─ /ru/generators/rps/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/shuffler.astro
|
||||
02:36:18 └─ /ru/generators/shuffler/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/teams.astro
|
||||
02:36:18 └─ /ru/generators/teams/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/time.astro
|
||||
02:36:18 └─ /ru/generators/time/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/uuid.astro
|
||||
02:36:18 └─ /ru/generators/uuid/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/weighted.astro
|
||||
02:36:18 └─ /ru/generators/weighted/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/wheel.astro
|
||||
02:36:18 └─ /ru/generators/wheel/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/generators/yesno.astro
|
||||
02:36:18 └─ /ru/generators/yesno/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/privacy.astro
|
||||
02:36:18 └─ /ru/privacy/index.html (+2ms)
|
||||
02:36:18 ▶ src/pages/ru/index.astro
|
||||
02:36:18 └─ /ru/index.html (+4ms)
|
||||
02:36:18 ▶ src/pages/index.astro
|
||||
02:36:18 └─ /index.html (+3ms)
|
||||
02:36:18 ✓ Completed in 381ms.
|
||||
|
||||
02:36:18 [@astrojs/sitemap] `sitemap-index.xml` created at `dist`
|
||||
02:36:18 [build] 62 page(s) built in 3.40s
|
||||
02:36:18 [build] Complete!
|
||||
@@ -0,0 +1,28 @@
|
||||
Task 10: Custom 404 Pages (EN + RU)
|
||||
Date: 2026-05-14
|
||||
Status: COMPLETE
|
||||
|
||||
Files created:
|
||||
- src/pages/404.astro
|
||||
- src/pages/ru/404.astro
|
||||
|
||||
Files modified:
|
||||
- src/i18n/translations.ts (added notFoundTitle, notFoundMessage, backToHome, blog keys)
|
||||
|
||||
Build verification:
|
||||
- npm run build: PASS
|
||||
- Total pages: 64 (62 existing + 2x 404)
|
||||
- dist/404.html exists (Astro outputs root 404 as 404.html for static host compatibility)
|
||||
- dist/ru/404/index.html exists
|
||||
|
||||
Content verified:
|
||||
- EN page contains "Page Not Found"
|
||||
- RU page contains "Страница не найдена"
|
||||
- Both pages include breadcrumb back to home, friendly message, and links to home + blog
|
||||
|
||||
Key patterns used:
|
||||
- BaseLayout with title/description props
|
||||
- Locale detection via Astro.currentLocale
|
||||
- Translation keys via useT(lang)
|
||||
- Identical EN/RU template files (locale-aware links computed from lang variable)
|
||||
- JSON-LD WebPage schema injected via slot="head"
|
||||
@@ -0,0 +1,10 @@
|
||||
Task 11: Install @astrojs/rss and set up content collections config
|
||||
|
||||
- Package installed: @astrojs/rss (added 9 packages, 511 total)
|
||||
- File updated: src/content/config.ts
|
||||
- Imported z from astro:content
|
||||
- Added blog collection with type: "content"
|
||||
- Blog schema fields: title (max 120), description (max 160), pubDate, modDate (optional), draft (default false), lang (en/ru), category (tutorial/guide/news/tips), tags (default []), ogImage (optional, image()), relatedGenerators (optional), relatedPosts (optional)
|
||||
- Preserved existing generators collection (type: "data", schema: generatorSchema)
|
||||
- Directories created: src/content/blog/en/ and src/content/blog/ru/
|
||||
- Build verification: npm run build passed with 64 pages, 0 errors
|
||||
@@ -0,0 +1,38 @@
|
||||
Task 12: BlogLayout.astro with BlogPosting JSON-LD and Article OG Meta Tags
|
||||
|
||||
Verification: npm run build — PASSED (64 pages built)
|
||||
|
||||
File: src/layouts/BlogLayout.astro
|
||||
|
||||
Features implemented:
|
||||
1. Wraps BaseLayout, passing title, description, ogImage.
|
||||
2. Injects BlogPosting JSON-LD schema via slot="head" with:
|
||||
- @type: BlogPosting
|
||||
- headline (from title prop)
|
||||
- author: Organization { name: "Randify" }
|
||||
- publisher: Organization { name: "Randify", logo: ImageObject }
|
||||
- datePublished (ISO 8601)
|
||||
- dateModified (ISO 8601, falls back to datePublished)
|
||||
- url (canonical)
|
||||
- description
|
||||
- inLanguage
|
||||
3. OG type set to "article" via <meta property="og:type" content="article" /> in slot="head".
|
||||
4. Article-specific meta tags added:
|
||||
- article:published_time
|
||||
- article:modified_time
|
||||
5. Styled container: max-w-2xl mx-auto, matching GeneratorLayout spacing.
|
||||
6. Header with title, accent dot, publication date, and conditional "Updated" label.
|
||||
7. Prev/next post navigation with bilingual labels (EN/RU), arrow icons, and focus rings.
|
||||
8. Named slot "related" for RelatedPosts component.
|
||||
|
||||
Props accepted:
|
||||
- title: string
|
||||
- description: string
|
||||
- pubDate: Date | string
|
||||
- modDate?: Date | string
|
||||
- ogImage?: string
|
||||
- lang?: Lang
|
||||
- prevPost?: { slug: string; title: string }
|
||||
- nextPost?: { slug: string; title: string }
|
||||
|
||||
Build output: 64 pages, 0 errors.
|
||||
@@ -0,0 +1,7 @@
|
||||
Task 13: EN blog post page ([slug].astro)
|
||||
- Build: PASS (77 pages)
|
||||
- Generated: dist/blog/test-post/index.html
|
||||
- Verified: post title present in HTML
|
||||
- Verified: BlogPosting JSON-LD schema present
|
||||
- Verified: article:published_time meta tag present
|
||||
- Slug derived from post.id with en/ prefix and .md extension stripped
|
||||
@@ -0,0 +1,16 @@
|
||||
Task 14: Create RU blog post page src/pages/ru/blog/[slug].astro
|
||||
|
||||
Build result: PASS
|
||||
Pages built: 77
|
||||
RU blog post page: compiled successfully (no RU blog posts yet, so no static pages generated)
|
||||
EN blog post page: /blog/test-post/index.html generated
|
||||
|
||||
Files created/modified:
|
||||
- src/pages/ru/blog/[slug].astro (created)
|
||||
- src/layouts/BlogLayout.astro (fixed locale-aware prev/next links)
|
||||
|
||||
Verification:
|
||||
- npm run build exited with code 0
|
||||
- No TypeScript or Astro errors
|
||||
- RU [slug].astro correctly filters getCollection("blog") by lang === "ru"
|
||||
- BlogLayout prev/next navigation updated to use locale-aware paths (/ru/blog/ for RU, /blog/ for EN)
|
||||
@@ -0,0 +1,36 @@
|
||||
Task 15: Blog Index Pages — Evidence
|
||||
======================================
|
||||
|
||||
Build Status: PASS (76 pages, exit code 0)
|
||||
|
||||
Files Created:
|
||||
- src/pages/blog/index.astro
|
||||
- src/pages/ru/blog/index.astro
|
||||
|
||||
Files Modified:
|
||||
- src/i18n/translations.ts (added blogDesc, readMore, noPosts keys for EN + RU)
|
||||
|
||||
Build Output Verification:
|
||||
- dist/blog/index.html (6893 bytes)
|
||||
- dist/ru/blog/index.html (7342 bytes)
|
||||
|
||||
EN Page Features:
|
||||
- Queries getCollection("blog"), filters lang === "en" and draft !== true
|
||||
- Sorts by pubDate descending
|
||||
- Links to /blog/[slug]/
|
||||
- Date formatting: toLocaleDateString("en-US", ...)
|
||||
- JSON-LD Blog schema with blogPost array
|
||||
|
||||
RU Page Features:
|
||||
- Queries getCollection("blog"), filters lang === "ru" and draft !== true
|
||||
- Sorts by pubDate descending
|
||||
- Links to /ru/blog/[slug]/
|
||||
- Date formatting: toLocaleDateString("ru-RU", ...)
|
||||
- JSON-LD Blog schema with blogPost array
|
||||
|
||||
Both pages:
|
||||
- Use BaseLayout with title and description props
|
||||
- Include OG/Twitter Card meta tags (inherited from BaseLayout)
|
||||
- Include canonical + hreflang alternates (inherited from BaseLayout)
|
||||
- Show empty state "No posts yet" / "Пока нет записей." when collection is empty
|
||||
- Display category badge + tag badges per post card
|
||||
@@ -0,0 +1,20 @@
|
||||
Task 16: RSS Feeds
|
||||
|
||||
Files created:
|
||||
- src/pages/rss.xml.ts (EN feed)
|
||||
- src/pages/ru/rss.xml.ts (RU feed)
|
||||
|
||||
File modified:
|
||||
- src/layouts/BaseLayout.astro (added <link rel="alternate" type="application/rss+xml"> for both EN and RU feeds)
|
||||
|
||||
Build: PASS (npm run build exited 0)
|
||||
|
||||
Generated feeds:
|
||||
- dist/rss.xml exists (287 bytes)
|
||||
- dist/ru/rss.xml exists (404 bytes)
|
||||
|
||||
Feed content verified:
|
||||
- EN: title="Randify Blog", language="en", description present, link=https://randify.pro/
|
||||
- RU: title="Блог Randify", language="ru", description present, link=https://randify.pro/
|
||||
|
||||
Note: Feeds are currently empty because no blog posts exist in src/content/blog/ yet. When posts are added with lang="en"/"ru" and draft !== true, they will appear automatically.
|
||||
@@ -0,0 +1,26 @@
|
||||
Task 17: Category Pages for Generators
|
||||
======================================
|
||||
|
||||
Build Result: PASS
|
||||
Pages built: 76
|
||||
|
||||
EN Category Pages Created:
|
||||
- dist/generators/category/gaming/index.html
|
||||
- dist/generators/category/security/index.html
|
||||
- dist/generators/category/decision-making/index.html
|
||||
- dist/generators/category/creative/index.html
|
||||
- dist/generators/category/utility/index.html
|
||||
|
||||
RU Category Pages Created:
|
||||
- dist/ru/generators/category/gaming/index.html
|
||||
- dist/ru/generators/category/security/index.html
|
||||
- dist/ru/generators/category/decision-making/index.html
|
||||
- dist/ru/generators/category/creative/index.html
|
||||
- dist/ru/generators/category/utility/index.html
|
||||
|
||||
Verification:
|
||||
- EN gaming page contains: "Gaming generators for tabletop RPGs" and generator titles (Lottery, Rock Paper Scissors, etc.)
|
||||
- RU gaming page contains: "Игровые генераторы для настольных RPG" and generator titles (Колесо фортуны, Лотерея, etc.)
|
||||
- All 5 categories render correctly with getStaticPaths
|
||||
- Breadcrumb JSON-LD schema included on each page
|
||||
- Generators filtered dynamically by category field from src/data/generators.ts
|
||||
@@ -0,0 +1,16 @@
|
||||
Task 18: Category Navigation Pills on Homepage
|
||||
|
||||
Files modified:
|
||||
- src/pages/index.astro
|
||||
- src/pages/ru/index.astro
|
||||
- src/i18n/translations.ts
|
||||
|
||||
Build result: PASS (85 pages, 0 errors)
|
||||
|
||||
Verification:
|
||||
- dist/index.html contains category navigation pills
|
||||
- dist/ru/index.html contains localized category navigation pills
|
||||
- All 5 categories present: Gaming (6), Security (3), Decision Making (4), Creative (5), Utility (10)
|
||||
- Links point to /generators/category/[category]/ (EN) and /ru/generators/category/[category]/ (RU)
|
||||
- Pills styled with Tailwind: rounded-full, bg-zinc-800/60, border-zinc-700/50, hover:bg-accent/20, hover:text-accent
|
||||
- Responsive flex-wrap layout
|
||||
@@ -0,0 +1,28 @@
|
||||
Task 19: Create Breadcrumbs.astro Component — Evidence
|
||||
=====================================================
|
||||
|
||||
1. File Created
|
||||
---------------
|
||||
Path: src/components/Breadcrumbs.astro
|
||||
|
||||
2. Component Specification
|
||||
--------------------------
|
||||
- Props interface: { items: Array<{ label: string, href?: string }> }
|
||||
- Renders <nav aria-label="Breadcrumb"> containing <ol>
|
||||
- Each item rendered as <li> with "/" separator between items
|
||||
- Last item (no href or end of array): <span aria-current="page"> with text-zinc-400
|
||||
- Items with href: <a> with text-zinc-500 hover:text-accent transition-colors and focus ring
|
||||
- Tailwind styling: text-sm, muted zinc colors, accent hover state
|
||||
|
||||
3. Build Verification
|
||||
---------------------
|
||||
Command: npm run build
|
||||
Result: PASS (64 pages built, 0 errors)
|
||||
|
||||
4. Example Usage
|
||||
----------------
|
||||
<Breadcrumbs items={[
|
||||
{ label: "Home", href: "/" },
|
||||
{ label: "Gaming", href: "/generators/category/gaming/" },
|
||||
{ label: "Dice Roller" }
|
||||
]} />
|
||||
@@ -0,0 +1,16 @@
|
||||
Task: Fix <main> landmarks on about/privacy pages
|
||||
|
||||
Files modified:
|
||||
- src/pages/about.astro
|
||||
- src/pages/ru/about.astro
|
||||
- src/pages/privacy.astro
|
||||
- src/pages/ru/privacy.astro
|
||||
|
||||
Verification:
|
||||
- npm run lint: 0 errors
|
||||
- npm run build: success
|
||||
- grep dist for <main> on about/privacy pages: all 4 files contain <main> tag
|
||||
|
||||
Pattern applied:
|
||||
- Breadcrumb nav and page header remain outside <main>
|
||||
- Content sections wrapped in <main> following GeneratorLayout.astro pattern
|
||||
@@ -0,0 +1,19 @@
|
||||
Task 20: RelatedGenerators.astro
|
||||
|
||||
Files changed:
|
||||
- src/components/RelatedGenerators.astro (created)
|
||||
- src/layouts/GeneratorLayout.astro (updated — integrated RelatedGenerators)
|
||||
- src/i18n/translations.ts (updated — added relatedGenerators key EN+RU)
|
||||
|
||||
Build result:
|
||||
- npm run build: PASSED
|
||||
- 76 pages built, 0 errors
|
||||
|
||||
Component behavior:
|
||||
- Accepts props: currentSlug, category, optional lang
|
||||
- Filters generators by category, excludes current slug, limits to 4
|
||||
- Returns null (renders nothing) if no related generators exist
|
||||
- Locale-aware titles and links (EN / RU)
|
||||
- Compact card layout: icon + title in a responsive 2-column grid
|
||||
- Uses Tailwind with existing design tokens (accent color, zinc palette)
|
||||
- Includes focus-visible ring for accessibility
|
||||
@@ -0,0 +1,24 @@
|
||||
Task 21: RelatedPosts Component
|
||||
================================
|
||||
|
||||
Files created:
|
||||
- src/components/RelatedPosts.astro
|
||||
|
||||
Files modified:
|
||||
- src/i18n/translations.ts (added relatedPosts key: en="Related posts", ru="Похожие статьи")
|
||||
- src/pages/blog/[slug].astro (imported RelatedPosts, wired into "related" slot)
|
||||
- src/pages/ru/blog/[slug].astro (imported RelatedPosts, wired into "related" slot)
|
||||
|
||||
Build result: PASS
|
||||
- 83 pages built successfully
|
||||
- No errors or warnings
|
||||
|
||||
Implementation details:
|
||||
- Accepts post: CollectionEntry<"blog">
|
||||
- Uses getCollection to fetch non-draft posts in same language
|
||||
- Scores related posts by tag overlap count
|
||||
- Shows top 3 posts with score > 0
|
||||
- Hides section entirely if no related posts found
|
||||
- Renders title, date, and description snippet for each related post
|
||||
- Links use correct /blog/ or /ru/blog/ base path
|
||||
- Styled with Tailwind matching existing dark theme (zinc palette, accent color)
|
||||
@@ -0,0 +1,25 @@
|
||||
Task 22: Create 8 English blog post templates
|
||||
Date: 2026-05-14
|
||||
Build result: PASS
|
||||
Pages built: 85
|
||||
|
||||
Files created:
|
||||
- src/content/blog/en/what-is-cryptographically-secure-randomness.md
|
||||
- src/content/blog/en/how-to-create-strong-passwords.md
|
||||
- src/content/blog/en/dice-notation-explained.md
|
||||
- src/content/blog/en/psychology-of-randomness.md
|
||||
- src/content/blog/en/rng-in-gaming.md
|
||||
- src/content/blog/en/random-team-picker.md
|
||||
- src/content/blog/en/color-theory-palettes.md
|
||||
- src/content/blog/en/uuid-vs-sequential-ids.md
|
||||
|
||||
Build output confirms all 8 posts were generated alongside the existing test-post:
|
||||
/blog/what-is-cryptographically-secure-randomness/index.html
|
||||
/blog/how-to-create-strong-passwords/index.html
|
||||
/blog/dice-notation-explained/index.html
|
||||
/blog/psychology-of-randomness/index.html
|
||||
/blog/rng-in-gaming/index.html
|
||||
/blog/random-team-picker/index.html
|
||||
/blog/color-theory-palettes/index.html
|
||||
/blog/uuid-vs-sequential-ids/index.html
|
||||
/blog/test-post/index.html
|
||||
@@ -0,0 +1,20 @@
|
||||
Build completed: 93 pages
|
||||
RU blog posts generated (8):
|
||||
- /ru/blog/what-is-cryptographically-secure-randomness/index.html
|
||||
- /ru/blog/how-to-create-strong-passwords/index.html
|
||||
- /ru/blog/dice-notation-guide/index.html
|
||||
- /ru/blog/psychology-of-randomness/index.html
|
||||
- /ru/blog/rng-in-gaming/index.html
|
||||
- /ru/blog/random-team-selection/index.html
|
||||
- /ru/blog/color-theory-guide/index.html
|
||||
- /ru/blog/uuid-vs-sequential-ids/index.html
|
||||
Files created:
|
||||
- src/content/blog/ru/what-is-cryptographically-secure-randomness.md
|
||||
- src/content/blog/ru/how-to-create-strong-passwords.md
|
||||
- src/content/blog/ru/dice-notation-guide.md
|
||||
- src/content/blog/ru/psychology-of-randomness.md
|
||||
- src/content/blog/ru/rng-in-gaming.md
|
||||
- src/content/blog/ru/random-team-selection.md
|
||||
- src/content/blog/ru/color-theory-guide.md
|
||||
- src/content/blog/ru/uuid-vs-sequential-ids.md
|
||||
Build timestamp: 2026-05-14T03:08:00+03:00
|
||||
@@ -0,0 +1,16 @@
|
||||
Task 24 Evidence: Blog Navigation Link
|
||||
=======================================
|
||||
|
||||
Build: PASS
|
||||
- npm run build completed successfully (84 pages built)
|
||||
|
||||
Verification:
|
||||
- EN blog link (/blog/) found in dist/index.html
|
||||
- RU blog link (/ru/blog/) found in 38 RU pages including dist/ru/index.html
|
||||
|
||||
Changes made:
|
||||
- Modified src/components/LanguageSwitcher.astro
|
||||
- Added Blog / Блог link between language toggle and About link
|
||||
- Link points to /blog/ on EN pages and /ru/blog/ on RU pages
|
||||
- Used existing translation keys (blog: "Blog", blog: "Блог") from src/i18n/translations.ts
|
||||
- Styled consistently with existing About/Privacy links
|
||||
@@ -0,0 +1,17 @@
|
||||
Task: Add Breadcrumbs component to generator and blog layouts
|
||||
Date: 2026-05-14
|
||||
|
||||
1. npm run build
|
||||
Result: PASS (93 pages built, exit code 0)
|
||||
|
||||
2. Grep dist/generators/dice/index.html for breadcrumb items:
|
||||
- Found: Home, Gaming, Dice
|
||||
- Command: grep -o 'Home\|Gaming\|Dice' dist/generators/dice/index.html
|
||||
|
||||
3. Grep dist/blog/test-post/index.html for breadcrumb items:
|
||||
- Found: Home, Blog, Test Post
|
||||
- Command: grep -o 'Home\|Blog\|Test Post' dist/blog/test-post/index.html
|
||||
|
||||
Files modified:
|
||||
- src/layouts/GeneratorLayout.astro
|
||||
- src/layouts/BlogLayout.astro
|
||||
@@ -0,0 +1,8 @@
|
||||
TASK: Fix ad placement on homepage
|
||||
FILE: src/pages/index.astro
|
||||
CHANGE: Moved <YandexRTB /> from before <main> to after </main>
|
||||
BUILD: PASS (npm run build exited 0)
|
||||
VERIFICATION:
|
||||
- dist/index.html: </main> at byte 43284
|
||||
- dist/index.html: yandex_rtb at byte 43335
|
||||
- Order correct: True (main content before ad block)
|
||||
@@ -0,0 +1,11 @@
|
||||
Task: Add x-default hreflang to BaseLayout
|
||||
Date: 2026-05-14
|
||||
|
||||
Verification:
|
||||
- npm run build: PASS (62 pages built)
|
||||
- grep dist/index.html for x-default: FOUND
|
||||
<link rel="alternate" hreflang="x-default" href="https://randify.pro/">
|
||||
- grep dist/generators/dice/index.html for x-default: FOUND
|
||||
- grep all dist/*.html for x-default: 62 matches across 62 files
|
||||
|
||||
All pages now include x-default hreflang fallback pointing to the English version.
|
||||
@@ -0,0 +1,13 @@
|
||||
# Task 5 Evidence: Sitemap i18n Config
|
||||
|
||||
## Build Status
|
||||
PASS
|
||||
|
||||
## Verification
|
||||
File: dist/sitemap-0.xml
|
||||
Contains <xhtml:link rel="alternate" hreflang="en-US"> and <xhtml:link rel="alternate" hreflang="ru-RU"> entries for all bilingual pages.
|
||||
|
||||
## Sample Entries
|
||||
- https://randify.pro/ -> en-US + ru-RU
|
||||
- https://randify.pro/about/ -> en-US + ru-RU
|
||||
- https://randify.pro/generators/coin/ -> en-US + ru-RU
|
||||
@@ -0,0 +1,31 @@
|
||||
Evidence: Open Graph and Twitter Card meta tags added successfully.
|
||||
|
||||
Build status: PASS (npm run build completed with exit 0)
|
||||
|
||||
--- dist/index.html ---
|
||||
<meta property="og:site_name" content="Randify">
|
||||
<meta property="og:locale" content="en_US">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Randify — Random Value Generators">
|
||||
<meta property="og:description" content="Simple tools for raffles, games, and everything that needs randomness.">
|
||||
<meta property="og:url" content="https://randify.pro/">
|
||||
<meta property="og:image" content="https://randify.pro/og-default.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Randify — Random Value Generators">
|
||||
<meta name="twitter:description" content="Simple tools for raffles, games, and everything that needs randomness.">
|
||||
<meta name="twitter:image" content="https://randify.pro/og-default.jpg">
|
||||
|
||||
--- dist/generators/dice/index.html ---
|
||||
<meta property="og:site_name" content="Randify">
|
||||
<meta property="og:locale" content="en_US">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Dice Roller — d4 d6 d20 + Full Notation | D&D Dice | Randify">
|
||||
<meta property="og:description" content="Free online dice roller with full XdY+Z notation, keep/drop (4d6dl1), exploding dice (3d6!), reroll, advantage/disadvantage, and roll history. Perfect for D&D, Pathfinder, and Savage Worlds.">
|
||||
<meta property="og:url" content="https://randify.pro/generators/dice/">
|
||||
<meta property="og:image" content="https://randify.pro/og-default.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Dice Roller — d4 d6 d20 + Full Notation | D&D Dice | Randify">
|
||||
<meta name="twitter:description" content="Free online dice roller with full XdY+Z notation, keep/drop (4d6dl1), exploding dice (3d6!), reroll, advantage/disadvantage, and roll history. Perfect for D&D, Pathfinder, and Savage Worlds.">
|
||||
<meta name="twitter:image" content="https://randify.pro/og-default.jpg">
|
||||
|
||||
All required tags present on both pages.
|
||||
@@ -0,0 +1,12 @@
|
||||
Build output for Task 8 (Add category field to all generators + make required in schema)
|
||||
|
||||
Command: npm run build
|
||||
Result: PASS
|
||||
|
||||
Key metrics:
|
||||
- 64 pages built
|
||||
- 0 Zod validation errors
|
||||
- 0 build errors
|
||||
- All 28 generator JSON files validated successfully with required category field
|
||||
|
||||
Timestamp: 2026-05-14
|
||||
@@ -0,0 +1,16 @@
|
||||
Organization Schema Verification
|
||||
================================
|
||||
|
||||
Build: PASS
|
||||
File modified: src/layouts/BaseLayout.astro
|
||||
|
||||
Organization schema found in dist/index.html:
|
||||
{"@context":"https://schema.org","@type":"Organization","name":"Randify","url":"https://randify.pro","logo":"https://randify.pro/favicon.png"}
|
||||
|
||||
Presence verified across built pages:
|
||||
- dist/index.html
|
||||
- dist/ru/index.html
|
||||
- dist/ru/privacy/index.html
|
||||
- dist/ru/generators/yesno/index.html
|
||||
- dist/ru/generators/wheel/index.html
|
||||
(and all other 63 built pages)
|
||||
@@ -0,0 +1,24 @@
|
||||
# Color Contrast Report
|
||||
|
||||
## Method
|
||||
Evaluated all visible text elements on mobile viewport (375x812) at /dm/. Checked computed color and background-color for contrast ratio against WCAG 2.1 AA thresholds (4.5:1 for normal text, 3:1 for large/bold text ≥18px or 14px bold).
|
||||
|
||||
- **PASS** | Ratio: 16.95:1 | rgb(244, 244, 245) on rgb(22, 18, 14) | font-size: 16px
|
||||
- **PASS** | Ratio: 4.79:1 | rgb(255, 255, 255) on rgb(76, 117, 163) | font-size: 14px
|
||||
- **FAIL** | Ratio: 3.58:1 | rgb(255, 255, 255) on rgb(252, 63, 29) | font-size: 14px
|
||||
- **PASS** | Ratio: 6.93:1 | rgb(255, 255, 255) on rgb(83, 74, 183) | font-size: 14px
|
||||
- **PASS** | Ratio: 6.47:1 | rgb(161, 161, 170) on rgb(34, 30, 24) | font-size: 14px
|
||||
- **FAIL** | Ratio: 1.12:1 | rgb(161, 161, 170) on rgb(200, 168, 75) | font-size: 14px
|
||||
- **PASS** | Ratio: 6.30:1 | rgb(244, 244, 245) on rgb(83, 74, 183) | font-size: 16px
|
||||
- **PASS** | Ratio: 15.08:1 | rgb(244, 244, 245) on rgb(34, 30, 24) | font-size: 16px
|
||||
- **PASS** | Ratio: 7.61:1 | rgb(200, 168, 75) on rgb(30, 25, 18) | font-size: 14px
|
||||
- **PASS** | Ratio: 16.38:1 | rgb(244, 244, 245) on rgb(26, 22, 16) | font-size: 16px
|
||||
- **PASS** | Ratio: 6.93:1 | rgb(255, 255, 255) on rgb(83, 74, 183) | font-size: 16px
|
||||
- **PASS** | Ratio: 15.88:1 | rgb(244, 244, 245) on rgb(30, 25, 18) | font-size: 16px
|
||||
- **PASS** | Ratio: 15.08:1 | rgb(244, 244, 245) on rgb(34, 30, 24) | font-size: 14px
|
||||
- **FAIL** | Ratio: 2.09:1 | rgb(244, 244, 245) on rgb(200, 168, 75) | font-size: 16px
|
||||
|
||||
## Summary
|
||||
- Total unique color combinations checked: 14
|
||||
- Failures: 3
|
||||
- Status: 3 contrast issues detected
|
||||
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
@@ -0,0 +1,190 @@
|
||||
# Keyboard Navigation Report
|
||||
|
||||
Tested on desktop viewport (1440x900) by pressing Tab repeatedly and capturing focus state.
|
||||
|
||||
## Focus 1: `A` " ← Назад к Randify " (/)
|
||||
- Position: 826,18 | Size: 142x28px | Visible: true
|
||||
- Outline: `1px none rgb(17, 17, 17)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(22, 18, 14) 0px 0px 0px 2px, rgb(83, 74, 183) 0px 0px 0px 4px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 2: `A` "VKВойти через VK" (/api/auth/login/vk)
|
||||
- Position: 977,14 | Size: 158x36px | Visible: true
|
||||
- Outline: `1px none rgb(46, 46, 46)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50387px, oklab(0 0 0 / 0.2) 0px 4px 6px -1px, oklab(0 0 0 / 0.2) 0px 2px 4px -2px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 3: `A` "YВойти через Яндекс" (/api/auth/login/yandex)
|
||||
- Position: 1142,14 | Size: 178x36px | Visible: true
|
||||
- Outline: `1px none rgb(60, 60, 60)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.816) 0px 0px 0px 1.62858px, rgba(83, 74, 183, 0.816) 0px 0px 0px 3.25715px, oklab(0 0 0 / 0.2) 0px 4px 6px -1px, oklab(0 0 0 / 0.2) 0px 2px 4px -2px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 4: `A` " 🎲 Кубики " (#dice)
|
||||
- Position: 105,113 | Size: 260x40px | Visible: true
|
||||
- Outline: `1px auto rgb(34, 34, 35)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 5: `A` " ⚔️ Инициатива " (#initiative)
|
||||
- Position: 105,157 | Size: 260x40px | Visible: true
|
||||
- Outline: `1px auto rgb(34, 34, 35)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 6: `A` " 📖 Справочник " (#reference)
|
||||
- Position: 105,201 | Size: 260x40px | Visible: true
|
||||
- Outline: `1px auto rgb(34, 34, 35)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 7: `A` " 📝 Заметки " (#notes)
|
||||
- Position: 105,245 | Size: 260x40px | Visible: true
|
||||
- Outline: `1px auto rgb(34, 34, 35)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 8: `A` " Монстры " (#reference)
|
||||
- Position: 105,333 | Size: 260x36px | Visible: true
|
||||
- Outline: `1px auto rgb(43, 43, 45)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 9: `A` " Заклинания " (#reference)
|
||||
- Position: 105,373 | Size: 260x36px | Visible: true
|
||||
- Outline: `1px auto rgb(43, 43, 45)` (offset: 1px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `none`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 10: `BUTTON` " d4 "
|
||||
- Position: 402,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(25, 23, 19)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.953) 0px 0px 0px 1.9058px, rgba(83, 74, 183, 0.953) 0px 0px 0px 3.81159px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 11: `BUTTON` " d6 "
|
||||
- Position: 486,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(50, 44, 27)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.816) 0px 0px 0px 1.62858px, rgba(83, 74, 183, 0.816) 0px 0px 0px 3.25715px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 12: `BUTTON` " d8 "
|
||||
- Position: 570,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(39, 35, 23)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50387px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 13: `BUTTON` " d10 "
|
||||
- Position: 654,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(39, 35, 23)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50387px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 14: `BUTTON` " d12 "
|
||||
- Position: 739,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(50, 44, 27)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.816) 0px 0px 0px 1.62944px, rgba(83, 74, 183, 0.816) 0px 0px 0px 3.25887px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 15: `BUTTON` " d20 "
|
||||
- Position: 823,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(39, 35, 23)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50387px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 16: `BUTTON` " d100 "
|
||||
- Position: 907,198 | Size: 76x38px | Visible: true
|
||||
- Outline: `1px none rgb(39, 35, 23)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75256px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50513px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 17: `INPUT` ""
|
||||
- Position: 402,280 | Size: 459x42px | Visible: true
|
||||
- Outline: `1px none rgb(44, 44, 44)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(200, 168, 75, 0.875) 0px 0px 0px 3.50387px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 18: `BUTTON` "Бросить"
|
||||
- Position: 868,278 | Size: 115x44px | Visible: true
|
||||
- Outline: `1px none rgb(81, 81, 81)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.73) 0px 0px 0px 1.45914px, rgba(83, 74, 183, 0.73) 0px 0px 0px 2.91829px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 19: `BUTTON` "Очистить"
|
||||
- Position: 883,342 | Size: 100x34px | Visible: true
|
||||
- Outline: `1px none rgb(44, 44, 44)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75131px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50261px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 20: `BUTTON` "
|
||||
d20
|
||||
"
|
||||
- Position: 790,630 | Size: 79x34px | Visible: true
|
||||
- Outline: `1px none rgb(58, 58, 59)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.816) 0px 0px 0px 1.62858px, rgba(83, 74, 183, 0.816) 0px 0px 0px 3.25715px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 21: `BUTTON` "+ Добавить"
|
||||
- Position: 881,612 | Size: 79x52px | Visible: true
|
||||
- Outline: `1px none rgb(46, 46, 46)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.875) 0px 0px 0px 1.75194px, rgba(83, 74, 183, 0.875) 0px 0px 0px 3.50387px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 22: `BUTTON` "
|
||||
Монстры
|
||||
"
|
||||
- Position: 1042,150 | Size: 129x32px | Visible: true
|
||||
- Outline: `1px none rgb(17, 17, 16)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(22, 18, 14) 0px 0px 0px 2px, rgb(83, 74, 183) 0px 0px 0px 4px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 23: `BUTTON` "
|
||||
Заклинания
|
||||
"
|
||||
- Position: 1171,150 | Size: 129x32px | Visible: true
|
||||
- Outline: `1px none rgb(16, 16, 16)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(22, 18, 14) 0px 0px 0px 2px, rgb(83, 74, 183) 0px 0px 0px 4px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 24: `SELECT` " Все "
|
||||
- Position: 1125,220 | Size: 154x41px | Visible: true
|
||||
- Outline: `1px none rgb(58, 58, 59)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(22, 18, 14, 0.816) 0px 0px 0px 1.62858px, rgba(200, 168, 75, 0.816) 0px 0px 0px 3.25715px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Focus 25: `TEXTAREA` ""
|
||||
- Position: 1063,442 | Size: 216x256px | Visible: true
|
||||
- Outline: `1px auto rgb(16, 16, 16)` (offset: 0px)
|
||||
- Ring width: ``
|
||||
- Box shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(200, 168, 75) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px`
|
||||
- **Focus visible:** YES
|
||||
|
||||
## Summary
|
||||
- Total unique focusable elements reached: 25
|
||||
- Elements with visible focus indicator: 25
|
||||
- Elements without visible focus indicator: 0
|
||||
- Focus screenshots saved: 25
|
||||
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 47 KiB |