@atproto/api 0.12.25-next.0 → 0.12.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atproto/api
|
|
2
2
|
|
|
3
|
+
## 0.12.25
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2570](https://github.com/bluesky-social/atproto/pull/2570) [`12dcdb668`](https://github.com/bluesky-social/atproto/commit/12dcdb668c8ec0f8a89689c326ab3e9dbc6d2f3c) Thanks [@sugyan](https://github.com/sugyan)! - Fix `hasMutedWord` for facets with multiple features
|
|
8
|
+
|
|
9
|
+
- [#2648](https://github.com/bluesky-social/atproto/pull/2648) [`76c91f832`](https://github.com/bluesky-social/atproto/commit/76c91f8325363c95e25349e8e236aa2f70e63d5b) Thanks [@dholms](https://github.com/dholms)! - Support for priority notifications
|
|
10
|
+
|
|
3
11
|
## 0.12.24
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutewords.d.ts","sourceRoot":"","sources":["../../src/moderation/mutewords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAuBlE,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE;IACD,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAA;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,
|
|
1
|
+
{"version":3,"file":"mutewords.d.ts","sourceRoot":"","sources":["../../src/moderation/mutewords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAuBlE,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE;IACD,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAA;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,WA6DA"}
|
|
@@ -25,11 +25,7 @@ function hasMutedWord({ mutedWords, text, facets, outlineTags, languages, }) {
|
|
|
25
25
|
const exception = LANGUAGE_EXCEPTIONS.includes(languages?.[0] || '');
|
|
26
26
|
const tags = []
|
|
27
27
|
.concat(outlineTags || [])
|
|
28
|
-
.concat(facets
|
|
29
|
-
?.filter((facet) => {
|
|
30
|
-
return facet.features.find((feature) => client_1.AppBskyRichtextFacet.isTag(feature));
|
|
31
|
-
})
|
|
32
|
-
.map((t) => t.features[0].tag) || [])
|
|
28
|
+
.concat((facets || []).flatMap((facet) => facet.features.filter(client_1.AppBskyRichtextFacet.isTag).map((tag) => tag.tag)))
|
|
33
29
|
.map((t) => t.toLowerCase());
|
|
34
30
|
for (const mute of mutedWords) {
|
|
35
31
|
const mutedWord = mute.value.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutewords.js","sourceRoot":"","sources":["../../src/moderation/mutewords.ts"],"names":[],"mappings":";;;AAAA,sCAAkE;AAElE,MAAM,KAAK,GAAG;IACZ,4BAA4B,EAAE,uBAAuB;IACrD,MAAM,EAAE,uBAAuB;IAC/B,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,mBAAmB;CACnC,CAAA;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,aAAa;CACpB,CAAA;AAED,SAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,GAOV;IACC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,MAAM,IAAI,GAAI,EAAe;SAC1B,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;SACzB,MAAM,CACL,MAAM
|
|
1
|
+
{"version":3,"file":"mutewords.js","sourceRoot":"","sources":["../../src/moderation/mutewords.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -38,13 +38,9 @@ export function hasMutedWord({
|
|
|
38
38
|
const tags = ([] as string[])
|
|
39
39
|
.concat(outlineTags || [])
|
|
40
40
|
.concat(
|
|
41
|
-
facets
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
AppBskyRichtextFacet.isTag(feature),
|
|
45
|
-
)
|
|
46
|
-
})
|
|
47
|
-
.map((t) => t.features[0].tag as string) || [],
|
|
41
|
+
(facets || []).flatMap((facet) =>
|
|
42
|
+
facet.features.filter(AppBskyRichtextFacet.isTag).map((tag) => tag.tag),
|
|
43
|
+
),
|
|
48
44
|
)
|
|
49
45
|
.map((t) => t.toLowerCase())
|
|
50
46
|
|
|
@@ -680,6 +680,60 @@ describe(`hasMutedWord`, () => {
|
|
|
680
680
|
})
|
|
681
681
|
})
|
|
682
682
|
|
|
683
|
+
describe(`facet with multiple features`, () => {
|
|
684
|
+
it(`multiple tags`, () => {
|
|
685
|
+
const match = hasMutedWord({
|
|
686
|
+
mutedWords: [{ value: 'bad', targets: ['content'] }],
|
|
687
|
+
text: 'tags',
|
|
688
|
+
facets: [
|
|
689
|
+
{
|
|
690
|
+
features: [
|
|
691
|
+
{
|
|
692
|
+
$type: 'app.bsky.richtext.facet#tag',
|
|
693
|
+
tag: 'good',
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
$type: 'app.bsky.richtext.facet#tag',
|
|
697
|
+
tag: 'bad',
|
|
698
|
+
},
|
|
699
|
+
],
|
|
700
|
+
index: {
|
|
701
|
+
byteEnd: 4,
|
|
702
|
+
byteStart: 0,
|
|
703
|
+
},
|
|
704
|
+
},
|
|
705
|
+
],
|
|
706
|
+
})
|
|
707
|
+
expect(match).toBe(true)
|
|
708
|
+
})
|
|
709
|
+
|
|
710
|
+
it(`other features`, () => {
|
|
711
|
+
const match = hasMutedWord({
|
|
712
|
+
mutedWords: [{ value: 'bad', targets: ['content'] }],
|
|
713
|
+
text: 'test',
|
|
714
|
+
facets: [
|
|
715
|
+
{
|
|
716
|
+
features: [
|
|
717
|
+
{
|
|
718
|
+
$type: 'com.example.richtext.facet#other',
|
|
719
|
+
foo: 'bar',
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
$type: 'app.bsky.richtext.facet#tag',
|
|
723
|
+
tag: 'bad',
|
|
724
|
+
},
|
|
725
|
+
],
|
|
726
|
+
index: {
|
|
727
|
+
byteEnd: 4,
|
|
728
|
+
byteStart: 0,
|
|
729
|
+
},
|
|
730
|
+
},
|
|
731
|
+
],
|
|
732
|
+
})
|
|
733
|
+
expect(match).toBe(true)
|
|
734
|
+
})
|
|
735
|
+
})
|
|
736
|
+
|
|
683
737
|
describe(`doesn't mute own post`, () => {
|
|
684
738
|
it(`does mute if it isn't own post`, () => {
|
|
685
739
|
const res = moderatePost(
|