From 68dd7f33abc19ab3f8c091e03b64da1ba474397b Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Mon, 12 Jan 2026 13:25:26 -0800 Subject: [PATCH 1/3] IO-3431 Add Tags to Images and Documents Signed-off-by: Allan Carr --- ...jobs-documents-local-gallery.container.jsx | 4 ++- .../local-media-grid.component.jsx | 25 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx index 4ef9cb881..20f3f3179 100644 --- a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx +++ b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx @@ -67,6 +67,7 @@ export function JobsDocumentsLocalGallery({ src: val.thumbnail, height: val.thumbnailHeight, width: val.thumbnailWidth, + tags: [{ value: val.filename, title: val.filename }], ...(val.optimized && { src: val.optimized, fullsize: val.src }) }); if (val.optimized) optimized = true; @@ -77,7 +78,8 @@ export function JobsDocumentsLocalGallery({ src: val.thumbnail, height: val.thumbnailHeight, width: val.thumbnailWidth, - tags: [{ value: val.filename, title: val.filename }] + tags: [ + { value: val.filename, title: val.filename }] }); } return acc; diff --git a/client/src/components/jobs-documents-local-gallery/local-media-grid.component.jsx b/client/src/components/jobs-documents-local-gallery/local-media-grid.component.jsx index 4a3c6700b..52cf18677 100644 --- a/client/src/components/jobs-documents-local-gallery/local-media-grid.component.jsx +++ b/client/src/components/jobs-documents-local-gallery/local-media-grid.component.jsx @@ -1,4 +1,5 @@ import { Checkbox } from "antd"; +import { Tag } from "antd"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; /** @@ -187,6 +188,30 @@ export function LocalMediaGrid({ transition: "opacity .25s ease" }} /> + {img.tags && img.tags.length > 0 && ( +
+ {img.tags.map((tag, tagIdx) => ( + + {tag.value || tag.title} + + ))} +
+ )} ); })()} From d90acf4b89cf3053f4c76abf0f1535994a2d288b Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Mon, 12 Jan 2026 13:27:23 -0800 Subject: [PATCH 2/3] IO-3431 Prettier Run Signed-off-by: Allan Carr --- .../jobs-documents-local-gallery.container.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx index 20f3f3179..5b0851ab8 100644 --- a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx +++ b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx @@ -78,8 +78,7 @@ export function JobsDocumentsLocalGallery({ src: val.thumbnail, height: val.thumbnailHeight, width: val.thumbnailWidth, - tags: [ - { value: val.filename, title: val.filename }] + tags: [{ value: val.filename, title: val.filename }] }); } return acc; From 997aebddb0f92f5736a993425b9c2835e5dae46d Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Tue, 13 Jan 2026 12:42:18 -0800 Subject: [PATCH 3/3] IO-3498 QBO Auth Token Signed-off-by: Allan Carr --- server/accounting/qbo/qbo-callback.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/server/accounting/qbo/qbo-callback.js b/server/accounting/qbo/qbo-callback.js index 281ab9d9a..c69aaabb0 100644 --- a/server/accounting/qbo/qbo-callback.js +++ b/server/accounting/qbo/qbo-callback.js @@ -45,7 +45,7 @@ exports.default = async (req, res) => { exports.refresh = async (oauthClient, req) => { try { - // logger.log("qbo-token-refresh", "DEBUG", req.user.email, null, null); + logger.log("qbo-token-refresh", "DEBUG", req.user.email, null, null); const authResponse = await oauthClient.refresh(); await client.request(queries.SET_QBO_AUTH, { email: req.user.email, @@ -59,10 +59,12 @@ exports.refresh = async (oauthClient, req) => { }; exports.setNewRefreshToken = async (email, apiResponse) => { - //logger.log("qbo-token-updated", "DEBUG", email, null, null); + // Deprecated - tokens are now auto-updated in the oauthClient and the token isn't pushed back from QBO API calls anymore - await client.request(queries.SET_QBO_AUTH, { - email, - qbo_auth: { ...apiResponse.token, createdAt: Date.now() } - }); + // logger.log("qbo-token-updated", "DEBUG", email, null, {apiResponse: apiResponse}); + + // await client.request(queries.SET_QBO_AUTH, { + // email, + // qbo_auth: { ...apiResponse.token, createdAt: Date.now() } + // }); };