This is an automated email from the ASF dual-hosted git repository.

bisman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 79e4f02  Fixed download links from Issue #51
79e4f02 is described below

commit 79e4f0258ee27855a72e02807f6b2b709d792a0e
Author: Bismanpal Singh <[email protected]>
AuthorDate: Fri Jan 30 12:51:23 2026 -0800

    Fixed download links from Issue #51
---
 src/components/Download/DownloadBox.tsx |  34 +++++++---
 src/components/Download/index.tsx       | 107 ++++++++++++++++++++++++++------
 src/components/Footer/index.tsx         |   8 +++
 src/styles/index.css                    |  28 ++++-----
 4 files changed, 135 insertions(+), 42 deletions(-)

diff --git a/src/components/Download/DownloadBox.tsx 
b/src/components/Download/DownloadBox.tsx
index 6112d8f..007aea2 100644
--- a/src/components/Download/DownloadBox.tsx
+++ b/src/components/Download/DownloadBox.tsx
@@ -5,10 +5,11 @@ const DownloadBox = (props: {
   sha512Link: string;
   signLink: string;
   downloadLink: string;
+  keysLink: string;
   isApache: boolean;
   children?: React.ReactNode;
 }) => {
-  const { type, packageName, subtitle, sha512Link, signLink, downloadLink, 
isApache, children } = props;
+  const { type, packageName, subtitle, sha512Link, signLink, downloadLink, 
keysLink, isApache, children } = props;
 
   return (
     <div className="w-full">
@@ -24,26 +25,41 @@ const DownloadBox = (props: {
         <p className="mb-7 text-base text-body-color">{subtitle}</p>
         <div className="mb-8 border-b border-body-color border-opacity-10 pb-8 
dark:border-white dark:border-opacity-10">
           <a
-            href={downloadLink}
-            className="flex w-full items-center justify-center rounded-sm 
bg-primary p-3 text-base font-semibold text-white transition duration-300 
ease-in-out hover:bg-opacity-80 hover:shadow-signUp"
+            href={`${downloadLink}?action=download`}
+            className="flex w-full items-center justify-center rounded-sm 
bg-primary p-3 text-base font-semibold text-white transition duration-300 
ease-in-out hover:bg-opacity-80 hover:shadow-signUp mb-3"
           >
             Download Code ({type})
           </a>
+          <a
+            href={downloadLink}
+            target="_blank"
+            rel="noopener noreferrer"
+            className="flex w-full items-center justify-center rounded-sm 
border border-primary bg-transparent p-3 text-base font-semibold text-primary 
transition duration-300 ease-in-out hover:bg-primary hover:text-white"
+          >
+            Other Download Options
+          </a>
         </div>
-        <div className="flex justify-center mb-4">
-          <div className="badge-download-container">
+        <div className="mb-4">
+          <div className="flex justify-center gap-2 mb-3">
             {sha512Link && (
-              <a href={sha512Link} className="badge-download">
+              <a href={sha512Link} className="badge-download" target="_blank" 
rel="noopener noreferrer">
                 SHA512
               </a>
             )}
             {signLink && (
-              <a href={signLink} className="badge-download">
+              <a href={signLink} className="badge-download" target="_blank" 
rel="noopener noreferrer">
                 ASC
               </a>
             )}
-            <span className="badge-asf">
-              {isApache ? "ASF release" : "Non-ASF release"}
+            {keysLink && (
+              <a href={keysLink} className="badge-download" target="_blank" 
rel="noopener noreferrer">
+                KEYS
+              </a>
+            )}
+          </div>
+          <div className="flex justify-center">
+            <span className={`badge-asf ${!isApache ? "non-asf" : ""}`}>
+              {isApache ? "ASF release" : "Non-ASF"}
             </span>
           </div>
         </div>
diff --git a/src/components/Download/index.tsx 
b/src/components/Download/index.tsx
index 282999b..86cdf05 100644
--- a/src/components/Download/index.tsx
+++ b/src/components/Download/index.tsx
@@ -6,16 +6,26 @@ import DownloadBox from "./DownloadBox";
 const Download = () => {
   const [isZIP, setIsZIP] = useState(false);
 
-  const asfSha512LinkZIP = "";
-  const asfSha512LinkTAR = 
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz.sha512";;
-  const nonAsfSha512LinkZIP = "";
-  const nonAsfSha512LinkTAR = "";
-  const signLink = 
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz.asc";;
+  // Version configuration
+  const version = "1.11.0";
+  const fileName = `apache-resilientdb-${version}-incubating-src`;
+
+  // Apache download URLs - use closer.lua for source code (mirrors), 
downloads.apache.org for sigs/hashes
+  const asfDownloadLinkTAR = 
`https://www.apache.org/dyn/closer.lua/incubator/resilientdb/${version}/${fileName}.tar.gz`;
+  const asfSha512LinkTAR = 
`https://downloads.apache.org/incubator/resilientdb/${version}/${fileName}.tar.gz.sha512`;
+  const signLinkTAR = 
`https://downloads.apache.org/incubator/resilientdb/${version}/${fileName}.tar.gz.asc`;
+  const keysLink = "https://downloads.apache.org/incubator/resilientdb/KEYS";;
 
+  // ZIP links (if available)
   const asfDownloadLinkZIP = "";
-  const asfDownloadLinkTAR = 
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz";;
+  const asfSha512LinkZIP = "";
+  const signLinkZIP = "";
+
+  // Non-ASF (GitHub) links
   const nonAsfDownloadLinkZIP = 
"https://github.com/apache/incubator-resilientdb/archive/refs/tags/v1.11.0-rc03.zip";;
   const nonAsfDownloadLinkTAR = "";
+  const nonAsfSha512LinkZIP = "";
+  const nonAsfSha512LinkTAR = "";
 
   const availableZIP = asfDownloadLinkZIP && nonAsfDownloadLinkZIP;
   const availableTAR = asfDownloadLinkTAR && nonAsfDownloadLinkTAR;
@@ -77,12 +87,13 @@ const Download = () => {
                   {asfDownloadLinkZIP && (
                     <div className="px-10">
                       <DownloadBox
-                        packageName="v1.10.0"
+                        packageName={`v${version}`}
                         type="zip"
                         subtitle="Download the latest source code release from 
Apache"
                         sha512Link={asfSha512LinkZIP}
-                        signLink={signLink}
+                        signLink={signLinkZIP}
                         downloadLink={asfDownloadLinkZIP}
+                        keysLink={keysLink}
                         isApache={true}
                       />
                     </div>
@@ -90,13 +101,14 @@ const Download = () => {
                   {nonAsfDownloadLinkZIP && (
                     <div className="px-10">
                       <DownloadBox
-                        packageName="v1.10.0"
+                        packageName="v1.11.0-rc03"
                         type="zip"
                         subtitle="Download the latest source code release from 
GitHub"
                         sha512Link={nonAsfSha512LinkZIP}
-                        signLink={signLink}
+                        signLink=""
                         downloadLink={nonAsfDownloadLinkZIP}
-                        isApache={true}
+                        keysLink=""
+                        isApache={false}
                       />
                     </div>
                   )}
@@ -105,13 +117,14 @@ const Download = () => {
                 <div className={`grid grid-cols-1 gap-x-0 gap-y-2 
md:grid-cols-2 ${availableZIP ? 'lg:grid-cols-2': 'lg:grid-cols-1'}`}>
                   <div className="px-10">
                     <DownloadBox
-                      packageName="v1.10.0"
+                      packageName="v1.11.0-rc03"
                       type="zip"
                       subtitle="Download the latest source code release from 
GitHub"
                       sha512Link={nonAsfSha512LinkZIP}
-                      signLink={signLink}
+                      signLink=""
                       downloadLink={nonAsfDownloadLinkZIP}
-                      isApache={true}
+                      keysLink=""
+                      isApache={false}
                     />
                   </div>
                 </div>
@@ -122,12 +135,13 @@ const Download = () => {
                 {asfDownloadLinkTAR && (
                   <div className="px-10">
                     <DownloadBox
-                      packageName="v1.10.0"
+                      packageName={`v${version}`}
                       type="tar.gz"
                       subtitle="Download the latest source code release from 
Apache"
                       sha512Link={asfSha512LinkTAR}
-                      signLink={signLink}
+                      signLink={signLinkTAR}
                       downloadLink={asfDownloadLinkTAR}
+                      keysLink={keysLink}
                       isApache={true}
                     />
                   </div>
@@ -135,13 +149,14 @@ const Download = () => {
                 {nonAsfDownloadLinkTAR && (
                   <div className="px-10">
                     <DownloadBox
-                      packageName="v1.10.0"
+                      packageName={`v${version}`}
                       type="tar.gz"
                       subtitle="Download the latest source code release from 
GitHub"
                       sha512Link={nonAsfSha512LinkTAR}
-                      signLink={signLink}
+                      signLink=""
                       downloadLink={nonAsfDownloadLinkTAR}
-                      isApache={true}
+                      keysLink=""
+                      isApache={false}
                     />
                   </div>
                 )}
@@ -149,6 +164,60 @@ const Download = () => {
               </>
             )}
         </div>
+
+        {/* Verification Instructions */}
+        <div className="mt-16 mx-auto max-w-3xl">
+          <h3 className="mb-6 text-2xl font-bold text-black dark:text-white 
text-center">
+            Verify Your Download
+          </h3>
+          <div className="rounded-sm bg-white px-8 py-8 shadow-three 
dark:bg-gray-dark dark:shadow-two">
+            <p className="mb-4 text-base text-body-color 
dark:text-body-color-dark">
+              It is essential to verify the integrity of downloaded files 
using the PGP signature (.asc) or SHA512 hash (.sha512).
+            </p>
+            
+            <h4 className="mb-3 text-lg font-semibold text-black 
dark:text-white">
+              1. Download the KEYS file
+            </h4>
+            <p className="mb-2 text-base text-body-color 
dark:text-body-color-dark">
+              First, download the{" "}
+              <a 
+                href={keysLink} 
+                className="text-primary hover:underline"
+                target="_blank"
+                rel="noopener noreferrer"
+              >
+                KEYS file
+              </a>
+              {" "}containing the public keys used to sign releases.
+            </p>
+            <pre className="mb-6 overflow-x-auto rounded bg-gray-100 p-4 
text-sm dark:bg-gray-800">
+              <code>gpg --import KEYS</code>
+            </pre>
+
+            <h4 className="mb-3 text-lg font-semibold text-black 
dark:text-white">
+              2. Verify using PGP signature
+            </h4>
+            <p className="mb-2 text-base text-body-color 
dark:text-body-color-dark">
+              Download the .asc signature file and verify:
+            </p>
+            <pre className="mb-6 overflow-x-auto rounded bg-gray-100 p-4 
text-sm dark:bg-gray-800">
+              <code>{`gpg --verify ${fileName}.tar.gz.asc 
${fileName}.tar.gz`}</code>
+            </pre>
+
+            <h4 className="mb-3 text-lg font-semibold text-black 
dark:text-white">
+              3. Verify using SHA512 hash
+            </h4>
+            <p className="mb-2 text-base text-body-color 
dark:text-body-color-dark">
+              Download the .sha512 hash file and verify:
+            </p>
+            <pre className="mb-4 overflow-x-auto rounded bg-gray-100 p-4 
text-sm dark:bg-gray-800">
+              <code>{`shasum -a 512 -c ${fileName}.tar.gz.sha512`}</code>
+            </pre>
+            <p className="text-sm text-body-color dark:text-body-color-dark">
+              On Linux, you can use <code className="rounded bg-gray-100 px-1 
dark:bg-gray-800">sha512sum</code> instead of <code className="rounded 
bg-gray-100 px-1 dark:bg-gray-800">shasum -a 512</code>.
+            </p>
+          </div>
+        </div>
       </div>
     </section>
   );
diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx
index 2fe97c7..d967292 100644
--- a/src/components/Footer/index.tsx
+++ b/src/components/Footer/index.tsx
@@ -158,6 +158,14 @@ const Footer = async () => {
                       Email us
                     </Link>
                   </li>
+                  <li>
+                    <Link
+                      
href="https://github.com/apache/incubator-resilientdb/issues";
+                      className="mb-4 inline-block text-base text-body-color 
duration-300 hover:text-primary dark:text-body-color-dark 
dark:hover:text-primary"
+                    >
+                      Issue Tracker
+                    </Link>
+                  </li>
                 </ul>
               </div>
             </div>
diff --git a/src/styles/index.css b/src/styles/index.css
index f132dec..73b81a6 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -325,8 +325,6 @@
 .badge-download {
   display: inline-block;
   padding: 0.25rem 0.5rem;
-  margin-right: 0.5rem;
-  margin-bottom: 0.5rem;
   font-size: 0.875rem;
   font-weight: 600;
   color: #fff;
@@ -358,22 +356,24 @@
 }
 
 .badge-asf {
-  display: inline-block;
+  display: inline-flex;
+  align-items: center;
   padding: 0.25rem 0.5rem;
-  margin-right: 0.5rem;
-  margin-bottom: 0.5rem;
-  font-size: 0.875rem;
-  font-weight: 600;
-  color: #fff;
-  background-color: #e5602b;
+  font-size: 0.75rem;
+  font-weight: 500;
+  color: #e5602b;
+  background-color: transparent;
+  border: 1px solid #e5602b;
   border-radius: 0.25rem;
-  text-decoration: none;
-  transition: background-color 0.3s;
-  cursor: pointer;
+  text-transform: uppercase;
+  letter-spacing: 0.05em;
+  cursor: default;
+  user-select: none;
 }
 
-.badge-asf:hover {
-  background-color: #d3460e;
+.badge-asf.non-asf {
+  color: #6b7280;
+  border-color: #6b7280;
 }
 
 /* Community Page Heading Styles */

Reply via email to