Skip to content

Merge upstream zedeus/nitter master (d5ff410)#32

Open
guanbinrui wants to merge 44 commits into
masterfrom
sync/upstream-d5ff410
Open

Merge upstream zedeus/nitter master (d5ff410)#32
guanbinrui wants to merge 44 commits into
masterfrom
sync/upstream-d5ff410

Conversation

@guanbinrui

Copy link
Copy Markdown
Member

What

Merge current upstream zedeus/nitter master (d5ff410, 2026-06-02) into our fork.

Why

Our fork was last synced against an older upstream tip. This pulls us up to date and records d5ff410 as a merge parent so future syncs stay conflict-light.

Net change

The fork was already content-even with upstream on the core fetch/parse code (parser.nim, api.nim, consts.nim were byte-identical), so the net diff is only 4 files of genuinely newer upstream work:

File Change
src/apiutils.nim session-aware retry: logs which session was rate-limited on each retry
src/auth.nim /.health + /.sessions now break sessions down by kind (oauth/cookie) and report per-kind limited counts; richer "no sessions available" logging
src/routes/search.nim opensearch response header refactor
src/views/general.nim same-origin referrer meta tag

Conflict resolution

Kept all fork-local JSON API additions:

  • enableJsonApi config field (types.nim, config.nim, nitter.example.conf)
  • corsOrigin template (router_utils.nim)
  • jsons/* router imports + /api/.* CORS preflight route (nitter.nim)
  • self-hosted build-docker.yml; run-tests.yml stays removed

Took upstream for the session-logging/retry and opensearch changes.

Note on media

parser.nim is unchanged and identical to upstream — this sync does not alter media parsing. The current media: null responses are a session/account restriction issue (X serves flagged sessions stripped responses), not a parser bug. The new per-kind session health output here helps diagnose exactly that: check /.health for oauth/cookie limited counts.

Test plan

  • nimble build / Docker build succeeds
  • JSON API still serves (/api/:handle, /api/:handle/media, /.health)
  • /.health shows the new per-kind session breakdown

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 14 commits March 21, 2026 08:30
Sync with current upstream. Net change is small because the fork was
already content-even with upstream on parser/api/consts; this brings in
the genuinely newer pieces and records d5ff410 as a merge parent so
future syncs stay clean.

Picked up:
- apiutils/auth: session-aware retry + per-kind (oauth/cookie) session
  health and debug logging
- search: opensearch header refactor
- general: same-origin referrer meta

Conflict resolution kept all fork-local JSON API additions (enableJsonApi
config, corsOrigin template, jsons/* router imports, /api CORS preflight)
and took upstream for the session-logging/retry and opensearch changes.
Media parsing (parser.nim) is unchanged and identical to upstream.
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.

6 participants