Skip to content

Commit a01fde4

Browse files
author
Lasim
committed
chore(frontend): update logo references and remove unused images
1 parent 98bab0e commit a01fde4

File tree

20 files changed

+54
-22
lines changed

20 files changed

+54
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ services/backend/tests/e2e/test-data/*.db
7070
._*.jpg
7171
._*.yml
7272
._*.yaml
73+
._*.css
7374
cookies.txt
7475
cookiejar.txt
7576
cookie.txt

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/backend/src/services/oauth/authorizationService.ts

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,27 @@ export class AuthorizationService {
9090
const { db, schema } = this.getDbAndSchema();
9191

9292
try {
93+
// Clean up any expired or pending authorization requests for this user/client combo
94+
// This helps prevent accumulation of unused records
95+
const now = new Date();
96+
await (db as any)
97+
.delete(schema.oauthAuthorizationCodes)
98+
.where(
99+
and(
100+
eq(schema.oauthAuthorizationCodes.user_id, userId),
101+
eq(schema.oauthAuthorizationCodes.client_id, clientId),
102+
// Delete if expired OR if it's a pending request (starts with 'pending_')
103+
lt(schema.oauthAuthorizationCodes.expires_at, now)
104+
)
105+
);
106+
93107
const requestId = generateId(32);
94108
const expiresAt = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes
95109

110+
// Generate a unique placeholder code for pending authorization
111+
// This prevents UNIQUE constraint violations when multiple auth requests are made
112+
const placeholderCode = `pending_${generateId(32)}`;
113+
96114
// Store authorization request (temporary, for consent page)
97115
const authRequest = {
98116
id: requestId,
@@ -103,7 +121,7 @@ export class AuthorizationService {
103121
state,
104122
code_challenge: codeChallenge,
105123
code_challenge_method: codeChallengeMethod,
106-
code: '', // Will be filled when user approves
124+
code: placeholderCode,
107125
used: false,
108126
expires_at: expiresAt,
109127
};
@@ -253,6 +271,15 @@ export class AuthorizationService {
253271
const { db, schema } = this.getDbAndSchema();
254272

255273
try {
274+
// Reject placeholder codes immediately
275+
if (code.startsWith('pending_')) {
276+
logger?.warn({
277+
operation: 'verify_authorization_code',
278+
error: 'Attempted to verify placeholder code',
279+
}, 'Invalid authorization code - placeholder code submitted');
280+
return null;
281+
}
282+
256283
// Find authorization code
257284
const result = await (db as any)
258285
.select()
-11.3 KB
Binary file not shown.
-3.96 KB
Binary file not shown.
6.46 KB
Loading
-67.3 KB
Loading
10.9 KB
Binary file not shown.

services/frontend/src/assets/index.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
--accent: hsl(210 40% 96.1%);
2121
--accent-foreground: hsl(222.2 47.4% 11.2%);
2222
--destructive: hsl(0 84.2% 60.2%);
23-
--destructive-foreground: hsl(210 40% 98%);
23+
--destructive-foreground: hsl(0 72% 51%);
2424
--border: hsl(214.3 31.8% 91.4%);
2525
--input: hsl(214.3 31.8% 91.4%);
2626
--ring: hsl(222.2 84% 4.9%);

services/frontend/src/views/ForgotPassword.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ const navigateToLogin = () => {
140140
<div class="sm:mx-auto sm:w-full sm:max-w-sm">
141141
<img
142142
class="mx-auto h-20 w-auto"
143-
src="/deploystack-logo-74x80.webp"
143+
src="/deploystack-logo-80x80.png"
144144
alt="DeployStack Logo"
145145
/>
146146
<h2 class="mt-10 text-center text-2xl font-bold tracking-tight text-gray-900">

0 commit comments

Comments
 (0)