fix(downloads): point client release tables at the tarball instead of the directory#1123
fix(downloads): point client release tables at the tarball instead of the directory#1123singhvishalkr wants to merge 1 commit intoapache:mainfrom
Conversation
lhotari
left a comment
There was a problem hiding this comment.
This requires some more changes. The table should be similar to "Older releases" above the tables where there would be links for the binary (asc, sha512), source (asc, sha512) and release notes.
|
Thanks for the review @lhotari! Before I push the reshape I wanted to flag what the dist layout actually exposes for each client, so the final table matches reality:
Given that, two shapes make sense -- happy to ship whichever you prefer: Option A -- reuse
Option B -- extend the current My lean is Option A -- it keeps the page visually consistent with "Older releases" above, which is what you asked for -- with Node handled by linking to Either way, would you like me to keep the existing one-line bug fix (tarball instead of directory) in this PR or split it out as a smaller prior PR so the reshape lands cleanly? |
… layout Per @lhotari's review on apache#1123, the client download tables (cpp, go, node, python) now mirror the "Older releases" table structure: Release / Source (asc, sha512) / Release notes. These clients only publish source tarballs on dist.apache.org, so the Binary column is omitted rather than rendered empty; OldReleaseTable now drops that column automatically when no row has a binary. Release notes point at each client repo's GitHub releases tag, which is the authoritative changelog for the client projects.
|
Reshaped the client tables to match the Older releases layout -- @lhotari per your review. Two files changed on this push:
Note on the honest gap: Apache dist publishes source tarballs for all four clients and nothing else, so the Binary column would be empty for every row. I went with hiding the column rather than rendering empty cells; happy to switch to rendering a dash/placeholder if you'd rather keep the 4-column header for visual consistency with the Pulsar table above it. Also kept the original one-line fix ( |
|
There's an error. Please test your changes locally by previewing the site with |
c15b068 to
bfc35b8
Compare
|
Pushed Content diff vs |
lhotari
left a comment
There was a problem hiding this comment.
After all, this doesn't make sense at least for CPP client.
For example, in https://archive.apache.org/dist/pulsar/pulsar-client-cpp-4.1.0/ there are also pre-built binaries available. It would be a larger change to handle links to all possible binaries and having that in the table wouldn't be usable. Something where the table row gets expanded and contains the links could work.
|
You were right on the CPP point -- trying to shoehorn every prebuilt into a flat table was the wrong direction. Pushed Changes on this push:
Implementation: MUI Local verification on this push (addressing the previous encoding footgun on
If you'd rather have the collapsed state render the prebuilt hint inline (e.g. next to the release notes column instead of gated behind expand), or want the CPP table to list the per-distro binary paths inline once the naming convention is stable enough to hardcode, I can iterate in a follow-up push. |
|
The visual appearance is different from the other release tables:
|
Addressing the visual follow-up on apache#1123: - Drop the leading expander column; move the chevron inside the Release cell so the table reads "Release | Source | Release notes", matching the three-column shape of ReleaseTable used everywhere else on the downloads page. - Zebra-stripe odd rows (rgba(0,0,0,0.03)) so the expanded row visually groups with its trigger; the collapsible sibling row inherits the same tint. - Tighten row paddings (paddingY: 0.5, IconButton size="small" with padding 0.25 and fontSize="inherit") so collapsed row height matches OldReleaseTable/ReleaseTable rather than sitting taller due to the default IconButton footprint. Data shape (ClientReleaseRow) and the Cpp/Node binariesHint text are unchanged; only the rendering layer moved.
9c3317b to
5b59795
Compare
|
Reshaped the client tables per your screenshot notes — pushed
Row expansion behaviour is unchanged — click the chevron, get the Apache archive directory URL plus (for CPP/Node) the pre-built binaries hint. The tarball link in the |
|
@singhvishalkr I'm sorry I missed the issue before. There's a comment in apache/pulsar#23836 (comment) |
|
Saw your note on apache/pulsar#23836. This PR is still the active fix for the download-page links; the branch head is 5b59795. I re-ran |

Motivation
Fixes apache/pulsar#23836.
Looking at
src/components/downloads.tsx, the four client release tables — C++, Go, Node, Python — setlink: url, whereurlis the Apache archive directory URL (.../pulsar-client-cpp-X.Y.Z/). The siblingascandsha512fields correctly usetarPath(the tarball file).The result on pulsar.apache.org/download is a row where:
.tar.gz.asc.tar.gz.sha512Which is exactly the mismatch the issue reports: "The links under Pulsar C++ Client all point to directories, rather than individual files... The links should point to the files as per the asc and sha512 entries."
The same bug is present in the Go, Node, and Python tables — same line pattern, same function body. Fixing all four in one patch keeps the tables consistent.
Modifications
Change
link: url→link: tarPathin:CppReleasesDownloadTable(line 185 before patch)GoReleasesDownloadTable(line 204)NodeReleasesDownloadTable(line 225)PythonReleasesDownloadTable(line 245)Verifying this change
Open
/downloadin a built docs site — hovering/clicking the release name in the four client tables should now navigate to theapache-pulsar-client-<lang>-<version>.tar.gzfile instead of the enclosing directory..ascand.sha512columns are unchanged.Does this pull request potentially affect one of the following parts:
The docsDocumentation
doc— rendered download page.