Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Allow searching reports by moderator did #1283

Merged
merged 4 commits into from
Jul 14, 2023

Conversation

foysalit
Copy link
Contributor

@foysalit foysalit commented Jul 5, 2023

Allow fetching reports by a moderator did so that only reports that a certain moderator actioned are returned.

@foysalit foysalit marked this pull request as ready for review July 5, 2023 19:32
Comment on lines 257 to 258
expect(forSnapshot(actionedByAdminOne.data.reports)).toMatchSnapshot()
expect(forSnapshot(actionedByAdminTwo.data.reports)).toMatchSnapshot()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since forSnapshot normalizes the did values away, it might just be worth an additional check that each item in actionedByAdminOne.data.reports has the expected did in createdBy.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't include createdBy for actions in getModerationReports so I had to call getModerationReport with individual report id to check this. not sure if that breaks some kind of convention we follow for these tests @devinivy

Copy link
Collaborator

@devinivy devinivy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

Comment on lines +13 to +17
"actionedBy": {
"type": "string",
"format": "did",
"description": "Get all reports that were actioned by a specific moderator"
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think there's any chance we may want this to be an array in the future? I don't have a strong opinion on it, but if it seems likely to you, now might be a good time to preemptively accept a list of dids.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought about it and decided that it probably won't be a use-case any time soon. Can't think of cases where we would want to see reports actioned by multiple folks but LMK if I'm missing anything obvious there.

@devinivy devinivy merged commit b9ca76f into bluesky-social:main Jul 14, 2023
dholms pushed a commit that referenced this pull request Jul 18, 2023
* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions
dholms added a commit that referenced this pull request Jul 19, 2023
* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (#1318)

* add slurs to reserved words (#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (#1319)

* Refactor appview repo subscription for memleak (#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
dholms pushed a commit that referenced this pull request Jul 24, 2023
* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions
dholms added a commit that referenced this pull request Jul 24, 2023
* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (#1318)

* add slurs to reserved words (#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (#1319)

* Refactor appview repo subscription for memleak (#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
dholms added a commit that referenced this pull request Jul 24, 2023
* refactor appview services

* tidy types

* Allow moderators to take and reverse actor takedowns (#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (#1355)

patch up a couple sqlite tests

* Increase appview keepalive (#1360)

increase keepalive to 90s

* Appview - serve feed skeletons (#1265)

* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (#1318)

* add slurs to reserved words (#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (#1319)

* Refactor appview repo subscription for memleak (#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>

* add optional ilike query to getPopularFeedGenerators

* fix lint

* fix lint

* handle sqlite too in pds only

* fix lint

* v0.4.3

* Include takendown posts for admins (feature branch) (#1361)

* 🚧 WIP including takendown posts on author feed

* ✨ Add takedown id on posts when including taken down posts

* 🧹 Cleanup the auth verifier and other bsky package code

* ✅ Add test for admin getAuthorFeed

* 🧹 Cleanup lexicon and exclude takedownId

* more explicit plumbing for post hydration w/o requester or with takedown info

* pass along flag for soft-deleted actors

* cleanup getAuthorFeed w/ auth

* reorg getAuthorFeed logic around role/access-based auth

---------

Co-authored-by: Foysal Ahamed <[email protected]>

* ✨ Disable signing up with invite code from takendown account (#1350)

* fix viewer data

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Eric Bailey <[email protected]>
mloar pushed a commit to mloar/atproto that referenced this pull request Sep 26, 2023
* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions
mloar pushed a commit to mloar/atproto that referenced this pull request Sep 26, 2023
* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (bluesky-social#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (bluesky-social#1318)

* add slurs to reserved words (bluesky-social#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (bluesky-social#1319)

* Refactor appview repo subscription for memleak (bluesky-social#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (bluesky-social#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
mloar pushed a commit to mloar/atproto that referenced this pull request Sep 26, 2023
* refactor appview services

* tidy types

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* Increase appview keepalive (bluesky-social#1360)

increase keepalive to 90s

* Appview - serve feed skeletons (bluesky-social#1265)

* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (bluesky-social#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (bluesky-social#1318)

* add slurs to reserved words (bluesky-social#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (bluesky-social#1319)

* Refactor appview repo subscription for memleak (bluesky-social#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (bluesky-social#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>

* add optional ilike query to getPopularFeedGenerators

* fix lint

* fix lint

* handle sqlite too in pds only

* fix lint

* v0.4.3

* Include takendown posts for admins (feature branch) (bluesky-social#1361)

* 🚧 WIP including takendown posts on author feed

* ✨ Add takedown id on posts when including taken down posts

* 🧹 Cleanup the auth verifier and other bsky package code

* ✅ Add test for admin getAuthorFeed

* 🧹 Cleanup lexicon and exclude takedownId

* more explicit plumbing for post hydration w/o requester or with takedown info

* pass along flag for soft-deleted actors

* cleanup getAuthorFeed w/ auth

* reorg getAuthorFeed logic around role/access-based auth

---------

Co-authored-by: Foysal Ahamed <[email protected]>

* ✨ Disable signing up with invite code from takendown account (bluesky-social#1350)

* fix viewer data

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Eric Bailey <[email protected]>
mloar pushed a commit to mloar/atproto that referenced this pull request Nov 15, 2023
* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions
mloar pushed a commit to mloar/atproto that referenced this pull request Nov 15, 2023
* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (bluesky-social#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (bluesky-social#1318)

* add slurs to reserved words (bluesky-social#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (bluesky-social#1319)

* Refactor appview repo subscription for memleak (bluesky-social#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (bluesky-social#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
mloar pushed a commit to mloar/atproto that referenced this pull request Nov 15, 2023
* refactor appview services

* tidy types

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* Increase appview keepalive (bluesky-social#1360)

increase keepalive to 90s

* Appview - serve feed skeletons (bluesky-social#1265)

* proxy timeline skeleton construction to appview

* add getFeedSkeleton to appview

* mount route

* smart proxy feed skeletons

* tests

* proper error code

* only proxy specific feeds

* build branch

* update proxyable feed logic, should use feed publisher rather than generator

* fix feed proxy tests, configure feed publisher (in addition to generator)

* hotfix: prevent user-supplied rkey on posts with createRecord (bluesky-social#1313)

* prevent user-supplied rkey on posts with createRecord

* allow empty-string rkey parameter

Co-authored-by: devin ivy <[email protected]>

---------

Co-authored-by: devin ivy <[email protected]>

* add slurs to reserved words (bluesky-social#1318)

* add slurs to reserved words (bluesky-social#1314)

* Update reserved.ts

Add slurs to reserved words

* Update reserved.ts

fix typo

* Update reserved.ts to clean up the slur list

* linting

* pluralise

---------

Co-authored-by: jess <[email protected]>

* identifier: tweaks and additions to slur list (bluesky-social#1319)

* Refactor appview repo subscription for memleak (bluesky-social#1308)

* refactor to remove closure in loop

* move consecutive item out of p-queue

* Handle validation improvements (bluesky-social#1336)

* Handle matches and false positives for unacceptable words in handles

* move handle validation logic to pds

* missed merge

* add cfg flag

* encode lists

* fix build issues

* move words to cfg

* tidy

---------

Co-authored-by: Jaz Volpert <[email protected]>

* Allow moderators to take and reverse actor takedowns (bluesky-social#1330)

allow moderators to take and reverse actor takedowns

* ✨ Allow searching reports by moderator did (bluesky-social#1283)

* ✨ Allow searching reports by moderator did

* ✅ Remove .only flags on tests

* ✅ Update snapshot

* ✅ Add checks for did match in actions

* v0.4.1

* Make sequencer leader behavior optional on pds (bluesky-social#1250)

* make sequencer leader behavior optional on pds

* tidy

* use 127.0.0.1 in with-test-db.sh for colima (bluesky-social#1297)

So, since Docker Desktop has licensing issues, some folks use colima for
running containers on their macOS machines (The licensing exempted
CLI-only version of Docker only exists on Linux).

Unfortunately, colima binds host ports only on the IPv4 localhost
address (`127.0.0.1`) while the atproto postgres clients will attempt to
connect to the IPv6 localhost address (`::1`) that macOS sets in
/etc/hosts.  See abiosoft/colima#583 and
lima-vm/lima#1330 for the tickets against
colima. (Docker Desktop binds to both IPv4 and IPv6 localhost addresses
and so doesn't have this issue.)

To workaround this silly issue, we can use `localhost` within the docker
containers and docker-compose, but need to set the `DB_POSTGRES_URL` env
var to use the IPv4 localhost explicitly.

(Asking folks to edit /etc/hosts causes other tools to break and will be
overridden on each OS upgrade.)

* Subscription util tests (bluesky-social#1295)

* consecutive list tests

* flesh out subscription util tests

---------

Co-authored-by: Devin Ivy <[email protected]>

* Content reporting on record fields (bluesky-social#1351)

* content reporting on record fields

* fix test

* tests

* tidy

* Check rkey contents just for non-tids (bluesky-social#1353)

check rkey content for non-tids

* ✨ Added new procedure for sending admin email (bluesky-social#1312)

* 🚧 Added new lexicon for sending admin email

* ✨ Add moderation mailer

* ✨ Switch to text email content from html

* 🧹 Cleanup some early implementation code and reflect PR reivew

* ✨ Use smtp host instead of gmail service config

* ✨ Move to using single smtp url

* v0.4.2

* Patch up a couple sqlite tests (bluesky-social#1355)

patch up a couple sqlite tests

* enable feeds & build branch

* disable branch building & enable without proxy header

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>

* add optional ilike query to getPopularFeedGenerators

* fix lint

* fix lint

* handle sqlite too in pds only

* fix lint

* v0.4.3

* Include takendown posts for admins (feature branch) (bluesky-social#1361)

* 🚧 WIP including takendown posts on author feed

* ✨ Add takedown id on posts when including taken down posts

* 🧹 Cleanup the auth verifier and other bsky package code

* ✅ Add test for admin getAuthorFeed

* 🧹 Cleanup lexicon and exclude takedownId

* more explicit plumbing for post hydration w/o requester or with takedown info

* pass along flag for soft-deleted actors

* cleanup getAuthorFeed w/ auth

* reorg getAuthorFeed logic around role/access-based auth

---------

Co-authored-by: Foysal Ahamed <[email protected]>

* ✨ Disable signing up with invite code from takendown account (bluesky-social#1350)

* fix viewer data

---------

Co-authored-by: Devin Ivy <[email protected]>
Co-authored-by: Foysal Ahamed <[email protected]>
Co-authored-by: Jeff Hodges <[email protected]>
Co-authored-by: David Buchanan <[email protected]>
Co-authored-by: jess <[email protected]>
Co-authored-by: bnewbold <[email protected]>
Co-authored-by: Jaz Volpert <[email protected]>
Co-authored-by: Eric Bailey <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants