aeharding / aeharding/threadiverse

Re-check JSON null normalization in lemmyv1 adapter

未关闭
#34 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
7
派生
1
平均合并
13 分钟
30 天内合并 PR
1

描述

The lemmyv1 adapter currently normalizes JSON `null` to `undefined` in a few places because the Lemmy 1.0 beta wire format returns `null` for absent optional fields rather than omitting them.

- `nullToUndef` helper used on `notification.{comment_id,modlog_id,post_id,private_message_id}` (`src/providers/lemmyv1/compat.ts:196-199`)
- `== null` (instead of `=== undefined`) checks against `PostActions.{vote_is_upvote,read_comments_at}` (`src/providers/lemmyv1/compat.ts:270,289`)

These workarounds papered over schemas that expect `undefined`. Once Lemmy stabilizes 1.0, recheck whether the server actually emits `null` for these fields and either:

1. Update our schemas to accept `null` explicitly (`z.nullish`) and drop the helpers, or
2. Confirm the server omits the fields and remove the normalization.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。