From d286e68b0953741496164eabc61fe4781bfb5666 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Mon, 6 Apr 2026 17:23:10 -0600 Subject: [PATCH 1/3] Refactor Dropbox authentication URLs to use constants for improved maintainability --- src/index.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/index.ts b/src/index.ts index f878b30..90119f8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,6 +14,10 @@ import React from "react"; import apiPost from "roamjs-components/util/apiPost"; import mimeTypes from "./mimeTypes"; +const DROPBOX_CLIENT_ID = "ghagecp4sgm6v99"; +const DROPBOX_AUTH_DOMAIN = "https://roamjs.com"; +const DROPBOX_REDIRECT_URI = "https://roamjs.com/oauth?auth=true"; + const mimeLookup = (path: string) => { if (!path || typeof path !== "string") { return false; @@ -53,19 +57,19 @@ export default runExtension(async (args) => { ServiceIcon: DropboxLogo, getPopoutUrl: () => Promise.resolve( - `https://www.dropbox.com/oauth2/authorize?client_id=ghagecp4sgm6v99&redirect_uri=${encodeURIComponent( - "https://roamjs.com/oauth?auth=true" + `https://www.dropbox.com/oauth2/authorize?client_id=${DROPBOX_CLIENT_ID}&redirect_uri=${encodeURIComponent( + DROPBOX_REDIRECT_URI )}&response_type=code&token_access_type=offline` ), getAuthData: (data) => apiPost({ - domain: `https://lambda.roamjs.com`, + domain: DROPBOX_AUTH_DOMAIN, path: `dropbox-auth`, anonymous: true, data: { ...JSON.parse(data), grant_type: "authorization_code", - redirect_uri: "https://roamjs.com/oauth?auth=true", + redirect_uri: DROPBOX_REDIRECT_URI, dev: undefined, }, }), @@ -87,7 +91,7 @@ export default runExtension(async (args) => { ); return tokenAge > expires_in ? apiPost<{ access_token: string }>({ - domain: `https://lambda.roamjs.com`, + domain: DROPBOX_AUTH_DOMAIN, path: `dropbox-auth`, data: { refresh_token, From b59a901dd2605fa8f5447e3009480aea16a6f843 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Mon, 6 Apr 2026 18:24:21 -0600 Subject: [PATCH 2/3] Update version to 1.3.1 in package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0a604d2..7b732ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dropbox", - "version": "1.3.0", + "version": "1.3.1", "description": "Send file uploads in Roam directly to your Dropbox!", "main": "./build/main.js", "scripts": { @@ -18,4 +18,4 @@ "samepage": { "extends": "node_modules/roamjs-components/package.json" } -} +} \ No newline at end of file From 52ad4ee6f38311f9afb44d486b0e5506e594cf11 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Mon, 6 Apr 2026 22:51:23 -0600 Subject: [PATCH 3/3] Update version to 1.4.0 and refactor Dropbox authentication to use new OauthPanel component --- package-lock.json | 4 +- src/components/DropboxLogo.tsx | 5 +- src/components/DropboxOauthPanel.tsx | 310 +++++++++++++++++++++++++++ src/index.ts | 29 +-- 4 files changed, 317 insertions(+), 31 deletions(-) create mode 100644 src/components/DropboxOauthPanel.tsx diff --git a/package-lock.json b/package-lock.json index 000fd1c..37116db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dropbox", - "version": "1.3.0", + "version": "1.4.0", "lockfileVersion": 2, "requires": true, "packages": { @@ -24396,4 +24396,4 @@ "peer": true } } -} +} \ No newline at end of file diff --git a/src/components/DropboxLogo.tsx b/src/components/DropboxLogo.tsx index 4d919e0..a55bc0a 100644 --- a/src/components/DropboxLogo.tsx +++ b/src/components/DropboxLogo.tsx @@ -8,9 +8,10 @@ const DropboxLogo = () => ( xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="84px" - height="63.8px" + width="16" + height="16" viewBox="0 0 84 63.8" + preserveAspectRatio="xMidYMid meet" xmlSpace="preserve" >