## Launch Checklist
Update style-spec package to version 26.1
This should solve a problem related to expression validation.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
## Launch Checklist
This PR increases coverage by adding unit tests to lib folde, replace
the skipped end to end placeholder with actual tests and adds more end
to end tests.
This was mostly done by AI (Claude opus 4.8) and I reviewed it and
requested changes where needed.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
See title,
Also removed some "_" from some file names.
This is a pure refactoring, no logic changes.
- [x] Briefly describe the changes in this PR.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR replaces cypress with playwright.
<img width="1907" height="933" alt="image"
src="https://github.com/user-attachments/assets/b52075b3-eb3b-45dc-93dc-8c5e9cfd35dd"
/>
I hope this will make the end-to-end debugging and fixing easier due to
the async await support of playwright which is missing in cypress.
This is a pure refactoring change.
- [x] Briefly describe the changes in this PR.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
Renames the e2e test and reduces changes as a preparation step from
playwright in the following PR:
- #1988
This is to keep as much history as possible.
<img width="1907" height="933" alt="image"
src="https://github.com/user-attachments/assets/b52075b3-eb3b-45dc-93dc-8c5e9cfd35dd"
/>
- [x] Briefly describe the changes in this PR.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
## Launch Checklist
This removes the jsonlint build hack that was used for a long time due
to json lint part of the style spec package that was missing a fix.
This is now no longer needed with the latest style spec package.
- [x] Briefly describe the changes in this PR.
It migrates to next gen translation extraction tool and updates other
libraries with their relevant changes.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- Fixes#1524
The problem is that the editor at the end of the layer editor view is
forcing some scrolling due to a different bug that was solved.
- #1492 which was solved in PR: #1501
The previous fix was in oder to solve issues in the code editor which
has all the style in it, and a search-and-replace operation is used to
change the content, so there was a need to introduce the previous fix.
The current solution is to scroll the view only for the code editor
using a react prop, which is `false` by default.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
- Fixes#1492
This adds the relevant selection and scroll intoview parameters that
were previously missing as part of the migration to code mirror 6.
It fixes the replace part as described in the bug.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
While I think tests are needed here, I'm not sure there's an easy way to
actually test this because testing the code mirror editor is hard, and
even harder when there's key pressing (ctrl +F on windows and meta + F
on mac) involved...
## Launch Checklist
This fixes the position of the autocomplete list - CSS fix mostly.
It also changes the loading of the metadata to be using promises instead
of callbacks.
I couldn't reproduce the following issue, so I'll be closing it for now.
- Fixes#945
Before:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/6ea264e1-cb85-4a8a-8df5-ab50e7815333"
/>
After:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/27fa2901-dd96-44fd-9774-363fd4c5ed98"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- Fixes#1302
When a sprite object is used, the current settings modal does not
present it well and does not allow editing.
This changes the input from a string to json.
It does make the editing a bit more cumbersome as you need to type `"`
now instead of just placing the address, but if you click the info
button you should be able to understand that this is a special field.
The fact that it looks like a code editor should also help guide users
to place different input there.
Before:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/a615dddd-6c06-45fb-b5a9-1820e6a5c077"
/>
After:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/fdb89ada-91ca-4bf4-8380-ce3c25373b41"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR adds the ability to look at the entire style and edit it in a
code editor that supports syntax highlight, errors, search and more.
- Resolves#820
CC: @Kanahiro as I know you did something similar, probably has better
performance...
After:
<img width="1920" height="937" alt="image"
src="https://github.com/user-attachments/assets/f925cf92-2623-4390-8f75-14d7f6a79171"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
## Launch Checklist
- Resolves#891
This PR upgrades code mirror from version 5 to version 6.
It should not change any functionality dramatically.
The filter and other expressions have line numbers now as I was not able
to remove those without introducing a lot of code, which I preferred not
to.
Before:
<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/02f047ee-0857-4eb1-9431-2620099ea025"
/>
After:
<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/7cf60155-7cd9-4c06-915e-dec2ae8247fc"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR adds back the error panel which was under the map for some
reason.
It also highlights problematic layers in the layers list (which already
worked).
It also highlights the field that has an error related to it.
It fixes the error types throughout the code.
Before:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/c0593d6c-8f14-41b3-8a51-bc359446656d"
/>
After:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/1ffeebb7-31ea-4ed5-97f4-fc5f907a6aea"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR fixes the problem with firefox not able to load a file when
clicking the open file button.
It does so by removing a very old dependency: `react-file-reader-input`
It uses the "regular" `<label><a/><input type="file" /><label>`
approach.
It adds tests for both firefox and chrome although I'm not sure the
firefox tests will stay...
- [x] Briefly describe the changes in this PR.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
Add a small drop down to select mercator or globe.
This isn't a fully covered field as one can set an expression there, but
I believe this is good enough for most cases.
Before:
<img width="645" height="254" alt="image"
src="https://github.com/user-attachments/assets/19a7ec50-a0bb-4ea3-b9fc-3abc5572c47e"
/>
After:
<img width="770" height="462" alt="image"
src="https://github.com/user-attachments/assets/f4774020-1cc8-45fe-88f9-f77ad7c53140"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Birk Skyum <birk.skyum@pm.me>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This adds the ability to edit the global state.
I think it deserves a modal of its own since I don't think it should be
part of other modals...
Here are some images:
<img width="1274" height="254" alt="image"
src="https://github.com/user-attachments/assets/4b6f2564-6c71-47da-9f8c-3bd2b97e1163"
/>
Initial dialog with no variable:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/b813b540-cae9-4c80-b2c0-4d965c022cb8"
/>
After you click add a few times:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/125cb978-90dc-4047-9694-b0ffc6eaa469"
/>
The state is updated as you change thing in the dialog.
I didn't complicated it to select the type of the variable, but this can
be added later of if there's a requirement to do so, I meant to keep it
simple for now.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This changes the layers icons a bit in order to make them a bit more
distinct:
After:
<img width="580" height="331" alt="image"
src="https://github.com/user-attachments/assets/f341a64e-0310-40f7-8f5a-650d7bb06b9f"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Frank Elsinga <frank@elsinga.de>
## Launch Checklist
This removes the `@mdi` (material design icons) package and uses the
icons from `react-icons`.
The icons are not exactly the same, but have the same idea behind them.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
Main changes can be found below.
Before:
<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/e3d5fc8a-bd59-48fe-bdae-31bb290749c8"
/>
After:
<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/bacdbdba-9e73-4bef-bd30-26fe946269c1"
/>
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This fixes an issue with missing info in the spec field due to using the
redacted spec (the one without the docs).
Before - missing button near color when hovering
<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/6f261407-5348-4a71-a6d8-afaff5b27e03"
/>
After:
<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/d2de1b2d-d4cf-4394-b995-e50b957da72c"
/>
I think I already solved this in the past, too bad I didn't add the
relevant tests back then...
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
When clicking the map to create a popup and then clicking on the map
again without closing the popup something breaks in react.
This PR fixes it.
Steps to reproduce:
1. Click on the map
2. Click on the map but not on the popup
The following malformed popup appears:
Before:
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/99cbdf9a-0b3c-436d-ab13-f219ee3c6e75"
/>
After - popup looks good.
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/6b379c0d-cbbf-40ed-916d-3cc10eaf4410"
/>
I couldn't make cypress reproduce the exact scenario, but I added some
basic tests for popups.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
I've created a folder for modals and moved them all inside.
I removed the icons which were small files with no real benefit and
moved the icons to where they were used.
I fixed an issue with the close button position in modal.
I've added missing translation to "Links" in debug modal.
Before:
<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/dd7520f6-9634-4ff1-a83d-99ceae7c9144"
/>
After:
<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/fe3a2ccf-6c09-42ab-bf6f-dd30d3c68e13"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
This updates React to 19.
It removes the unmaintained `react-icon-base` package and uses icons
from the existing one (also removes the svgs).
It also updates the other packages so that everything should be up to
date.
- [x] Briefly describe the changes in this PR.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- This fixes the issue of layer selection that was introduced as part of
the migration to dnd-kit #1359
- Fixes#1364
This also adds the relevant test.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Write tests for all new functionality.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR uses the maputnik CLI inside the docker container to allow
loading of files into the container and watch for changes.
- [x] Briefly describe the changes in this PR.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR replace react-sortable-hoc which is unmaintained with dnd-kit
- Resolves#1016
- Replaces the following PR: #1259
I've tested it locally to make sure it does what it should.
I'll see if I can add a test...
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This is in order to reduce warnings in the console for React 19 usage.
This removes the deprecated defaultProp and also move all the store
initialization logic out of the App.tsx file, keeping it a lot more
clean.
It removes the `debug` flag from the supported urls along with the
`localport` and `localhost`, which I'm not sure if and how they were
ever used.
The tests are using the `style` url, so I think it is covered in terms
of tests.
It also improves some typings along the project.
It removes some callbacks from the code and moves to use promises.
## Launch Checklist
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
Before:
<img width="1263" height="439" alt="image"
src="https://github.com/user-attachments/assets/1988c4f7-39de-4fd2-b6da-b4736abc0441"
/>
After:
<img width="1263" height="203" alt="image"
src="https://github.com/user-attachments/assets/28079e6d-9de7-40a1-9869-01a0876ca79f"
/>
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
In case of non 200 response the font and glyphs metadata would return
the ajax error object instead of the default value.
Fixes#935
- #935
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
This adds information about how to translate Maputnik and how to get in
touch with people who have translated in the past.
@keichan34, @jieme, @lhapaipai - I need your approval for this so that
people in the future will know to contact you in case text is being
added and they need help translating it.
CC: @ianthetechie
I've also changed the word "Language" in the upper part of the screen so
that it won't be translated in case you accidentally switch language,
and you need to switch back.
I've also fixed some RTL issues in the CSS and updated the maplibre
components labels when the language changes.
This PR aims at updating some packages.
I'll keep this in draft until I'll be more happy with the results.
Current setup seems to work, I'll let the CI run and see how bad this
is.
Packages that needs to be updated/replaces:
- [x] ~autocompete - The only warning left in the console is related to
the autocomplete, which probably needs to be updated since it's a
package that wasn't updated in the last 6 years.~ #611
- [x] ~Codemirror is also something that will need an update, but it
looks too complicated at this point in time, so let's see how this
goes.~ #891
- [ ] react-color
- [x] ~react-aria-menubutton~ #846
- [ ] Others?
Most of the changes here are related to types, which is good.
Fixes#871
- #871
In case of same sources, calling the render method when the map style
changes, but not right away to let the map load the sources should fix
the issue.
This is a temporary fix for:
- #871
The fix is using `patch-package` to fix the part of the code that is
causing the issue, I believe.
Initial tests shows that this is fixing the issue, I hope it is not
introducing other issues.
A proper fix and also using the maplibre package will be done once a
repo is migrated as can be expected after the following PR is resolved:
- https://github.com/maplibre/maplibre/issues/359
Fixes#868
- #868
It solves all the block within blocks and all kind of controls that are
not required which creates gaps.
I use a simple table, so the width is dynamic but it is always aligned
for all the properties and the features.

