Skip to content

Fixing missing instantiation error(s) #3259

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

olemartinorg
Copy link
Contributor

@olemartinorg olemartinorg commented Apr 9, 2025

Description

This fixes the missing instantiation error that didn't appear when creating a new instance from the instance selection screen. I added a route for this error, and read the exception to print out the actual error. This also means that you can navigate to that route and just end up with a generic/unknown error. The error is now displayed inside an ErrorReport around the button.

It also fixes the same when instantiating via a InstantiationButton from a stateless app. I wanted to rework this even more for stateless apps, as you might want to use a IInstantiationValidator to disallow some prefill values when creating a new instance with prefill (i.e. using the InstantiationButton with mapping). However, it doesn't seem like that's possible yet in the backend. If we get a feature request for that, we'd probably have to change both the backend and frontend at that point instead. Optimally the error should be displayed inline as a validation error in the stateless form, such that the user can make changes in the stateless form and retry - but right now I can't find a clear way for a change in the stateless form to make a difference in the IInstantiationValidator, so I'm scrapping that idea.

Update: We've been discussing alternative solutions here: https://digdir.slack.com/archives/C085N9FPDFS/p1744199886413489

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
  • 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/* and backport* label to this PR for proper release notes grouping
    • I don't have permissions to add labels, please help me out

@olemartinorg olemartinorg added kind/bug Something isn't working backport This PR should be cherry-picked onto older release branches labels Apr 9, 2025
@olemartinorg olemartinorg requested a review from Copilot April 9, 2025 11:40
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (1)

test/e2e/pageobjects/party-mocks.ts:164

  • Using the logical OR (||) here forces a falsy activeInstances value (specifically false) to default to an empty array, which may not be the intended behavior. Consider checking explicitly for a false value to ensure clarity in the mock behavior.
cy.intercept('**/active', whatToMock.activeInstances || []).as('activeInstances');

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
37.3% Coverage on New Code (required ≥ 45%)
17.19% Condition Coverage on New Code (required ≥ 45%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport This PR should be cherry-picked onto older release branches kind/bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Starting new instance from InstanceSelection doesn't render error messages
2 participants