Merge upstream zedeus/nitter master (d5ff410)#32
Open
guanbinrui wants to merge 44 commits into
Open
Conversation
Co-authored-by: yav <796176@protonmail.com>
Fixes zedeus#1352 Fixes zedeus#553 Fixes zedeus#249
Fixes zedeus#727 Fixes zedeus#1023
* 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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Merge current upstream
zedeus/nittermaster (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
d5ff410as 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.nimwere byte-identical), so the net diff is only 4 files of genuinely newer upstream work:src/apiutils.nimsrc/auth.nim/.health+/.sessionsnow break sessions down by kind (oauth/cookie) and report per-kindlimitedcounts; richer "no sessions available" loggingsrc/routes/search.nimsrc/views/general.nimsame-originreferrer meta tagConflict resolution
Kept all fork-local JSON API additions:
enableJsonApiconfig field (types.nim,config.nim,nitter.example.conf)corsOrigintemplate (router_utils.nim)jsons/*router imports +/api/.*CORS preflight route (nitter.nim)build-docker.yml;run-tests.ymlstays removedTook upstream for the session-logging/retry and opensearch changes.
Note on media
parser.nimis unchanged and identical to upstream — this sync does not alter media parsing. The currentmedia: nullresponses 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/.healthforoauth/cookielimitedcounts.Test plan
nimble build/ Docker build succeeds/api/:handle,/api/:handle/media,/.health)/.healthshows the new per-kind session breakdown