Vary basic stuff.
There's still the layer popup, which I'm not sure I know what it is and
might need to be fixed as well.
CC: @zstadler
Fixes#870
- #870
This regression bug was introduced as part of the refactoring of
typescript.
Here:
- #848
I've added tests to cover the scenario so that it won't happen again,
hopefully.
This updates maplibre from a pre-release to an official release.
It also removed the pre.2 from maputnik as maputnik is now published and
there's no reason to keep it in pre-release version name.
This doesn't mean maputnik has an npm package at this point though.
Fixes#861
This should hopefully address the last item in the below issue of the
missing logo.
I tested it locally and it seems to be working as expected, I hope this
will be the case once deployed.
- #861
1. Changed references to point to this new repo
2. Fixed docker image publishing to point to ghcr.io.
3. Remove survey link - the survey is closed and there's no point in
keeping it.
4. Remove storybook - Basically a storybook is the ability to look at
components and see how they look and interact with them.
It's a powerful tool for developing component library with "live"
documentation.
But it's an overkill for this project and I would like to reduce
maintenance costs.
Currently all the "stories" are in javascript and not in typescript and
it feels like a waste of time to try and maintain it, along with
updating the storybook library itself and everything around it.
This PR aims at updating MapLibre dependencies.
The main goal of this update is to allow adding terrain specification to
the editor.
This requires version 4 of maplibre so currently it will use the
pre-release.
I believe this solves most of the missing checkboxes:
- https://github.com/maplibre/maplibre/issues/352
Let me know if there's anything else missing.
Other configuration can be done after the repo has been migrated I
believe.
This PR introduces lint to cypress code, adds drivers to try and
abstract the usage of cypress as much as possible.
Nothing very interesting, mainly to try out the driver pattern for the
e2e tests.
Recover commented out tests,
Improve usage of helper in driver,
Added data-wd-key for test to use instead of classes
Moved all non tsx file to a single folder (lib) instead of lib and utils
---------
Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
Adds lint to CI and fixes errors.
I'm not sure I'm fully proud of all the solutions there.
But there's no lint issues and the lint is being checked as part of the
CI.
---------
Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
In this PR I have changed some of the jsx files to tsx file.
I'm starting off with the "leafs" so that migration of the rest will be
easier, hopefully.
What I'm basically doing is taking a jsx file, copy paste it into:
https://mskelton.dev/ratchet
And after that I'm fixing the types as needed.
It's not a very long process.
Hopefully more PRs will follow and this will be over soon.
I don't plan to migrate the storybook as I generally don't understand
why is it useful, I'll open an issue to see if anyone thinks
differently.
This completes the migration to typescript of all the non react
components code.
The only changes introduced besides types are the type checks using
`"something" in object` which narrows down types in typescript.
This migrates some utilities classes from javascript to typescript.
Nothing special about the migration, mainly added types and made sure
the code adheres to the strict mode.
I have picked some small files so git doesn't think they are the same
since they are "very different".
I hope that in later PRs, when migrating lager files this won't be an
issues.
This is basically the content of #841 with the code review changes and
relevant fixes to tests/driver code to pass the tests.
CC: @ShellyDCMS
After this we should lint the project and add the lint to the CI to make
sure it doesn't break.
---------
Co-authored-by: ShellyDCMS <60476837+ShellyDCMS@users.noreply.github.com>
Co-authored-by: shelly_goldblit <shelly_goldblit@dell.com>
Resolves#803
This is an initial commit to allow migrating to typescript bit by bit.
It introduces vite.
It removes all the webpack configuration (which I have no clue what all
the profiling are needed for, and couldn't find anything in the readme).
It also changes a single file from javascript to typescript:
`urlopen.js` -> `urlopen.ts`
Which was done manually, later on I'll see if I can automate most of the
migration.
For now, everything seems to work as expected.
I also upgrades storybook to use vite and renames the stories to jsx (I
honestly don't know why this complexity is needed here, but I'll keep it
for now).
cc: @damianstasik
This does the following:
1. Moves the WDIO code from javascript to typescript
2. Moves to use files that are `cy.ts` instead of `index.js`
3. Replace e2e to use cypress
4. Introduce back some skipped tests
This is in continue to the conversation here:
https://github.com/HarelM/editor/pull/3
Before:
```
"spec" Reporter:
------------------------------------------------------------------
[chrome 120.0.6099.71 linux #0-0] Running: chrome (v120.0.6099.71) on linux
[chrome 120.0.6099.71 linux #0-0] Session ID: ee9a87bcfce007ac7721929c6e6234d0
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] » /test/functional/index.js
[chrome 120.0.6099.71 linux #0-0] maputnik
[chrome 120.0.6099.71 linux #0-0] history
[chrome 120.0.6099.71 linux #0-0] - undo/redo
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] layers
[chrome 120.0.6099.71 linux #0-0] ops
[chrome 120.0.6099.71 linux #0-0] ✓ delete
[chrome 120.0.6099.71 linux #0-0] ✓ duplicate
[chrome 120.0.6099.71 linux #0-0] ✓ hide
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] background
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] modify
[chrome 120.0.6099.71 linux #0-0] layer
[chrome 120.0.6099.71 linux #0-0] - expand/collapse
[chrome 120.0.6099.71 linux #0-0] ✓ id
[chrome 120.0.6099.71 linux #0-0] ✓ min-zoom
[chrome 120.0.6099.71 linux #0-0] ✓ max-zoom
[chrome 120.0.6099.71 linux #0-0] ✓ comments
[chrome 120.0.6099.71 linux #0-0] - color
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] filter
[chrome 120.0.6099.71 linux #0-0] - expand/collapse
[chrome 120.0.6099.71 linux #0-0] - compound filter
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] paint
[chrome 120.0.6099.71 linux #0-0] - expand/collapse
[chrome 120.0.6099.71 linux #0-0] - color
[chrome 120.0.6099.71 linux #0-0] - pattern
[chrome 120.0.6099.71 linux #0-0] - opacity
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] json-editor
[chrome 120.0.6099.71 linux #0-0] - expand/collapse
[chrome 120.0.6099.71 linux #0-0] - modify
[chrome 120.0.6099.71 linux #0-0] - parse error
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] fill
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0] - change source
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] line
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0] - groups
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] symbol
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] raster
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] circle
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] fill extrusion
[chrome 120.0.6099.71 linux #0-0] ✓ add
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] groups
[chrome 120.0.6099.71 linux #0-0] ✓ simple
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] map
[chrome 120.0.6099.71 linux #0-0] zoom level
[chrome 120.0.6099.71 linux #0-0] - via url
[chrome 120.0.6099.71 linux #0-0] - via map controls
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] modals
[chrome 120.0.6099.71 linux #0-0] open
[chrome 120.0.6099.71 linux #0-0] ✓ close
[chrome 120.0.6099.71 linux #0-0] - upload
[chrome 120.0.6099.71 linux #0-0] ✓ load from url
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] shortcuts
[chrome 120.0.6099.71 linux #0-0] ✓ open/close
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] export
[chrome 120.0.6099.71 linux #0-0] ✓ close
[chrome 120.0.6099.71 linux #0-0] - download
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] sources
[chrome 120.0.6099.71 linux #0-0] - active sources
[chrome 120.0.6099.71 linux #0-0] - public source
[chrome 120.0.6099.71 linux #0-0] - add new source
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] inspect
[chrome 120.0.6099.71 linux #0-0] ✓ toggle
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] style settings
[chrome 120.0.6099.71 linux #0-0] ✓ name
[chrome 120.0.6099.71 linux #0-0] ✓ owner
[chrome 120.0.6099.71 linux #0-0] ✓ sprite url
[chrome 120.0.6099.71 linux #0-0] ✓ glyphs url
[chrome 120.0.6099.71 linux #0-0] ✓ maptiler access token
[chrome 120.0.6099.71 linux #0-0] ✓ thunderforest access token
[chrome 120.0.6099.71 linux #0-0] ✓ style renderer
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] sources
[chrome 120.0.6099.71 linux #0-0] - toggle
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] screenshots
[chrome 120.0.6099.71 linux #0-0] ✓ front_page
[chrome 120.0.6099.71 linux #0-0] ✓ open
[chrome 120.0.6099.71 linux #0-0] ✓ export
[chrome 120.0.6099.71 linux #0-0] ✓ sources
[chrome 120.0.6099.71 linux #0-0] ✓ style settings
[chrome 120.0.6099.71 linux #0-0] ✓ inspect
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] accessibility
[chrome 120.0.6099.71 linux #0-0] skip links
[chrome 120.0.6099.71 linux #0-0] ✓ skip link to layer list
[chrome 120.0.6099.71 linux #0-0] ✓ skip link to layer editor
[chrome 120.0.6099.71 linux #0-0] ✓ skip link to map view
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] keyboard
[chrome 120.0.6099.71 linux #0-0] shortcuts
[chrome 120.0.6099.71 linux #0-0] ✓ ESC should unfocus
[chrome 120.0.6099.71 linux #0-0] ✓ '?' should show shortcuts modal
[chrome 120.0.6099.71 linux #0-0] ✓ 'o' should show open modal
[chrome 120.0.6099.71 linux #0-0] ✓ 'e' should show export modal
[chrome 120.0.6099.71 linux #0-0] ✓ 'd' should show sources modal
[chrome 120.0.6099.71 linux #0-0] ✓ 's' should show settings modal
[chrome 120.0.6099.71 linux #0-0] - 'i' should change map to inspect mode
[chrome 120.0.6099.71 linux #0-0] ✓ 'm' should focus map
[chrome 120.0.6099.71 linux #0-0] ✓ '!' should show debug modal
[chrome 120.0.6099.71 linux #0-0]
[chrome 120.0.6099.71 linux #0-0] 44 passing (58.8s)
[chrome 120.0.6099.71 linux #0-0] 23 skipped
```
After:
```
accessibility
skip links
- skip link to layer list
- skip link to layer editor
- skip link to map view
history
✓ undo/redo (4894ms)
keyboard
shortcuts
✓ ESC should unfocus (1912ms)
✓ '?' should show shortcuts modal (458ms)
✓ 'o' should show open modal (710ms)
✓ 'e' should show export modal (692ms)
✓ 'd' should show sources modal (588ms)
✓ 's' should show settings modal (894ms)
✓ 'i' should change map to inspect mode (804ms)
✓ 'm' should focus map (837ms)
✓ '!' should show debug modal (607ms)
layers
ops
✓ delete (4313ms)
✓ duplicate (1780ms)
✓ hide (1862ms)
background
✓ add (1675ms)
modify
layer
- expand/collapse
✓ id (3735ms)
✓ min-zoom (2209ms)
✓ max-zoom (2127ms)
✓ comments (2515ms)
✓ color (2022ms)
filter
- expand/collapse
- compound filter
paint
- expand/collapse
- color
- pattern
- opacity
json-editor
- expand/collapse
- modify
- parse error
fill
✓ add (1831ms)
- change source
line
✓ add (1844ms)
✓ groups (687ms)
symbol
✓ add (2035ms)
raster
✓ add (1814ms)
circle
✓ add (1867ms)
fill extrusion
✓ add (1963ms)
groups
✓ simple (2653ms)
map
zoom level
✓ via url (2279ms)
✓ via map controls (733ms)
modals
open
✓ close (2519ms)
- upload
✓ load from url (1557ms)
shortcuts
✓ open/close (1136ms)
export
✓ close (755ms)
- download
sources
- active sources
- public source
- add new source
inspect
✓ toggle (1020ms)
style settings
✓ name (1085ms)
✓ owner (1060ms)
✓ sprite url (1214ms)
✓ glyphs url (1553ms)
✓ maptiler access token (1111ms)
✓ thunderforest access token (1102ms)
✓ style renderer (922ms)
sources
- toggle
Spec Tests Passing Failing Pending Skipped
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ✔ accessibility.cy.ts 52ms 3 - - 3 - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ history.cy.ts 00:06 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ keyboard.cy.ts 00:10 9 9 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ layers.cy.ts 00:39 28 17 - 11 - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ map.cy.ts 00:04 2 2 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ modals.cy.ts 00:16 18 12 - 6 - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! 01:18 61 41 - 20 -
```
---------
Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
I've moved all the logic relevant to WBIO into a single file in order to
be able to replace it.
I have tried to upgrade WDIO in order to use the latest version and it
got stuck on my computer.
Furthermore, I was not able to run it locally which made this whole
cycle very long.
After this will be merged I will replace WDIO with cypress.
This doesn't change anything, only moves some code in the tests to a
single file, removes unneeded files and uses the driver pattern, which
will later allow switching the underline WDIO with Cypress.
cc: @nyurik