feat: enable reminders by default (#133)

This commit is contained in:
2026-06-14 22:38:26 +01:00
committed by GitHub
parent 6785503ff9
commit 9836d7499b
3 changed files with 17 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
import { LocationSource } from "@freya/source-location"
import { ReminderSource } from "@freya/source-reminders"
import { WebSearchSource } from "@freya/source-web-search"
import { describe, expect, test } from "bun:test"
@@ -55,8 +56,12 @@ function createRecordingDb(): RecordingDb {
}
describe("default user sources", () => {
test("defines location and web search as default enabled sources", () => {
expect(DEFAULT_ENABLED_SOURCE_IDS).toEqual([LocationSource.id, WebSearchSource.id])
test("defines default enabled sources", () => {
expect(DEFAULT_ENABLED_SOURCE_IDS).toEqual([
LocationSource.id,
ReminderSource.id,
WebSearchSource.id,
])
})
test("inserts default enabled source rows for a user", async () => {
@@ -70,7 +75,7 @@ describe("default user sources", () => {
}
expect(recording.table()).toBe(userSources)
expect(rows).toHaveLength(2)
expect(rows).toHaveLength(3)
expect(rows.map((row) => row.sourceId)).toEqual([...DEFAULT_ENABLED_SOURCE_IDS])
expect(recording.conflictTarget()).toEqual([userSources.userId, userSources.sourceId])

View File

@@ -1,11 +1,16 @@
import { LocationSource } from "@freya/source-location"
import { ReminderSource } from "@freya/source-reminders"
import { WebSearchSource } from "@freya/source-web-search"
import type { Database } from "../db/index.ts"
import { userSources } from "../db/schema.ts"
export const DEFAULT_ENABLED_SOURCE_IDS = [LocationSource.id, WebSearchSource.id] as const
export const DEFAULT_ENABLED_SOURCE_IDS = [
LocationSource.id,
ReminderSource.id,
WebSearchSource.id,
] as const
export type DefaultEnabledSourceId = (typeof DEFAULT_ENABLED_SOURCE_IDS)[number]

View File

@@ -84,7 +84,9 @@ const ONE_DAY_MS = 24 * 60 * 60 * 1000
* It owns recurrence expansion, edit-scope semantics, and feed item signals.
*/
export class ReminderSource implements FeedSource<ReminderFeedItem> {
readonly id = "freya.reminders"
static readonly id = "freya.reminders"
readonly id = ReminderSource.id
private readonly storage: ReminderStorage
private readonly lookAheadMs: number