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: 5 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,11 @@ in *drizzle/* directory.
This compares *src/schema.ts* with the current database state and generates
a SQL migration file.

Schema migrations MUST be generated with `pnpm migrate:generate`. Do not
hand-write schema migration SQL files; use a generated migration and then
edit only when a custom data backfill or other non-schema operation is
needed.

Optional flags:

- `--name <name>`: Custom migration name
Expand Down
10 changes: 7 additions & 3 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@ Version 0.9.0

To be released.

- Added FEP-044f quote authorization and policy support on top of the
Mastodon-compatible quote APIs. [[#457]]
- Added [FEP-044f] quote authorization and policy support on top of the
Mastodon-compatible quote APIs. [[#457], [#459]]

- Added persistent quote states for `pending`, `accepted`, `rejected`,
`revoked`, and `unauthorized` quotes, plus quote target and
authorization IRIs for federation.
- Hollo now enforces quote policy, quote target visibility, block
relationships, follower-only quote permissions, and direct-message
mention requirements when creating a quote through
`POST /api/v1/statuses`.
`POST /api/v1/statuses`. Remote public posts without an advertised
FEP-044f quote policy are treated as legacy quote targets and can be
quoted without waiting for quote authorization.
- Implemented `quote_approval_policy` handling on status creation and
editing, and added `PUT /api/v1/statuses/:id/interaction_policy` for
updating a status' quote policy after publication.
Expand Down Expand Up @@ -94,8 +96,10 @@ To be released.

- Upgraded Fedify to 2.2.0.

[FEP-044f]: https://w3id.org/fep/044f
[#457]: https://github.com/fedify-dev/hollo/pull/457
[#458]: https://github.com/fedify-dev/hollo/pull/458
[#459]: https://github.com/fedify-dev/hollo/pull/459


Version 0.8.1
Expand Down
13 changes: 13 additions & 0 deletions drizzle/0087_quote_authorization_requirement.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ALTER TABLE "posts"
ALTER COLUMN "quote_approval_policy" DROP NOT NULL;--> statement-breakpoint
-- Migration 0086 defaulted every existing post to 'public', so cached remote
-- legacy posts and cached remote FEP-044f public posts are indistinguishable
-- here. Prefer preserving legacy interoperability for old cached remote
-- posts; limited FEP policies such as 'followers' and 'nobody' remain intact.
UPDATE "posts"
SET "quote_approval_policy" = NULL
WHERE "quote_approval_policy" = 'public'
AND "actor_id" NOT IN (
SELECT "id"
FROM "account_owners"
);
Loading
Loading