Skip to content

Commit

Permalink
Mod sdk fixes (#2304)
Browse files Browse the repository at this point in the history
* Adds fix for missing default labelers

* Update tests
  • Loading branch information
estrattonbailey authored Mar 13, 2024
1 parent 89aa232 commit 84e72c6
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 26 deletions.
14 changes: 9 additions & 5 deletions packages/api/src/bsky-agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ export class BskyAgent extends AtpAgent {
moderationPrefs: {
adultContentEnabled: false,
labels: { ...DEFAULT_LABEL_SETTINGS },
labelers: [],
labelers: BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -404,10 +404,14 @@ export class BskyAgent extends AtpAgent {
AppBskyActorDefs.validateLabelersPref(pref).success
) {
// labelers preferences
prefs.moderationPrefs.labelers = pref.labelers.map((labeler) => ({
...labeler,
labels: {},
}))
prefs.moderationPrefs.labelers = BskyAgent.appLabelers
.map((did) => ({ did, labels: {} }))
.concat(
pref.labelers.map((labeler) => ({
...labeler,
labels: {},
})),
)
} else if (
AppBskyActorDefs.isSavedFeedsPref(pref) &&
AppBskyActorDefs.validateSavedFeedsPref(pref).success
Expand Down
50 changes: 31 additions & 19 deletions packages/api/tests/bsky-agent.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,12 +230,17 @@ describe('agent', () => {
password: 'password',
})

const DEFAULT_LABELERS = BskyAgent.appLabelers.map((did) => ({
did,
labels: {},
}))

await expect(agent.getPreferences()).resolves.toStrictEqual({
feeds: { pinned: undefined, saved: undefined },
moderationPrefs: {
adultContentEnabled: false,
labels: DEFAULT_LABEL_SETTINGS,
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -264,7 +269,7 @@ describe('agent', () => {
moderationPrefs: {
adultContentEnabled: true,
labels: DEFAULT_LABEL_SETTINGS,
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -293,7 +298,7 @@ describe('agent', () => {
moderationPrefs: {
adultContentEnabled: false,
labels: DEFAULT_LABEL_SETTINGS,
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -322,7 +327,7 @@ describe('agent', () => {
moderationPrefs: {
adultContentEnabled: false,
labels: { ...DEFAULT_LABEL_SETTINGS, misinfo: 'hide' },
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -355,7 +360,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -391,7 +396,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -427,7 +432,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -463,7 +468,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -499,7 +504,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -535,7 +540,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -577,7 +582,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -613,7 +618,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -649,7 +654,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -685,7 +690,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -721,7 +726,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -757,7 +762,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -800,7 +805,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -843,7 +848,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -886,7 +891,7 @@ describe('agent', () => {
misinfo: 'hide',
spam: 'ignore',
},
labelers: [],
labelers: DEFAULT_LABELERS,
mutedWords: [],
hiddenPosts: [],
},
Expand Down Expand Up @@ -1045,6 +1050,7 @@ describe('agent', () => {
porn: 'warn',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1089,6 +1095,7 @@ describe('agent', () => {
porn: 'warn',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1134,6 +1141,7 @@ describe('agent', () => {
porn: 'ignore',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1179,6 +1187,7 @@ describe('agent', () => {
porn: 'ignore',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1220,6 +1229,7 @@ describe('agent', () => {
porn: 'ignore',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1261,6 +1271,7 @@ describe('agent', () => {
porn: 'ignore',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down Expand Up @@ -1313,6 +1324,7 @@ describe('agent', () => {
porn: 'ignore',
},
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:first-labeler',
labels: {},
Expand Down
10 changes: 8 additions & 2 deletions packages/api/tests/moderation-prefs.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ describe('agent', () => {
sexual: 'ignore',
'graphic-media': 'ignore',
},
labelers: [],
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
],
hiddenPosts: [],
mutedWords: [],
},
Expand Down Expand Up @@ -101,6 +103,7 @@ describe('agent', () => {
adultContentEnabled: false,
labels: DEFAULT_LABEL_SETTINGS,
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:other',
labels: {},
Expand Down Expand Up @@ -134,7 +137,9 @@ describe('agent', () => {
moderationPrefs: {
adultContentEnabled: false,
labels: DEFAULT_LABEL_SETTINGS,
labelers: [],
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
],
hiddenPosts: [],
mutedWords: [],
},
Expand Down Expand Up @@ -177,6 +182,7 @@ describe('agent', () => {
adultContentEnabled: false,
labels: { ...DEFAULT_LABEL_SETTINGS, porn: 'ignore', nsfw: 'ignore' },
labelers: [
...BskyAgent.appLabelers.map((did) => ({ did, labels: {} })),
{
did: 'did:plc:other',
labels: {
Expand Down

0 comments on commit 84e72c6

Please sign in to comment.