From 8101c83825723d81613b958463a0dda74e9f2204 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Tue, 15 Jul 2025 17:49:16 +0200 Subject: [PATCH 001/109] feat: update frontend to expect server to set access token --- composables/auth.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/composables/auth.ts b/composables/auth.ts index bceecb3..b4532f7 100644 --- a/composables/auth.ts +++ b/composables/auth.ts @@ -17,9 +17,8 @@ export const useAuth = () => { { email, identifier: username, password: hashedPass, device_name: "Linux Laptop" } - }) as { access_token: string, refresh_token: string }; + }); //authStore.setAccessToken(accessToken); - accessToken.value = res.access_token; } async function login(username: string, password: string, device_name: string) { @@ -31,9 +30,8 @@ export const useAuth = () => { { username, password: hashedPass, device_name: "Linux Laptop" } - }) as { access_token: string, refresh_token: string }; + }); console.log("hi"); - accessToken.value = res.access_token; console.log("access token:", accessToken.value); //await fetchUser(); } @@ -67,8 +65,7 @@ export const useAuth = () => { method: "POST" }) as any; console.log("finished refreshing:", res); - if (res && res.access_token) { - accessToken.value = res.access_token; + if (res) { console.log("set new access token"); } else { console.log("refresh didn't return access token"); From 8a172db3f462182e5d381463833212fd36f9bc3d Mon Sep 17 00:00:00 2001 From: JustTemmie <47639983+JustTemmie@users.noreply.github.com> Date: Wed, 16 Jul 2025 05:30:11 +0200 Subject: [PATCH 002/109] feat: refactor code to require refetching the theme whenever a new version releases --- app.vue | 21 ++++++--------- .../Settings/AppSettings/Appearance.vue | 16 ++--------- utils/loadPreferredTheme.ts | 27 +++++++++++++++++++ 3 files changed, 37 insertions(+), 27 deletions(-) create mode 100644 utils/loadPreferredTheme.ts diff --git a/app.vue b/app.vue index 6f6eae0..d7ea4c4 100644 --- a/app.vue +++ b/app.vue @@ -1,14 +1,18 @@ \ No newline at end of file From c295225c4303e14be722ed3659800fb2074cf9d8 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Wed, 16 Jul 2025 23:50:41 +0200 Subject: [PATCH 013/109] chore: rename instances of cursor to pointer in createContextMenu component and ContextMenuItem interface --- components/UserInterface/ContextMenu.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/UserInterface/ContextMenu.vue b/components/UserInterface/ContextMenu.vue index 1388bbd..5342b8c 100644 --- a/components/UserInterface/ContextMenu.vue +++ b/components/UserInterface/ContextMenu.vue @@ -7,13 +7,13 @@ \ No newline at end of file From 3f1f8d7be508bec93f86af29d103953821b55b7c Mon Sep 17 00:00:00 2001 From: Radical Date: Thu, 17 Jul 2025 16:11:52 +0200 Subject: [PATCH 020/109] ci: remove parentheses from name breaks netavark -_- --- .woodpecker/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/build-and-publish.yml b/.woodpecker/build-and-publish.yml index 6001a00..cb7caea 100644 --- a/.woodpecker/build-and-publish.yml +++ b/.woodpecker/build-and-publish.yml @@ -24,7 +24,7 @@ steps: - branch: main event: push - - name: container-build-and-publish (staging) + - name: container-build-and-publish-staging image: docker commands: - docker login --username radical --password $PASSWORD git.gorb.app From e339b1df10dbebddcf6c050deefcaaab402dc28d Mon Sep 17 00:00:00 2001 From: JustTemmie <47639983+JustTemmie@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:18:18 +0200 Subject: [PATCH 021/109] refactor: change Avatar component to take a single variable instead of user or profile --- components/Avatar.vue | 32 ++++++++++++++++++-------------- components/Message.vue | 2 +- components/User/UserEntry.vue | 2 +- components/User/UserPopup.vue | 2 +- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/components/Avatar.vue b/components/Avatar.vue index 13a884e..5f16251 100644 --- a/components/Avatar.vue +++ b/components/Avatar.vue @@ -13,25 +13,29 @@ import { NuxtImg } from '#components'; import type { GuildMemberResponse, UserResponse } from '~/types/interfaces'; const props = defineProps<{ - user?: UserResponse, - member?: GuildMemberResponse, + profile: UserResponse | GuildMemberResponse, }>(); - -let displayName: string +const displayName = getDisplayName(props.profile) let displayAvatar: string | null -const user = props.user || props.member?.user -if (user) { - displayName = getDisplayName(props.member ?? user) - - if (user.avatar) { - displayAvatar = user.avatar - } else if (!isCanvasBlocked()){ - displayAvatar = generateDefaultIcon(displayName, user.uuid) - } else { - displayAvatar = null +if ("username" in props.profile) { + // assume it's a UserRespone + displayAvatar = props.profile.avatar + if (!displayAvatar) { + if (!isCanvasBlocked()) { + displayAvatar = generateDefaultIcon(displayName, props.profile.uuid) + } + } + +} else { + // assume it's a GuildMemberResponse + displayAvatar = props.profile.user.avatar + if (!displayAvatar) { + if (!isCanvasBlocked()) { + displayAvatar = generateDefaultIcon(displayName, props.profile.user_uuid) + } } } diff --git a/components/Message.vue b/components/Message.vue index ed32c50..71687e1 100644 --- a/components/Message.vue +++ b/components/Message.vue @@ -29,7 +29,7 @@ :text="props.replyMessage?.message" :reply-id="props.replyMessage.uuid" max-width="reply" />
- +