-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Feat: back navigation support throughout the app #6701
base: main
Are you sure you want to change the base?
Feat: back navigation support throughout the app #6701
Conversation
Build Error! No Linked Issue found. Please link an issue or mention it in the body using #<issue_id> |
Build Error! No Linked Issue found. Please link an issue or mention it in the body using #<issue_id> |
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.
👍 Looks good to me! Reviewed everything up to 88598ed in 1 minute and 49 seconds
More details
- Looked at
560
lines of code in6
files - Skipped
0
files when reviewing. - Skipped posting
6
drafted comments based on config settings.
1. frontend/src/utils/timeUtils.ts:133
- Draft comment:
Remove the console.log statement to avoid unnecessary console output.
- Reason this comment was not posted:
Confidence changes required:50%
The console.log statement in a utility function is unnecessary and could clutter the console output. It should be removed for cleaner code.
2. frontend/src/container/TopNav/DateTimeSelectionV2/index.tsx:511
- Draft comment:
Replacehistory.replace
withsafeNavigate
for consistency and safe navigation.
safeNavigate(generatedUrl);
- Reason this comment was not posted:
Comment was not on a valid diff hunk.
3. frontend/src/hooks/useSafeNavigate.ts:108
- Draft comment:
Removeconsole.group
andconsole.log
statements to avoid cluttering the console in production.
```
- Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable:
Console statements in production code can impact performance and expose potentially sensitive information. However, these particular logs seem intentionally added for debugging navigation issues, which can be complex. They provide useful information about why certain navigations are prevented or how they're handled. The code is new, so this was a deliberate choice by the author.
The console statements could be wrapped in a development-only check or use a proper logging system. They might be useful for debugging in production in some cases.
While the comment raises a valid point about console statements in production, these seem intentionally added for debugging complex navigation scenarios. If they're problematic, they should be handled through proper environment-based logging rather than removed entirely.
The comment should be deleted. The console statements appear to be an intentional debugging feature, and their complete removal might make troubleshooting harder. If there are concerns about production logging, a more nuanced approach would be needed.
4. frontend/src/container/TopNav/DateTimeSelectionV2/index.tsx:373
- Draft comment:
Avoid using inline styles in React components. Use external stylesheets, CSS classes, or styled components instead. This is also applicable in other parts of the code where inline styles are used. - Reason this comment was not posted:
Comment was not on a valid diff hunk.
5. frontend/src/container/TopNav/DateTimeSelectionV2/index.tsx:621
- Draft comment:
UsesafeNavigate
instead ofhistory.replace
for navigation to ensure consistency and safety in URL handling. This is also applicable in other parts of the code wherehistory.replace
is used. - Reason this comment was not posted:
Marked as duplicate.
6. frontend/src/providers/QueryBuilder.tsx:749
- Draft comment:
UsesafeNavigate
instead ofhistory.replace
for navigation to ensure consistency and safety in URL handling. This is also applicable in other parts of the code wherehistory.replace
is used. - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_CUoLraS1fsj6U3Wt
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
…params with URL comparison
…gation works properly
…ted relative time
…he existing back navigation
…from alert creation page
…ectionV2 component it also fixes the issue of relativeTime not being added to the url on mounting
88598ed
to
3e487eb
Compare
…iews and useUrlQueryData
…ination with url param
… redirecting in NewWidget
Build Error! No Linked Issue found. Please link an issue or mention it in the body using #<issue_id> |
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.
👍 Looks good to me! Reviewed everything up to 10cf077 in 1 minute and 49 seconds
More details
- Looked at
1908
lines of code in37
files - Skipped
0
files when reviewing. - Skipped posting
7
drafted comments based on config settings.
1. frontend/src/hooks/useSafeNavigate.ts:108
- Draft comment:
Remove theconsole.group
andconsole.log
statements to avoid unnecessary console output in production.
```
- Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable:
While removing console logs before production is generally good practice, these logs seem intentionally added for debugging complex navigation logic. They provide useful information about URL comparisons and navigation decisions. The logs are structured (using console.group) and contain emojis, suggesting they were carefully designed for development debugging.
The comment raises a valid point about production console output. However, I might be overlooking the possibility that these logs are actually causing performance issues or cluttering production logs.
Given the complexity of the navigation logic and the structured nature of the logs, these console statements appear to be intentional development tools rather than oversight. If needed, they can be stripped out during production builds using standard build tools.
The comment should be deleted as these console logs appear to be intentionally added debugging tools, and their removal, if needed, should be handled by build configuration rather than code changes.
2. frontend/src/hooks/useSafeNavigate.ts:109
- Draft comment:
Remove theconsole.group
andconsole.log
statements to avoid unnecessary console output in production.
```
- Reason this comment was not posted:
Marked as duplicate.
3. frontend/src/hooks/useSafeNavigate.ts:110
- Draft comment:
Remove theconsole.group
andconsole.log
statements to avoid unnecessary console output in production.
```
- Reason this comment was not posted:
Marked as duplicate.
4. frontend/src/hooks/useSafeNavigate.ts:116
- Draft comment:
Remove theconsole.group
andconsole.log
statements to avoid unnecessary console output in production.
```
- Reason this comment was not posted:
Marked as duplicate.
5. frontend/src/hooks/useSafeNavigate.ts:123
- Draft comment:
Remove theconsole.group
andconsole.log
statements to avoid unnecessary console output in production.
```
- Reason this comment was not posted:
Marked as duplicate.
6. frontend/src/pages/AlertList/index.tsx:68
- Draft comment:
Avoid using inline styles in React components. Use external stylesheets, CSS classes, or styled components instead. This is also applicable in other parts of the code. - Reason this comment was not posted:
Comment was on unchanged code.
7. frontend/src/pages/TracesExplorer/index.tsx:198
- Draft comment:
Avoid using inline styles in React components. Use external stylesheets, CSS classes, or styled components instead. This is also applicable in other parts of the code. - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_UycnqfbXwaq4uN15
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Build Error! No Linked Issue found. Please link an issue or mention it in the body using #<issue_id> |
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.
👍 Looks good to me! Incremental review on b43aa08 in 55 seconds
More details
- Looked at
61
lines of code in3
files - Skipped
0
files when reviewing. - Skipped posting
4
drafted comments based on config settings.
1. frontend/src/hooks/useSafeNavigate.ts:111
- Draft comment:
Remove unnecessary console logs to avoid cluttering the console in production. - Reason this comment was not posted:
Comment looked like it was already resolved.
2. frontend/src/utils/timeUtils.ts:138
- Draft comment:
Update the comment to accurately reflect that the function converts nanoseconds to milliseconds. - Reason this comment was not posted:
Comment looked like it was already resolved.
3. frontend/src/container/MetricsApplication/Tabs/util.ts:50
- Draft comment:
Avoid using inline styles. Consider using CSS classes or styled components instead. This applies to the onGraphClickHandler function. - Reason this comment was not posted:
Comment was not on a valid diff hunk.
4. frontend/src/hooks/useSafeNavigate.ts:108
- Draft comment:
Remove unnecessary console logs to clean up the code. This applies to other console logs in this file as well. - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_g5twMcH7FGUpnKE7
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Build Error! No Linked Issue found. Please link an issue or mention it in the body using #<issue_id> |
Summary
Handled back navigation throughout the app
Note: This PR handles the back navigation throughout the app wherever we have handled state management with query params, there are some pages where the query params are not being added, for those cases, the query params should first be added in the URL then we can handle the back navigation.
Related Issues / PR's
Screenshots
NA
Affected Areas and Manually Tested Areas
Services
Service details
Query Builder
Traces explorer / Logs explorer
Dashboards
Important
Introduce
useSafeNavigate
for safe URL navigation and enhance back navigation support across the app.useSafeNavigate
hook for safe URL navigation.history.push
andhistory.replace
withsafeNavigate
in components likeTracesTableComponent.tsx
,DashboardWidget/index.tsx
, andEditRules/index.tsx
.normalizeTimeToMs
function intimeUtils.ts
to convert timestamps to milliseconds.normalizeTimeToMs
inDateTimeSelectionV2/index.tsx
for time synchronization.DateTimeSelectionV2/index.tsx
.TracesTableComponent.tsx
usingsafeNavigate
.This description was created by for b43aa08. It will automatically update as commits are pushed.