-
Notifications
You must be signed in to change notification settings - Fork 3
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: Introduce component ids #1849
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
bprusinowski
changed the title
feat: Make dimension iris **unique** (merging of cubes improvements)
feat: Introduce component ids
Nov 14, 2024
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 14, 2024 14:10
09328ab
to
f2359a7
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 14, 2024 19:14
2ae25b4
to
7c55a27
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 15, 2024 14:19
610fc50
to
bcf7644
Compare
bprusinowski
requested review from
ptbrowne
and removed request for
noahonyejese
November 18, 2024 12:23
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 18, 2024 14:44
1a8a6c1
to
edfd961
Compare
ptbrowne
approved these changes
Nov 18, 2024
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.
Thanks a lot Bartosz for this massive effort 💪
I see no blockers here, I have mostly put nits and comments.
- The use of branded types would make sure we do not pass a dimension iri where we expect a dimension id.
- I think it would be a good idea to perform screenshot testing against production charts to make sure they are ok (load the production charts into local database, screenshot the chart on
main
, switch to this branch rescreenshot, check if they are the same)
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 18, 2024 16:38
8335f21
to
b352c39
Compare
...basing on PROD charts.
...as colorScale is not re-created, we shouldn't useMemo.
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 20, 2024 10:21
e008c29
to
37e6b72
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 20, 2024 10:28
4cd6622
to
d042fde
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 20, 2024 10:28
d042fde
to
ce058ee
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 20, 2024 14:11
4993210
to
d62963b
Compare
bprusinowski
force-pushed
the
feat/finalize-merging-of-cubes-2
branch
from
November 20, 2024 14:28
d62963b
to
8dc3e82
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1696
This PR introduces a new, component id concept to Visualize, which replaces the current component iri convention.
Component id is made by combining
unversioned cube iri
withunversioned component iri
, which is a unique combination even in case we merged two cubes with the samecomponent iris
. This means that we can handle these cases correctly, while leaving our business logic mostly intact (and in some cases, even simpler, as we don't need to filter bycube iri
andcomponent iri
anymore, but instead simply use component id).This combination of
iris
is done on the server side and sent to the client, which doesn't need to know about this fact, but simply keep the current logic (chart config migrations are the only exception, as we need to introduceunversioned cube iris
to relevant parts of the config dynamically to make sure old charts work).By proxy, it was necessary to make the migrations async, so we can fetch
unversioned cube iri
when needed – as immer doesn't support / recommend asynchronous operations, I removed it.ℹ️ Dimension id docs
🔎 Visual regression testing docs
How to test
🚨 Preferably, the implementation should be tested holistically, as essentially every part of Visualize was affected in one or another way.
Add dataset
.Market figures milk and dairy products - Monthly producer prices
dataset.Vertical axis
.Price
dimensions that have the sameiri
s and names, but come from different cubes.Table
.Table
(that have the sameiri
s and names, but come from different cubes).How to reproduce
Repeat the above steps on PROD environment and see that ✅ points are broken ❌.
componentId
and visual regression testing)/_charts
page and cross-compared 500 PROD charts onmain
vs this branch)