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

[List] Issues with JsonForms #1320

Closed
dzikoysk opened this issue May 18, 2022 · 9 comments
Closed

[List] Issues with JsonForms #1320

dzikoysk opened this issue May 18, 2022 · 9 comments
Labels
bug Bugs & errors found in Reposilite cleanup Issues that request reimplementation of dirty codebase or feature help wanted Issues that for some reason won't be resolved by author, so some help would be appreciated :)

Comments

@dzikoysk
Copy link
Owner

dzikoysk commented May 18, 2022

List of various issues we have with JsonForms library for Vue 3 in reposilite-frontend module. Most of them lead to worse/bugged user experience, but unfortunately it's slightly hard for me to properly address those issues. Any kind of help would be appreciated ❤️

@dzikoysk dzikoysk added the bug Bugs & errors found in Reposilite label May 18, 2022
@dzikoysk dzikoysk changed the title AllOfRenderer component is probably broken Issues with JsonForms Jul 7, 2022
@dzikoysk
Copy link
Owner Author

dzikoysk commented Jul 7, 2022

Issue 1

Switching storage provider in UI does not change the 'type' of provider, so either frontend or backend are not properly handling it. Currently "fixed" with:

?: if (json?.contains("bucketName") == true) "s3" else "fs" // currently jsonforms doesn't send 'type' when oneOf is changed in UI, so we have to guess

@dzikoysk
Copy link
Owner Author

dzikoysk commented Jul 7, 2022

Issue 2

Storage provider tab doesn't detect currently selected type, so it's always using 0 index which points to fs storage. Currently fixed with yet another dumb fix:

const selectedIndex = ref(input?.control?.value?.data?.type == 's3' ? 1 : (input.control.indexOfFittingSchema || 0)) // well...

@dzikoysk dzikoysk added the help wanted Issues that for some reason won't be resolved by author, so some help would be appreciated :) label Jul 8, 2022
@dzikoysk
Copy link
Owner Author

dzikoysk commented Jul 11, 2022

Issue 3
Default implementation of vue-vanilla is slightly limited and we have to extend default behaviors through fork to make user friendly scheme without a need to copy half of the sources from lib module.
Fork: https://github.com/reposilite-playground/jsonforms

Associated issues:

@dzikoysk
Copy link
Owner Author

dzikoysk commented Jul 11, 2022

Issue 4

Fortunately, we're not using this component currently, but it would be great to solve this issue. Diagnosed in:

Reproducer:

    // Adding:
    // @Doc(title = "Authorization", description = "The authorization information of the proxied repository.")
    // Results in converting 'authorization` property into 'allOf` component that is currently broken
    val authorization: ProxiedCredentials? = null,

It might be also associated with changes in JsonForms library:

JsonForms 3.0.0-beta.2 removed resolveSubSchemas, so we need to replace it somehow. Changes:

eclipsesource/jsonforms@v3.0.0-beta.1...v3.0.0-beta.2

Originally posted by @dzikoysk in #1081 (comment)

And changes I've made to adapt to those changes:

Could you someday take a look at this @Minecraftschurli? It's not urgent atm as we don't really use this render yet, but would be great to have it fixed one day :)

@dzikoysk dzikoysk added the cleanup Issues that request reimplementation of dirty codebase or feature label Jul 11, 2022
@dzikoysk
Copy link
Owner Author

Issue 5

@dzikoysk
Copy link
Owner Author

dzikoysk commented Feb 1, 2023

Note 6

@dzikoysk
Copy link
Owner Author

dzikoysk commented Feb 5, 2023

Issue 7

Array element label is hardcoded and it forces people to use id/reference property in their objects to properly display tab names in UI.

:label="element.id || element?.reference?.replace('https://', 'http://')?.replace('http://', '') || '<new>'"

@dzikoysk dzikoysk pinned this issue Feb 20, 2023
@dzikoysk
Copy link
Owner Author

dzikoysk commented Feb 20, 2023

Closing & pinning this as it's a list of several other issues that require standalone threads.

@dzikoysk
Copy link
Owner Author

dzikoysk commented Aug 12, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bugs & errors found in Reposilite cleanup Issues that request reimplementation of dirty codebase or feature help wanted Issues that for some reason won't be resolved by author, so some help would be appreciated :)
Projects
None yet
Development

No branches or pull requests

1 participant