Release v0.8.0 with NBER-CLI Desktop#6
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e69d632f98
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| items={feedItems} | ||
| totalCount={feedTotalCount} | ||
| items={visibleItems} | ||
| totalCount={query || filter !== 'all' ? visibleItems.length : feedTotalCount} |
There was a problem hiding this comment.
Preserve pagination while filters are active
When the local cache has more rows than the first loaded page, this passes visibleItems.length as totalCount whenever a query or the Unread tab is active. FeedList then computes hasMore as false and hides the load-more button, so older unread or matching papers outside the loaded slice become unreachable even though the feed API can page through them.
Useful? React with 👍 / 👎.
| [project.optional-dependencies] | ||
| server = [ | ||
| "fastapi>=0.110", | ||
| "uvicorn>=0.29", | ||
| "alembic>=1.13", |
There was a problem hiding this comment.
Keep server entry points usable from default installs
Moving FastAPI, Uvicorn, and Alembic behind the server extra means a normal pipx/uv tool install nber-cli no longer installs the modules imported by the still-installed nber-server and nber-sidecar console scripts. Users upgrading from 0.7 or discovering the generated command will hit ModuleNotFoundError unless they reinstall with [server]; either keep these dependencies with the scripts or route the default entry point through a small error that explains the required extra.
Useful? React with 👍 / 👎.
| python-version: "3.11" | ||
|
|
||
| - uses: astral-sh/setup-uv@v3 | ||
| - uses: astral-sh/setup-uv@v8 |
There was a problem hiding this comment.
Pin setup-uv to a resolvable immutable tag
The new astral-sh/setup-uv@v8 reference is used across the updated workflows, but setup-uv's v8 release notes say they stopped publishing major/minor tags and that @v8 cannot be used, recommending an immutable tag such as astral-sh/setup-uv@v8.0.0 instead (https://github.com/astral-sh/setup-uv/releases/tag/v8.0.0). As written, GitHub Actions cannot resolve this action, so the Desktop, pytest, lint, docs, and publish jobs fail before any project commands run.
Useful? React with 👍 / 👎.
| nber-server = "nber_server.main:main" | ||
| nber-sidecar = "nber_server.main:main" |
There was a problem hiding this comment.
Include nber_server in the built wheel
With no Hatch wheel package list configured, Hatchling's default wheel selection is based on the project name (https://hatch.pypa.io/1.16/plugins/builder/wheel/#default-file-selection), so nber-cli satisfies the src/nber_cli/__init__.py heuristic and the sibling src/nber_server package is not shipped. These new console scripts therefore point at a module that is missing from PyPI wheels, so even uvx --from "nber-cli[server]" nber-server will fail with ModuleNotFoundError after installation.
Useful? React with 👍 / 👎.
Summary
Validation