diff --git a/src/components/object-storage/modals/CreateFolderModal.vue b/src/components/object-storage/modals/CreateFolderModal.vue index 7b0400c6aebddd0e380115e5715889477606397d..cff38a4abb621d825f566490b6af623264c78a02 100644 --- a/src/components/object-storage/modals/CreateFolderModal.vue +++ b/src/components/object-storage/modals/CreateFolderModal.vue @@ -62,7 +62,7 @@ function uploadFolder() { uploadModal?.hide(); successToast?.show(); emit("folder-created", { - key: key, + key: realKey, bucket: props.bucketName, size: 0, last_modified: dayjs().toISOString(), diff --git a/src/components/parameter-schema/form-mode/ParameterStringInput.vue b/src/components/parameter-schema/form-mode/ParameterStringInput.vue index 1bd3299a3b50b845a77f45b9d123a05ee3517ae9..d9a59f8730e18f904dff0a0e787adc6204abf700 100644 --- a/src/components/parameter-schema/form-mode/ParameterStringInput.vue +++ b/src/components/parameter-schema/form-mode/ParameterStringInput.vue @@ -72,9 +72,7 @@ const stringInput = ref<HTMLInputElement | undefined>(undefined); const format = computed<string | undefined>(() => props.parameter["format"]); const filesInBucket = computed<string[]>(() => - keysInBucket.value.filter( - (obj) => !obj.endsWith("/") && !obj.endsWith(".s3keep") - ) + keysInBucket.value.filter((obj) => !obj.endsWith("/")) ); const foldersInBucket = computed<string[]>(() => diff --git a/src/components/workflows/modals/ArbitraryWorkflowModal.vue b/src/components/workflows/modals/ArbitraryWorkflowModal.vue index 7280c079907d6e3665396576562ff7ea16e75c9b..ef8967082f11f868d39d73ec83c34553d92f9a11 100644 --- a/src/components/workflows/modals/ArbitraryWorkflowModal.vue +++ b/src/components/workflows/modals/ArbitraryWorkflowModal.vue @@ -210,7 +210,7 @@ onMounted(() => { role="status" aria-hidden="true" ></span> - Save + View </button> </template> </bootstrap-modal> diff --git a/src/stores/buckets.ts b/src/stores/buckets.ts index ec2f3b3b85ac10e7bab1cf767052ef6ac6ebabbd..a884d9f97cfd5a78cc3698679bbc20a702346993 100644 --- a/src/stores/buckets.ts +++ b/src/stores/buckets.ts @@ -20,16 +20,18 @@ export const useBucketStore = defineStore({ buckets: [], ownPermissions: {}, _lastFetchBucketPromise: undefined, - _bla: 0, + _lastFetchBucketPromiseTimestamp: 0, } as { buckets: BucketOut[]; ownPermissions: Record<string, BucketPermissionOut>; _lastFetchBucketPromise?: CancelablePromise<never>; - _bla: number; + _lastFetchBucketPromiseTimestamp: number; }), getters: { ownBucketsAndFullPermissions(): string[] { + const authStore = useAuthStore(); const names = this.buckets + .filter((bucket) => bucket.owner === authStore.currentUID) .map((bucket) => bucket.name) .concat( Object.values(this.ownPermissions) @@ -153,8 +155,8 @@ export const useBucketStore = defineStore({ * then no API call will be made and the last one reused */ const currentTime = new Date().getTime(); - if (currentTime - this._bla > 5000) { - this._bla = currentTime; + if (currentTime - this._lastFetchBucketPromiseTimestamp > 5000) { + this._lastFetchBucketPromiseTimestamp = currentTime; const authStore = useAuthStore(); if (this.buckets.length > 0) { onFinally?.(); diff --git a/src/views/object-storage/S3KeyView.vue b/src/views/object-storage/S3KeyView.vue index accd651eddb9aa3aa9c0f3de13c5516160a22a73..ed77ed0eb831e1a68372ff0576caacf35ef09059 100644 --- a/src/views/object-storage/S3KeyView.vue +++ b/src/views/object-storage/S3KeyView.vue @@ -3,6 +3,7 @@ import type { S3Key } from "@/client/s3proxy"; import { ref, watch } from "vue"; import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue"; import DeleteModal from "@/components/modals/DeleteModal.vue"; +import { environment } from "../../environment"; const props = defineProps<{ s3key: S3Key; @@ -37,6 +38,8 @@ function deleteKeyTrigger() { :back-modal-id="undefined" @confirm-delete="deleteKeyTrigger" /> + <h3>S3 Endpoint:</h3> + <div class="fs-4 mb-4">{{ environment.S3_URL }}</div> <h3>Access Key:</h3> <div v-if="props.loading" class="placeholder-glow"> <span class="placeholder col-5 mt-3 mb-2 fs-4"></span><br />