vcpkg integration induces Infinite CMake recursion when compiling

I have a very simple cross-platform cmake C++ project and I am editing it in visual studio 2019. Creating the CMake cache works perfectly if I remove the vcpkg integration; but fails with a loop of 1000 times if I include the vcpkg integration. I downloaded the current version of vcpkg from GitHub to check that the issue had not been fixed.
I include zipped up the CMake code tree and the very simple code.
There is one CMake included external package simdjson which builds successfully.
quicktrack_tree.zip
googling vcpkg  Infinite CMake recursion when compiling yields many other cases of this problem

1> CMake generation started for configuration: 'x64-Release'.
1> Command line: "cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 16 2019" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/tlyons/lyonstech/x64-Release"  "C:\Users\tlyons\source\repos\terrylyons\quicktrack" 2>&1"
1> Working directory: C:\Users\tlyons\source\repos\terrylyons\quicktrack\out\build\x64-Release
1> [CMake] -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
1> [CMake] -- The CXX compiler identification is MSVC 19.28.29337.0
1> [CMake] -- The C compiler identification is MSVC 19.28.29337.0
1> [CMake] -- Detecting CXX compiler ABI info
1> [CMake] -- Detecting CXX compiler ABI info - done
1> [CMake] -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting CXX compile features
1> [CMake] -- Detecting CXX compile features - done
1> [CMake] -- Detecting C compiler ABI info
1> [CMake] -- Detecting C compiler ABI info - done
1> [CMake] -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting C compile features
1> [CMake] -- Detecting C compile features - done
1> [CMake] -- The simdjson repository appears to be used as a subdirectory.
1> [CMake] -- By default, we just build the library.
1> [CMake] -- The simdjson repository appears to be under git.
1> [CMake] -- No build type selected, default to Release
1> [CMake] -- Using SIMDJSON_GOOGLE_BENCHMARKS
1> [CMake] -- Looking for pthread.h
1> [CMake] -- Looking for pthread.h - not found
1> [CMake] -- Found Threads: TRUE
1> [CMake] -- Building just the library, omitting all tests, tools and benchmarks.
1> [CMake] -- Building a static library.
1> [CMake] grep and nm are unavailable on this system.
1> [CMake] -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
1> [CMake] -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
1> [CMake] -- Configuring done
1> [CMake] -- Generating done
1> [CMake] -- Build files have been written to: C:/Users/tlyons/source/repos/terrylyons/quicktrack/out/build/x64-Release
1> Extracted CMake variables.
1> Extracted source files and headers.
1> Extracted code model.
1> Extracted includes paths.
1> CMake generation finished.

with vcpkg integrate install:
1> CMake generation started for configuration: 'x64-Release'.
1> Found and using vcpkg toolchain file (C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake).
1> Command line: "cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 16 2019" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/tlyons/lyonstech/x64-Release"  -DCMAKE_TOOLCHAIN_FILE="C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake" "C:\Users\tlyons\source\repos\terrylyons\quicktrack" 2>&1"
1> Working directory: C:\Users\tlyons\source\repos\terrylyons\quicktrack\out\build\x64-Release
1> [CMake] -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
1> [CMake] -- The CXX compiler identification is MSVC 19.28.29337.0
1> [CMake] -- The C compiler identification is MSVC 19.28.29337.0
1> [CMake] -- Detecting CXX compiler ABI info
1> [CMake] -- Detecting CXX compiler ABI info - done
1> [CMake] -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting CXX compile features
1> [CMake] -- Detecting CXX compile features - done
1> [CMake] -- Detecting C compiler ABI info
1> [CMake] -- Detecting C compiler ABI info - done
1> [CMake] -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting C compile features
1> [CMake] -- Detecting C compile features - done
1> [CMake] -- The simdjson repository appears to be used as a subdirectory.
1> [CMake] -- By default, we just build the library.
1> [CMake] -- The simdjson repository appears to be under git.
1> [CMake] -- No build type selected, default to Release
1> [CMake] -- Using SIMDJSON_GOOGLE_BENCHMARKS
1> [CMake] -- Looking for pthread.h
1> [CMake] -- Looking for pthread.h - not found
1> [CMake] -- Found Threads: TRUE
1> [CMake] -- Building just the library, omitting all tests, tools and benchmarks.
1> [CMake] -- Building a static library.
1> [CMake] grep and nm are unavailable on this system.
1> [CMake] -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
1> [CMake] CMake Error at C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable):
1> [CMake]   Maximum recursion depth of 1000 exceeded
1> [CMake] Call Stack (most recent call first):
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
..........................................................................................................................................................
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake:166 (_add_executable)
1> [CMake]   quicktrack/CMakeLists.txt:9 (add_executable)
1> 'cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 16 2019" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/tlyons/lyonstech/x64-Release"  -DCMAKE_TOOLCHAIN_FILE="C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake" "C:\Users\tlyons\source\repos\terrylyons\quicktrack" 2>&1"' execution failed with error: ''cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 16 2019" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/tlyons/lyonstech/x64-Release"  -DCMAKE_TOOLCHAIN_FILE="C:/Users/tlyons/source/vcpkg/scripts/buildsystems/vcpkg.cmake" "C:\Users\tlyons\source\repos\terrylyons\quicktrack" 2>&1"' returned with exit code: -1073741819'.

1> CMake Error at extern/CMakeLists.txt:16 (FetchContent_MakeAvailable):
1>   Unknown CMake command "FetchContent_MakeAvailable".

I comment out add_subdirectory(extern) and re-configured, no error occurred.

With version 18 of cmake there is no error in the cmake. I have built the binaries in windows and Linux successfully several times. Sadly It builds without vcpckg integration disabled and loops with it.
Terry
On 1 Mar 2021, at 06:52, Jack·Boos·Yu<EMAIL_ADDRESS>wrote:

1> CMake Error at extern/CMakeLists.txt:16 (FetchContent_MakeAvailable):
1>   Unknown CMake command "FetchContent_MakeAvailable".
I comment out add_subdirectory(extern) and re-configured, no error occurred.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/16454#issuecomment-787698845, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABQWN6ZGNIT5JN53VHV5OBLTBM2QRANCNFSM4YKOFO6A.

Confirmed with Visual Studio 2019.

This seems to be related to this message on the CMake mailing list.
I was able to make the wrapping of add_library and add_executable happen only once by surrounding each with an if block, and setting a global option.
if(NOT ${Z_VCPKG_ADD_EXECUTABLE_WRAPPED_ONCE})
    function(add_executable)
        ...
    endfunction()
    set_property(GLOBAL PROPERTY Z_VCPKG_ADD_EXECUTABLE_WRAPPED_ONCE ON)
endif()

if(NOT ${Z_VCPKG_ADD_LIBRARY_WRAPPED_ONCE})
    function(add_library)
        ...
    endfunction()
    set_property(GLOBAL PROPERTY Z_VCPKG_ADD_LIBRARY_WRAPPED_ONCE ON)
endif()

I'm still pretty green with CMAKE, but that worked for me.

The example uses a subproject. Basically this is valid CMake. Normal variables set in the subdir/subproject won't be visible to the parent scope.
What is unusual in the example project is that add_subdirectory is called before the top-level project command. A lot of things happen when CMake encounters the project command. For example, CMake calls the toolchain file.
Taking this together, order matters: In the example, many variables aren't yet initialized when hitting project in the subdir. And changes to these variables in subdir won't be visible to the parent scope. That's why in your example, the top-level project command triggers a second execution of the toolchain file, including the second redefinition of add_executable. Which isn't supported by CMake.
So first I would advice to avoid add_subdirectory before project. There is no advantage from that, but there is the risk of redundant expensive project steps.
Second, vcpkg needs to generally guard against redefining add_executable or add_library. There are multiple triggers:

subdir project before top-level project
include(...vcpkg.cmake) in combination with -DCMAKE_TOOLCHAIN_FILE=...vcpkg.cmake
another tool redefining these commands.

Is there a possibility to add a VCPKG_OVERRIDE_ADD_LIBRARY_NAME in the same vein as VCPKG_OVERRIDE_FIND_PACKAGE_NAME? I have a project that wraps add_library to record packages used to generate find_dependency calls in the generated <Package>Config.cmake file, but this ends up not being usable when vcpkg also wraps add_library. Apologies if this is the wrong place to ask about this!


Please improve the documentation of the version specification

The documentation of the version specification lists ">2.x" as an example. Based on this, I tried ">5.x" in my build pipeline and it did not work. ">5" didn't work either. Is there a way to simply always get the latest version? The documentation does not say whether the version spec can simply be omitted.

@logiclrd Thank you for the feedback.
Please provide a link to the article in question and we will assign an author.

My apologies for that oversight, the page in question is:
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/nuget?view=azure-devops
I think I ended up here by clicking on the "Send feedback about this page" option at the bottom of the page, and thought it would link up automatically, and so everything about the PR assumes that that context is known. I see now that it's completely missing :-)

@logiclrd  Thank you for the update.
The documentation has been updated.
Default version is 4.9 as per source.
You can omit the version and set checkLatest to true to keep up with the latest version as per the default above.


[Docs] add mesheryctl contributors guide

Description
This PR fixes #2303 | This PR is in draft
Added a README.md file in mesheryctl for providing a guide to contributors.

[x] Yes, I signed my commits.

@leecalcote Is this going in the right direction? Any changes to make?

@leecalcote Added the guide to the contributing docs.


USB passthrough requires sudo for certain devices

First, thanks for quickemu!
Following the example in the README for Windows10 (I also have a Logitech C920), I get the error that the requested USB devices are NOT accessible, permission denied.
If I run quickemu with sudo I get a few different errors...so I simply added sudo line 131 which worked.
I could open a PR, but I'm not sure if this breaks anything else, or why it's not sudo in the first place.

