Add ReferencePoint and Callout components

Description
Adds ReferencePoint and Callout components with stories and docs
Resolves https://github.com/evidence-dev/evidence/issues/2073

Checklist

[x] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset
[x] I have added to the docs where applicable
[x] I have added to the VS Code extension where applicable

ReferencePoint

Callout

lovely!
so the solution if you have a short string and you want it to not have extra space in the callout is to do width=0?

lovely!
so the solution if you have a short string and you want it to not have extra space in the callout is to do width=0?

@archiewood Hmm actually it would be width=undefined, which isn't great... Maybe we should default to no width for the Callout too?

@archiewood Or it could be width=fit

This is really nice!
It looks like there might be an issue with the default yellow color - getting some flickering on hover. In the past, this has been caused by echarts not knowing how to adjust the color for the hover state (can't remember exactly what triggered it, but something to do with the color code):

Only other point of feedback I have on the styling is: I think the grey of the label border is too different vs the grey of the text.
Might be best to line up with the grey we use for the tooltip border, or maybe a shade darker (+ maybe match the same border radius, slightly less than the current callout radius). That way the greys are on the same scale

Overall like. Good design
QA

Still getting flicker on the yellow point in the docs

Weird hover stuff?

maybe it's just a browser thing but I'm seeing almost a drop shadow top-left behind the callout (macos, firefox)

Do i need to be able to pass an array to labelposition to fix stuff like this

Cursor should probably not be pointer as no action on click

@archiewood Thank you for the feedback!

Weird hover stuff?
Cursor should probably not be pointer as no action on click

Fixed by making reference points not hoverable (this is in line with reference area/line functionality)

maybe it's just a browser thing but I'm seeing almost a drop shadow top-left behind the callout (macos, firefox)

It is likely just something with how ECharts is rendering the one pixel border, it may have been on a pixel border on your monitor resulting in it looking a little thicker. I don't think there's anything I can do to control that.

Do i need to be able to pass an array to labelposition to fix stuff like this for just one of my labels?

I don't know... I feel like if you're using data you would have a dynamic number of items and therefore configuring via a prop wouldn't make much sense. Options I see here:

Have labelPosition accept a column from data to use for positioning each point
The user just has to use width/labelPosition/add line breaks to try to get the label to not overflow in any spot

I wish ECharts had some way to detect/prevent overflow, but I don't think they do

Fixed by making reference points not hoverable (this is in line with reference area/line functionality)

it still greys out the Callouts and ReferencePoints when you hover over the line, which is different to the ReferenceLine & Area behaviour


Guess Who Game added

PR Description 📜
I added a new game, Guess Who
Fixes # 3044

Mark the task you have completed ✅

[x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Deegee13244 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @Deegee13244,
Please make sure to link the relevant issue using the appropriate syntax, such as "#issueNumber" 👀.
Follow the proper guideline and make a new PR again 😀.
Happy Hacking 💗

Thank you  @Deegee13244 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


How Can I Save Plot

is any way to save this type of plot?

To save lime explanation,
exp = explainer.explain_instance(x_test.iloc[50], clf3.predict_proba)
exp.save_to_file('temp.html')


Add customization support for usernames

This makes it possible to customize usernames before they're posted to Friends and IRC.
"swarmUsernameFormat": "cat $username (IRC)" would for example yield (replaces $username):

It might be overkill, but it'll probably make it easier in regards to the discussion about how messages should be posted.

Seems like iojs v2 broke node-webrtc :worried:

@ekmartin still makes more sense to me to send the message with the username of the bot so that it's clear where it's coming from.
Friends IRC Bridge 10:37p
<ekmartin>: hello hello

This matches what's on IRC so there's no confusion. Also the convention with Slack, Gitter, other IRC bridges.

@ngoldman I agree with this.

Another unrelated question is: is there a way to validate/authenticate a bot?

@ekmartin also we should probably lock travis to iojs 1.8.x for now. I hear iojs 2.x is breaking things elsewhere too.

Looks like specific iojs versions can be specified like so:
node_js:
  - "iojs-v1.8.1"

http://docs.travis-ci.com/user/languages/javascript-with-nodejs/#Choosing-Node-versions-to-test-against

@ngoldman, I made it run the tests on both iojs-latest and iojs-1.8.1 a couple of days ago, here.  The node-webrtc guys have done some work to make it work with iojs 2.0 already, sohopefully it won't be that long until they're ready with a new version.
As for the username discussion, I just feel that it's kind of counterproductive to use up screen space in the message body to show the username when it's possible to change the username of each posted message.
If it was possible to do something similar on IRC I'd certainly pick that over <username> message. I agree with the point of having the same structure on both sides to be less confusing, but I still think it'd make more sense to try to show that the messages are from IRC in the username area. Maybe something like:
From IRC: ekmartin 13:30
hello hello

However, if the general consensus is that it's still confusing we should go with what you're suggesting :)
@Flet, are you talking about authenticating the IRC bot through NickServ or similar? If so you could do that by providing autoSendCommands in the config, like this:
    "autoSendCommands": [
      ["PRIVMSG", "NickServ", "IDENTIFY password"],
      ["AUTH", "test", "password"]
    ],

I was referring to friends itself... how would we be able to put a green check next to a bot?


Issue with Bubble size

i follow your demo project and firechat example
but i get this when i run my project, full text message doesn't show and all bubbles are going to left

see #695 and #650


storagemigration: fix cleanup condition

Change-type: patch
Signed-off-by: Robert Günzler<EMAIL_ADDRESS>

@lmbarros have a look over this. I moved the migration logic (including failcleanup and commit) into the Migrate function. This makes the code in daemon.go very simple, lets me test the full behaviour in our unit tests and makes future maintenance (thinking about merging upstream) easier...
finally it results in those problematic helpers to disappear entirely :)


Activities with incentives section empty

@Zunade could I ask what you did to resolve this? I'm seeing the same issue currently. Everything else is working well. The Incentives are listed on the Admin screen but not the User screen.


testdata.go:625:1: exported function GetRandomUserID should have comment or be unexported

testdata.go:625:1: exported function GetRandomUserID should have comment or be unexported

This source has been moved into the insights-results-aggregator-data repository


Add bun support.

This PR Adds support for Bun, a blazingly fast JS runtime, package manager and much more.
closes #13

New iteration of roblox-ts/roblox-ts#2485

@Dionysusnu status?

@Dionysusnu status?

?

I'm not the maintainer of roblox-ts, just a contributor.

@osyrisrblx do you mind looking at this?

status?

I've looked into it some more, and I think it's a better option to stick with npm init -y for the init command. As explained in the earlier comment, bun can only work as a package manager for roblox-ts, the runtime isn't compatible. Therefore, I think it's better to init with npm, which just creates the package.json. The things bun init does on top of that are either incorrect for roblox-ts, or already covered by other parts of the init process.
I've left suggestions on how to add this in the code.

We cannot depend on NPM, some users don't even have NPM installed.

My previous comment (in the suggestion thread) applies:

If only bun is installed, I don't think we can reasonably provide the bun init option, because we wouldn't get the correct defaults for package.json.

My previous comment (in the suggestion thread) applies:

If only bun is installed, I don't think we can reasonably provide the bun init option, because we wouldn't get the correct defaults for package.json.

I think the condition check is enough.

What do you mean by condition check?


compile_commands.json is not correct.

[root@localhost build]# clangd --log=verbose
clangd is a language server that provides IDE-like features to editors.

It should be used via an editor plugin rather than invoked directly. For more information, see:
        https://clangd.llvm.org/
        https://microsoft.github.io/language-server-protocol/

clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment variable.

