Skip to content
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

Fix hierarchy generator logs freezing app #1351

Merged
merged 1 commit into from
Jul 31, 2023
Merged

Fix hierarchy generator logs freezing app #1351

merged 1 commit into from
Jul 31, 2023

Conversation

bjosttveit
Copy link
Member

@bjosttveit bjosttveit commented Jul 31, 2023

Description

Another attempt at mitigating the freezing caused by spamming the logs in a loop. This time it was caused by the hierarchy generator running in a loop, and since hooks cannot be used here, I changed the way it logs only once. Now, there are new functions window.logErrorOnce which will check a set for a key first, and only log if it is a new message. Additionally, I am now debouncing the redux calls by temporarily storing log messages in a simple array first, to prevent ever spamming so hard that the entire page freezes. If you accidentally use logError instead of logErrorOnce in a React component render function, it will not cause a state change immediately and should not cause a blocking loop freezing the page anymore (though the logs will get a lot of messages after a while).

Related Issue(s)

Verification/QA

  • Manual functionality testing
    • I have tested these changes manually
    • Creator of the original issue (or service owner) has been contacted for manual testing (or will be contacted when released in alpha)
    • No testing done/necessary
  • Automated tests
    • Unit test(s) have been added/updated
    • Cypress E2E test(s) have been added/updated
    • No automatic tests are needed here (no functional changes/additions)
    • I want someone to help me make some tests
  • UU/WCAG (follow these guidelines until we have our own)
    • I have tested with a screen reader/keyboard navigation/automated wcag validator
    • No testing done/necessary (no DOM/visual changes)
    • I want someone to help me perform accessibility testing
  • User documentation @ altinn-studio-docs
    • Has been added/updated
    • No functionality has been changed/added, so no documentation is needed
    • I will do that later/have created an issue
  • Changes/additions to component properties
    • Changes are reflected in both src/layout/layout.d.ts and layout.schema.v1.json, and these are all backwards-compatible
    • No changes made
  • Support in Altinn Studio
    • Issue(s) created for support in Studio
    • This change/feature does not require any changes to Altinn Studio
  • Sprint board
    • The original issue (or this PR itself) has been added to the Team Apps project and to the current sprint board
    • I don't have permissions to do that, please help me out
  • Labels
    • I have added a kind/* label to this PR for proper release notes grouping
    • I don't have permissions to add labels, please help me out

@sonarcloud
Copy link

sonarcloud bot commented Jul 31, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

6.4% 6.4% Coverage
0.0% 0.0% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@bjosttveit bjosttveit added the kind/bug Something isn't working label Jul 31, 2023
@bjosttveit bjosttveit marked this pull request as ready for review July 31, 2023 12:25
Copy link
Contributor

@olemartinorg olemartinorg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤞

@bjosttveit bjosttveit merged commit f36a78b into main Jul 31, 2023
8 of 9 checks passed
@bjosttveit bjosttveit deleted the log-freeze-v2 branch July 31, 2023 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Uncaught error in v3.66.0-alpha1 results in page unresponsive
2 participants