I forgot, my details
Ubuntu: 19.10 (Regolith)
Quickemu version: HEAD 64cff9bba
qemu-virgil version:
qemu-virgil --version
QEMU emulator version 4.2.0 (v4.2.0-dirty)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

It's not been week submitting issues. Closed as the script is invoked with sudo if the devices are not available. I'm not sure why it's apparently non-deterministic if they're available or not but oh well.


Added support for FLUSHDB command

closes https://github.com/DiceDB/dice/issues/389
Redis FLUSHDB https://redis.io/docs/latest/commands/flushdb/
TODO: add unit tests and integration tests

hi @JyotinderSingh do we have to handle ResetStore() differently for SYN and ASYNC ways for FLUSHDB command?

hi @JyotinderSingh do we have to handle ResetStore() differently for SYN and ASYNC ways for FLUSHDB command?
From Redis doc: Note: an asynchronous FLUSHALL command only deletes keys that were present at the time the command was invoked. Keys created during an asynchronous flush will be unaffected.
From our implementation, it seems like both FLUSHALL SYNC and FLUSHALL ASYNC can be handles using store.ResetStore()

The implementation is fine for now, we will need to update it later when we start operating in multi-threaded mode.


Make Docker build-info proxy listen on all interfaces

In case of using dockerized Jenkins instance, build-info proxy is started on the loopback interface only, making impossible for an external Jenkins slave to use it. The change is to make the build-info proxy listen on all network interfaces.

@brain461, we appreciate your contribution.
We are already supporting non local connection using the withAllowLocalOnly(false) method.
Meaning your docker daemon doesn't have to be in the same machine as the proxy,
but you have to use the proxy of the specific Jenkins agent you are running your job from.
Can you please describe us your use case?

Roman,
I have dockerized Jenkins master, and a set of bare-metal provisioned jenkins slaves which are used to build and publish Docker images to Artifactory. Docker build-info proxy is configured on port 8999 (output from Jenkins container):

netstat -pln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:45390        <IP_ADDRESS>:*               LISTEN      -
tcp6       0      0 :::36163                :::*                    LISTEN      -
tcp6       0      0 <IP_ADDRESS>:8999          :::*                    LISTEN      -
tcp6       0      0 :::50000                :::*                    LISTEN      -
tcp6       0      0 :::8080                 :::*                    LISTEN      -
In my case, Docker build-info proxy should be accessible on the external interface, not only on a loopback one.

@brain461, we thought of possible solution that will possibly solve your issue,
It will allow you to use one proxy for all your builds no matter on which Jenkins agent you are running the job from.
Would you like to test this experimental solution?
If it works for you we will work on adding this solution to the official release of the plugin.

Sure!

Great, we will update you on our progress.

@brain461, We have enhanced the docker build-info in Jenkins.
The build-info will be collected from all the proxies available in the system from all the agents.
That means that the daemon and the proxy can reside in a different locations which provide the users more flexibility with their setup.
You are welcome to try it out with the following snapshot:
Artifactory hpi
We would appropriate your feedback on this.

Roman,
it appears this snapshot is not there anymore. Could I use any snapshot from here, or only specific build?
Thanks

@brain461, you can use the following snapshot:
Artifactory hpi

Roman,
it appears that the new feature works as expected. Let's close this one.
Thanks!


Release Methodology

This issue is a place to discuss how this project should handle releases. Should there be some type of release cadence, or should releases be done on-demand as new features arrive.

It’d be good to know how/when you plan to update
your plugin to include these changes and perhaps plan some cadence for
updates?

I'm open to some type of weekly/semi-weekly/monthly release cadence (obviously skipping any of those iterations that haven't had changes). However, since this is a lower-key project, I would think getting releases out as soon as new features arrive would be more preferable?
In general, I wouldn't see any benefit in hoarding changes and pushing off releases. I usually try to release whenever a new feature arrives in master. I already have the build process set up to auto-release whenever I tag master, so releasing is easy. The biggest concern is that we don't push out buggy/incomplete code. If we meet that goal, I'm open to suggestions on release schedules/styles/etc.
I do value my time with family and extra-curriculars, and I can't work on this project during working hours, but I definitely have a few free hours every week where I could handle PRs and releases and such.
Thoughts?

Sounds good to me. Informal releases when you've got time, is way more desirable than big planned milestones. We can revisit later, as you require.
I'm totally dog-fooding as well, and with the active guys on slack starting to use it, this will help as well.
are you on the slack channel? there's a #tooling channel in there.

+1 to what @georgejecook said

Yeah I'll close this.


[Feature Request] Ability to Add Custom Dimensions to Deployed Endpoint App Insights

Is your feature request related to a problem? Please describe.
Currently a deployed PromptFlow endpoint can have app insights enabled. This allows for seeing performance. Currently it is not possible to add custom dimensions to what PromptFlow creates.

Describe the solution you'd like
I would like a way to add to the custom dimensions easily in PromptFlow. So for each node I can add custom dimensions to what is already being created.
Describe alternatives you've considered
There does not seem to be a way to enhance the app insights data.
Additional context
Add any other context or screenshots about the feature request here.

You can use the open-telemetry API/SDK to get the current span and add your own attributes to the span easily.

@wxpjimmy  I have implemented that code in the promptflow and the custom dimensions never appear in app insights. It does not seem to default to whatever the current deployed endpoint is generating as app insights events.


fix clang incomplete return type error

before this change, Auto-Vk doesn't compile with clang 18.1.8, with the following error:
In file included from .../avk-test.cc:1:
In file included from .../builddir/_deps/avk-src/include/avk/avk.hpp:223:
.../builddir/_deps/avk-src/include/avk/buffer.hpp:273:4: error: calling 'read_into' with incomplete return type 'avk::command::action_type_command'
  273 |                         read_into(static_cast<void*>(&result), aMetaDataIndex);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../builddir/_deps/avk-src/include/avk/buffer.hpp:255:37: note: 'read_into' declared here
  255 |                 avk::command::action_type_command read_into(void* aDataPtr, size_t aMetaDataIndex) const;
      |                                                   ^
.../builddir/_deps/avk-src/include/avk/avk.hpp:215:10: note: forward declaration of 'avk::command::action_type_command'
  215 |                 struct action_type_command;
      |                        ^

there may well be a neater place to put the read function definition than in the main avk.hpp, but I don't know the codebase

Thanks for your contribution.


Update to SharePoint Advanced Management licensing requirements

Update to the Licensing section
We have had confirmation from Microsoft support that the add on SharePoint Advanced Management licences are not required for Front line workers with F licences. Can the article be update to reflect this as it currently stays all users which is misleading.

