-
Notifications
You must be signed in to change notification settings - Fork 0
fix(adhoc-sweep-fixes): 6 review findings across 6 files #87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
de03088
784264f
3b9210b
f3b1ab6
dc062c9
cbf00a3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -53,7 +53,7 @@ private void serializeArguments(StringBuilder builder, Map<String, Object> args) | |
|
|
||
| for (Map.Entry<String, Object> entry : args.entrySet()) { | ||
| String value = entry.getValue() instanceof String | ||
| ? entry.getValue().toString() // Don't add extra quotes | ||
| ? "\"" + entry.getValue().toString() + "\"" // Add quotes for string values | ||
| : entry.getValue().toString(); | ||
| joiner.add(entry.getKey() + ": " + value); | ||
| } | ||
|
Comment on lines
53
to
59
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 𦩠π QuerySerializer.serializeArguments has dead-code ternary that always evaluates identically In serializeArguments, the ternary's true-branch (String values) now wraps the value in escaped double quotes ( π€ Prompt for AI agentsfix confidence: π‘ 85 medium β react π/π to teach the reviewer |
||
|
|
@@ -64,4 +64,4 @@ private void serializeArguments(StringBuilder builder, Map<String, Object> args) | |
| private StringBuilder appendIndent(StringBuilder builder) { | ||
| return builder.append(" ".repeat(indent)); | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -95,10 +95,6 @@ private void printTokensStatus() { | |
| * endpoint to get remaining requests and reset time. | ||
| */ | ||
| public synchronized void initializeRateLimits() { | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 𦩠π΄ initializeRateLimits is a no-op after first call due to alreadyInitialized guard, so rate limits never refresh after startup Removed the π€ Prompt for AI agentsfix confidence: π‘ 80 medium β react π/π to teach the reviewer |
||
| if (alreadyInitialized) { | ||
| return; | ||
| } | ||
| alreadyInitialized = true; | ||
| for (Map.Entry<String, Pair<GithubToken, WebClient>> entry : tokenMap.entrySet()) { | ||
| String token = entry.getKey(); | ||
| try { | ||
|
|
@@ -123,6 +119,7 @@ public synchronized void initializeRateLimits() { | |
| token.substring(0, 8), e.getMessage()); | ||
| } | ||
| } | ||
| alreadyInitialized = true; | ||
| printTokensStatus(); | ||
| } | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,7 +27,7 @@ public class PreCacheService { | |
| CacheServiceAbs cacheService; | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 𦩠π fixedDelay=1000ms scheduled cache-refresh cycle likely reruns immediately, causing continuous re-fetch churn In π€ Prompt for AI agentsfix confidence: π‘ 70 medium β react π/π to teach the reviewer |
||
| // Always run the cache refresh cycle on startup | ||
| @Scheduled(initialDelay = 1000l, fixedDelay = 1000l) | ||
| @Scheduled(initialDelay = 1000l, fixedDelay = 3600000l) | ||
| void runFullCacheCycle() { | ||
| Instant startTime = Instant.now(); | ||
| log.info("Starting cache refresh cycle for all languages..."); | ||
|
|
@@ -53,3 +53,4 @@ void runFullCacheCycle() { | |
| totalDuration.getSeconds() % 60); | ||
| } | ||
| } | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| import { CssBaseline, ThemeProvider } from '@mui/material'; | ||
| import { useMemo, useEffect } from 'react'; | ||
| import { useMemo } from 'react'; | ||
| import { getTheme } from './theme'; | ||
| import { Layout } from './components/Layout'; | ||
| import { FiltersPanel } from './components/FiltersPanel'; | ||
|
|
@@ -26,10 +26,6 @@ const MainApp = () => { | |
|
|
||
| const { urlState } = useUrlState(); | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 𦩠π΅ console.log left in production App.tsx fetch path Removed the π€ Prompt for AI agentsfix confidence: π’ 90 high β react π/π to teach the reviewer |
||
| useEffect(() => { | ||
| console.log('App: URL state changed:', urlState); | ||
| }, [urlState]); | ||
|
|
||
| const { data: contributors = [], isLoading, error } = useQuery({ | ||
| queryKey: [ | ||
| 'contributors', | ||
|
|
@@ -40,13 +36,6 @@ const MainApp = () => { | |
| urlState.teamId | ||
| ], | ||
| queryFn: ({ signal }) => { | ||
| console.log('Fetching contributors with params:', { | ||
| cityId: urlState.selectedCityId, | ||
| regionId: urlState.selectedRegionId, | ||
| stateId: urlState.stateId, | ||
| languageId: urlState.languageId, | ||
| teamId: urlState.teamId | ||
| }); | ||
| return getContributors({ | ||
| cityId: urlState.selectedCityId || undefined, | ||
| regionId: urlState.selectedRegionId || undefined, | ||
|
|
@@ -88,3 +77,4 @@ export const App = () => { | |
| }; | ||
|
|
||
| export default App; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,7 +4,7 @@ import { HiringManagerProfile, JobOpening } from '../types/hiring'; | |
|
|
||
| // Configure axios to use the backend URL from environment | ||
| const BACKEND_API_URL = process.env.BACKEND_API_URL || '/'; | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 𦩠π Frontend logs the resolved backend API URL to the console in production builds In the module-level initialization code of π€ Prompt for AI agentsfix confidence: π’ 90 high β react π/π to teach the reviewer |
||
| console.log('API Service: Using backend URL:', BACKEND_API_URL); | ||
| if (process.env.NODE_ENV !== 'production') { console.log('API Service: Using backend URL:', BACKEND_API_URL); } | ||
|
|
||
| axios.defaults.baseURL = BACKEND_API_URL; | ||
|
|
||
|
|
@@ -223,3 +223,4 @@ export const getJobOpenings = async (): Promise<JobOpening[]> => { | |
| } | ||
| return response.data.data; | ||
| }; // Force rebuild Sun Aug 31 19:49:51 EDT 2025 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
𦩠π΄ RedisCacheService.getInsertTime NPEs when expiration key is absent
In
getInsertTime(RedisCacheService.java), added a null check onjsonimmediately after fetching it viavalueOps.get(redisKey + EXPIRATION_SUFFIX), returning0Lwhen null, before callingjson.toString(). This matches the suggested fix exactly and prevents the NullPointerException when the expiration key is absent.π€ Prompt for AI agents
fix confidence: π’ 95 high β react π/π to teach the reviewer