aeharding / aeharding/threadiverse

Re-check JSON null normalization in lemmyv1 adapter

Open
#34 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
7
Forks
1
Avg merge
13m
Merged PRs (30d)
1

Description

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.