you must have a license for each user in your organization. (It's not required for guests.) Users must also be licensed for SharePoint K, P1, or P2 via standalone or a Microsoft 365 suite.

Message from Microsoft Support

Does F licenses users need to be licensed as well for SAM?
In an organization that includes F (Frontline workers) licenses, SAM is not required for them. But, for all employees' licenses like E1 or E3 SAM add-on license must be purchased.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e9aa1a91-e838-41c6-45cb-6a2a4dbf1a7a
Version Independent ID: 5f5c1b99-126f-2a70-20c8-f00136927e31
Content: Microsoft Syntex - SharePoint Advanced Management overview - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/advanced-management.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Hello @nikki-c I'm working on this


Search across multiple item properties

Is your feature request related to a problem? Please describe.
I've been looking for a replacement to fuse.js and came across this library. I use fzf all over my OS and like the speed and results it produces. This nearly replaces all of the features I currently use on fuse.js except for one key aspect. The ability to have weighted search across multiple item properties.  You can see a fusejs example here.  I think right now my only option is to use the non-string selector feature by concatenating the properties.  That can get messy though if all of the properties are not simple terms/words... and I'm not sure how that would affect scoring.
An example usage could be searching calendar events that include an event title, name of the host, names of all the participants, and a short description.
{
  title: 'Learn how to fzf!',
  host: 'Ajit',
  participants: ['Craig', 'John', 'Bill'],
  description: 'How to use fzf on your OS, in vim, and now in JS!',
}

Describe the solution you'd like
A possible solution without weighting the item properties might be to search and score each searchable property. And then calculate a single score for the item. Some simple (configurable) item scoring calculates could be total score, average score, or highest score.  And then if anyone wanted to hook into the scoring algorithm they could implement a weighted scoring algo.
Describe alternatives you've considered
After searching for fusejs alternatives, fzf is the one I chose to dive into first so I haven't looked hard at other fuzzy search/sort libraries.  And the only alternative within fzf that I've found is the concatenating properties in the selector.

Hey @caschbre! It seems that in both match-sorter and fuzzysort, one cannot search in multiple fields at once. So in the example that you've given above, searching for "how to fzf ajit" won't give any result. Does this matches to the result that you are expecting?

@ajitid I have not had a chance to try either one out yet.  We're currently using fusejs which handles multiple fields, but I've been looking for something that performs better (speed and accuracy) and is easier to customize.
I briefly looked over the two libraries you mentioned and I believe that match-sorter does search across multiple fields by configuring the 'keys'.  Also see https://github.com/kentcdodds/match-sorter#match-many-words-across-multiple-fields-table-filtering.


bug - ArrowKeysReact.config isn't define

details:
error raise on console when clicking on a RangeDatepicker
build:

vite (es-build), production

deps:

react: 18.1
@chakra-ui/react: 2.1.2
chakra-dayzed-datepicker: ^0.2.2 - we had this issue in past versions as well

error on console:
TypeError: IU.config is not a function
    at uie (chakra-dayzed-datepicker.esm.js:165:18)
    at Y8 (react-dom.production.min.js:166:137)
    at AZ (react-dom.production.min.js:289:386)
    at $Z (react-dom.production.min.js:279:389)
    at q0e (react-dom.production.min.js:279:320)
    at wC (react-dom.production.min.js:279:180)
    at Vk (react-dom.production.min.js:270:88)
    at mF (react-dom.production.min.js:272:300)
    at sp (react-dom.production.min.js:127:105)
    at react-dom.production.min.js:266:269

possible solution, my coworker @hexelon  solve it in this fork
(here is the specific commit)
I can open a pr if needed, please let me know 🙏

A minimal repo/codesandbox will be helpful to find out the core issue.
The error code looks like your production build is failing to include dependencies.

yeah, you're totally right, I'll should have add an example, I'll try to find time to do it,
don't have an eta.

@wellDan28
Hi wellDan,
I also encountered the problem you described, how can I avoid this error in my project until the problem is solved?

@dreammaker7  I assume the problem might be the dependency package is failed to import because of the bundling tools.
Since the package is relatively simple, I can just remove it and copy/paste the code from that lib into a single file, and then give the full credit.
Then you can test it out to see if it works.

The bug should be resolved by v0.2.3


Add model_3d database columns to db_columns.py

Problem

Based on the data fields defined in WordPress/openverse#1588, we should add the database columns to db_columns.py.
Description

Create a list of all the database columns (3D_MODEL_TABLE_COLUMNS) in  openverse_catalog/dags/common/storage/db_columns.py.
For any new columns that do not exist in audio or image media type, a column definition should be first added to openverse_catalog/dags/common/storage/columns.py.
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Closing as 3d models are indefinitely on hold and no work should be done on them until we re-plan this project.


Further explain API design philosophy.

Motivated by discussion on #5353 and #1353.

oncall please merge in-hours


Fixed Aerisdies ripper

Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[X] a bug fix (Fix #335)

Description
Changed how the ripper gets the album title and added more unit test
Testing
Required verification:

[ ] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[X] I've verified that this change works as intended.

[X] Downloads all relevant content.
[X] Downloads content from multiple pages (as necessary or appropriate).
[X] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[X] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[X] I've added a unit test to cover my change.

Coverage decreased (-0.02%) to 36.395% when pulling 30c08c633ad997cf87992253cfe55671f1409acb on cyian-1756:Aerisdies into 2ecffc349768e25d0624af303457b407f03d0938 on RipMeApp:master.


Implement validate_timestamp function.

Implement validate_timestamp function.
Acceptance Criteria:

implement body of the function based on ZeroSync version
write unit tests

hi @maciejka , may I be assigned to this issue? thanks!


Add Catppuccin Colors

What type of PR is this? (check all applicable)

[ ] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[X] 🎨 Style
[ ] ♻ Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert
[ ] 🌐 Internationalization / Translation

Description
This adds cappuccin colors to the editor from
https://catppuccin.com/palette
Following the spec as close as I could
https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md
Related Tickets & Documents
Implements #686
Mobile & Desktop Screenshots/Recordings
Monaco
Catppuccin Latte

Catppuccin Frappe

Catppuccin Macchiato

Catppuccin Mocha

Codemirror
Catppuccin Latte

Catppuccin Frappe

Catppuccin Macchiato

Catppuccin Mocha

Codejar
Catppuccin Latte

Catppuccin Frappe

Catppuccin Macchiato

Catppuccin Mocha

Added tests?

[ ] 👍 yes
[X] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentations?

[ ] 📓 docs (./docs)
[ ] 📕 storybook (./storybook)
[ ] 📜 README.md
[X] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
None
[optional] What gif best describes this PR or how it makes you feel?

how do I not duplicate code when adding a theme? @hatemhosny

Themes look good to me! Thank you for fixing my issue!

Thank you, @Shlok-Bhakta
The PR is merged.
You can test it on the development build on: dev.livecodes.io
This will land in livecodes.io in the next release which is planned by the end of this week.
If you have a twitter account, please send it, so that I can give you credit there when the next version is released.
Thanks a lot and you are very welcome to keep contributing to LiveCodes ❤

Awesome! my twitter is @shlokbhakta
can't wait to use this theme on my blog!


Tagging/search

trying to see if this file reappears

file ain't there and I'm gonna go scream into a pillow and then rewrite it because idfk where it went :)


selector,_unhappy

selector:［name=youName]
fix :
var error = {
message: opts.message || '',
id: (field.attr("id") ||field.attr("name")) + '_unhappy'
};

This is basically the solution applied. See e1d8faa41f841c0b957bdc32a75600148cdecbd8


Angular v8 - import 'web-animations-js' polyfill breaks the app

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was Angular v7
Description
If I add import 'web-animations-js'; into polyfills.ts , in production it breaks the app.
🔬 Minimal Reproduction

Create new project using @angular/cli 8.0.0-rc.4
npm install --save web-animations-js
Enable import 'web-animations-js'; into polyfills.ts
ng build --prod
Run the app, for example using http-server

🔥 Exception or Error

Uncaught TypeError: Cannot set property 'true' of undefined
    at Object.6dTf (polyfills-es2015.c4346c40f18bcedaacdd.js:1)
    at i (runtime-es2015.38622beb49066db5cb2b.js:1)
    at Module.hN/g (polyfills-es2015.c4346c40f18bcedaacdd.js:1)
    at i (runtime-es2015.38622beb49066db5cb2b.js:1)
    at Object.1 (polyfills-es2015.c4346c40f18bcedaacdd.js:1)
    at i (runtime-es2015.38622beb49066db5cb2b.js:1)
    at t (runtime-es2015.38622beb49066db5cb2b.js:1)
    at Array.r [as push] (runtime-es2015.38622beb49066db5cb2b.js:1)
    at polyfills-es2015.c4346c40f18bcedaacdd.js:1
Uncaught Error: In this configuration Angular requires Zone.js
    at new Aa (main-es2015.578a9f97ccae57b370de.js:1)
    at Ya.bootstrapModuleFactory (main-es2015.578a9f97ccae57b370de.js:1)
    at Module.zUnb (main-es2015.578a9f97ccae57b370de.js:1)
    at i (runtime-es2015.38622beb49066db5cb2b.js:1)
    at Object.0 (main-es2015.578a9f97ccae57b370de.js:1)
    at i (runtime-es2015.38622beb49066db5cb2b.js:1)
    at t (runtime-es2015.38622beb49066db5cb2b.js:1)
    at Array.r [as push] (runtime-es2015.38622beb49066db5cb2b.js:1)
    at main-es2015.578a9f97ccae57b370de.js:1

🌍 Your Environment

Angular CLI: 8.0.0-rc.4
Node: 10.14.2
OS: win32 x64
Angular: 8.0.0-rc.4
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.0-rc.4
@angular-devkit/build-angular     0.800.0-rc.4
@angular-devkit/build-optimizer   0.800.0-rc.4
@angular-devkit/build-webpack     0.800.0-rc.4
@angular-devkit/core              8.0.0-rc.4
@angular-devkit/schematics        8.0.0-rc.4
@ngtools/webpack                  8.0.0-rc.4
@schematics/angular               8.0.0-rc.4
@schematics/update                0.800.0-rc.4
rxjs                              6.4.0
typescript                        3.4.5
webpack                           4.30.0

Anything else relevant?

If I import zone before web-animation-js, the app works, but the first error is still present.

Related to https://github.com/web-animations/web-animations-js/issues/45

Why is this issue closed? The error still exists in v8.0.0. If i import web-animations-js, the application breaks.

Hi, for the time being kindly update the dependency version to github:angular/web-animations-js#release_pr208 as we are waiting for https://github.com/web-animations/web-animations-js/pull/208 to be released.
That said, if you updated to Angular 8 via ng update the dependency change should have been done automatically. Otherwise, if it's a new application, I would ask if you really need to add the web-animations-js polyfill in the first place. This is typically needed only when using the AnimationBuilder API.
Re-opening until we get this solved.

Please not that the issue with Zone.js is a separate issue, which can be solved by importing Zone.js differently. See https://github.com/manfredsteyer/ngx-build-plus/issues/4#issuecomment-417912637.

I believe #208 has been merged / released.

@Senneseph It is merged but not yet released. Latest version is still 2.3.1 from 2 years ago.

Just had a chat with the maintainers. They are working on a release in the next day or two.

Thank you for the update

