From 9e07ee15946433fa131d90ca247809368a46cb80 Mon Sep 17 00:00:00 2001
From: shibao
Date: Sun, 3 Nov 2024 10:15:10 -0500
Subject: [PATCH] add alwaysUploadAsContent option
---
src/options/App.vue | 11 +++++++++++
src/popup/pages/PopupMain.vue | 15 +++++++++++----
src/stores/index.ts | 1 +
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/src/options/App.vue b/src/options/App.vue
index d093bde..3db145e 100644
--- a/src/options/App.vue
+++ b/src/options/App.vue
@@ -139,6 +139,17 @@ wnd.szc_set_config_version = (v = 0) => (cfg.value.version = v);
+
+
+
+ This will always upload the image content directly, instead of
+ as an URL
+
+
+
{{ versionInfo }}
diff --git a/src/popup/pages/PopupMain.vue b/src/popup/pages/PopupMain.vue
index a5d5d75..ccc925b 100644
--- a/src/popup/pages/PopupMain.vue
+++ b/src/popup/pages/PopupMain.vue
@@ -162,8 +162,12 @@ async function upload() {
try {
const post: ScrapedPostDetails = cloneDeep(pop.selectedPost)!;
- // uploadMode "content" requires a content token to work. So ensure it is set.
- if (post.uploadMode == "content") {
+ // uploadMode "content" requires a content token to work. So ensure it is
+ // set. Ignore fallback "Upload as URL" mode as well
+ if (
+ (cfg.value.alwaysUploadAsContent || post.uploadMode === "content")
+ && post.name !== "[fallback] Upload as URL"
+ ) {
await ensurePostHasContentToken(post);
}
@@ -257,7 +261,10 @@ async function ensurePostHasContentToken(post: ScrapedPostDetails) {
}
try {
- let tmpRes = await selectedInstance.uploadTempFile(post.contentUrl, post.uploadMode);
+ const uploadMode =
+ cfg.value.alwaysUploadAsContent && post.name !== "[fallback] Upload as URL" ?
+ 'content' : post.uploadMode;
+ let tmpRes = await selectedInstance.uploadTempFile(post.contentUrl, uploadMode);
// Save contentToken in PostViewModel so that we can reuse it when creating/uploading the post.
instanceSpecificData.contentToken = tmpRes.token;
} catch (ex) {
@@ -403,7 +410,7 @@ useDark();