integration failed, official bluesky and official bluesky-social/ozone #2511
-
I'm trying to use https://github.com/bluesky-social/ozone to moderate posts in official bluesky(bsky.app). I exactly followed instruction of https://github.com/bluesky-social/ozone/blob/main/HOSTING.md, In my trial,
how can get result as expected?
|
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 5 replies
-
|
Beta Was this translation helpful? Give feedback.
-
@bnewbold thank you for your response.
yes, I did.
I'm using official PDS (bsky.social) at current test.
ok, my current issue may be caused by this. please let me know about below:
|
Beta Was this translation helpful? Give feedback.
-
@bnewbold Thank you for respose. I re-created bluesky account for my ozone service and tested again, then it becomes better but still not perfect, unfortunately.
any idea what is wrong? myown label defined in ozone was below: {
"labelValues": [ "label-test31" ],
"labelValueDefinitions": [
{
"locales": [
{
"lang": "en",
"name": "label-test31 Label Display Name",
"description": "label-test31 Label description."
}
],
"blurs": "none",
"severity": "inform",
"adultOnly": false,
"identifier": "label-test31",
"defaultSetting": "warn"
}
]
} and my testing account subscribes label and set preference as below: then,
the view of post on browser is below, with developer-tools introspect: in test case1, the value of labels was below:
even I changes some different value for label(changing blurs and severity), the results are the same. |
Beta Was this translation helpful? Give feedback.
-
@bnewbold thank you, I confirmed that my own label can change the view of post by remove numeric from label string. It is better the above syntax is more noticeable to avoid troubles. There is no describing about syntax in hosting.md nor in configuring page. |
Beta Was this translation helpful? Give feedback.
-
@bnewbold as I mentioned above post, I succeeded to test ozone with official bluesky (bsky.app, .social, /network} thank you. now, I am planing to start testing ozone with my entired self-hosting bluesky (all components, plc,relay, appview, pds, social-app are already selfhosted and working excepts moderation). Before starting it, I would like to clarify the following points you mentioned before:
Which PDS version should I use to ensure the above? which header needs to be present?
I found the code appview subscribs repos. at bsky/src/data-plane/server/indexing as below, In this thread, I want to keep focusing on ozone x official bluesky (source). I will create another thread when needed. |
Beta Was this translation helpful? Give feedback.
-
@bnewbold after some investigation, I found that there is no insertInto('label') statement in bsky data-plain, even though data-plain trying to get record from label table. # lot of test codes insert records into label table in bsky (i.e data-plane)
$ grep -R -n "insertInto('label')" atproto/packages/*
atproto/packages/bsky/tests/query-labels.test.ts:76: .insertInto('label')
atproto/packages/bsky/tests/views/takedown-labels.test.ts:107: await network.bsky.db.db.insertInto('label').values(labels).execute()
atproto/packages/bsky/tests/views/timeline.test.ts:259: .insertInto('label')
atproto/packages/bsky/tests/label-hydration.test.ts:182: .insertInto('label')
atproto/packages/dev-env/src/seed/basic.ts:179: .insertInto('label')
atproto/packages/dev-env/src/mock/index.ts:531: .insertInto('label')
atproto/packages/ozone/tests/get-lists.test.ts:92: .insertInto('label')
atproto/packages/ozone/tests/3p-labeler.test.ts:97: await network.bsky.db.db.insertInto('label').values(labelEntries).execute()
atproto/packages/ozone/src/mod-service/index.ts:895: .insertInto('label')
atproto/packages/pds/tests/seeds/basic.ts:161: .insertInto('label') # code inserting record into label or labeler table.
$ grep -R -n insertInto atproto/packages/bsky/src/data-plane/* | grep label
atproto/packages/bsky/src/data-plane/server/indexing/plugins/labeler.ts:23: .insertInto('labeler')
!!! NONE FOR insertInto('label')
# code getting record from label or labeler table.
$ grep -R -n selectFrom atproto/packages/bsky/* | grep label
atproto/packages/bsky/src/data-plane/server/routes/profile.ts:29: .selectFrom('labeler')
atproto/packages/bsky/src/data-plane/server/routes/labels.ts:18: .selectFrom('label') // !! result should be always empty.
# codes inserting record into any table of data-plane
$ grep -R -n insertInto atproto/packages/bsky/src/data-plane/
atproto/packages/bsky/src/data-plane/bsync/index.ts:44: .insertInto('mute')
atproto/packages/bsky/src/data-plane/bsync/index.ts:54: .insertInto('list_mute')
atproto/packages/bsky/src/data-plane/server/db/migrations/20230608T155101190Z-algo-whats-hot-view.ts:15: .insertInto('view_param')
atproto/packages/bsky/src/data-plane/server/routes/mutes.ts:113: .insertInto('mute')
atproto/packages/bsky/src/data-plane/server/routes/mutes.ts:142: .insertInto('list_mute')
atproto/packages/bsky/src/data-plane/server/routes/moderation.ts:58: .insertInto('blob_takedown')
atproto/packages/bsky/src/data-plane/server/routes/notifs.ts:106: .insertInto('actor_state')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/list.ts:22: .insertInto('list')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/labeler.ts:23: .insertInto('labeler')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/feed-generator.ts:22: .insertInto('feed_generator')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/profile.ts:22: .insertInto('profile')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/repost.ts:33: .insertInto('repost')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/repost.ts:39: .insertInto('feed_item')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/repost.ts:117: .insertInto('post_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/like.ts:23: .insertInto('like')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/like.ts:94: .insertInto('post_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:88: .insertInto('post')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:94: .insertInto('feed_item')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:157: await db.insertInto('post_embed_image').values(imagesEmbed).execute()
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:168: await db.insertInto('post_embed_external').values(externalEmbed).execute()
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:177: await db.insertInto('post_embed_record').values(recordEmbed).execute()
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:361: .insertInto('post_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/post.ts:381: .insertInto('profile_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/follow.ts:23: .insertInto('follow')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/follow.ts:88: .insertInto('profile_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/follow.ts:102: .insertInto('profile_agg')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/list-block.ts:22: .insertInto('list_block')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/thread-gate.ts:28: .insertInto('thread_gate')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/list-item.ts:29: .insertInto('list_item')
atproto/packages/bsky/src/data-plane/server/indexing/plugins/block.ts:22: .insertInto('actor_block')
atproto/packages/bsky/src/data-plane/server/indexing/processor.ts:73: .insertInto('record')
atproto/packages/bsky/src/data-plane/server/indexing/processor.ts:101: .insertInto('duplicate_record')
atproto/packages/bsky/src/data-plane/server/indexing/processor.ts:250: await db.db.insertInto('notification').values(chunk).execute()
atproto/packages/bsky/src/data-plane/server/indexing/index.ts:147: .insertInto('actor')
atproto/packages/bsky/src/data-plane/server/indexing/index.ts:230: .insertInto('actor_sync') |
Beta Was this translation helpful? Give feedback.
-
when I tested with ozone with entire selfhosting env(selhosting PLC, relay, appview, PDS), the above is the reason I want to confirm if current published appview(data-plane) code is correct(as expected). |
Beta Was this translation helpful? Give feedback.
-
after some more investigation of atproto repo, atproto/packages/dev-env/src/bsky.ts Lines 91 to 96 in c5d36d5 the above RepoSubscription instance subscribes com.atproto.sync.subscribeRepos and store messages with dataplane indexingservice. I believe that current officially hosted appview has the code to subscribe and store ozone's activity (label assignments) when it detects new ozone service joined. we are glad if you share the codes to us in this repository, for avoiding double development. |
Beta Was this translation helpful? Give feedback.
-
created issue as #2552 about lacks of subscribeLabels |
Beta Was this translation helpful? Give feedback.
Can you try with a label that has no numeric digits, only Latin alphabetic characters (
a-z
)?The protocol spec for the label field is relatively flexible, but we strongly recommend limiting the characters set for now, and it is possible the bsky client or appview is being very strict and filtering out
label-test31
somewhere in the stack.https://atproto.com/specs/label#recommended-string-syntax