Skip to content

Merge upstream zedeus/nitter master into master#22

Merged
guanbinrui merged 43 commits into
masterfrom
sync/upstream-zedeus
May 22, 2026
Merged

Merge upstream zedeus/nitter master into master#22
guanbinrui merged 43 commits into
masterfrom
sync/upstream-zedeus

Conversation

@guanbinrui
Copy link
Copy Markdown
Member

Summary

  • Merges 40 commits from zedeus/nitter master into this fork
  • Resolves merge conflicts while preserving fork-specific features:
    • JSON API (enableJsonApi, /api/* routes)
    • Docker CI (self-hosted runner, differui/nitter image tags, ARM64 build job)
    • Granular RSS configuration toggles

Upstream highlights

  • Broadcast support and account info view
  • Mixed-media tweets, media grid/gallery, and content disclosures (AI/ads)
  • Search, thread, and video thumbnail fixes
  • Restored upstream Python tests (Poetry-based)

Test plan

  • CI passes (run-tests.yml and Docker workflow)
  • JSON API endpoints return expected payloads with new media field shape
  • RSS feeds respect per-feed enableRSS* config flags
  • Docker images build for amd64 and arm64

Made with Cursor

jackyzy823 and others added 30 commits December 8, 2025 04:05
Co-authored-by: yav <796176@protonmail.com>
* Update actions and switch to GitHub runners

* Bump workflow Python version to 3.14

* Reuse nitter build for integration test

* Add missing libpcre3 installation to workflow

* Consolidate workflow runtime deps install

* Make nitter binary executable

* Run nimble md and scss simultaneously in workflow

* Run tests with 4 workers in workflow

* Rerun failing integration tests

* Bump integration test workers to 5

* Improve python dep install and run less workers

* Use native GitHub Actions Redis service

* Lower integration test workers to 2

* Switch to poetry to cache venv

* Ensure poetry is installed before setup-python

* Fix poetry sync command

* Switch back to 3 workers

* Cache poetry install

* WIP

* WIP

* Fix poetry/pipx caching

* Speed up integration test significantly

* WIP

* Cleanup
zedeus and others added 11 commits March 21, 2026 08:30
Merges 40 upstream commits adding broadcasts, account info, mixed-media
support, configurable retry logic, community notes, edit history,
preference URL params, and various bug fixes.

Compatibility fixes for our JSON API layer:
- Updated src/jsons/timeline.nim to use new MediaEntities model
  (tweet.media replacing tweet.gif/video/photos)
- Replaced deprecated cookiePrefs() with requestPrefs() in JSON routes
- Preserved enableJsonApi config field alongside new granular RSS flags
- Preserved JSON API router registrations in nitter.nim

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@guanbinrui guanbinrui force-pushed the sync/upstream-zedeus branch from b4c0104 to 1ff123d Compare May 22, 2026 03:37
guanbinrui and others added 2 commits May 22, 2026 15:49
…24)

Fixes four issues introduced or exposed by the upstream zedeus merge:

1. **Media field breaking change** — replaced split `photos`/`videos`/`gifs`
   fields with a unified `media` array. Each element carries a `type`
   discriminator ("photo"/"video"/"gif") so consumers don't need to infer
   kind from field presence. Video variants serialize `contentType` as the
   MIME string (not ordinal). This matches the intent of the `main` branch
   (`b4c0104`) and aligns with the upstream `MediaEntities` model.

2. **New upstream tweet fields** — added `history` (edit IDs), `note`
   (community note text), `isAd`, `isAI`, and `stats.views` to
   `formatTweetAsJson` so callers can act on upstream data.

3. **Unused `prefs` variable in search.nim** — removed the dead
   `prefs = requestPrefs()` binding that was never referenced after the
   `cookiePrefs()` → `requestPrefs()` fix in the merge.

4. **CORS support** — re-applied from `feat/cors-support` (f9c6ff8) which
   was never merged into master. Added `corsOrigin()` template and CORS
   response headers to all `respJson*` helpers, updated the health endpoint,
   and added an `options re"/api/.*"` preflight handler in `nitter.nim`.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Delete run-tests.yml entirely and remove the tests job + needs dependency
from build-docker.yml so Docker builds no longer gate on the test suite.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@guanbinrui guanbinrui merged commit 8db88bd into master May 22, 2026
@guanbinrui guanbinrui deleted the sync/upstream-zedeus branch May 22, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants