Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/production.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,11 @@ jobs:
# against rather than whatever is newest that day.
- run: npm ci

# CLI 3 targets the local stack unless told otherwise, and refuses to change a hosted
# project unattended. Without --remote this push would succeed against nothing; without
# --yes it would fail with HostedMutationConsentRequiredError.
- run: npx supabase link --project-ref $SUPABASE_PROJECT_ID
- run: npx supabase db push
- run: npx supabase db push --remote --yes

# Vercel's own Git integration must be turned off for production, or this gate is bypassed and
# the app ships without waiting for either the tests or the migrations.
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@
We'll document all notable changes in this file, including bug fixes, enhancements, and dependency updates.
Dates should be in`YYYY-MM-DD` format and versions are in [semantic versioning](http://semver.org/) format.

## v0.10.8 2026-11-07

### Fixed

- Voice control can now press the heading, subheading, and numbered list buttons by the text they show.

### Changed

- Updated dependencies, including the Supabase CLI 3.

## v0.10.7 2026-11-07

### Fixed
Expand Down
592 changes: 307 additions & 285 deletions package-lock.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "adminima",
"version": "0.10.7",
"version": "0.10.8",
"private": true,
"scripts": {
"dev": "vite dev",
Expand All @@ -20,8 +20,8 @@
"start": "cp .env.local .env; supabase start -x storage-api,imgproxy,logflare,vector,edge-runtime",
"stop": "cp .env.prod .env; supabase stop",
"reset": "supabase db reset; npm run types",
"diff": "supabase db diff --local --use-migra -f rename_me",
"types": "supabase gen types typescript --local > src/database/database.types.ts",
"diff": "supabase db diff --use-migra -f rename_me",
"types": "supabase gen types typescript > src/database/database.types.ts",
"outdated": "npx check-outdated --ignore-pre-releases --columns name,type,current,latest,changes"
},
"engines": {
Expand All @@ -34,11 +34,11 @@
"@sveltejs/kit": "^3",
"@sveltejs/vite-plugin-svelte": "^7",
"@types/uuid": "^10",
"happy-dom": "^20.11.6",
"happy-dom": "^21",
"pg": "^8",
"prettier": "^3",
"prettier-plugin-svelte": "^4",
"supabase": "^2",
"supabase": "^3",
"svelte": "^5",
"svelte-check": "^4",
"tslib": "^2",
Expand Down
11 changes: 11 additions & 0 deletions src/database/database.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export type Database = {
Row: {
"orgid": string,"profileid": string,"roleid": string
}
ComputedFields: never
Insert: {
"orgid": string,"profileid": string,"roleid": string
}
Expand Down Expand Up @@ -58,6 +59,7 @@ isOneToOne: false
Row: {
"id": string,"orgid": string,"what": string,"when": string,"who": string
}
ComputedFields: never
Insert: {
"id"?: string,"orgid": string,"what": string,"when"?: string,"who": string
}
Expand All @@ -83,6 +85,7 @@ isOneToOne: false
Row: {
"authorized": (string)[],"consulted": (string)[],"done": Database["public"]['Enums']["completion"],"how": (string)[],"id": string,"informed": (string)[],"orgid": string,"processid": string,"responsible": (string)[],"visibility": Database["public"]['Enums']["visibility"],"what": string,"when": string
}
ComputedFields: never
Insert: {
"authorized"?: (string)[],"consulted"?: (string)[],"done"?: Database["public"]['Enums']["completion"],"how"?: (string)[],"id"?: string,"informed"?: (string)[],"orgid": string,"processid": string,"responsible"?: (string)[],"visibility"?: Database["public"]['Enums']["visibility"],"what"?: string,"when"?: string
}
Expand Down Expand Up @@ -120,6 +123,7 @@ isOneToOne: false
Row: {
"id": string,"used": boolean,"when": string,"who": string | null
}
ComputedFields: never
Insert: {
"id"?: string,"used"?: boolean,"when"?: string,"who"?: string | null
}
Expand All @@ -133,6 +137,7 @@ isOneToOne: false
Row: {
"authorized": (string)[],"comments": (string)[],"description": string,"id": string,"name": string,"paths": (string)[],"prompt": string,"visibility": Database["public"]['Enums']["visibility"],"when": string
}
ComputedFields: never
Insert: {
"authorized"?: (string)[],"comments"?: (string)[],"description"?: string,"id"?: string,"name"?: string,"paths"?: (string)[],"prompt"?: string,"visibility"?: Database["public"]['Enums']["visibility"],"when"?: string
}
Expand All @@ -146,6 +151,7 @@ isOneToOne: false
Row: {
"email": string,"id": string,"when": string
}
ComputedFields: never
Insert: {
"email": string,"id": string,"when"?: string
}
Expand All @@ -159,6 +165,7 @@ isOneToOne: false
Row: {
"accountable": string | null,"comments": (string)[],"concern": string,"howid": string | null,"icon": string,"id": string,"orgid": string,"repeat": NonNullable<Json>,"short": (string)[],"state": Database["public"]['Enums']["state"],"title": string,"when": string
}
ComputedFields: never
Insert: {
"accountable"?: string | null,"comments"?: (string)[],"concern"?: string,"howid"?: string | null,"icon"?: string,"id"?: string,"orgid": string,"repeat"?: NonNullable<Json>,"short"?: (string)[],"state"?: Database["public"]['Enums']["state"],"title"?: string,"when"?: string
}
Expand Down Expand Up @@ -196,6 +203,7 @@ isOneToOne: false
Row: {
"admin": boolean,"bio": string,"email": string,"id": string,"name": string,"orgid": string,"personid": string | null,"supervisor": string | null
}
ComputedFields: never
Insert: {
"admin": boolean,"bio"?: string,"email"?: string,"id"?: string,"name"?: string,"orgid": string,"personid"?: string | null,"supervisor"?: string | null
}
Expand Down Expand Up @@ -227,6 +235,7 @@ isOneToOne: false
Row: {
"comments": (string)[],"description": string,"id": string,"orgid": string,"short": (string)[],"team": string | null,"title": string,"when": string
}
ComputedFields: never
Insert: {
"comments"?: (string)[],"description"?: string,"id"?: string,"orgid": string,"short"?: (string)[],"team"?: string | null,"title": string,"when"?: string
}
Expand Down Expand Up @@ -258,6 +267,7 @@ isOneToOne: false
Row: {
"authorized": (string)[],"comments": (string)[],"description": string,"id": string,"lead": string | null,"orgid": string,"processes": (string)[],"proposal": string,"review": string | null,"roles": (string)[],"status": Database["public"]['Enums']["status"],"visibility": Database["public"]['Enums']["visibility"],"watchers": (string)[],"what": string,"when": string,"who": string
}
ComputedFields: never
Insert: {
"authorized"?: (string)[],"comments"?: (string)[],"description"?: string,"id"?: string,"lead"?: string | null,"orgid": string,"processes"?: (string)[],"proposal"?: string,"review"?: string | null,"roles"?: (string)[],"status"?: Database["public"]['Enums']["status"],"visibility"?: Database["public"]['Enums']["visibility"],"watchers"?: (string)[],"what"?: string,"when"?: string,"who": string
}
Expand Down Expand Up @@ -289,6 +299,7 @@ isOneToOne: false
Row: {
"comments": (string)[],"description": string,"id": string,"name": string,"orgid": string,"when": string
}
ComputedFields: never
Insert: {
"comments"?: (string)[],"description"?: string,"id"?: string,"name"?: string,"orgid": string,"when"?: string
}
Expand Down
6 changes: 3 additions & 3 deletions src/lib/MarkupToolbar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,15 @@
action={link}>@</Button
>
<Button
tip="Heading"
tip="h1 Heading"
shortcut={shortcut('1', { alt: true })}
keys={keys('1', { alt: true })}
pressed={status.kind === 'heading1'}
tabindex={stop(3)}
action={() => toggle('heading1')}>h1</Button
>
<Button
tip="Subheading"
tip="h2 Subheading"
shortcut={shortcut('2', { alt: true })}
keys={keys('2', { alt: true })}
pressed={status.kind === 'heading2'}
Expand All @@ -151,7 +151,7 @@
action={() => toggle('bullets')}>•</Button
>
<Button
tip="Numbered list"
tip="1. Numbered list"
shortcut={shortcut('7', { shift: true })}
keys={keys('7', { shift: true })}
pressed={status.kind === 'numbered'}
Expand Down
8 changes: 4 additions & 4 deletions supabase/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ enable_anonymous_sign_ins = false
enable_manual_linking = false

[auth.email]
# Allow/disallow new user signups via email to your project.
enable_signup = true
# Turn the email provider on or off. `[auth] enable_signup` controls new signups.
enabled = true
# If enabled, a user will be required to confirm any email change on both the old, and new email
# addresses. If disabled, only the new email is required to confirm.
double_confirm_changes = true
Expand All @@ -108,8 +108,8 @@ max_frequency = "1s"
# content_path = "./supabase/templates/invite.html"

[auth.sms]
# Allow/disallow new user signups via SMS to your project.
enable_signup = false
# Turn the SMS provider on or off. `[auth] enable_signup` controls new signups.
enabled = false
# If enabled, users need to confirm their phone number before signing in.
enable_confirmations = false
# Template for sending OTP to users
Expand Down
2 changes: 1 addition & 1 deletion tests/editor.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ test('the toolbar renders the pressed state it is given', async ({ page }) => {
'aria-pressed',
'true'
);
await expect(page.getByRole('button', { name: 'Heading', exact: true })).toHaveAttribute(
await expect(page.getByRole('button', { name: 'h1 Heading', exact: true })).toHaveAttribute(
'aria-pressed',
'false'
);
Expand Down
Loading