I[10:19:40.023] clangd version 16.0.2 (https://github.com/llvm/llvm-project 18ddebe1a1a9bde349441631365f0472e9693520)
I[10:19:40.023] Features: linux+grpc
I[10:19:40.023] PID: 2124226
I[10:19:40.023] Working directory: /ryan/_net_framework/build
I[10:19:40.023] argv[0]: clangd
I[10:19:40.023] argv[1]: --log=verbose
V[10:19:40.023] User config file is /root/.config/clangd/config.yaml
I[10:19:40.023] Starting LSP over stdin/stdout

clangd version 16.0.2 (https://github.com/llvm/llvm-project 18ddebe1a1a9bde349441631365f0472e9693520)
Features: linux+grpc
Platform: x86_64-unknown-linux-gnu

include_directories(
  /usr/lib/gcc/x86_64-linux-gnu/10.3.1/include/
)

Let me briefly explain, as you can see, the STDDEF. h header file cannot be found. Then I proactively configured the header file path in cmake, but the path was not added in compile_commands.json.
I config this in clangd configure file,but does not work.

I add this include path to compile_command.json then this error disappeared

In my experience, the best way to resolve issues about standard library headers not being found is to use --query-driver as discussed in https://clangd.llvm.org/troubleshooting#cant-find-standard-library-headers-map-stdioh-etc.


Create .toml configuration file for Purrgress

Describe the feature:
Improve the backup schedule configuration by using a configuration file (.config.toml) for the user, instead of hard-coding the interval values directly in the code. The idea is to allow the user to define the backup frequency in a more flexible way, by editing the configuration, and then the program can read this configuration to determine the time interval.
Tasks:

Create a configuration file ~/.purrgres/.config.toml that contains the time settings.

Example structure:

[general]
backup_interval = "1day" # Can be "1day", "1month", "7days", etc.

In the source code, modify the way to define the backup interval:

Currently, we have:

let schedule = utils::schedule::Schedule::OneDay; let mut interval = time::interval(schedule.to_duration());

Override this so that backup_interval is read from the TOML configuration and turned into the appropriate enum.

Modify the code so that when the backup process starts, the program reads the configuration file and sets the backup interval based on the stored value.

Example of how this might be read:

let config_path = utils::path::get_config_path();
let config = toml::de::from_str(&fs::read_to_string(config_path).expect("Failed to read config file"))
.expect("Failed to parse TOML file");

let schedule = match config.intervalo_de_backup.as_str() {
"1day" => utils::schedule::Schedule::OneDay,
"7days" => utils::schedule::Schedule::SevenDays,
"1month" => utils::schedule::Schedule::OneMonth,
_ => utils::schedule::Schedule::OneDay, // Default value
};

Create a new command in the CLI to allow the user to set the backup frequency directly, for example:

Command to set the backup interval:

purrgres --set-interval "7days"

This command should update the .config.toml file with the new interval value.

Test the correct reading and setting of the values and ensure that the change in the configuration file is reflected in the program's behavior.

This will make the program more flexible and easy to use, allowing the user to customize the backup frequency without having to change the code.
If necessary, create validations to ensure that the interval value is within the allowed values (e.g. "1day", "7days", etc.).

Explanation:

Configuration in the TOML file: The idea is to create a configuration section in the ~/.purrgres/.config.toml file where the user can define the backup interval. This helps to make the configuration process more user-friendly and customizable without modifying the code directly.

Reading from file and transforming into enum: When reading the configuration file, the string representing the interval (such as "1day") can be mapped to a value in the Schedule enum (such as Schedule::OneDay). This allows flexibility in changing the behavior of the program.

Command to change the configuration: The --set-interval command will allow the user to change the interval configuration directly, without having to edit the TOML file manually.


Location of AsyncRead/AsyncWrite traits

Right now they're only at the root but often I'd like to do:
use tokio_io::io::{some_combinator, AsyncRead};

Maybe we can reexport?

I don't have an opinion.

I think this will be better handled by re-exporting them both in the tokio crate: use tokio::io::{AsyncRead, some_combinator};
If you agree, we can open an issue on the tokio crate to track re-exports & reference this.

The tokio-io crate has been moved into the tokio git repo.


not found the command injection

total number of vulnerabilities: 2583
SQLi vulnerability :2377
XSS vulnerability :168
command injection vulnerability :2
None
SSRF vulnerability :24
uplaod issues vulnerability :12
None
None
execute time: 1.522047996520996/s
提示存在。command injection vulnerability :2
但是我没有从跑出来的内容中找到 哪里提示有command injection vulnerability

the script prints out "found execute functions on line..." when it finds a possible command injection vulnerability.

search about ("execute functions"), and i will change ("command injection vuln...")


Use azure/powershell@v2 rather than v1 in main.yml (GitHub Actions)

I am using Maester through GitHub Action and getting the following message:
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: azure/powershell@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
The message indicates that the GitHub Action you are using, specifically azure/powershell@v1, is built on Node.js 16, which has been deprecated in GitHub Actions. To address this, you should update the action to a version that uses Node.js 20 or later.
- uses: azure/powershell@v2
Should fix.

I noticed documentation changed, so I think this can be closed


Fix ssl for postgres examples

The ODBC sample had a checkbox that did nothing. Added the logic in the connection builder, and then added the checkbox and logic to the JDBC sample.

You'll need to update the required attributes as well.


Please amplify the reason for multiple reply URL

"To configure multiple replyURLs" ...
What is the reason for this feature? It is not documented anywhere. Other IDP e.g. ADFS do not allow this.
Could you please add a paragraph explaining the pros and cons of enabling the ability to have multiple reply URL.

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

ID: 01f0813b-5ee7-62bc-d427-4b1783a1fa0a
Version Independent ID: 61e41303-0118-1179-fc50-121c54ed4f34
Content: Single sign-on - non-gallery applications - Azure Active Directory
Content Source: articles/active-directory/manage-apps/configure-single-sign-on-non-gallery-applications.md
Service: active-directory
Sub-service: app-mgmt
GitHub Login: @CelesteDG
Microsoft Alias: celested

@rbrayb Thanks for your question. We are checking on this and will respond to you soon.

There are a number of reasons but it is useful for testing and QA. If you have for example a localhost and a published app but don't want to add and remove the reply URL when you're testing in prod vs locally, it is useful.
It is also useful for adding subdomains.

For example, you could have different deployment slots like this:
http://mysite-prod.com
http://mysite-uat.com
http://localhost:12345

I'm passing your feedback along to the content author, @CelesteDG , to look into.

OK – thanks.
Will you update the docs?
Also the docs refer to doing this via PowerShell  but you can now do it directly in the Portal – max. 250 items.
Rory
From: Marilee Turscak - MSFT<EMAIL_ADDRESS>Sent: Friday, 3 May 2019 12:00 p.m.
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Rory Braybrook [DATACOM]<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Please amplify the reason for multiple reply URL (#30439)
There are a number of reasons but it is useful for testing and QA. If you have for example a localhost and a published app but don't want to add and remove the reply URL when you're testing in prod vs locally, it is useful.
It is also useful for adding subdomains.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/30439#issuecomment-488873487, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABIYGLZDPH7DPGXHRGO3AGTPTN6A5ANCNFSM4HJWS7NQ.

#reassign:msmimart


3.0 status? safe to use for new project?

I want to use entt for my hobby project. How safe is to use latest v3 version, or how many breaking api changes are planned etc? Or is there known broken things in current v3 version. I don't mind doing small refactoring as I and entt advance, but I  also don't want to waste to much time unnecessarily if using v2 and migrating after v3 release is easier.
Thanks in advance :)

I'm glad you decided to use EnTT. If your project is going to be an open source one, ping me to put it in the wiki when ready. :+1:
Feel free also to join the gitter channel if you have questions or want to discuss your doubts with other users.
Of course, master is stable and there aren't breaking changes planned so far. In any case, I'll change the major and/or minor version if they should come. In general and as a side note, I prefer to change the major version of my projects when I switch to a new revision of the standard or when I drastically change the internals and the API. For (let me say) small braking changes, it's likely that I'll change the minor version and document them in details.
EnTT is actually ready to cut a v3. Please, keep open the issue so that it will remind me to do that the next week. :+1:

Don't forget to update the Conan package at the same time @skypjack

Good point @Milerius updated the test file for conan. :+1:

I'm writing the release note for EnTT v3. It's... huge!
I'll publish it most likely when I'm back home on May, the 2nd. :+1:

Glad to hear

Created tag v3.0.0. :+1:


Integrate Password Recovery Feature #189

Title and Issue number

Title:
Integrate Password Recovery Feature
Issue No.:
Close #189

Screenshots/Video (mandatory)

https://github.com/user-attachments/assets/56322c3f-6e2f-431d-a825-ae5ed8516f5a

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have created a helpful and easy-to-understand README.md if it's a new page/tech stack.
[X] I have gone through the contributing.md file before contributing.

Additional context (Mandatory):
This PR implements the password recovery feature, enhancing user experience by allowing password reset functionality. It resolves the issue of users being unable to recover their accounts if they forget their passwords, contributing to better usability and security for the application.
Are you contributing under any Open-source programme?

[X] I'm a GSSOC-EXT contributor
[X] I'm a HACKTOBERFEST contributor

updated page

Well done @saras-69


DF Scene Enhancements, V10, No scenes appear in the Scene Tab

If the DF Scene Enhancements is enabled in V10, Scene Tab will show no scenes inside and outside folders in the Scenes tab. Tested with Culprit, just DF Scene Enhancements and libwrapper.

DF Scene Enhancements in pre-release for v10


Ability to get formula values (allows for fetching image urls)

Hey!
Could we please have an option to specify the valueRenderOption setting for the v4 sheets request?
https://github.com/xflr6/gsheets/blob/2c47e1993bc5ffa345bbbd1eed136a53851082fb/gsheets/backend.py#L80
Another method called formula_values() could work too where it just has valueRenderOption: 'FORMULA'.
The reason I need to access formulas is because it's the only way to fetch the image url for cells that hold image content (yup, google sheets cells can hold images now!!). The regular .values() method only returns an empty string.

Hey,
spounds good to me. Upstream docs:

https://developers.google.com/sheets/api/reference/rest/v4/ValueRenderOption
https://developers.google.com/sheets/api/reference/rest/v4/DateTimeRenderOption
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values (majorDimension)

Not sure if we should also add DateTimeRenderOption.
I think WorkSheet.values() could just always fetch the values instead of using the loaded ones if a different format is requested.
WDYT?
Let me know if you want to give it a try.


Add new long_description_content_type kwarg

This is a re-opening of #708 which was closed.
Since then, https://github.com/pypa/python-packaging-user-guide/pull/258 has been merged and is now documented here: https://packaging.python.org/specifications/#description-content-type
I've rebased it and amended the commit messages to reflect that https://github.com/pypa/python-packaging-user-guide/pull/258 was accepted.

ping! markdown readme's would be great to have

Looks good. Can you just add a CHANGES.txt entry notifying users of what's changed and how they can use it? Also, are there relevant docs changes that need to address this functionality?

@jaraco I added an entry to CHANGES.rst and updated a table in the docs which lists the available fields.
I didn't really see anywhere where the documentation goes in-depth about long_description where it felt appropriate to add more explanation about long_description_content_type, but if you feel there is a place, I am happy to add it.
It might be worth mentioning here (but not in the docs) that until this is implemented in  pypa/readme_renderer, this field will not actually be very useful to the user.


⚠ Bofrost.at has degraded performance

In 3f14689, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1053 ms

Resolved: Bofrost.at performance has improved in 2bcfff4.


HTML Converter

Creates a page at iplayif.com/converter where you can upload a Zcode, Glulx, TADS, Hugo, or ADRIFT 4 file to convert it to a self-contained HTML file, suitable for distribution or offline play.
It's not yet working, because it depends on https://github.com/curiousdannii/parchment/pull/139 It works now!

Now that https://github.com/curiousdannii/parchment/pull/139 has merged, this PR works.

Great!
I had ideas for how I would've implemented this, so I'll try to spend some time on the weekend taking more of a look at it.


chore(deps): upgrade go to 1.21

Description
This PR backports:

#10305
https://github.com/stackrox/stackrox/pull/10514
https://github.com/stackrox/stackrox/pull/10375

Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Here I tell how I validated my change
TODO(replace-me)
Use this space to explain how you validated that your change functions exactly how you expect it.
Feel free to attach JSON snippets, curl commands, screenshots, etc. Apply a simple benchmark: would the information you
provided convince any reviewer or any external reader that you did enough to validate your change.
It is acceptable to assume trust and keep this section light, e.g. as a bullet-point list.
It is acceptable to skip testing in cases when CI is sufficient, or it's a markdown or code comment change only.
It is also acceptable to skip testing for changes that are too taxing to test before merging. In such case you are
responsible for the change after it gets merged which includes reverting, fixing, etc. Make sure you validate the change
ASAP after it gets merged or explain in PR when the validation will be performed.
Explain here why you skipped testing in case you did so.
Have you created automated tests for your change? Explain here which validation activities you did manually and why so.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/test gke-upgrade-tests

Is this needed in 4.4?

I needed this branch to fix upgrade test but I found a better solution:

https://github.com/stackrox/stackrox/pull/10559
Still I think we should upgrade to 1.21 to fix known issues with our binaries and to make updates easier in the future as we need to maintain 4.4.0 for some time and Go 1.20 is not supported.

/test gke-upgrade-tests

Closing this could be reopend on 14th of May


chore: announce patches

announce releases
refs https://github.com/charmbracelet/meta/pull/63

@aymanbagabas do you know if we need to map secrets like we do with goreleaser token et al?
if so, I need to change some things around in https://github.com/charmbracelet/meta/pull/63

@aymanbagabas do you know if we need to map secrets like we do with goreleaser token et al?
if so, I need to change some things around in charmbracelet/meta#63

Ugh, we need to map the secrets in the goreleaser workflow in every repository. The secrets property in meta refers to the secret inputs NOT the global secret store because the workflow in meta is a workflow_call :/

ah, figures, ight, will do that

https://github.com/charmbracelet/meta/pull/64

Codecov Report

Merging #100 (4a271a0) into main (0857eb6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #100   +/-   ##
=======================================
  Coverage   71.98%   71.98%
=======================================
  Files          18       18
  Lines         903      903
=======================================
  Hits          650      650
  Misses        200      200
  Partials       53       53

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Different result if raster is 2D or 3D

I am writing a python wrapper that round-trips a numpy array through encode and decode. This wrapper works on both 2D and 3D numpy arrays, however, I get a surprising result when I compare the post-LERC results of individual bands.
I expected that if I encode and then decode a 256x256x2 array and do the same for each of the bands and stack them together that I should get identical results. However, this is not the case.
Is this incorrect?

Python test
This test fails on the last assert.
class TestLercCompressor:

    @classmethod
    def _zerror(cls, dtype: np.dtype):
        zerror = 5.0  # in unit8 space
        if np.issubdtype(dtype, np.integer):
            return dtype(zerror * (np.iinfo(dtype).max / np.iinfo(np.uint8).max))
        else:
            return dtype((zerror + 0.5) / (np.iinfo(np.uint8).max + 1))

    @pytest.mark.parametrize("dtype", [np.uint8, np.uint16, np.float32, np.double])
    def test_compress_3d(self, request, test_data_dir: Path, dtype: np.dtype):
        testname = f"{self.__class__.__name__}.{request.node.name}"
        rs = np.random.RandomState(sum(map(ord, testname)))
        if np.issubdtype(dtype, np.integer):
            raster = rs.randint(np.iinfo(dtype).min, np.iinfo(dtype).max, size=(256, 256, 2), dtype=dtype)
        else:
            raster = rs.uniform(0, 1, size=(256, 256, 2)).astype(dtype)

        z_error = self._zerror(dtype)

        raster2d = np.stack(
            [
                lerc.apply(raster=raster[..., 0], max_z_error=z_error),
                lerc.apply(raster=raster[..., 1], max_z_error=z_error),
            ],
            axis=2,
        )
        raster3d = lerc.apply(raster=raster, max_z_error=z_error)

        assert raster2d.dtype == raster.dtype
        np.testing.assert_raises(AssertionError, np.testing.assert_equal, raster, raster2d)
        np.testing.assert_allclose(raster, raster2d, rtol=0.0, atol=z_error)  # check raster2d changed
        if np.issubdtype(dtype, np.integer):
            np.testing.assert_array_less(raster2d, np.iinfo(dtype).max)
        else:
            np.testing.assert_array_less(raster2d, 1.0)

        assert raster3d.dtype == raster.dtype
        np.testing.assert_raises(AssertionError, np.testing.assert_equal, raster, raster3d)
        np.testing.assert_allclose(raster, raster3d, rtol=0.0, atol=z_error)  # check raster3d changed
        if np.issubdtype(dtype, np.integer):
            np.testing.assert_array_less(raster3d, np.iinfo(dtype).max)
        else:
            np.testing.assert_array_less(raster3d, 1.0)

        # there should be no difference between 2d and 3d
        np.testing.assert_equal(raster2d, raster3d)

C++ wrapping code using pybind11
#include "wrapLerc.hpp"

#include <pybind11/numpy.h>
#include <pybind11/stl_bind.h>

#include <LercLib/Defines.h>
#include <LercLib/Lerc.h>
#include <LercLib/Lerc_types.h>

namespace py = pybind11;

namespace {
static constexpr int LERC_VERSION = -1;  // use the latest

template <typename DataT> struct NumpyInfo {
    using NumpyT = typename py::array_t<DataT, py::array::c_style>;

    NumpyInfo() : array(), info(), data(nullptr), nDim(1), nCols(0), nRows(0), nBands(0) {}

    NumpyInfo(NumpyT inArray)
        : array(inArray), info(array.request()), data(nullptr), nDim(1), nCols(0), nRows(0), nBands(0) {
        if (info.ndim != 2 && info.ndim != 3) {
            throw std::runtime_error("LERC compression requires a 2D or 3D array");
        }
        if (info.ptr == nullptr) {
            throw std::runtime_error("The array has no data!");
        }
        data = static_cast<DataT *>(info.ptr);
        nCols = info.shape[0];
        nRows = info.shape[1];
        nBands = (info.ndim == 2) ? 1 : info.shape[2];
        if (array.size() != nCols * nRows * nBands) {
            throw std::runtime_error("Failed to correctly extract array size");
        }
    }

    NumpyInfo(const NumpyInfo &other) : NumpyInfo(std::move(NumpyT(other.info.shape, other.info.strides))) {
        // copy data into the array
        std::copy(other.data, other.data + other.array.size(), data);
    }

    NumpyInfo copy() const { return NumpyInfo(*this); }

    /// numpy array
    NumpyT array;
    /// numpy buffer protocol
    py::buffer_info info;
    /// Raw image data, row by row, band by band. This is a raw pointer, assume someone else is looking after memory
    DataT *data;
    /// number of values per pixel (for us, this is always 1)
    const int nDim;
    /// data shape
    int nCols, nRows, nBands;
};

/// Calculate the size of the required buffer size
template <typename DataT> struct LercBufferSize {
    using RasterInfo = NumpyInfo<DataT>;
    using RasterT = typename RasterInfo::NumpyT;

    static uint32_t calculate(const RasterT &raw, double maxZError) {
        RasterInfo raster(raw);
        return calculateImpl(raster, maxZError);
    }

    static uint32_t calculateImpl(const RasterInfo &raster, double maxZError) {
        LercNS::BitMask *bitMask = nullptr;  // We don't care about the mask
        uint32_t bs = 0;                     // size of outgoing Lerc blob
        auto status = LercNS::Lerc::ComputeCompressedSizeTempl<DataT>(
            raster.data, LERC_VERSION, raster.nDim, raster.nCols, raster.nRows, raster.nBands, bitMask, maxZError, bs);
        if (status != LercNS::ErrCode::Ok) {
            throw std::runtime_error("Failed to fetch the number of bytes required for the buffer");
        }
        return bs;
    }
};

template <typename DataT> struct LercCompressor {
    using RasterInfo = NumpyInfo<DataT>;
    using RasterT = typename RasterInfo::NumpyT;

    static void applyInPlace(RasterT &raw, double maxZError) {
        RasterInfo raster(raw);
        impl(raster, maxZError);
    }

    static RasterT apply(const RasterT &raw, double maxZError) {
        auto raster = RasterInfo(raw).copy();
        impl(raster, maxZError);
        return raster.array;
    }

  private:
    static void impl(RasterInfo &raster, double maxZError) {
        LercNS::BitMask *bitMask = nullptr;  // We don't care about the mask

        // --- get the buffer size
        uint32_t numBytesNeeded = LercBufferSize<DataT>::calculateImpl(raster, maxZError);

        // --- encode
        // buffer to write to, function will fail if buffer too small
        std::vector<LercNS::Byte> lercBlob(numBytesNeeded, 0);
        auto pLercBlob = lercBlob.data();

        uint32_t numBytesUsed = 0;  // num bytes written to buffer
        auto status = LercNS::Lerc::EncodeTempl<DataT>(raster.data, LERC_VERSION, raster.nDim, raster.nCols,
                                                       raster.nRows, raster.nBands, bitMask, maxZError, pLercBlob,
                                                       numBytesNeeded, numBytesUsed);
        if (status != LercNS::ErrCode::Ok) {
            throw std::runtime_error("Failed to encode data");
        }

        // --- decode
        status = LercNS::Lerc::DecodeTempl<DataT>(raster.data, pLercBlob, numBytesUsed, raster.nDim, raster.nCols,
                                                  raster.nRows, raster.nBands, bitMask);
        if (status != LercNS::ErrCode::Ok) {
            throw std::runtime_error("Failed to decode data");
        }
    }
};

template <typename DataT> void wrapLercImpl(py::module &m) {
    using LBS = LercBufferSize<DataT>;
    m.def("buffer_size", &LBS::calculate, py::arg("raster"), py::arg("max_z_error"));

    using LC = LercCompressor<DataT>;
    m.def("apply_in_place", &LC::applyInPlace, py::arg("raster"), py::arg("max_z_error"));
    m.def("apply", &LC::apply, py::arg("raster"), py::arg("max_z_error"), py::return_value_policy::move);
}
}  // namespace

namespace cppaiutils {
namespace python {

void wrapLerc(py::module &m) {
    auto mLerc = m.def_submodule("lerc");
    wrapLercImpl<uint8_t>(mLerc);
    wrapLercImpl<uint16_t>(mLerc);
    wrapLercImpl<float>(mLerc);
    wrapLercImpl<double>(mLerc);
}
}  // namespace python
}  // namespace cppaiutils

Indeed, this is expected for lossy compression (zerror != 0).
LERC compression is based on block quantization, with every block having it's own reference, usually the local minimum.  The 3D block will have a slightly different reference than the 2D ones because the local minimum is different. You clearly see the blocks in the difference image.
You will also see differences when shifting the array, because the block alignment is different.

@bretttully
Repeated lossy LERC compression with different block alignment will have a cumulative effect on the error.  For example, using precision 5 and compressing data twice with a different alignment (or once 2D and once 3D) will result in a max error of 10 (5 + 5) for some of the values.
If this is not acceptable, quantize the data externally in some repeatable way, before using lossless integer LERC.

@bretttully Try with zerror = 0, lossless, and see if it passes your test.
@lucianpls For repeated lossy compression with different alignment the overall compression error will accumulate. That is always true, not only for Lerc (e.g., also for jpeg). If you know the max number of lossy encodes, you can pick your max encode error per encode accordingly (e.g., 0.001 per encode to end up with an overall enc error of 0.01 after up to 10 lossy encode calls on the same area). If you don't know that max number of lossy encode calls, you better go with lossless and set the encode error to 0.

Thanks for the feedback all.
@tmaurer3 running the test with zerror = 0 passes; but I think I have found the issue and it is slightly more subtle, but also obvious... The numpy array needs to be ordered correctly.
Reviewing the algorithm when nBands > 1 LERC expects the bands to be the slowest moving index, followed by the rows. So the numpy array needs to be set up with a size of (2, 256, 256) and nBands, nRows, nCols = arr.shape. Implementing this and the test pass.
Does this make sense?

@tmaurer3 Out of curiosity, are there elements of the LERC specification that do not treat values in a third dimension as part of the same 'block' of values? That is, quantise blocks within the 2D matrices of the third dimensions independently of each other. For instance, I notice that LERC distinguishes between nBands and nValuesPerPixel. Does the LERC spec treat these differently?

@bretttully
Interesting, that test would only pass if the 2D bands in a 3D block are quantized using separate references.   @tmaurer3, can you please provide more details?

From what I can tell, each 2D band is encoded independently inside this loop https://github.com/Esri/lerc/blob/master/src/LercLib/Lerc.cpp#L322
and line 325 of Lerc.cpp calculates an offset into the data array based off the assumption of data layout in the flat array.

@adriancaruana @bretttully @lucianpls There might be a misunderstanding here about the meaning of the "nDim" parameter. See also the section in the Readme underneath the C API. "About multiple bands ... ". "nDim" = number of values per pixel if you store a 1 dim array of values at each pixel. This is in addition to nBands. So the total array is like this:
[nBands, nRows, nCols, nDim]. I have to admit now that "nDim" is not a good choice for the name, but it is shorter than "nValuesPerPixel". And yes, they are treated differently. Different bands are encoded independently. This is first historical, second still good in case you know that different bands don't have much correlation. In other words, Lerc supports up to 4 dimensions. Simple example for 3D, let's say RGB image. You can either say [nBands = 3, nRows = 256, nCols = 256, nDim = 1]. Then Lerc encodes the 3 bands R, G, and B separately, and only concatenates the binary blobs. Or you say [nBands = 1, nRows = 256, nCols = 256, nDim = 3]. Then the 3 RGB values are always together. In this case Lerc tries to make use of the correlation of the R, G, and B bands. It tries encoding the G values relative to the R values, and pick the better one, relative or absolute encoding (for 8x8 blocks, and per block). Depending on how correlated they are, the second way to call Lerc can give better compression.
You can also have an array of 10 values per pixel, then you set nDim = 10. Perhaps we should have called it "nDepth".

@tmaurer3 perfect, that matches my (new) understanding of how LERC works. In which case, this is not an issue with LERC and we can close the issue.

That is a bit confusing!  Intuitively, I would assume the bands change the fastest (interleaved) and the extra dimension the slowest.  Either way is fine, if the convention is known.


not able to push images to my public repo

Expected behavior
Push images successfully from local to my repo
~user: arunsebastianpub
Actual behavior
Throws error: denied: requested access to the resource is denied
Information about the Issue
Steps to reproduce the behavior

...
...

Please open a ticket with Docker Hub


End-to-end testing for mockito release tools

Problem
We cannot use mockito project for testing the release tools. This is too risky and may cause undesired mockito versions to be published to the community.
Plan
Let's create a sample project in the "Mockito" organization in GitHub. This sample project will be using mockito-release tools. Goals:

convenient testing of new features / changes to the release tools
create another client for release tools. This will force further improvements in release tools (currently the release tools are coupled with Mockito use case)

Detailed action plan

[x] Create separate "example" project. Completed, see "mockito-release-tools-example".
[x] Prepare org.mockito.release-notes Gradle plugin and roll it out to the example project (#20)
[x] Example project publishes to Bintray
[x] Example project has automated publication with Travis CI
[ ] End-to-end testing with mockito. Either create forked mockito project or a testable branch in main repo
[ ] Example project publishes to Maven Central

We implemented most of that and the rest is covered by other tickets. Let's move on.


Add statsd monitoring for calendar invite ingest

Description of change
This puts in the minimal code required to send metrics to statsd or specifically statsd_exporter.
There are a few caveats around the DSL used by statsd_exporter to map metrics. Happy to hear ideas for how to solve this more elegantly.
To run this, you can do something along the following lines:
$ docker run -d -p 9102:9102 -p 9125:9125 -p 9125:9125/udp \
-v $PWD/statsd_mapping.yml:/tmp/statsd_mapping.yml \
prom/statsd-exporter --statsd.mapping-config=/tmp/statsd_mapping.yml

$ pytest datahub/interaction/test/email_processors/test_processors.py

$ curl localhost:9102/metrics

💰

Checklist

[x] Has a new newsfragment been created? Check changelog/README.rst for instructions
[ ] Have any relevant search models been updated?
[ ] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[ ] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[ ] Has the admin site been updated (for new models, fields etc.)?
[ ] Has the README been updated (if needed)?

We also need to add the new environment variables to the README.


[WFLY-17973] Clean up appclient Main

https://issues.redhat.com/browse/WFLY-17973
Blocks https://github.com/wildfly/wildfly-core/pull/5479
The key bits are the changes to ProductInfo and ServerEnvironment constructors; the rest is just IDE warn housekeeping.

Thanks @jamezp


Design Healthcare/Telemedicine website login

Deign a Healthcare/Telemedicine Website Login where Patients log in to view appointments, lab results, and prescriptions, while doctors log in to manage appointments, view patient records, and communicate with patients.

@LoginRadius Kindly assign it to me. Will be grateful to you!
Thank you


 Currently, the program exits.

You mean interrupting the chat mode?
If yes, will handle this.

Yes, it would be great to interrupt the response in chat mode without exiting the program.


Where does CVAT store images?

When I create a task, where does cvat really stores the images?
Thanks .
Sree

@Sreedeepthinukala
All data (images, annotations) are stored on your host where you have installed CVAT.
In docker volume cvat_data and cvat_db.

Hi, I'm searching for the images at the specified path, but the path might have changed because the images are not there and there is no cvat_db:


Update cw3 spec

Closes #182
Also added lots of comments to clarify how the various threshold types work.

@maurolacy please review this first before looking more at #180. I hope this documents everything better. If you approve, you can merge it into that PR, but I wanted to pull out the documentation issues into an easy-to-review subset.
You can skim down to the cw3 package, that is where the real changes are made. The contracts were just updated to follow the changes in the spec.

OK, I'll merge and we can follow-up / revisit in the original PR.

Applying proposed changes locally, for formatting.

I think I'll merge in your proposed changes, I was just taking care of other business first.
Guess I can do that on the main PR branch

Beware that I already pushed them. In any case, let's discuss in the original branch.

Ah, okay


Scancode CLI fails to invoke

Describe the bug
When following the CLI instructions on the README: https://scancodeio.readthedocs.io/en/latest/tutorial_cli_analyze_docker_image.html, Invoking the example scnapipe command fails on the latest taq v32.5.2 with the following reason:
Traceback (most recent call last):
  File "/opt/scancodeio/venv/bin/scanpipe", line 5, in <module>
    from scancodeio import command_line
ModuleNotFoundError: No module named 'scancodeio'

This appears to be a real issue with the way the scancode library is installed in Docker. When I inspect a running web container, I do not see scancodeio module installed in the virtual env:
app@8556d43e4009:~$ ls -1 /opt/scancodeio/venv/lib/python3.11/site-packages/ | grep scancode
__editable__.scancodeio-32.5.2.pth
__editable___scancodeio_32_5_2_finder.py
scancode
scancode_config.py
scancode_toolkit-32.0.6.dist-info
scancodeio-32.5.2.dist-info

I'm not familiar enough with pip or python to know a quick remedy.
System configuration

Which version of ScanCode.io are you running? v32.5.2
Are you running the app using Docker? Y
On which OS? 5.15.0-78-generic #85~20.04.1-Ubuntu
What inputs are you using?

alias scanpipe="docker compose -f ${PWD}/docker-compose.yml run --volume ~/codedrop/:/codedrop:ro web scanpipe"
scanpipe create-project staticbox

Which pipeline are you running? NA

To Reproduce
Steps to reproduce the behavior:

Go to https://scancodeio.readthedocs.io/en/latest/tutorial_cli_analyze_docker_image.html#requirements
Follow instructions on a fresh install
See error

Expected behavior
The CLI version of scancode to be functional.
Screenshots
If applicable, add screenshots to help explain your problem.

Hi @philcali thanks for reporting.
This issue was addressed and should be fixed with https://github.com/nexB/scancode.io/commit/5dac9e7f69fcafedb6ed8d6f0c7b6d838040f1d9 that is part of the v32.6.0 release, released today.
Could you try again with this latest version and let me know if that solve your issue.

I have confirmed that using v32.6.0 fixed my issue. I'll mark this one was closed.


[Event Request] codeunit 6500 "Item Tracking Management" - OnCopyItemTracking3OnBeforeReservEntry1Insert

Please include sender in the Event OnBeforeCopyHandledItemTrkgToInvLine in the codeunit 6500:
[IntegrationEvent(true, false)]
local procedure OnBeforeCopyHandledItemTrkgToInvLine(FromSalesLine: Record "Sales Line"; var ToSalesInvLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 48444.


Remove custom asset directories

The asset manager allows changing the directory where all plugin assets are stored. This was originally added for flexibility, but I can personally not see any usecases to change the asset directory. On the other hand, there are two reasons why it should not be changed:

Assets in Vanilla Minecraft and Forge are always stored in the assets/id directory
Changing the asset directory could cause problems with resource packs in future client-side plugins (since that requires assets to be stored in the default directory)

This PR removes the option to set custom asset directories. Unless someone has a usecase for the option I don't see any reason to keep it, since the default directory is always the best choice.

Like I said when I spoke to @Minecrell earlier, I am also inclined to agree that this should be removed. The purpose of this PR is to raise a discussion and possibly discover any use cases for this feature that others may have found that we have overlooked.

@Minecrell @windy1
With that said, is the Asset API as a whole...useless? All plugins need is something akin to ResourceLocation, a way to register a custom resource loader.

No I don't think the whole Asset API is useless, it makes the handling of resources as you might use them in a plugin development environment easier and also for exchanging resources between plugins. Keep in mind, the entire purpose of the Asset API was for convenience in the first place and it's also not even really that much code when it comes down to it.
I agree with @Minecrell for removing this one feature of it because, as he brought to my attention, I can't even really think of a use case for it.

@Zidane The Asset interface in the Asset API is essentially just a simplified version of ResourceLocation (it uses plugin containers as domain, and it is a special resource location because the URL is already known).


Update the hashcode of ArtifactStore

This is a simple change and I will merge this directly for saving the time to test. thanks.


Settings box will not appear?

Describe the bug
A clear and concise description of what the bug is. If possible, please attach (upload, do not copy/paste) the log file that can be found at %LocalAppData%\OpenXR-Toolkit\logs.
Environment

Application/Game and its version MS Flightsim latest version
Make and model of VR device Meta Quest 2
Version of the OpenXR runtime latest version
Make and model of GPU Founders GeForce RTX 3090

To Reproduce
Steps to reproduce the behavior:

Run '....' game
Enable option '....'
See error

Expected behavior
A clear and concise description of what you expected to happen. The settings box inside the VR will NOT appear, when using CTRL+F1, F2 or F3. Tried other key bindings.  Open XR Toolkit refuses to work for me?
Screenshots
If applicable, add screenshots to help explain your problem. Use the Companion app to enable screenshots, then use Ctrl+F12 to capture. The file is placed in %LocalAppData%\OpenXR-Toolkit\screenshots.

Are you using Virtual desktop? If so this is likely issue #363 and you will need to downgrade to version 1.1.0 for now.

No response. Closing.


Adding comments for remaining HCSSHIM public functions.

Signed-off-by: Stefan J. Wernli<EMAIL_ADDRESS>@jhowardmsft @jstarks

LGTM after the typo fixed.

Fixed and merging!


Pulling O365 licenses only pulls one license

Hello!  First of all, I love this module!  I watched all of your tutorials and I wish there were more so I can bedazzle everything I export, but I will keep practicing.  Second, this is my very first post anywhere on Github so I hope I'm not out of line here but I may have come across a bug that you may or may not already know about (sorry I'm not completely sure how to search for known issues in GitHub yet).
When exporting licenses from Office 365 I've always exported to a csv which would show me any blocked users that still have licenses assigned to them.  The basic code is
Get-MsolUser -All | Where-Object {$_.BlockCredential -eq $true} | select UserPrincipalName,Department,{$_.Licenses.AccountSkuID} | Export-csv C:\Users\etc...\users.csv
When I tried with export-excel I didn't change anything other than export-excel
Get-MsolUser -All | Where-Object {$_.BlockCredential -eq $true} | select UserPrincipalName,Department,{$_.Licenses.AccountSkuID} | Export-Excel -Path C:\Users\etc...\usersExcel.xlsx
When I export-csv, a few of the users have multiple licenses which all show up.  Unfortunately when I export-excel I only see one license listed for users (appears to be the first license listed).  Am I maybe doing something wrong or missing a parameter that would get all of the licenses?
Thanks!

@bonksnp Thanks for the issue. Congrats on your first post. Good work. I'm going to lift your bedazzle verb. Off the top of my head, I believe in Export-Excel I don't detect and drill into a property if it is an object. I'll check that out.

Potentially solved by https://github.com/dfinke/ImportExcel/pull/412

On another hand. I've same result with Master version and the one from pull request;

For both CSV and XLSX. I would say query may be problematic here.

Would
Get-MsolUser -All | Where-Object {$_.BlockCredential -eq $true} | select UserPrincipalName,Department,{$_.Licenses.AccountSkuID -join ", " } | Export-Excel -Path C:\Users\etc...\usersExcel.xlsx
give you what you want ?

My apologies on the shameless self-promotion, but this may be a prettier approach. The first function in the script I wrote for O365 reporting linked below will turn the SKUs into human-readable names, if that is something you are interested in.
https://github.com/KonTheCat/GetOffice365PerUserReport/blob/master/GetOffice365PerUserReport.ps1

@KonTheCat that link gets a 404

@dfinke thank you, I guess I should not have tried to edit it...I am somewhat new to this too!


make sure merge luadev config from user

For me lua-dev did never load my custom plugins setup as the workspaces from sumneko_cfg is forced into the final config file.
After this change, lua-dev started to work properly for me.

No problem, however this actually still doesn't fix  it yet I didn't have time to push the full change. It's on my fork.
On September 12, 2022 3:13:17 AM GMT+02:00, rayx @.> wrote:
@. approved this pull request.

thanks!
--
Reply to this email directly or view it on GitHub:
https://github.com/ray-x/navigator.lua/pull/229#pullrequestreview-1103390912
You are receiving this because you authored the thread.
Message ID: @.***>


Change route with use of routing api

In my react project that was build with dotnetify, I want to redirect to a specific route from BackEnd. I handle all my routes with "react-router".
In index.js i use BrowserRouter that wrapped all my route.
render(
    <Provider store={store}>
        <BrowserRouter>
            <App/>
        </BrowserRouter>
    </Provider>,
    document.getElementById('App')
);

and App.js is like below:
<Switch>
       <Route path="/page1"  component={page1}/>
       <Route path="/page2"  component={Home2}/>
       <Route path="/page3" component={Home}/>
</Switch>

now i want to change my route with Routing Api that introduce in dotnetify. as in document said, i add my component to windows variable in App.js
Object.assign(window, { Page1, Page2 });

in page1.cs, the route was register in constructor of a class that inherited from IRoutable and send a route to the client:
 this.RegisterRoutes("/", new List<RouteTemplate>
            {
                new RouteTemplate("Page1") { UrlPattern = "page1" },
            });

            RedirectUrl = this.GetRoute("Page1");
            Changed(nameof(RedirectUrl));

in page1 that in constructor  connected to its viewmodel insert a routelink to change the route:
 <RouteLink vm={this.vm} route={RedirectUrl}>
                    click
 </RouteLink>

but by clicking on this an error was occured:
   You should not use <Route> or withRouter() outside a <Router>

what is the best way to handle redirect from backend nad how can i handle it?

That error isn't from dotNetify.  Start from this template to make sure the routing is implemented correctly.

can we user dotnetify routing api and react router with each other in one project?
and how about redux when we use dotnetify routing api?
as i now, in routing api, we assign component to the window object and it load every time that it is called, and if we have provide and its store for redux, can we use state in redux in the route that load from this api?
thank for this great project

when i use boot react router and  routing api, and change route with routing api(RouteLink), i faced with this problem:
index.js:1437 Warning: unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container.  Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render.

can we user dotnetify routing api and react router with each other in one project?
and how about redux when we use dotnetify routing api?

DotNetify routing is its own routing system, and wasn't designed to complement react-router or redux.  It's probably best to just choose one over the other instead of trying to mix them together.
With that said, if you want to choose dotNetify routing but can't because it's missing some features you need, we can start the discussion on what those features are.

one of those thing is that when user try to reach a page that could not be found on the routing api system, user must be reached to 404 page, how can we handle 404 page in this system?

That's one of the missing feature.  I suggest you create an issue in the main dotNetify github for each one you found.  It will help me to plan and others to keep track and maybe contribute.


COMP: Set DOWNLOAD_EXTRACT_TIMESTAMP to TRUE for Windows wrapping

COMP: Set DOWNLOAD_EXTRACT_TIMESTAMP to TRUE for Windows wrapping
DOC: Document the wrapping modules' extraction/archived timestamp flags

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

The if(WIN32) case was left behind in #3709. Sorry.

@jhlegarreta Sorry for the late comment. There is no harm in the change, justing the old behavior. The superbuild for SWIG windows just downloads and extracts an executable. So it does not build SWIG/PCRE or use automake for file based time modifications times. So the old time exaction behavior is technically not needed.
Also looking at the latest SWIG release, it now has native CMake support. How the SWIG superbuild is performed make change in the near future. Last I used a the SWIG CMAKE, it was going to need some minor improvements to get the build robustly working.

Not sure if I follow @blowekamp. The Wwindows build was complaining about the policy not being set for the SWIG project:
https://github.com/InsightSoftwareConsortium/ITK/pull/3763/commits/b50e4f4d8e61bcd4f5908ef76403213ffd5d8ec6
So even if it only extracts the executable, and thus the extraction time does not have any impact, the warning was there, and I prefer that the builds configure cleanly. If you think the flag value should be set to FALSE for Windows, please go ahead. Let me know if I misunderstood.

@jhlegarreta I missed the detail that the CMP policy was not set for this external project.

@jhlegarreta I missed the detail that the CMP policy was not set for this external project.

No problem. Then things look OK and no changes are needed, right?

No changes are needed.


Error: not found on existing datasets

https://datasets-server.huggingface.co/size?dataset=severo/glue
https://datasets-server.huggingface.co/size?dataset=severo/danish-wit
-> {"error":"Not found."}
While it should be: {"error":"The server is busier than usual and the response is not ready yet. Please retry later."} if the cache does not exist, then the successful answer.

It seems to be due to an error in https://datasets-server.huggingface.co/parquet-and-dataset-info?dataset=severo/glue:
{"error":"Couldn't reach https://dl.fbaipublicfiles.com/glue/data/AX.tsv (error 429)"}

the following jobs have not been created after the job that created this error in the cache <- I think this is a bug
when asking for https://datasets-server.huggingface.co/size?dataset=severo/glue, instead of trying to update, it fails <- I think this is another bug

Keep open

Closing, as the issue is not shown anymore in the linked datasets. And possibly it's fixed due to the changes in how we create the jobs.


Add bors

As I mentioned earlier, we are starting to experiment with bors to help us manage PRs in TiKV. Since we don't want to jam up TiKV, we can experiment a bit with Raft.
This should enable bors. There will still be more configuration and learning before we get it right.
Ultimately you should eventually be able to follow the document in https://bors.tech/documentation/getting-started/ to tell our friend bors they can merge a PR. :)

Very cool!

@siddontang Yes! Let's use Raft as a testing ground for a week or two and learn how it works first.


There is no example in the "Math" block of "Blocks" document

Repro steps:
• Navigate to https://makecode.microbit.org/ (repro on all browser)
• Click the "Blocks" under the "?"
• Pull-down the document to the example "Math"
• Click the "Math" block
Expected result:
There is example in the "Math" block
Actual result:
There is no example in the "Math" block
Additional information:
The IE can't open the "Block" document in the first time, please refer to the second gif

Added support for builtin docs in #2781.


Develop -> Main (Manual)

Because the automated workflow didn't happen this time

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.6 out of 7 committers have signed the CLA.:white_check_mark: ad9242:white_check_mark: MI6-94:white_check_mark: GCHQ-Developer-299:white_check_mark: GCHQ-Developer-530:white_check_mark: jd239:white_check_mark: GCHQ-Developer-741:x: GCHQ-Developer-539You have signed the CLA already but the status is still pending? Let us recheck it.


No downloadable pdf for positive PCR?

As the title says, we did a PCR test which came back positive. It's helpful for other CWA users, sure, but it's useless in the context of the person that took the test. Only thing shown in the app is "result was positive". Employer needs proper proof of infection, so do other contact persons in the same household that now need to be quarantined. Is this a CWA problem? Is a downloadable pdf/file on the way? There is nothing mentioned in the app about a downloadable test result/certificate.
Cheers,
Alex.

Just to quickly answer your question: No, there is no PDF or similar for a positive test in the CWA.

@alexthunder3 No, ofr a positive PCD are test you can't get a test certificate. However, my understanding is that you can contact your doctor or health department and obtain a recovery certificate.

Can this issue be closed?

Yes.
The doctor can release such a proof. Maybe a note could be included in that app that you should contact whoever took the test for a document proving the status?
Thank you for the answers and the great work!

@alexthunder3 @Ein-Tim

Maybe a note could be included in that app that you should contact whoever took the test for a document proving the status?

Actually this is a nice idea for the wishlist repository, you are going to open an issue there?

@dsarkar
Issue created: https://github.com/corona-warn-app/cwa-wishlist/issues/822


Feature request: support more options for scope-case rule

Hi! I want camelCase as scope-case rule. I think we can use lodash to avoid coding. Like:
https://lodash.com/docs/4.17.4#camelCase
https://lodash.com/docs/4.17.4#kebabCase
https://lodash.com/docs/4.17.4#snakeCase
And, we could throw an error if an invalid option is set? I think defaulting to lowercase is not good.
If you think that this approach is ok, I can try to make a PR with this feature.
Best.-

The addition makes sense, let's add it.
Some comments.

Let's stick with the current default to avoid breaking changes

Rules that should support new cases

scope-case
subject-case
type-case

Cases to support

camelCase
PascalCase
kebab-case
snake_case
Start Case

A PR would be awesome!

I should change this file @commitlint/core/lib/library/ensure-case.js? Looks like a generated one. Where is the original?

The options should be on kebab-case (ex. present-imperative) or camelCase (ex. lowerCase)?
Examples taken from @commitlint/config-angular.

Let's go with kebab-case, but continue support for lowerCase, upperCase.

Will land via https://github.com/marionebl/commitlint/pull/84

Will release with 4.0 in the next days

Released via 4.0! :rocket:


Fix(api): Allow loadLiquid command to load when ff is off

Overview
Allow loadLiquid command to load when using a json protocol with liquids ff off but with no-op.
Changelog

Add ff check when executing a loadLiquid command
Removed raised error when loading a json protocol with a loadLiquid command.

Review requests

Risk assessment
low. removed raised error for loadLiquid commands in json protocol. added a ff condition when executing the loadLiquid command.

Needs a retarget


feat(zipkin) include http path to span name

Add a new parameter span_include_path to decide whether to include http path to span name.
Add test case.

Summary
This PR is based on https://github.com/Kong/kong-plugin-zipkin/pull/124, Thanks @XinweiLiu28
Able to include HTTP path to span name for zipkin plugin
Full changelog
Add a new parameter span_include_path to decide whether to include HTTP path to span name.
Add test case.
Issues resolved
Fix FTI-2842

I think it is good to have the endpoint in Span name, see OpenTelemetry spec opentelemetry-specification/api.md at main · open-telemetry/opentelemetry-specification
For example, here are potential span names for an endpoint that gets a hypothetical account information:

Span Name
Guidance

get
Too general

get_account/42
Too specific

get_account
Good, and account_id=42 would make a nice Span attribute

get_account/{accountId}
Also good (using the "HTTP route")

This looks ok to me. Could you please include a line on the changelog before merging it?


Supporting multiple models on the same app [FEA]

Is your feature request related to a problem? Please describe.
Basically, in some instances it is useful to have more than one available model - particularly, I wanted to have two different models for different sequence types, but at the moment this requires me exporting both models as a "super model" which splits the input along a dimension and concatenating the input prior to feeding it to the model.
Describe the solution you'd like
I think it would be cleaner if I could specify more than one model and have a way of defining which model operator uses which (by index or similar).
Describe alternatives you've considered
The alternatives I have considered are the ones described in the first section.

@josegcpa thanks for raising the needs for multi-model support.
In fact, multi-model multi-AI support is one of the key requirements of the App SDK, and has been supported from v0.1, just that this feature has not been well publicized.
Please see this example app, which I believe is what you want. Please confirm, and you are also welcome to contribute a more meaningful multi-model example!

Please see this example app, which I believe is what you want. Please confirm, and you are also welcome to contribute a more meaningful multi-model example!

Exactly what I wanted :-) it would be really good to see some clearer guidelines for this; but this example is already great help, thank you! I am working with multiparametric MRI and with different tasks so it would be wonderful to see more examples of multi-modality + multi-model MONAI-deploy apps.


investigate timeout on license component status

There was a timeout on the server status page of the management orchestrator for the license component. The log contained this trace:
2023-04-27 08:43:18,213 ERROR    inmanta.server.server The following error occured while trying to determine the status of slice license.license
Traceback (most recent call last):
  File "src/inmanta_license/license.py", line 806, in get_status
  File "src/inmanta_license/license.py", line 788, in get_license_metrics
  File "/opt/inmanta/lib64/python3.9/site-packages/inmanta/data/__init__.py", line 4534, in get_resources_report
    async for record in con.cursor(query, *values):
  File "/opt/inmanta/lib64/python3.9/site-packages/asyncpg/cursor.py", line 223, in __anext__
    buffer = await self._bind_exec(self._prefetch, self._timeout)
  File "/opt/inmanta/lib64/python3.9/site-packages/asyncpg/cursor.py", line 129, in _bind_exec
    buffer, _, self._exhausted = await protocol.bind_execute(
  File "asyncpg/protocol/protocol.pyx", line 201, in bind_execute
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.9/asyncio/tasks.py", line 490, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/inmanta/lib64/python3.9/site-packages/inmanta/server/server.py", line 134, in collect_for_slice
    return SliceStatus(name=slice_name, status=await asyncio.wait_for(slice.get_status(), 0.1))
  File "/usr/lib64/python3.9/asyncio/tasks.py", line 492, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

The timeout should be investigated and appropriate action taken.

Discussed in planning meeting at 2023-05-02: probably a badly constructed query.


Update and refine settings descriptions

Remove redundant settings descriptions from settings.md, moving any extra information found there in to the setting description shown in the extension settings page.
Add information on how to enable experimental sourcekit-lsp features to settings.md.
Consistently apply markdown formatting to setting descriptions.

Fixes #956

@adam-fowler Instead of maintaining two largely identical settings descriptions I just rolled everything in to the settings descriptions in the package.json. I think this should be the single source of truth as most users won't seek out the settings.md page, and the'll see these settings descriptions right in the app. If we really want to do a deep dive into a specific setting, so much so that its too much information to have in the extension settings page, we can link out to the settings.md document and expand on it there, but there aren't any that are that long today.
settings.md does now contain some settings combinations/configurations that can be used to accomplish specific things. For instance right now it has sourcekit-lsp server arguments you can set to enable background indexing or peek macro.

@swift-server-bot test this please


Add label based on base branch.

My current workflow uses several branches for dev, stage and prod builds. It would be nice to be able to set labels based on target branch.

Though it might be better to create a separate bot for this purpose.
I'll create a prototype later today.


Optimal set frontend: improve UX of recipe selection

Details
Currently the dropdown for the recipe just lists a big list of recipe options.
This is a bit of a hassle to scroll through, especially since you're probably just looking for a specific meal type.
We should find a way to cleanly only show a certain meal type's options in the dropdown. Maybe users can select which recipes to see.
We should also avoid overcomplicating for the user. While the list is large, the functionality is very simplistic.

Closing as #400 will replace this


Context Propagators with LocalActivity

If I execute an Activity all my context propagators are called to extract/inject headers, however LocalActivity doesn't support context propagators. Are there any plans to support this ?

I believe this issue can be closed now.


redis access question

Do you have to ssh to the redis box from a whitelisted box, such as proc-1?

No. Access to the lib-redis box requires being on the VPN, but otherwise there are no special access rules for SSHing to the redis server.


Scrolling disabled in job box

Unable to click scroll

Thank you for reporting this issue.
I'll review a fix for this asap.

The fix publish on v3.10.3


Select List custom component

A common pattern I'm seeing throughout the application form is a list of options presented as either radio buttons or checkboxes.
These are typically fields which could also be represented as select inputs (dropdown pick lists). However, research shows that select inputs can be confusing for users, and so the GDS guidance is to avoid them where possible.
Example use case
An example where this component would be used:
What is your professional background? Select all that apply.

Solicitor
Barrister
CILEx
Other (please specify)

In this case, it would represent a list of checkboxes. In other cases, where the user can only choose one option, it would be represented as a list of radio inputs.
Why a custom component?
It cuts down on the boilerplate code required to display and select from a list of options.
Ideally we could pass in an array of options, and the component would handle rendering the correct DOM elements.
Done when
Custom component SelectList exists, and has unit tests.

Suggested change: remove required attribute id in favour of auto-incrementing unique IDs as is done in the DateInput component.


[behavior velocity planner]fix occlusion spot

Description
Fix occlusion spot.

In calcSlowDownPointsForPossibleCollision, longitudinal speeds of path are used. But all longitudinal speeds of interp_path are 0 m/s because these are not interpolated.
In calcSlowDownPointsForPossibleCollision, closest_idx is used. This closest_idx is calculated using not interp path but path.

Therefore, path should be used here.

Review Procedure
Check following.
Before merging this PR.
Occlusion spot inserts stop point(= point with 0 m/s speed)

Occulsion spot inserts deceleration point

Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Read pull request guidelines
[ ] Code follows coding guidelines
[ ] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code follows coding guidelines
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR / build-and-test-pr: Required to pass before the merge.
Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the guidelines.
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

@yukkysaito こちらのhotfixもmainにいれてよいでしょうか？

@taikitanaka3 はい大丈夫です！


Maya/161386 create usher button

Summary

What:

Update text in tooltip
Add a menu to the Create tree button, instead of opening Nextstrain modal directly
Move icon files to the icon folder ???
Add a new feature flag for usher work
Create a [ff hidden] menu option for usher trees
There were some uncommitted package-lock changes

Ticket: [sc-161386]
Env: https://ushermenu-frontend.dev.genepi.czi.technology

Demos

Notes
The design shows a particular alignment for the menu. Unfortunately SDS' Menu didn't previously allow for custom menu alignment. I have added that functionality here, and will bump the czifui package version in package.json whenever there is a new SDS release.
Checklist

[x] I merged latest trunk
[x] I manually verified the change
[x] I added labels to my PR
[ ] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

My only note is that you might want to get Product/Design approval on the feature flag aspect since it's still a change to how the app behaves even when usher flag is false. Instead of clicking it and going directly into the modal on click, it will bring up a 1-item menu as an intermediate step. I think it's fine, but I'd verify that with them that it's okay for the next couple weeks to look like that. Since we now have feature flags, I assume we'll actually have this code running on Prod pretty soon, so approval seems necessary to me.

Will merge pending approval https://czi-sci.slack.com/archives/C01HYJYA50W/p1633039550209500


Jest runner globalSetup / globalTeardown

Summary
Using jest runner with globalSetup and globalTeardown seems to "break" the test runner.
In fact it looks like the runner does not (always?) trigger globalTeardown.
Stryker project
Here is a test project to showcase the behavior: https://github.com/homersimpsons/stryker-jest-async
On one run I have 5  "Runtime errors" (about half of all the mutants) due to a file.txt not deleted
Note that the odd.js function has 3 else if just to generate mutants.
Your Environment

software
version(s)

node
v18.15.0

npm
9.5.0

Operating System
Ubuntu 22.04.2 LTS

Add stryker.log
stryker.log
If you need anymore details feel free to ask.
If you have any reduction, feel free to open a Pull request to help diagnose the issue.

I just reduced a lot the test case.
The issue does not involve async. I think the issue is that the globalTeardown is not (always?) called

Hi @homersimpsons (😍 love the username!)
This is a classic case of shared resources across multiple workers. Stryker runs jest multiple times in parallel in the same sandbox directory. So it is probable that the file was created by one worker, and another worker is also trying to create it.
To solve this issue you can either run with --concurrency 1, or use the process.env.STRYKER_MUTATOR_WORKER to create a file per worker..
See also https://stryker-mutator.io/docs/stryker-js/parallel-workers/

This is a classic case of shared resources across multiple workers. Stryker runs jest multiple times in parallel in the same sandbox directory. So it is probable that the file was created by one worker, and another worker is also trying to create it.

Okay, this is exactly the cause. Because there were multiple sandbox directories I thought that Stryker was running one mutation per sandbox.
Maybe this should be clarified somewhere in the documentation ? I cannot seem to remember reading this.

To solve this issue you can either run with --concurrency 1, or use the process.env.STRYKER_MUTATOR_WORKER to create a file per worker..

Thank you for the approaches suggestions. I will try with the --concurrency 1 flag, if this is too long I will update the tests to use the process.env.STRYKER_MUTATOR_WORKER environment variable.

See also https://stryker-mutator.io/docs/stryker-js/parallel-workers/

Yes I did check that, but as this was mentioning the database use case I thought this was not applicable to my use case, because of course all the test will use the same database. But to me the test directories were isolated one from the other (thanks to the sandboxing).


Add tests for parsing of CSI_ENDPOINT

I had a version of these tests in my local csiutils package that I was using before gocsi was created. I see no harm moving them here.
Only difference I had was that in my utils, I did only allow a UDS for the network connection, and my tests checked for that. So I've modified TestInvalidCSIEndpoint to just look for junk/typo'd protocols instead.

Hi @codenrhoden,
I am also currently working on a test patch using Ginkgo. So if you're okay with me merging this but then turning around and refactoring it into the suite I'm creating then I'll go ahead and merge it.


Sqlc generating string field instead of custom type

Version
1.10.0
What happened?
I created a new postgresql type:
CREATE TYPE "location_coordinates" AS (
    longitude       double precision,
    latitude        double precision
);

And then I use it in a table:
CREATE TABLE "table" (
  ...
  "location_coordinates" location_coordinates NOT NULL,
  ...
);

Generated model contains string instead of generating the proper type
type Table struct {
	...
	LocationCoordinates string
	...
}

Playground URL
https://play.sqlc.dev/p/2dbb77a8eb5cd8aaa6ad076785d53033bfc814bbbdb2806d719403f2aeaf992b
What operating system are you using?
Windows
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

Tracking in #2760


Make prettier ignore crlf / lf / cr issues

What it says on the tin.

I think this is fixed now, closing


Fully implement the GFM spec

See https://github.github.com/gfm/#autolinks-extension-

Implemented via #6


Redux Form not compatible with Login/passwords

Hello,
It woudl appear you can not use Redux Form for Login/Password forms.  The problem is with autofill.  The browser wants to allow the user to save the values, but browsers do not seem to fire any kind of onchange on password fields when they are auto-filled.
Therefore, my form renders with all the fields having values, however Redux Form believes that only the username is filled in and the password field is empty.  This changes the first time Redux Form fields are blurred, but that is a problem as when the forms are auto filled, the fields may not need to be blurred at all.

So this is more of a React issue from what I can tell when I ran into this. I haven't checked React v15 yet but the crux of the issue is that the onChange event doesn't fire on autofill on android. What happens is that because the input in redux-form are controlled, the state gets out of sync with what is actually the value in the dom.
I remember researching this a ton and there wasn't an elegant solution that I could find. On my input form group, I ended up creating an autofill interval to help solve it.
    componentDidMount: function() {
        if(is.mobile()) {
            this.autoFillInterval = setInterval(this.checkIfAutofilled, 1500);
        }
    },

    componentWillUnmount: function() {
        if(this.autoFillInterval) {
            clearInterval(this.autoFillInterval);
        }
    },

    checkIfAutofilled: function() {
        const mainInput = this.refs.mainInput;
        const currentVal = this.props.field.val;
        if(mainInput && mainInput.value !== currentVal) {
            this.onChange({
                target: {
                    value: mainInput.value
                }
            });
        }
    },

This wasn't a great solution but it worked

Yes, my research on this has also been fruitless.

This technique seems promising as well. https://medium.com/@dschmidt1992/auto-fill-with-redux-forms-9b51ad8ef962

@echenley, did you manage to get that solution to work. I'm reasonably new to React but there seemed to be some issues with retrieving the autofilled values. Was hoping you might have managed to crack it...

For anyone coming here still, the react-autofill package solved this problem for me really well.  Just wrap your form component with this higher order component (HOC) and it will search through the nested form and apply a similar watch and update timer to the form elements.
https://www.npmjs.com/package/react-autofill
I used it like this:
import React from 'react';
import { compose } from 'redux';
import autofill from 'react-autofill';
import submit from './submit'; // my custom submit handler

const MyReduxForm = (props) => {
  const { handleSubmit } = props;
  return (
    <form onSubmit={handleSubmit(submit)}>
        ... // my redux form fields go here
    </form>
  );
};

export default compose(
  reduxForm({
    form: 'MyReduxForm', // a unique identifier for this form
  }),
  autofill
)(MyReduxForm);


No longer able to extract a type from an intersection

Compiler version
Does not compile on 3.4.0 (or 3.0.0, 3.1.0, 3.2.0, 3.3.0)
Does compile in 2.13.12
Minimized code
sealed trait InIntersection[I, A] {
    type R // Remaining types in the intersection Int
}

object InIntersection {
    implicit def derived[A, R0]: InIntersection[A & R0, A] = new InIntersection[A & R0, A] {
        type R = R0
    }
}

implicitly[InIntersection[Int & String, Int]]

Output
[error] No given instance of type IntersectionBug$_.this.InIntersection[Int & String, Int] was found for parameter e of method implicitly in object Predef.
[error] I found:
[error]
[error]     this.InIntersection.derived[A, R0]
[error]
[error] But method derived in object InIntersection does not match type IntersectionBug$_.this.InIntersection[Int & String, Int].
[error] implicitly[InIntersection[Int & String, Int]]
[error]                                              ^
Error compiling project (Scala 3.4.0, JVM (17))
Compilation failed

Expectation
I would expect it to compile. It does compile with scala 2.13.12 (if I change the & to with).

It does compile with scala 2.13.12 (if I change the & to with).

You want -Xsource:3.

Minimization:
class InIntersection[I, A]

def derived[A, R0]: InIntersection[A & R0, A] = new InIntersection[A & R0, A]

val x: InIntersection[Int & String, Int] = derived // error

Here is the error with -explain
-- [E007] Type Mismatch Error: ../new/test.scala:5:43 --------------------------
5 |val x: InIntersection[Int & String, Int] = derived
  |                                           ^^^^^^^
  |                               Found:    InIntersection[A & R0, A]
  |                               Required: InIntersection[Int & String, Int]
  |
  |                               where:    A  is a type variable
  |                                         R0 is a type variable
  |-----------------------------------------------------------------------------
  | Explanation (enabled by `-explain`)
  |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  |
  | Tree: derived[A, R0]
  | I tried to show that
  |   InIntersection[A & R0, A]
  | conforms to
  |   InIntersection[Int & String, Int]
  | but none of the attempts shown below succeeded:
  |
  |   ==> InIntersection[A & R0, A]  <:  InIntersection[Int & String, Int]
  |     ==> Int  <:  A
  |       ==> Int  <:  A in frozen constraint
  |         ==> Int  <:  Int & String in frozen constraint
  |           ==> Int  <:  String in frozen constraint  = false
  |       ==> add constraint A >: Int , constraint =  uninstantiated variables: A, R0  constrained types: [A, R0]: InIntersection[A & R0, A]  bounds:      A >: Int & String <: Int & String      R0 >: Int & String  ordering:  co-deps:  contra-deps:
  |         ==> Int  <:  Int & String in frozen constraint
  |           ==> Int  <:  String in frozen constraint  = false
  |         ==> Int  <:  Int & String
  |           ==> Int  <:  String  = false
  |
  | The tests were made under a constraint with:
  |  uninstantiated variables: A, R0
  |  constrained types: [A, R0]: InIntersection[A & R0, A]
  |  bounds:
  |      A
  |      R0
  |  ordering:
  |  co-deps:
  |  contra-deps:
   -----------------------------------------------------------------------------

Interestingly it compiles OK if the second type parameter is dropped:
class InIntersection[I, A]

def derived[A, R0]: InIntersection[A & R0, A] = new InIntersection[A & R0, A]

val x: InIntersection[Int & String, Int] = derived

Hint to issue reporters: If possible avoid reference to summon, implicitly, =:=, or <:<, or other implicit mechanisms. It just increases the footprint where the error could be. Of course, if the error is linked to implicits and cannot be reproduced without them, do report it like that.

The example also compiles if the order of parameters is reversed:
class InIntersection[A, I]

def derived[A, R0]: InIntersection[A, A & R0] = new InIntersection[A, A & R0]

var x: InIntersection[Int, Int & String] = derived

What happens in the failing example is that the first constraint A & R0 =:= Int & String is handled first. It results in both A and R0 being instantiated to Int & String. Then the second constraint A =::= Int fails.

We could maybe try to re-order the comparison of type arguments, delaying constraints that look hard. A hard constraint would be one that has a & on the LHS or an | on the RHS, since both of these need a fork via either.


💄 Collections - Fix header UI on mobile screens

Breaking down #4473 . The collections list page header isn't formatted properly for mobiles.

[x] Fix padding with burger icon
[x] Fix filtering section styling

Figure: Collections list page header not displaying properly on mobile

Merged into main - awaiting on a new TinaCMS release.


chore: add open source projects

Fixes Issue
Closes #2011

Changes proposed
Added:

DevProfiles - https://devprofiles.is-an.app
DevTweet - https://devtweet.is-an.app

@rupali-codes, @Anmol-Baranwal, your turn! :)

@oyepriyansh
You shouldn't start working on the PR, if the issue isn't assigned.
Keep this in mind in the future PRs. Just a heads up!

@oyepriyansh You shouldn't start working on the PR, if the issue isn't assigned.
Keep this in mind in the future PRs. Just a heads up!

My bad, I thought this was not an enhancement or bug-fix pull request, so I can start working on it.

@oyepriyansh You shouldn't start working on the PR, if the issue isn't assigned.
Keep this in mind in the future PRs. Just a heads up!

My bad, I thought this was not an enhancement or bug-fix pull request, so I can start working on it.

The flow is for every PR, and this flow is followed everywhere in Open Source. You must be aware of it considering you manage so many good projects😅

@oyepriyansh You shouldn't start working on the PR, if the issue isn't assigned.
Keep this in mind in the future PRs. Just a heads up!

My bad, I thought this was not an enhancement or bug-fix pull request, so I can start working on it.

The flow is for every PR, and this flow is followed everywhere in Open Source. You must be aware of it considering you manage so many good projects😅

sure, i will keep that in mind next time.


snapshot missing

@cowanrc

Codecov Report
Base: 89.68% // Head: 89.68% // No change to project coverage :thumbsup:

Coverage data is based on head (3862907) compared to base (2360ec3).
 Consider uploading reports for the commit e188e12 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #72   +/-   ##
=======================================
  Coverage   89.68%   89.68%
=======================================
  Files          42       42
  Lines         659      659
  Branches      121      121
=======================================
  Hits          591      591
  Misses         68       68

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add sed and grep to the list of prerequisites

Description
Add sed and grep GNU toolchain commands to the list of prerequisites.
Context
While setting up workstations with a new team, some scripts failed and it wasn't immediately apparent that the version of the sed command had to be GNU compliant.
Type of changes

[x] Refactoring (non-breaking change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I am familiar with the contributing guidelines
[x] I have followed the code style of the project
[ ] I have added tests to cover my changes
[x] I have updated the documentation accordingly
[ ] This PR is a result of pair or mob programming

Sensitive Information Declaration
To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

[x] I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

I'm not sure about that second commit.  Ordinarily I'd say that tool names should be backticked, and the accept list should be used for actual words that vale doesn't know.  Have we got something going on here where that doesn't work?


lsp: Return null when no hover items

The spec states this value should be null when there are no hover items to show.

Closing in favour of https://github.com/StyraInc/regal/pull/721


more-itertools 9.0.0

Recipe directory diff between current master and this update:
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 358f546..d9c8eef 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,5 +1,5 @@
 {% set name = "more-itertools" %}
-{% set version = "8.12.0" %}
+{% set version = "9.0.0" %}

 package:
   name: {{ name|lower }}
@@ -7,7 +7,7 @@ package:

 source:
   url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
-  sha256: 7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064
+  sha256: 5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab

 build:
   number: 0

Jira ticket:  (-)
The upstream data:
Github releases:  https://github.com/more-itertools/more-itertools/releases
Diff between the latest and previous upstream releases
License: https://github.com/more-itertools/more-itertools/blob/master/LICENSE
Requirements:

setup.cfg:  https://github.com/more-itertools/more-itertools/blob/v9.0.0/setup.cfg
setup.py:  https://github.com/more-itertools/more-itertools/blob/v9.0.0/setup.py
pyproject.toml:  https://github.com/more-itertools/more-itertools/blob/v9.0.0/pyproject.toml

Actions:

Notes:
*
Additional info:

Package's statistics

Priority C | effort: easy | Category: anaconda | subcategory:  | pkg_type: python
Outdated platfroms: 'linux-64', 'linux-aarch64', 'linux-s390x', 'linux-ppc64le', 'osx-64', 'osx-arm64', 'win-64'
Latest version: 9.0.0
Release on PyPi:

version: 9.0.0
date: 2022-10-18T13:44:44

PyPi history
Popularity:

3 months downloads: 572979.0
All time:  10575511 downloads -  more-itertools  9.0.0  More routines for operating on iterables, beyond itertools

Other checks:

[ ] Check the pinnings

[ ] Verify that the build_number is correct

[x] has setuptools

[x] has wheel

[x] pip in test

[ ] Verify the test section

[ ] Verify if the package is architecture specific

[ ] Verify that private modules are not mentioned in the recipe For example: (_private_module)

[x] license_file: LICENSE is present

[x] license_family MIT is present

[x] License: MIT
[x] License is spdx compliant

Check if the license identifier has correct name from the SPDX License List

Identifier

MIT

MIT-0

MIT-advertising

MIT-CMU

MIT-enna

MIT-feh

MIT-Modern-Variant

MIT-open-group

MITNFA

Check dependency issues:

../aggregate/more-itertools-feedstock/recipe/meta.yaml
Dependencies: ['python', 'python >=3.5', 'pip', 'setuptools', 'wheel']
noarch:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

linux-64:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

linux-ppc64le:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

linux-s390x:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

osx-64:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

osx-arm64:

py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

win-64:

py3.7:  No issues found
py3.8:  No issues found
py3.9:  No issues found
py3.10:  No issues found

Package Build Score: 17

Links:

Anaconda Recipes feedstock
Update branch
conda-forge recipe
PyPI
Diff between upstream and feature branch
Diff between origin and feature branch
The last merged PRs

Updating the recipe:
If the recipe needs additional modification the update branch can be modified. Note that the PR diffs are not updated with these changes.
git clone -b 9.0.0 git@github.com:AnacondaRecipes/more-itertools-feedstock.git

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_5f3gqt3nf4/clone/recipe/meta.yaml:43: missing_description: The recipe is missing a description
Warnings were found