for those looking for a workaround to import libraries that are not fixed:
instead of doing import 'some-library' in main.ts or polyfills.ts, add the resulting path to the scripts section in your angular.json:
{
  "projects": {
    "my-project": {
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "scripts": [
              "node_modules/some-library/some-library.min.js"
            ]

this will be bundled in dist/scripts.js and in the dist/index.html you will have
<script src="scripts.js"></script>

without type="module"

It's also important to note that unless the application is actually using the AnimationBuilder class, the animations polyfill is not needed.

Just had a chat with the maintainers. They are working on a release in the next day or two.

"working on a release", they said... "next day or two", they said..

Thanks @alan-agius4 I didn't know I don't need to import web-animations, I just thought if I would like to support IE/Edge or Safari I had to import it... Now I can remove it from the project

This issue has been fixed in<EMAIL_ADDRESS>A heads up to anyone using igniteui-angular npm package... You will need to install<EMAIL_ADDRESS>and<EMAIL_ADDRESS>as npm runtime dependencies inside your Angular Project

I also met this issue, so I did uninstall web-animations.js and rebuild and published. Thus this was sorted out. But I am not sure it's the exact solution for this, as web-animations.js is required for IE and Safari browsers, according to the google.

It’s generally the correct solution.  The polyfill is only needed for those browsers if the “AnimationBuilder” class is used within the project.  Typical animation use does not require it.

web-animations-js published 2.3.2 which includes the fix

The blocked label can be removed.


The module didn't worked for non-GMs.

this.actor.owner didn't work and caused the module to crash. No player could see nor open any journals once the module was implemented.

Thanks for pointing this bit of code out! Definitely some copy-paste oversight in there I'll gladly fix, though I am curious as this doesn't seem to happen on my side, the sheet configuration option at the top of the journal merely didn't appear on player side. Not sure if it's because of something with me just swapping users on the same browser, or some other thing, but either way, this is getting fixed ASAP, thanks to you! Hope it didn't cause too much trouble at your table!


Fix home gesture collision

The home-gesture on iOS devices without a physical home button can collide with the
DragGesture that is attached to the bottom sheet. The gesture allows to hide the
presented bottom sheet by dragging the top bar down to the edge of the screen.
However, when swiping up from the bottom to send the app to the background, the
gesture still receives changes. When the bottom sheet is hidden, this can lead to a
miscalculation of the sheet position. See the attached video:

The fix is to ignore the swipe-up gesture when the bottom sheet is hidden.

👍🏼 Thanks for fixing this. I've left few comments.


SW-5047 API for bulk removing global roles from users

Add API DELETE /api/v1/users/globalRoles for bulk removing global roles from a given set of user IDs

Receives a payload of {"userIds: [$userId1,$userId2]}

Update the UserStore.updateGlobalRoles function to accept a list of userIds to perform the operation on.

The operation is considered "all or nothing", IE no users supplied in the list will be updated if there is an error with any of them (for example if some of the users are not @terraformation.com users)

#1779  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nickgraz and the rest of your teammates on  Graphite

@sgrimm would you mind taking a look when you have a moment?


Waiting threads underflow/miscount when disabled/reset

These are two issues that occur with the waiting threads counter as it's disabled or reset. I'm reporting them together as they seem similar, but feel free to split this into separate issues.
Reset while waiting
If the waiting threads counter is reset while a thread is in waiting, when that thread is resumed, the waiting thread counter will underflow.

Reproduction case
require "gvltools"

GVLTools::WaitingThreads.enable

def fibonacci(number)
  number <= 1 ? number : fibonacci(number - 1) + fibonacci(number - 2)
end

threads = 5.times.map do
  Thread.new do
    5.times do
      fibonacci(30)
    end
    puts "Waiting threads is #{GVLTools::WaitingThreads.count}; resetting..."
    GVLTools::WaitingThreads.reset
  end
end

threads.each(&:join)

I suppose this could be addressed by keeping the value at the counter at the time of reset and ignoring as many of the resume events that follow as the value that was kept.
Disable while waiting
If the instrumentation is disabled while a thread is in waiting, a resumed counter will be missing, and the counter's "baseline" will drift away from zero (if enabling while waiting, it will underflow)

Reproduction case
require "gvltools"

def fibonacci(number)
  number <= 1 ? number : fibonacci(number - 1) + fibonacci(number - 2)
end

2.times do
  puts "Enabling waiting threads"
  GVLTools::WaitingThreads.enable

  threads = 5.times.map do
    Thread.new do
      5.times do
        fibonacci(30)
      end

      if GVLTools::WaitingThreads.enabled?
        puts "Waiting threads is #{GVLTools::WaitingThreads.count}; disabling..."
        GVLTools::WaitingThreads.disable
      end
    end
  end

  threads.each(&:join)
end

puts
puts "Final waiting threads is #{GVLTools::WaitingThreads.count}"

This can be fixed in two ways, depending on which behaviour is deemed correct:

The counter should never change after the instrumentation is disabled: in this case, enabling the counter should always reset the counter, as the counter's previous value cannot be trusted to be zero.
Even after the instrumentation is disabled, the resumed events corresponding to previously instrumented ready events should still be accounted for: Always decrement the waiting threads counter, even if the instrumentation is disabled.

Thanks for the repro, I'll work on a fix tomorrow.

Reset while waiting

Hum, so I wasn't envisioning a reset happening while the counter is active. I'm not sure I understand the use case.
I have an idea how to support it, I'll open a PR and tag you on it to discuss it. It's not nearly perfect it still has a very small race condition windows, but might be fine depending on the use case.
I'll look at the second case once it's done.


Unable to modify custom parameters from UI using modern UI

Prerequisites

[X] I am using the latest version of Locust
[X] I am reporting a bug, not asking a question

Description
I have defined a set of custom command line parameters with default values in my locustfile. However I noticed that if I use the --modern-ui then it does not allow me edit the custom parameter from UI. The same thing works fine on the original UI. In the below example I am expecting to edit the "email_id" and "device_id" via UI.
Command line
locust -f locustfile.py --modern-ui --all-requests
Locustfile contents
@events.init_command_line_parser.add_listener
def _(parser):
    parser.add_argument("--email_id"<EMAIL_ADDRESS>help="Registered user ID")
    parser.add_argument("--all-requests", action="store_true", help="Log every request in CSV")
    parser.add_argument("--device_id", default="dummy_id", help="Device ID")

Python version
3.10.3
Locust version
2.19.0
Operating system
Win 11

Ping @andrewbaldwin44 :)

Hi @ricky-bhatia, maybe you missed it as in the new UI it is under an accordion

Keep in mind the all-requests variable will not show up as it is a boolean value (a feature to come)


Fixed deprecation of NumberEntity members

Tried to fix deprecation of NumberEntity members as reported in #897

Did work for me Thanks!

Oh. It will break backward support many Hass versions. I'm trying to support as many old versions as possible.

Will this fix (or something similar) be merged before 2022.10?


Homepage needs to be updated.

The homepage refers to a GitHub URL that redirects to this repo: https://github.com/petitparser/dart-petitparser/blob/master/pubspec.yaml#L5

Thank you for reporting, fixed it in eed3db7175157ffec9844a85a60cb14ef2dcd1fa.


Solder Mask and Copper layer's are fused (KiCad 7.0.8)

First time using KiCad and the plugin but I believe layers are being exported incorrectly.
In this case, the solder mask and copper layer were merged.

It seems this is actually an issue with how KiCad is importing .zip files in the gerber viewer.

Thanks for the feedback.


[6.0] Work around compiler regression causing CI failure.

Explanation: Disables some tests that currently fail to build against the main toolchain.
Scope: 6.0 branch
Issue: N/A
Original PR: https://github.com/swiftlang/swift-testing/pull/664
Risk: Low
Testing: CI job run—disables existing tests
Reviewer: @briancroom @suzannaratcliff @stmontgomery

@swift-ci test

@swift-ci test


Aboutme and skills page added and deleted the copyright code in files.

As of now I made a page which gives more information about candidate(Introduction about myself)and skills which is essential to show in-front of any recruiter. I tried to fulfill it .

Further Feedback:

Refrain from using inline CSS as much as possible
Just build the page and add a Link in the Navbar. Do not put any button on the home page ( The current one is weirdly placed)
Please make sure your added changes are mobile responsive. That's one of the basic expectations from a web developer.

The percentage of skills is not relevant. For example, if I have been working with Python for more than half a decade, it is next to impossible to quantify how much percentage of it, I know.
Add logos of the technology
Have separate sections for stacks related to Front End, Back End, DevOPs, Machine Learning, etc
The Hire Me button doesn't make sense at all
For the Download  CV button, add functionality to download the pdf on click

Noted your feeback.Can i upload this page by improving it further as you said?

Sure. Raise a new PR.

Add logos of the technology(Added)
Have separate sections for stacks related to Front End, Back End, DevOPs, Machine Learning, etc(You need separate sections like for frontend etc?? Please elaborate more as i am not getting properly. )

Add logos of the technology(Added)
Have separate sections for stacks related to Front End, Back End, DevOPs, Machine Learning, etc(You need separate sections like for frontend etc?? Please elaborate more as i am not getting properly. )

Further Feedback:

Refer this for the understanding how we can organize our skills as per area of interest. Basically, the idea is to expand your resume visually!
The above reference is meant for giving a clear idea. Do not base your PR directly on it. We do not require those additional lines about the stack. Come up with your creative ideas
The icons are self-explanatory, we do not need to put a text below to tell the audience what it is.
Visit Sourcer. Ignore the SSL failure, it's a simple open-source project and most probably won't be up to anything fishy. After creating your profile, you'll notice it would give the no of lines of code one has written. We can store all the facts as JSON in a variable inside a skill.json and randomly display it over a card saying Fun Fact

                                ------------------------------------------------
                             |                                                                        |
                             |    # Fun Fact about me:                                  |
                             |    "As per sourcerer, till date I have                |
                             | written around 40k lines in Python                |
                             |    across all my projects"                                |
                             |                                                                        |
                               ------------------------------------------------

Ignore the markdown rendering. I hope you got the idea expressed
Experimental:
Try to create an interactive word cloud of the skills. Reference

Add logos of the technology(Added)
Have separate sections for stacks related to Front End, Back End, DevOPs, Machine Learning, etc(You need separate sections like for frontend etc?? Please elaborate more as i am not getting properly. )

Put the download CV button where the About me section 's  text ends


Fetch a property for a list of QIDs in CSV format

Is there a good way to fetch one or multiple properties for a (potentially long) list of QIDs in CSV format?
Here's example code for what I have this far using wd convert but would it make sense for it to support --format csv and fetching more than one property at a time?
$ echo Q3572332 Q98407233 Q10428420 | wd convert --subjects --property P6375 | jq -r '
  to_entries
    | .[]
    | .key as $qcode
    | .value[] as $address
    | [$qcode,$address]
    | @csv'
"Q3572332","Eläintarhantie 1"
"Q3572332","Siltasaarenkatu 18"
"Q98407233","Agricolankatu 1-3"
"Q10428420","Fleminginkatu 1"
"Q10428420","Porthaninkatu 12"
"Q10428420","Viides linja 11"

Or the same using wd data: (but does it fetch all item data and would it be more difficult to implement --format csv?)
$ echo Q3572332 Q98407233 Q10428420 | wd data --simplify --props claims.P6375 | jq -r '
  .id as $qcode
    | .claims.P6375[] as $address
    | [$qcode,$address]
    | @csv'
"Q3572332","Eläintarhantie 1"
"Q3572332","Siltasaarenkatu 18"
"Q98407233","Agricolankatu 1-3"
"Q10428420","Viides linja 11"
"Q10428420","Fleminginkatu 1"
"Q10428420","Porthaninkatu 12"

Is there a good way to fetch one or multiple properties for a (potentially long) list of QIDs

For one property, wd convert seems to do the job, but it would currently not work for multiple properties. You could write a SPARQL request extending what wd convert does, but would need to handle the split into batches (wd convert uses batches of a 1000 at once)

in CSV format

It can get tricky to get from JSON with deeply nested objects to CSV, but could work for some basic cases.

but does it fetch all item data

No, but almost: when you specify --props claims.P6375, the smallest amount of data we can request to the API is basic info + all the claims by setting props=claims

would it be more difficult to implement --format csv?

I gave it a try in the this branch. The proposed syntax would be:
echo Q3572332 Q98407233 Q10428420 | wd data --props claims.P6375 --format csv

and output
id,claims.P6375
Q3572332,"Eläintarhantie 1,Siltasaarenkatu 18"
Q98407233,Agricolankatu 1-3
Q10428420,"Viides linja 11,Fleminginkatu 1,Porthaninkatu 12"

Note that P6375 values are grouped per entity: we could generate several rows per entity as in your version, but I'm not sure how we could make it work for cases where there are several properties (generating all combinations seems unnecessarily verbose). Would that work for your use case?

Thank you for the quick implementation!
I was thinking this would be useful in lots of use cases, but my current use case is trying to find matches between certain Wikidata items and another big dataset (OpenStreetMap) based on street addresses. In this case, I need separate rows for each address to see if any of them match, and if I matched on multiple properties, it would be preferable to get all the combinations to see if any of them match a combination present in the other dataset. Could it make sense to do that by default and have an option like --join-values , to get your current output?
Multiple values is the difficult part also in the sense that before today I had no idea how to do the above in jq. I can manage now but I would not want to suggest anyone to learn this. :sweat_smile: (This made it click in the manual: "Thus as functions as something of a foreach loop.")

I'm very grateful that you posted those jq commands, I use jq a lot but never encountered those as before, quite powerful ^^

I have to add I'm not saying the solution for now couldn't be to include an example like these in wikibase-cli's documentation and people can use them as templates for what they need.

I pushed more commits on that branch: now echo Q3572332 Q98407233 Q10428420 | wd data --props claims.P6375 --format csv outputs
id,claims.P6375
Q3572332,Eläintarhantie 1
Q3572332,Siltasaarenkatu 18
Q98407233,Agricolankatu 1-3
Q10428420,Viides linja 11
Q10428420,Fleminginkatu 1
Q10428420,Porthaninkatu 12

but the previous behaviour can, as suggested, be recovered with --join. Ready to merge, or do you see any missing feature?


Update FAQ and finaid pages

Updated some dates
Added volunteers page link to "how to help" section

Thanks Cyril ❤


Add Cocoapods support

Will add support shortly after the repo is made public!
Note: Since the library contains localized resources, we need to resolve the issue described here

Closing as will not do since cocoa pods is being sunset


Fix single element bounding box bug

This PR fixes the single-element bounding box bug described on issue #1898 , and it comes as a follow up to the PR #1975.
Notes about the solution:

While detecting an element bounding box, the line threshold is considered because some shapes, like the rectangle, have their edges so close to the bounding box that not considering the threshold would break the regression tests.
The code introduced to fix this issue duplicates the concept of the bounding box that is already present on the file renderScene.ts. In other words, if one day we change the bounding box to have double the padding it has now, we'll also have to change collision.ts. Otherwise, a selected element won't be detected in all points of its bounding box. This is not ideal, but refactoring the code to introduce the abstraction of the bounding box will probably cause some changes across multiple files, and I'm not sure if now is a good time for the project to do that. So I opted to duplicate the concept and see if you guys think it's a good idea to fix this bug at that cost, or if you prefer to wait for an opportunity to refactor the code to introduce the bounding box abstraction and fix the bug meanwhile.

Are you willing to refactor it?

It's not a huge change, so we could even merge it and refactor it in a another PR..

Let's not merge this yet, it needs to be rebased on top of #1899 .

Btw, did you leave the part around handling hitboxes of multiple selected elements for next PR on purpose, or forgot?

@Jnforja ~Btw, did you leave the part around handling hitboxes of multiple selected elements for next PR on purpose, or forgot?~ nvm, just noticed the title of the PR :).

Yes, I'll do it on the next PR :) But maybe I should wait for this one to be merged to minimize conflicts. What do you think?

Yep, btw, I'm fixing the conflicts right now.

@Jnforja as for the tests, I don't think testing roughjs internals (shape coords etc.) is a good idea. Don't believe it's useful, it adds crazy amount of noise, and will be nightmare to maintain.

@Jnforja as for the tests, I don't think testing roughjs internals (shape paths etc.) is a good idea. Don't believe it's useful, it adds crazy amount of noise, and will be nightmare to maintain.

@dwelle I agree that as those tests are right now they won't be easy to maintain. The dependency towards rough.js together with the number and complexity of the parameters of getElementAtPosition() is what, in my opinion, makes those tests hard to maintain. I think that's valuable feedback regarding the design and complexity of the module, and although the current tests aren't easy to maintain, they can work as a stepping stone to improve the current design of both the tests and the code. Now, maybe improving the design of that code area isn't relevant to the project right now or on the foreseeable future, and if that's the case it might be better to just delete those tests :)
I wouldn't say that we are testing rough.js internals given that many of the paths covered by those tests aren't dependent on rough.js (squares, diamonds, ellipses and text aren't dependent on rough.js to be detected). To me, that's also an interesting feedback about the design of the code :)

I've give the tests a cursory look. I originally thought you're asserting on the roughjs ops, but now I understand you're mocking it so you can do unit tests. I agree with @xixixao that that's an overkill and we actually don't care if the unit tests work or not. We care about whether the app functions as intended. As such, you should just do a simple tests such as:

create ellipse
select it
click on {x,y}	coord that's outside the ellipse shape but within the bounding box
confirm the element isn't deselected

These kinds of tests won't need regular maintenance as it doesn't depend on internals, and on top of that it tests what actually matters.

I completely agree that the shorter/simpler the tests, the better, and I also agree that those 2K+ lines of tests for that feature is not cool. My point is that the fact that I needed 2K+ lines to test that code suggests that the module responsible for detecting elements might need some design improvement. From the way I see it when I can't easily test a module in isolation that usually means that the code is hard to reason about and hard to change. What I was suggesting was that the module could be refactored so that it became easier to understand and the tests for it easier to write, and also that those unit tests could be used as a probe and as a safety net for refactoring.
But if refactoring the module for detecting elements is not important for the project, and the current unit tests won't
be iterated upon, then I agree that it's better to delete the unit tests and rely on the e2e/integration tests. Although I do believe that as the project grows, and the necessity to prevent regression grows as well, that those tests will become harder and harder to maintain, but I might be wrong.
About not caring if the unit tests work or not, I think that we care about being able to structure code so that a suite of unit tests working means that the app works as intended.
I mainly used those tests as a way to understand better the code that I was changing, but if you think that they won't provide any further value I can delete them and update the PR  :)

I think that e2e tests are enough to assert the app behaves correctly, and TS types are usually enough to help in refactoring. Neither is 100% safe but it's usually safe enough.
Moreover, with unit tests refactoring is harder because you're testing implementation. We shouldn't really care about the implementation if it does what it should.

Ok. If e2e tests + TS are giving good enough results to allow changes to the code without introducing regression bugs, that's great. Next tests I add I'll follow the pattern and give preference to doing e2eish tests like the ones in src/tests/regressionTests.test.tsx :)
Should I go on and update the PR to remove those unit tests?
I'm not arguing about anything, but I'll share what's on my mind just for the sake of a healthy discussion :)

unit tests refactoring is harder because you're testing implementation.

If by unit tests we're thinking about testing every function the code has, then yes, our tests will be brittle and easy to break. But if our units are well-structured modules that encapsulate a well-defined behavior, then I don't see it this way. It ends up being a question of where we define the testing boundary.
The thing about relying on e2e tests is that as the number of features of the app grows, the harder it is to cover all behaviors of the application, which leads to writing a lot more e2e tests than we'd have to write unit tests. Unit tests are seen as the brittle ones, and when not done carefully it's true, but e2e tests are brittle as well.
E2E tests capture a lot of details that sometimes we're not even aware of. For example, I may want to try to test that I can select a rectangle, but to do that, I have to click on the rectangle tool, draw it, and just then can I try to select it. My test has the purpose of asserting we can select a rectangle, but it depends on the behavior of choosing the tool to select the rectangle as well as on the specificities of drawing one. Now changes to choosing the rectangle tool and how to draw one will break the test related to how to select one. Instead of thinking of one test that depends on behavior it is not interested in, think of 100's, and the maintenance problem starts to become more clear. Then there's also the point that none of those tests that are failing will tell what's wrong. For example, if there's a merge that changes multiple areas of the code and now 20 e2e tests are failing, trying to figure where the problem is, is going to be complicated.
Those are just my opinions, and I might be wrong. But I just wanted to explain where I'm coming from.

I more or less agree with your points on e2e vs unit tests, and I'm not totally against unit tests in the right places, and we should figure it out. That said, your unit tests already broke. The getElementAtPosition()	API changed significantly. And once you fix them, they'll possibly break again in my next PR because I plan to do further refactor.
I think we're still at a stage where having granular, thorough unit tests (or even e2e tests) isn't a good idea because we're still changing the app behavior in significant ways. In very near future we'll be revamping how element selection works, how cursor works etc.
So my vote is to remove most of those unit tests, and add just a handful of tests asserting the behavior as a whole. We don't need to test every element and every case, that can be done later.

I think I understand the points you're making, although not wholeheartedly agreeing with them. With that said, thank you for taking the time to explain what's going on with the project.
If it's ok with you, I'll update the PR, as you suggested, to replace the unit tests with a small group of e2e tests.

If it's ok with you, I'll update the PR, as you suggested, to replace the unit tests with a small group of e2e tests.

❤

I've updated the PR.
I ended up adding only a single e2e test to avoid regressions on this bug. I figured that since the selection of all element types is being handled the same and by the same piece of code that a single e2e test would be enough.
Let me know if anything else is needed.

I've updated the PR to take into account @xixixao feedback.

Thanks! I look forward to the multi-selection/group-selection PR.


Documentation for preFetch paymentData

Is your feature request related to a problem? Please describe.
Lacking documentation for https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData
Describe the solution you'd like A clear and concise description of what you want to happen.
Add use cases or code examples for https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData

Thanks, I'll pass on the feedback.
WRT prefetchPaymentData in this library, this is automatically enabled for you. Not that from https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData:

Prefetch optimizations are currently available on Chrome for Android. Other browsers and platforms to follow.


iOS 13.4 ModalPresentationStyle is Fullscreen instead of PageSheet when navigating to a modal page

I'm facing a very strange behavior with modal navigation, in brief, the modal pages are shown in FullScreen instead of Automatic (PageSheet).
I understand that by default in iOS 13+ the default ModalPresentationStyle is setted to Automatic which internally is translated to PageSheet and that is the behavior I expect when navigating to a modal page, but that is not happening in my App.
This behavior is very strange, I've traced the problem creating a NavigationRenderer, basically there I'm handling the WillMoveToParentViewController(UIViewController parent) event.
The first time the event is triggered (when showing the MainPage) the value for parent.ModalPresentationStyle is UIModalPresentationStyle.PageSheet as expected, but the second time (when I launch the navigation to a modal page) it has changed to UIModalPresentationStyle.FullScreen
I'm not really sure if this is a bug or something I'm doing wrong, but as this is happening when navigating I think maybe here someone could provide me some guidance.
My Setup:
My 3 projects (Shared, Android and iOS) all are using latest (at this time) Xamarin.Forms package which is <IP_ADDRESS>7 and in the shared (.net standard) project I'm referencing latest nuget package for FreshMvvm 3.0.0.
For testing and reproducing this I'm using only devices and simulators running iOS 13.4 and 13.4.1, mainly iPhone 11 and PRO MAX.
A short version of my code here:
App.xaml.cs
public App()
{
  InitializeComponent();

  var loginPage = FreshPageModelResolver.ResolvePageModel<LoginPageModel>();
  var loginNavContainer = new FreshNavigationContainer(loginPage);

  MainPage = loginNavContainer;
}

LoginPageModel.cs
private async void DoSomething()
{
    try
    {
        //my logic
    }
    catch (Exception e)
    {
      //This page is presented with FullScreen style
      await CoreMethods.PushPageModel<ErrorPageModel>(null, true);
    }
}

NavigationPageRenderer.cs
public class NavigationPageRenderer : NavigationRenderer
{
    public override void WillMoveToParentViewController(UIViewController parent)
    {
        if(parent != null)
        {
            parent.ModalPresentationStyle = UIModalPresentationStyle.Automatic;
        }
    }
}

My not-so-fancy fix is to use the NavigationRenderer to change the Style on the fly (and works!), but I would like to understand what is really happening here.
Note: This "error" is even happening with the Sample App attached here in the repo.

I've just noticed the same thing, quite annoying.


Compiler v2.1.4 generates erroneous JS code for class constructor

TypeScript Version:  2.1.4 (also tested with 2.2.0-dev.20161214)
Code
class A {
    constructor(fnSomething: () => void) {
        fnSomething();
    }
}

class B extends A {
    constructor() {
        super(() => {
            // Do something with `this`
            console.dir(this);
        });
    }
}

Expected behavior:
Since this is referenced within a function which is supplied as argument to the super constructor, the compiler cannot determine if this would be available when the function is invoked. So it should compile to the following valid ES5 JS code (which is the case before v2.1.4):
function B() {
  var _this = this;
  return _super.call(this, function () {
    // Do something with `this`
    console.dir(_this);
  }) || this;
}

Actual behavior:
TypeScript 2.1.4 generates the following invalid ES5 code (var _this = this; is missing):
function B() {
  return _super.call(this, function () {
    // Do something with `this`
    console.dir(_this);
  }) || this;
}

TypeScript 2.0.8 and lower generates the following valid ES5 code:
function B() {
  var _this = this;
  _super.call(this, function () {
    // Do something with `this`
    console.dir(_this);
  });
}

I have found a similar issue

I think SuperCaptureResult.ReplaceWithReturn needs a review to address #12906 and #12909.
See:
https://github.com/Microsoft/TypeScript/blob/master/src/compiler/transformers/es2015.ts#L1006
I think the immediate return is not possible and should be:
var _this;
_this = _super.call(...) || this;
return _this;

Duplicate of https://github.com/Microsoft/TypeScript/issues/12764


IMPROVING FONT VISIBILITY AND ATTRACTIVE BACKGROUND IMAGE

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Font visibility and background images are currently unclear and not visually appealing on the platform
Describe the solution you'd like
A clear and concise description of what you want to happen.

Enhance the visibility of fonts to ensure readability, possibly by adjusting font size, color contrast, or font type.
2.Update background images to be more visually appealing and cohesive with the platform's theme or branding. Consider using high-quality images with appropriate colors and compositions.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Prioritize user experience by implementing visual optimizations to enhance the overall aesthetic appeal and usability of the platform. This may involve gathering user feedback and iterating on design choices accordingly.
Additional context
Add any other context or screenshots about the feature request here.

Hey there! I'm eager to bring my HTML/CSS skills to your open source project in GSSoC, ready to add some impactful design enhancements!
please assign this issue to me,

Hi @Its-Aman-Yadav Please assign this issue to me under GSSOC'24

@Its-Aman-Yadav please assign me this task

hey kindly assign this to me i try my best on improving this and make it more responsive and attractive...


Fix bug when getting value from ByteBuffer in RawValueProvider more than once

Found this bug when using a where clause to query a kafka topic using the raw format. It was getting the value from the same ByteBuffer more than once which would throw a BufferUnderflowException because the position in the ByteBuffer had already been incremented to equal the limit. Added a test to reproduce this bug and fixed it by getting values from the ByteBuffer using the start index.

LGTM
@charlesjmorgan please update the cmt msg (chop it), see https://chris.beams.io/posts/git-commit/
also, i am tempted to remove bug -- as i understand, at least from user perspective, there is no bug, right?
(still good change to make from class' perspective)

also, i am tempted to remove bug -- as i understand, at least from user perspective, there is no bug, right?
(still good change to make from class' perspective)

It is a bug.  It surfaces in a query like SELECT col_1 FROM tbl WHERE col_1 > 0.  Presto will attempt to access col_1 twice and the second access will throw an exception.

It is a bug. It surfaces in a query like SELECT col_1 FROM tbl WHERE col_1 > 0. Presto will attempt to access col_1 twice and the second access will throw an exception.

thanks!
please add a test case for this

Merged as 6d936a4392b376f7598abe3c7a4424ef82f81665, thanks!
(i changed the test name)


FEATURE: Ruby 2.6/RubyVM::AST Upgrade

Ruby 2.6 is introducing integrated ruby parsing and AST API.  This will help eliminate dependencies and may improve performance. https://ruby-doc.org/core-2.6.0.preview2/RubyVM/AST.html

Awesome !

On Dec 13, 2018, at 1:54 PM, Darren Rush<EMAIL_ADDRESS>wrote:
Ruby 2.6 is introducing integrated ruby parsing and AST API. This will help eliminate dependencies and may improve performance. https://ruby-doc.org/core-2.6.0.preview2/RubyVM/AST.html
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


determine if we should use wagmi's readContracts or multicall

Dependent on resolution of https://github.com/wagmi-dev/wagmi/discussions/1652, issue stems from this conversation: https://github.com/ScopeLift/railgun-shielder/pull/32#discussion_r1066225006

@alexkeating Got a quick reply here: https://github.com/wagmi-dev/wagmi/discussions/1652#discussioncomment-4663335
I think we're already using readContracts, which seems good based on that response, we can close this issue if you agree no changes are needed


Auto-convert line endings to CRLF on windows

After your latest fix regarding POSIX path, I could not build Gyro (master) on windows due to the missing conversion of line endings to CRLF.
The problem does not appear on the Windows build triggered by Github Actions thanks to the use of actions/checkout@v2 which does the conversion automatically (cf: goto-bus-stop/setup-zig README)
λ zig build test
C:\Users\DEV\Documents\Code\gyro\src\completion.zig:101:32: error: expected ',', found invalid bytes
                \\#compdef gyro
                               ^
C:\Users\DEV\Documents\Code\gyro\src\completion.zig:102:3: note: invalid byte: ' '
                \\
  ^
C:\Users\DEV\Documents\Code\gyro\src\Dependency.zig:321:21: error: expected ',', found invalid bytes
        \\something:
                    ^
C:\Users\DEV\Documents\Code\gyro\src\Dependency.zig:322:9: note: invalid byte: '\\'
        \\  src:
        ^
C:\Users\DEV\Documents\Code\gyro\src\commands.zig:334:16: error: expected ',', found invalid bytes
        \\pkgs:
               ^
C:\Users\DEV\Documents\Code\gyro\src\commands.zig:335:9: note: invalid byte: '\\'
        \\  {s}:
        ^
The following command exited with error code 1:

The PR does not make it work yet, as the same problem happens with mattnite/zzz.
I also made a PR (https://github.com/mattnite/zzz/pull/3) to fix it. If it is accepted, I will upgrade zzz in another commit :)

Thank you!

Do you mean to say that this PR converts CRLF line endings to LF?

Hi @marler8997 !
I am not a Git wizard, so I will quote the documentation I found:

text eol=lf Git will always convert line endings to LF on checkout. You should use this for files that must keep LF endings, even on Windows.

Cf: https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#example


add VELEST to workflow

https://seg.ethz.ch/software/velest.html

Wrote a guide for compiling VELEST:
https://github.com/zhengyang-c/cy1400-eqt/wiki/Compiling-VELEST-on-Fedora-34-(should-work-for-other-Distros-with-similar-issues)
Also submitted a comment on the original blog since it is likely that other people will stumble on the same
It seems likely to me that I'll have to write a wrapper calling VELEST since there's a need to check the stability of the solution.

Will need to add station remapping / or just run one-time (it never is) remapping on the original phase files / csv files??


Card type????

I feel my question is so short and cryptic, but my English is something more than horrible. I write to you through google translate. sorry for possible errors. You have an example on your github of the card you use, and I love it. When copying the code, it gives me an error that the type of card is missing. I have deleted the path line and set it as vertical stack type and it works halfway, it gives me that it is not right that way. Thank you very much for your time and work, it is really an incredible and functional integration, much better than the native app in my opinion.  Enviado desde Correo para Windows De: uvjimEnviado: viernes, 18 de febrero de 2022 18:53Para: uvjim/linksys_velopCC: Diegoloex; AuthorAsunto: Re: [uvjim/linksys_velop] Card type???? (Issue #97) I'm not sure I understand what you're asking? This is an integration. What are you attempting to do?—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
No problem at all.
Does this post in the Home Assistant forum help?
https://community.home-assistant.io/t/custom-integration-linksys-velop/342874/21
There's been a few updates to the cards since then mind you but this should get you up and running.
If that works, I'll look at splitting the view up in the README into sections like that post.
I'm also assuming that you have all of the pre-requisite custom cards installed as per the README.
Let me know how you get on.

Hi,
Your last comment was against a PR I recently merged. Was there a screenshot?
It didn't come in with the comment. Could you reply using the GitHub website rather than email as you should be able to paste a screenshot of the issue in there.
Thanks.

I'm really sorry, honestly. I've been a couple of weeks... off, to be mild when I say it.
I'm trying all your changes right now and... wow, yours often worked.
In principle, everything seems correct and almost everything works for me without making any changes to the yaml. Only the reebot button fails me, but because I have the wrong credentials, it tells me. Then I'll take a while and take a good look to see what the fault is.
a thousand apologies again, and thank you very much for your time, work, effort... truly, thank you very much.
where is the button to invite you to a coffee??

Thanks for the update. I'll close this off now.
I have no link for donations. Thank you for the offer though.


Manage projects with a yaml file

Hi,
After some searches, I could not find any helpers to parse or regex CMakeLists.txt and its commands with arguments. So, I was wondering if it would be realistic to manage hunter's packages like this tool for golang, called glide: https://github.com/Masterminds/glide
yaml example: https://github.com/Masterminds/glide/blob/master/docs/example-glide.yaml
Also, is there any parser/lexer for CMakelists.txt available in order to extract an ast tree of any CMake based project ? (found these projects cmake-ast, peg-cmake  and cmakelists_parsing but not sure they deal properly with multi-lined commands and hunter macros)
Goal:
It would help to find package dependencies with version and components and help to hunterize wider projects, like helping to find where to pre-prend hunter_add_package (line number) commands in CMakeLists.txt. Ultimately, it would help to build docker containers for c++ based project by building dependencies from sources (especially for alpine based images).
At the end, it would be easy to make a golang based tool to like glide for CMake base projects and add some macros to chain sub-commands (eg. nut).
Hope that was a clear enough, and wish u a great day !
Regards

Sounds complex but interesting. Don't know much about it.

Closing inactive discussion.


Try to fix AppVeyor build

If we pip install, no need to build extensions as a separate step.

Unfortunately, it does not fix the error.

Current coverage is 86.84% (diff: 100%)

Merging #2192 into master will not change coverage

@@             master      #2192   diff @@
==========================================
  Files           308        308
  Lines         56872      56872
  Methods           0          0
  Messages          0          0
  Branches       5906       5906
==========================================
  Hits          49391      49391
  Misses         6531       6531
  Partials        950        950

Powered by Codecov. Last update da9cbd0...d302f86

Closing, as this was ultimately fixed in a different PR.


Last Upgrade module won't compile on serie 3

Hello,
Thanks for your work ! I Can't compile the last version of your modules on 3 series processors. There are only available on 4 series ?

Thanks

I just compiled them for 3-series and was fine for me.
I know a few others who tried the newest versions of the modules and were good as well.
Based on the compiler log it doesn’t look like perhaps you are using the latest CLZ which includes the new CT event handlers

On Jan 4, 2021, at 9:24 AM, metronomeout<EMAIL_ADDRESS>wrote:
Hello,
Thanks for your work ! I Can't compile the last version of your modules on 3 series processors. There are only available on 4 series ?
https://user-images.githubusercontent.com/52577712/103544764-e219af00-4ea0-11eb-9f5a-10260074f528.png
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/mthyden/PhillipsHueSIMPLSharp/issues/31, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEW4UWLWGRW4NVJR54EVRTSYHFTHANCNFSM4VTCWMDQ.

I just compiled them for 3-series and was fine for me.
I know a few others who tried the newest versions of the modules and were good as well.
Based on the compiler log it doesn’t look like perhaps you are using the latest CLZ which includes the new CT event handlers

On Jan 4, 2021, at 9:24 AM, metronomeout<EMAIL_ADDRESS>wrote:
Hello,
Thanks for your work ! I Can't compile the last version of your modules on 3 series processors. There are only available on 4 series ?
https://user-images.githubusercontent.com/52577712/103544764-e219af00-4ea0-11eb-9f5a-10260074f528.png
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/mthyden/PhillipsHueSIMPLSharp/issues/31, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEW4UWLWGRW4NVJR54EVRTSYHFTHANCNFSM4VTCWMDQ.

I solved the problem ! I juste make some clearing of my database and it's ok now.
Thanks

I solved the problem ! I juste make some clearing of my database and it's ok now.
Thanks


Feature request: Add unit8_t version to "Export as C file" for single color images

First let me thank you for this awesome tool, it's exactly what I was looking for (simple online pixel editor).
I've just recently have been experimenting with using piskel to create some designs for an LED Matrix and currently have a manual step I was looking to remove.
The LED Matrix arduino library I'm using expects a uint8_t array with a length of 16 (since it's an 8x16 led matrix :) ).  As of right now, I am able to resize Piskel's canvas to be 16x8, but exporting as a C file always returns an unit32_t array.  I know this is due to color/alpha data, but since I'm creating a single (black/transparent) to turn LEDs on/off, I just need unit8_t data.
Currently what I do is export the unit32_tversion...
static const uint32_t new_piskel_data[1][128] = {
{
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000, 0x00000000,
0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000,
0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000,
0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000,
0xff000000, 0x00000000, 0x00000000, 0xff000000, 0xff000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0xff000000, 0xff000000, 0x00000000, 0xff000000,
0x00000000, 0xff000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000,
0x00000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0xff000000, 0xff000000, 0x00000000, 0x00000000
}
};

...and manually convert it to...
uint8_t frames[16] = {
  B00011100,
  B00100010,
  B01000001,
  B01000111,
  B01000111,
  B00100010,
  B00011100,
  B00000000,
  B00000000,
  B00011100,
  B00100010,
  B01000001,
  B01000111,
  B01000111,
  B00100010,
  B00011100
};

or even as integers
uint8_t frames[16] = {28,34,65,71,71,34,28,0,0,28,34,65,71,71,34,28};

Binary is quicker to perform manually, although the integers (or hex) produces a smaller result.  The binary way gives a little more human readable format as well.
Lastly, along with this, it would be helpful if I could just copy the resulting array as text from Piskel instead of downloading the file, opening it in some editor, and grabbing the lines there.
I spent some time looking at software to create designs for the LCD, but many were Windows-only or would only convert a bitmap/image file, and thus would need to use a separate image editor (like Gimp) to create the images, so needless to say piskel is a much better solution for me.

Hi, tat sounds really cool!
I think we can easily come up with a script that will generate the text you want and let you store it as a bookmarklet for now.
Your example doesn't take additional frames into account. Are you only ever interested in single frame images?

@juliandescottes bookmarklet would work, especially to test things out.
I've only just started experimenting with the LED matrix and Piskel and thus have only been using a single frame, but I plan to create and use multiple frames soon.  So far I've only displayed a static image but it won't be too difficult to change the image from user input on the mBot I'm using as it has an IR remote (but also takes commands over bluetooth / phone app)

@techniq Have a look at the two following gists:
https://gist.github.com/juliandescottes/67627f1e2ea093cd9fd25deebd7a6135
https://gist.github.com/juliandescottes/b2a027d3daf9827e538c235e85c0fdac
Both contain a bookmarklet that will hopefully open a new tab containing the text you need. Was not sure about where was the width supposed to go, so I made a "natural" version and a rotated one.
Give it a try and let me know if you need modifications.

@juliandescottes Thanks for the quick turnaround.  I gave it a quick test using the rotated one and it looks to provide what I need, with a minor tweak (array size):
Current produces:
uint8_t frames[8] = {  B00000000,  B00000000,  B00000000,  B00000000,  B01111110,  B00001000,  B00001000,  B01111110,  B00000000,  B00000000,  B00101110,  B00000000,  B00000000,  B00000000,  B00000000,  B00000000 };

but should be
uint8_t frames[16] = {  B00000000,  B00000000,  B00000000,  B00000000,  B01111110,  B00001000,  B00001000,  B01111110,  B00000000,  B00000000,  B00101110,  B00000000,  B00000000,  B00000000,  B00000000,  B00000000 };

which stems from the following line
var str = 'uint8_t frames[' + height + '] = {' + HTML_NEW_LINE;

should be
var str = 'uint8_t frames[' + width + '] = {' + HTML_NEW_LINE;

(opposite should be done for the non-rotated version)
I updated my bookmarklet, but thought you might want to update your gists.
Thanks again.

Ah sure makes sense, thanks for the feedback.
I of course only tested with square sprites, which is not great to spot this kind of issues :)
Updated the gists and bookmarklets.
Glad it's working for you. In the long run, I need to decide if we need something extra for maintenance here
My main issue with custom export formats is that I can't just have a button in the UI for each one of them, and they usually need a pretty big description. But it would still be nice to be able to access them from the application.
Maybe something as simple as having a link to a page on Github that would list existing custom exports that can be used.

Hello,
for creating images for a 200x200px e-ink display run by a wemos (arduino IDE able) micro controller I am as well very much interested in this feature!
Though concerning the format I would need a 8bit Hex array (Hope I'm right with the vocabulary) i.e. like this for a 32x32px one color b/w picture:
const unsigned char testimage {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x20,0x00,0x01,0x40,0x50,0x00
,0x00,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x18,0x00
,0x04,0x00,0x70,0x00,0x03,0xc0,0x80,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,0x00,0x00,0x05,0x50,0x00,0x00,0x08,0x88
,0x00,0x00,0x08,0x08,0x00,0x00,0x04,0x10,0x00,0x00,0x02,0x20,0x00,0x00,0x01,0x40
,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

And I don't seem to be clever enough to adjust your nice export snippet.
Exporting more then one frame would be very helpful too to create several "pages".
Thanks for this beautiful tool! Seems to be perfect for creating small resolution display images.

Any chance this could be used to create a uint16_t version?


Chore: Display props in README as table

Seems easier to understand, there are a lot of props

nice, thanks for this improvement, @pdpino .


ros2 launch zed_wrapper Failed

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I successfully installed SDK and built the zed ros2 wrapper, but when I run launch file I had following error. I do have foxy and galactic installed on my computer at the same time.
Steps to Reproduce

source /opt/ros/foxy/setup.bash
source ./install/setup.bash
ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zed2i
...

Expected Result
run zed2i with launch file
Actual Result
/opt/ros/foxy/bin/ros2:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
[INFO] [launch]: All log files can be found below /home/ /.ros/log/2024-04-05-19-39-22-032167-
[INFO] [launch]: Default logging verbosity is set to INFO
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[INFO] [robot_state_publisher-1]: process started with pid [127271]
[INFO] [zed_wrapper-2]: process started with pid [127273]
[robot_state_publisher-1] /opt/ros/foxy/lib/robot_state_publisher/robot_state_publisher: symbol lookup error: /opt/ros/galactic/lib/librmw_cyclonedds_cpp.so: undefined symbol: rmw_time_equal
[zed_wrapper-2] /home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/lib/zed_wrapper/zed_wrapper: symbol lookup error: /opt/ros/galactic/lib/librmw_cyclonedds_cpp.so: undefined symbol: rmw_time_equal
[ERROR] [robot_state_publisher-1]: process has died [pid 127271, exit code 127, cmd '/opt/ros/foxy/lib/robot_state_publisher/robot_state_publisher --ros-args -r __node:=zed_state_publisher -r __ns:=/zed --params-file /tmp/launch_params_fekorx92'].
[ERROR] [zed_wrapper-2]: process has died [pid 127273, exit code 127, cmd '/home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/lib/zed_wrapper/zed_wrapper --ros-args -r __node:=zed_node -r __ns:=/zed --params-file /home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/share/zed_wrapper/config/common.yaml --params-file /home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/share/zed_wrapper/config/zed2i.yaml --params-file /tmp/launch_params_lvymligq'].

ZED Camera model
ZED2i
Environment
OS: UBUNTU 20.04
CPU: AMD 5000
GPU: nvidia 3060
ZED SDK: 4.0.8
ROS2: FOXY

Anything else?
No response

Hi @JiaqiangZhang
are you using Foxy or Galactic?
The error message shows that the linker is searching for libs in /opt/ros/galactic/lib:
symbol lookup error: /opt/ros/galactic/lib/librmw_cyclonedds_cpp.so: undefined symbol: rmw_time_equal
Please check your environment settings

Hi, @Myzhar
Thanks for the reply. I have both foxy and galactic installed on my computer. I did source foxy before ros2 launch.

Hi, @Myzhar
I think the reason that caused this error (/opt/ros/galactic/lib:symbol lookup error: /opt/ros/galactic/lib/librmw_cyclonedds_cpp.so: undefined symbol: rmw_time_equal) was that I didn't install cyclonedds on foxy. After I install cyclonedds, the error was gone (sudo apt-get install -y ros-foxy-rmw-cyclonedds-cpp).
But I have another error as follow:
[INFO] [launch]: All log files can be found below /home/.ros/log/2024-04-08-11-36-01-548913-*-15824
[INFO] [launch]: Default logging verbosity is set to INFO
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[INFO] [robot_state_publisher-1]: process started with pid [15827]
[INFO] [zed_wrapper-2]: process started with pid [15829]
[robot_state_publisher-1] Link zed_camera_center had 2 children
[robot_state_publisher-1] Link zed_left_camera_frame had 1 children
[robot_state_publisher-1] Link zed_left_camera_optical_frame had 0 children
[robot_state_publisher-1] Link zed_right_camera_frame had 1 children
[robot_state_publisher-1] Link zed_right_camera_optical_frame had 0 children
[robot_state_publisher-1] [INFO] [1712565361.817728821] [zed.zed_state_publisher]: got segment zed_camera_center
[robot_state_publisher-1] [INFO] [1712565361.817794616] [zed.zed_state_publisher]: got segment zed_camera_link
[robot_state_publisher-1] [INFO] [1712565361.817809004] [zed.zed_state_publisher]: got segment zed_left_camera_frame
[robot_state_publisher-1] [INFO] [1712565361.817820528] [zed.zed_state_publisher]: got segment zed_left_camera_optical_frame
[robot_state_publisher-1] [INFO] [1712565361.817831843] [zed.zed_state_publisher]: got segment zed_right_camera_frame
[robot_state_publisher-1] [INFO] [1712565361.817842390] [zed.zed_state_publisher]: got segment zed_right_camera_optical_frame
[ERROR] [zed_wrapper-2]: process has died [pid 15829, exit code -11, cmd '/home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/lib/zed_wrapper/zed_wrapper --ros-args -r __node:=zed_node -r __ns:=/zed --params-file /home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/share/zed_wrapper/config/common.yaml --params-file /home/FILES/Research/workspace/zed2i_ros2_ws/install/zed_wrapper/share/zed_wrapper/config/zed2i.yaml --params-file /tmp/launch_params_xug9pm6b'].

I think this crash happens because when building you are using Foxy, while Galactic binaries are retrieved when running the nodes.
I recommend you check the environment variables to find eventual conflicts.

I checked the issue,

The -11 code means Invalid access to storage., check if the ROS log folder has not filled the TX2 system space.
Is this the problem?

You can try to clean the log folder to see if it solves the problem

You can try to clean the log folder to see if it solves the problem

I tried clean the .ros/log folder with rosclean purge, I still get the error [ERROR] [zed_wrapper-2]: process has died [pid 20339, exit code -11.
After uninstalling galactic, the problem is gone, and I can run the zed2i with launch file.


LAB:  Using MLJ with the GLM package

"LAB:  Using MLJ with the GLM package"
to be reviewed my AlanTuring team

Thanks, I'll have a look

Ps: sorry for the lack of feedback, I haven't yet had the time but it's on my todo!

Hello @drcxcruz I'm glad to announce that your tutorial is now (finally!) in, please have a look at the live version: https://alan-turing-institute.github.io/DataScienceTutorials.jl/end-to-end/glm/
If you have comments, would like to add more explanations or plots etc, please don't hesitate to reach out and thanks a lot for this contribution!
cc:  @ablaom

hi,
I am super glad about it.  it looks great!!!
should I create a new github pull request for the other lab:
https://notes.quantecon.org/submission/5e653f616479ca001038be0f  ?  or you
can grab it from the notes site?
THANK YOU
On Fri, Jun 5, 2020 at 1:29 PM Thibaut Lienart<EMAIL_ADDRESS>wrote:

Hello @drcxcruz https://github.com/drcxcruz I'm glad to announce that
your tutorial is now (finally!) in, please have a look at the live version:
https://alan-turing-institute.github.io/DataScienceTutorials.jl/end-to-end/glm/
If you have comments, would like to add more explanations or plots etc,
please don't hesitate to reach out and thanks a lot for this contribution!
cc: @ablaom https://github.com/ablaom
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alan-turing-institute/DataScienceTutorials.jl/pull/54#issuecomment-639651925,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOF3FWUP5CZUHZKKSGGBOVTRVETQNANCNFSM4MX2GTRQ
.

Are you happy for us to grab it from there? And should I give credits to you or someone else?
Maybe you can open an issue with the details and we’ll do the rest :)
Thanks a lot!