diff --git a/src/screens/Messages/Settings.tsx b/src/screens/Messages/Settings.tsx
index 7dbf027f9d..7671239adf 100644
--- a/src/screens/Messages/Settings.tsx
+++ b/src/screens/Messages/Settings.tsx
@@ -49,8 +49,6 @@ export function MessagesSettingsScreen({}: Props) {
const gate = useGate()
if (!gate('dms')) return
- console.log(profile?.associated?.chat?.allowIncoming)
-
return (
diff --git a/src/state/queries/messages/actor-declaration.ts b/src/state/queries/messages/actor-declaration.ts
index 0886af3829..d6a86cf698 100644
--- a/src/state/queries/messages/actor-declaration.ts
+++ b/src/state/queries/messages/actor-declaration.ts
@@ -19,12 +19,10 @@ export function useUpdateActorDeclaration({
return useMutation({
mutationFn: async (allowIncoming: 'all' | 'none' | 'following') => {
if (!currentAccount) throw new Error('Not logged in')
- // TODO(sam): remove validate: false once PDSes have the new lexicon
const result = await getAgent().api.com.atproto.repo.putRecord({
repo: currentAccount.did,
collection: 'chat.bsky.actor.declaration',
rkey: 'self',
- validate: false,
record: {
$type: 'chat.bsky.actor.declaration',
allowIncoming,
diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts
index 9633dc0e3b..3de4cad261 100644
--- a/src/state/session/agent.ts
+++ b/src/state/session/agent.ts
@@ -9,6 +9,7 @@ import {
TIMELINE_SAVED_FEED,
} from '#/lib/constants'
import {tryFetchGates} from '#/lib/statsig/statsig'
+import {getAge} from '#/lib/strings/time'
import {logger} from '#/logger'
import {
configureModerationForAccount,
@@ -153,6 +154,15 @@ export async function createAgentAndCreateAccount(
id: TID.nextStr(),
},
])
+ await agent.api.com.atproto.repo.putRecord({
+ repo: account.did,
+ collection: 'chat.bsky.actor.declaration',
+ rkey: 'self',
+ record: {
+ $type: 'chat.bsky.actor.declaration',
+ allowIncoming: getAge(birthDate) < 18 ? 'none' : 'following',
+ },
+ })
})
} catch (e: any) {
logger.error(e, {