pwsh.exe executable does not work in Windows Task Scheduler

Hi,
I was using powershell.exe for my current script  in task scheduler without problems. I installed Powershell 7.1 through Microsoft Store and when I look at add/remove files I see it as installed. When I changed the program/script to pwsh.exe I started getting file not found errors, reading issue #13302, I thought it was the path that was the problem. When I run where pwsh.exe I get 2 paths:
1) C:\Program Files\WindowsApps\Microsoft.PowerShell_<IP_ADDRESS>_x64__8wekyb3d8bbwe\pwsh.exe
2) C:\Users\user1\AppData\Local\Microsoft\WindowsApps\pwsh.exe

Looking at user1's Path, I see no 2, which provides why it runs interactively. Looking at system path, none are listed, which is why task scheduler fails. I am not clear on how to solve this. if I enter no 1 in system's path, whenever application is automatically upgraded, it will become invalid and script will fail. if I enter no 2, it depends on user1 being available which I think is the best approach.
Could somebody propose the best action here?
Environment data

Name                           Value

PSVersion                      7.1.0
PSEdition                      Core
GitCommitId                    7.1.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT

It seems like you have installed PowerShell through the Windows store and while the true executable is at C:\Program Files\WindowsApps\Microsoft.PowerShell_<IP_ADDRESS>_x64__8wekyb3d8bbwe\pwsh.exe there's a lot of stuff that goes on in the background here.
The folder C:\Program files\WindowsApps is a special folder that restricts the users that can open it up and enumerate the contents and execute things

You can see that Administrators can only list the contents and only a subset of others can read/execute. The Users groud does have this right but only when that particular condition is met. To deal with this, Windows creates an AppExecLink in C:\Users\<username>\AppData\Local\Microsoft\WindowsApps which points to the relevant executable in C:\Program Files\Windows\Apps\<app id>. Because the WindowsApps in your useer's appdata path is in the PATH for that user when they call pwsh.exe Windows will pick up that AppExecLink do some trickery with your logon token so the WIN://SYSAPPID condition can now be met and it's able to open pwsh in C:\Program Files. This is a reason why Windows Store apps must be installed per user account as opening programs like this must be done through that AppExecLink which is stored in the user's profile.
So when running it as a scheduled task then it should be running as the account the Windows Store/appx pwsh was installed to. If you are wanting to run as SYSTEM you could potentially hard code the full path to pwsh.exe in C:\Program Files\WIndowsApps but that would mean you need to update your path everytime it is updated. You might even be able to install the appx in the context of the SYSTEM account using something like psexec but I honestly wouldn't be surprised if that doesn't work. You could also just install it like a normal msi and have it work like powershell.exe.

Why not just use the Install-PowerShell script on GitHub and either install it with the MSI, or into the folder you want. That avoids all the store stuff.

Basicly what you are saying, If you want to use PS 7.x from Microsoft store (that automatically upgrades itself) you can't use it from Task Scheduler.  back to chocolatey then.

That is a remarkably silly conclusion in my view.
I have Pwsh 7.1 installed on a bunch of domain servers and all can use it just fine even with task scheduler. Try using the Install-PowerShell script on GitHub. Get it at https://github.com/PowerShell/PowerShell/blob/master/tools/install-powershell.ps1.
IMHO, the store is for consumer apps - not serious domain tools. If you want to manage a domain, install it from the real source. Chocolately is a non-supported repository. If support matters, use a more supported approach.

Thomas,
I respect your opinion but marking sombody's opinion as silly, not grown up is not professional and should not be part of this forum, especially not knowing the specifics of their environment, and the problems they are trying to solve. Contribute only if it benefits this community.
The real problem here is how to keep Powershell updated which is a systems management problem not an installation problem. @jborean93's answer is elaborate but does not resolve this issue.  I am sure you know pretty well that if you are managing a domain you would never use the mentioned URL to update your 100's of servers/clients individually. Installing it from the Microsoft store for business or using a system management tool such as chocolatey are two different ways to solve this. Above answer is important as it highlights a pitfall for Office365 users who want to leverage Microsoft store app for their system management.

The real problem here is how to keep Powershell updated

Hi,
it gets automatically updated with Microsoft update now.

p.s A Windows update is specifically for the Windows OS and drivers. Whereas a Microsoft Update is for more Microsoft products and apps like Office and others, in this case, PowerShell too.

One small issue using WU. If you are using a LTS version  (eg 7.2.x), WU does not update your version to a 7.3.x release.  A small thing but you can work around it if necessary.


Feat - Persistence of shared business partners (Sites + Logistic Addresses + Legal Entities)

When a sharing member shares a business partner via the Gate API, the information can be persisted in the database. If the information is already present in the database, then the entries are overwritten and updated. First implementation for the Sites logic. Relationships between Legal Entities and Addresses already on place.

updates issue #150


Port the MessageBox component and global client exception handler (#2460)

This closes #2460

It has been mistaken


fix: e2e automation tests

Describe your changes
Ticket: https://pins-ds.atlassian.net/browse/ASB-1805
The PR fixes the e2e automation tests that were failing as they were out of date. The file changes looks quite large but its mostly the same changed across multiple files. The most common changes are:

Link paths changing in register journey
Pagination defaults changing from 20 to 25
Various display texts being slightly different

All passing tests:

Type of change 🧩

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[x] I have made corresponding changes to the documentation
[x] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[RFR] Gemify

Ping @cadejscroggins for review. :)

Looks fine, not much to comment on as it's just a wrapper around the script. The gem spec should be filled out name, version, description, homepage and license

They are. We just read it from the package.json file.

Ah my bad. This is what happens when a JS dev writes a ruby gem.

Hahaha! :D

Looks good. As long as you're cool with having different names for the executable (sprite.sh for npm and spritesh for gem).

Actually the npm executable won’t be sprite.sh but spritesh. In package.json, "bin": "bin/sprite.sh" is a shortcut for "bin": { "spritesh": "bin/sprite.sh" }. The executable is spritesh.

Ahh. In that case. Looks great! We just won't be able to push to RubyGems until version 1.0.8 thanks to me (:

I just noticed though—the Ruby wrapper needs to have its permissions set to 755.

Done! Nice catch. :)

Thank you very much for your time @cadejscroggins, super happy to have everything here. :)

Not a problem. Glad I could help. Thanks for making it in the first place! Has saved me a bit of hassle.


DESIGN_ME : an interior design company website

Describe the project you want to add with tech stack
an interior design company website
tech stack - HTML , CSS , BOOTSTRAP
https://user-images.githubusercontent.com/91176055/182630884-a6f8ad90-c493-4019-9d0d-f89eebdb03f9.mp4

@pranjay-poddar please assign


No option handler

Hi,
is there a "no-option-handler" to be used when no option is given so somebody can invoke an default option or handler/delegate?
Regards

@maddinthegreat You can use the "Validate" overload of either Command or CommandSettings to do this.


Add Hybrid Recommendation System for Model Selection

I have implemented a Hybrid Recommendation System that helps users select the most appropriate machine learning models based on the type of dataset and the task (e.g., classification, regression). This system combines content-based filtering (recommending models based on dataset features) and collaborative filtering (ranking models based on user feedback).
Code Overview:
recommend_based_on_data_type(data, task_type):
This function analyzes the dataset and task type to suggest suitable models. For example, models like CNN and ResNet are recommended if the data is images and the task is classification.
get_user_feedback(model):
This function retrieves user feedback for a specific model. If feedback exists, it returns the average rating for the model (on a scale of 1-5); otherwise, it informs that no input is available.
hybrid_recommendation_system(data, task_type):
This function combines the two approaches:
It first recommends models based on the dataset type and task (content-based filtering).
Then, it ranks these recommendations based on user feedback (collaborative filtering), so models with better feedback are prioritized.
To use it:
You can directly call the hybrid_recommendation_system() function from your script or in a Jupyter notebook.
The system can be enhanced by adding more models and feedback or integrating it into a larger platform for ML model selection.
I am happy to collaborate on improving this further!
Please review the changes and consider merging this into the project. Let me know if there are any changes or suggestions!

@sanchitc05 add readme file with proper description and attach results also show here
Keep this implementation under Recommendation systems folder
Mention the issue you solved

@sanchitc05 add readme file with proper description and attach results also show here
Keep this implementation under Recommendation systems folder
Mention the issue you solved

Okay, I'll do it soon and generate a new pull request. Also, I wanted to tell you that I left space in the code to add the data in it. Because as this is a Hybrid recommendation system, it needs both content and statistical data to do content based and collaborative filtration and recommend the best output possible to the user. I will mention this in readme too and add some other important details too. If you want anything specific, let me know.


Fix link format for typings

Syntax was switched around and led users to https://github.com/urish/angular2-moment/blob/master/typings instead.

Thanks!


pe threads sleep on condition variables

Original author: Jim Phillips (jcphill)
Original issue: https://charm.cs.illinois.edu/redmine/issues/620

Currently when a PE is idle in smp or multicore builds it will poll either continuously or with fixed-length sleeps in sleep-on-idle mode.  For power-sensitive platforms such as tablets and laptops or for hyperthreads sharing the same hardware it would be potentially more efficient and faster to have PE threads sleep on a condition variable, letting the thread sleep until a message was actually posted.  I am not sure how to combine condition variables with periodic calls.

Original date: 2015-02-23 20:34:04

For whoever comes along to implement this, the system call you're looking for is probably pthread_cond_timedwait.

Original author: Nikhil Jain
Original date: 2015-08-18 15:26:53

bil

Original date: 2016-02-15 20:31:57

Gerrit patch: ~~https://charm.cs.illinois.edu/gerrit/#/c/1058/~~ https://github.com/UIUC-PPL/charm/commit/fa66333076c471c7192f370ff01ca11ae003f5e4

Original date: 2016-03-03 21:09:45

pthread_cond_timedwait is already implemented. The comm thread sleeps on a 10ms timer or untill a message arrives.
We concluded that there is no need to implement another version where a comm thread sleeps only until a message arrives.
I have abandoned the gerrit commit.


missing key point

it will be nice to note:

what happen if there are multiple user filters applied to one user
what happen if there are system filters and user filters  applied to one user
what is the purpose of filter template

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

ID: 3e5ad8c9-4f57-1c93-c424-71eb34e67d7c
Version Independent ID: 4012d1b9-77c0-06d4-21b6-02869e59ecad
Content: Choose the records to synchronize between Dynamics 365 for Customer Engagement apps and Outlook or Exchange
Content Source: ce/admin/choose-records-synchronize-dynamics-365-outlook-exchange.md
Service: crm-online
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@RobertZhangCanada
Thanks for the feedback. I've submitted your request to the product group. We'll review and consider for updates to the documentation.


Unrecognised structure: Ident(TermName("parseSentenceFn")) on refactoring

When making a change that should be a refactoring a compile error is encountered.
This compiles,
(xClient.parseSentence _).when(*).onCall { p: String => parser(p)}

This fails to compile,
val parseSentenceFn = xClient.parseSentence _
parseSentenceFn.when(*).onCall(parser)

ScalaMock: Unrecognised structure: Ident(TermName("parseSentenceFn"))

Thanks for the bug report.
It should be easy to fix.

This caught me too. We managed to work around it for the moment by forcing the implicit conversion to happen at the val declaration, something like:
val parseSentenceFn: StubFunction[_,_] = xClient.parseSentence _
parseSentenceFn.when(*).onCall(parser)

Hope that helps until the bug is fixed!

:beer:


Lidar position not adjusted

Hi,
I am trying to use the TurtleBot3 with the OpenManipulator-X in ROS2.
I wanted to see the difference in position of the lidar scanner, when mounting the OpenManipulator, since it has to be moved forward.
But the urdf-files from the original TurtleBot3 package use the same offset.
Also, I am not sure how to align the lidar scanner properly, when moving it. Normally the disc is at the center, but no new reference is given.

To adjust the position of the LiDAR scanner when mounting the OpenManipulator-X, you will need to manually update the URDF file to reflect the new offset. You can modify the origin tag for the LiDAR link in the URDF to move it forward. Be sure to align the scanner by adjusting the position and orientation values so that the disc remains centered after moving it. Unfortunately, no automatic reference is provided, so it may require some trial and error to get the alignment correct. I will close this issue as it has been open for too long.


test(cli): ignore foundry compiler warnings

inspired by https://github.com/latticexyz/mud/pull/2403#pullrequestreview-1927451556
enabled by https://twitter.com/PaulRBerg/status/1625131427737088001

We should not disable these warnings, they are caused by an unused param fixed in https://github.com/latticexyz/mud/pull/2410


Error occurs only after installing application: The type initiliazer for 'SkiaSharp.SKTypeface' threw an exception.

Issue:
I've been getting this error from my ScottPlot wrapper's constructor:
"Fatal Error: Exception has been thrown by the target of an invocation."
And the inner exception is:
"The type initiliazer for 'SkiaSharp.SKTypeface' threw an exception."
The error trigger on this line in my constructor:
MyPlot = new WpfPlot();
Funny thing is, while I'm running it from Visual Studio, it's no issue. After we created a setup wizard and installed the application, then this error pops up.
We've been unable to find a solution, and we were wondering if you had any idea where we might have to look.
ScottPlot Version:
Tried both <IP_ADDRESS> & <IP_ADDRESS>

I have also encountered similar issue.
when trying to add FormsPlot control on form via VS designer, control creation fails with an exception:

My project targets .net framework 4.7.2.
According to this link the exception can occur when targeting .net framework. The article suggests to create plot control programmatically. Still, will there be a fix for .net framework projects?

Hi @Graat and @BohdanPylypchenko

I think this has been fixed in #4425 which will be released in the next NuGet package

For now, this workaround works for .NET Framework projects where Visual Studio crashes at design time: https://scottplot.net/faq/add-winforms-programmatically/


merge package from arlac77/npm-package-template-esm-only

.travis.yml

chore(travis): remove node versions 12.2.0
chore(travis): add node versions -10,-11,-12,12.3.0

.npmignore

chore(npm): update .npmignore from template

Coverage remained the same at 70.486% when pulling bec7ec732d8b6898cc5e006effd2bb354fbcadc3 on template-sync-1 into 29bed6b29f1c16f3b58833d2a99d53353de52a00 on master.

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


XHPRoot should probably declare ::toString and ::asyncToString

both implementations have it
this makes it easy to render the result of a function that returns an XHPRoot

Unless the goal is to remove the require extends :x:composable-element, composable-element extends :xhp which has both ::toString and ::asyncToString.
Hack (HHVM 3.9.1) has no problem with the following code:
<?hh // strict

function lol(\XHPRoot $x): string {
	return $x->toString();
}


Update diener to enable polkadot companions that use new crates

Diener will be updated in the CI image to make it possible to have
companions that add new crates from Substrate.
Besides that the wasm-bindgen is updated, because 0.2.70 is not
available anymore on crates.io.

bot merge

@bkchr need to update the lock file?

Ohh :P Ty

bot merge

bot merge


Render videos while building documentation

List of Changes

Build a Sphinx extension that creates a .. manim:: directive so that videos are generated directly when building the documentation.

Motivation
I don't really like that gifs + videos have to be added to the source files of the documentation.
Explanation for Changes
With this, the figures are generated from the code in the documentation.
Testing Status
Building the documentation works locally.
Acknowledgement

[x] I have read the Contributing Guidelines

Okay, so this is something like a proof of concept for a .. manim:: Sphinx directive that allows rendering videos directly when building the documentation.
Before I start polishing / documenting this, I'd be interested in opinions. :-)

Another great suggestion, thanks @behackl.
I see two main issues to sort out here.
First, this means that building the docs will take a long time (manim is not the most efficient software eh). Especially after doing make clean -- this will basically mean that all scenes in the whole documentation will need to be rebuilt.
Second, there has been ample discussion about not storing rendered manim scenes in the documentation (or indeed in this repository at all). See #308 and discussion therein. If we implemented either a different repository, or a custom CDN for this, would this directive be able to use those?

First, this means that building the docs will take a long time (manim is not the most efficient software eh). Especially after doing make clean -- this will basically mean that all scenes in the whole documentation will need to be rebuilt.

True. I don't think this is a big issue though: building the documentation is, AFAIK, not included in the pipeline -- and I also think that there could be a flag that skips compilation of the videos, if rendering reST should become a part of the pipeline as well.
And a long building time of the documentation should not be too troublesome, in the end. (Maybe depending on how the documentation is deployed currently.)

Second, there has been ample discussion about not storing rendered manim scenes in the documentation (or indeed in this repository at all). See #308 and discussion therein. If we implemented either a different repository, or a custom CDN for this, would this directive be able to use those? Tagging in @kolibril13 (who is AFK for a week at the moment)

I saw the discussion. This is sort of a contribution to it, in the sense that the video files / gifs / pictures do not really have to be stored in the repository, but only generated when deploying. At least if deploying the documentation does not require a pushed git branch with all the stuff in it... which might be the case currently, now that I think about it. ;-)
(I might be able to help find a way around that, though.)
Anyways, the directive would still be helpful: it enables us to keep the code for creating the animations neatly organized within the documentation itself. If you decide that the videos should be provided via a CDN, they can be put there (automatically) after generating them from the documentation.

the video files / gifs / pictures do not really have to be stored in the repository, but only generated when deploying.

Oh snap I think this makes much more sense! So we wouldn't need a CDN or repository at all, we would just use ReadTheDocs as our hosting....
I think we would still have to iron a few things, but I like this a lot, if we can pull it off. @eulertour @naveen521kk @kolibril13

ReadTheDocs as our hosting....

Do you think we can install manim on little CI readthedocs gives? If we can some how then nice.
Or considerably, we can move to GitHub pages or Gitlab pages.

Building the docs already requires manim to be installed, so that should be no problem, as it's already being done.
The main problem would be hosting size I think.

I see this in https://docs.readthedocs.io/en/stable/choosing-a-site.html

Not sure how much space RTD gives us.

I also suspect that. But I can see Jsdelivr saying a yes that they will provide a CDN for use which is nice also we can use storage bucket ibm provides and is done.

https://docs.readthedocs.io/en/stable/builds.html - here are some more concrete numbers, but I do not find any information about their space limitation. I don't think we will hit the limit too soon, though.
Thanks for the feedback so far, by the way! I think I will continue to bring this branch to a more stable form. (And, at least on this PR, without a particular CDN in mind. This can be taken care of separately; first building everything has to work out properly.)

We are getting somewhere. There are still some hacks here and there, and documentation is also not really existent, but here is an illustration of what is currently possible:
The code

Autogenerating Videos in Documentation
======================================

.. manim:: TestExample
    :display_source:

    from manim import *

    class TestExample(Scene):
        def construct(self):
            dot = Dot()
            self.add(dot)
            self.wait(1)

.. manim:: TestExample2
    :display_source:
    :save_as_gif:

    class TestExample2(Scene):
        def construct(self):
            dot = Dot()
            self.play(ShowCreation(dot))
            self.wait(1)

.. manim:: TestExample3
    :save_last_frame:

    class TestExample3(Scene):
        def construct(self):
            dot = Dot()
            self.add(dot)
            self.wait(1)
            dot2 = Dot()
            dot2.next_to(dot, RIGHT)
            self.play(ShowCreation(dot2))
            self.wait(1)

renders into the page hosted at https://manim.hackl.space/examples/playing_around.html.
TL;DR: The generated videos / gifs / pictures can be customized quite a bit by options like :display_source: and :save_as_gif etc.
Question: what should actually be customizable? Should custom resolutions in the documentation also be possible? Or do we want to stick to the / some default?

I see two options here: either we implement a few of the necessary config options, OR we find a way to add some hidden code at the top of each code block.

If we implement something that is able to recognize and then hide the corresponding lines, we'd have to be careful I suppose. Always removing everything before class ... seems a little brutal, and parsing line by line might be difficult if some arguments are passed in multiple lines.

If so, then we won't need to implement dozens of :sphinx_options:.

I suppose that with :display_source: and :save_last_frame: the most important options for day-to-day documentation writing business are more or less covered.
In theory, it would also be possible to implement something that is able to customize everything by doing something like

.. manim::
    :render_config: {'some_key': some_value, ...}

    class TestExample(Scene):
        ...

I think I'd prefer an approach like this over having to parse code in order to decide what should be hidden. (Also because I think that there should not be too many figures where we would want to customize a lot of options here.) :-)

That makes a lot more sense actually. So let's try to see how far we can go with :display_source: and :save_last_frame: and perhaps :low_quality: et al?
In the odd chance that a scene needs to change the config, we might as well show the code that does that.

b9f2974d adds a custom HTML formatting for videos with included source code that looks like this:

cbabe7d7 allows using the directive in doctests settings (i.e., where lines are prepended by >>>  and ... ),

ef5185be allows choosing custom render quality via the :quality: option

c8b34e01 adds some documentation.

I think this covers basic functionality more or less.

I've replaced the statically included source files in 0a11b2fd, and replaced them with the manim directive.
The resulting documentation can be inspected here: https://manim.hackl.space/tutorials/quickstart.html + https://manim.hackl.space/tutorials/a_deeper_look.html

I just realized another positive aspect for the documentation: the videos / images included there are then automatically rerendered with the latest version of the engine.
Anyways, this branch is feature complete in the sense that it introduces basic functionality of the directive. Review at will. :-)

Agreed! Before merging, I'm interested in what @kolibril13 has to say regarding this addition and the secondary repository for examples. If we merge this PR, it seems like we can forget about a second repo for a while.

Wow, this is really really nice!
I also like the idea of using:
    config['save_last_frame'] = True
    class MyScene2(Scene):
        def construct(self):
            some_code_here()

and then hiding the first lines, because then one can write the manim scripts and just copy them into the docs to be rendered.
Maybe one could write a regular expression for that, so it won't be necessary to put this in the exact line.
The regular expression could be something like:
Look in the first 10 lines for "save_last_frame" and check if it is followed by True.
But the other idea, to use the sphinx internal syntax would be also ok.
I agree that in this case, a second repo would make no sense.
And further, it makes is so much more convenient to quickly add new scenes without carrying about any references to further clouds.
Is there maybe an option that rebuilds care only the changed files in the docs, and not everything?
Then the building process could be fast.
And the whole build of everything could e.g. be automated to happen once in a week.

I also like the idea of using:
    config['save_last_frame'] = True
    class MyScene2(Scene):
        def construct(self):
            some_code_here()

and then hiding the first lines, because then one can write the manim scripts and just copy them into the docs to be rendered.
[...]
But the other idea, to use the sphinx internal syntax would be also ok.

When implementing more flexibility to the directive in a follow-up PR, I think I'd still prefer to allow passing a dict in the directive options over parsing and (optionally) hiding written lines of code.
Imagine, otherwise, that you would like to hide several config options (like in order to only save the last frame or so), but at the same time show how the background color can be changed. This is why I think it makes sense to have the option to show how to set some options (by putting them in the code block) while still hiding others (by passing them as options to the directive).

I agree that in this case, a second repo would make no sense.

I fully agree, just to also say that explicitly somewhere.

And further, it makes is so much more convenient to quickly add new scenes without carrying about any references to further clouds.

Yes! The ultimate goal is to make it really easy to add examples to the documentation.

Is there maybe an option that rebuilds care only the changed files in the docs, and not everything?

Sphinx automatically only processes changed files. If there are multiple examples in one file, then the situation is more complicated... maybe we can investigate.

And the whole build of everything could e.g. be automated to happen once in a week.

Or whenever something is deployed to master.

Agreed, let's go with the sphinx directive and forget about hiding code.
As for building the documentation: like @behackl says, locally sphinx will only rebuild what needs to be rebuilt. On RTD, it will always start from scratch every time, but that's less of an issue I think.
So @behackl let's go ahead with this PR! @kolibril13 let's forget about the second repo and cloud CDN for now. Could you please close the relevant issues related to that? Thanks!

So @behackl let's go ahead with this PR! @kolibril13 let's forget about the second repo and cloud CDN for now. Could you please close the relevant issues related to that? Thanks!

Alright.
yes, I can do that.

Done; the pipeline looks better than before. :-)

This current commit managed to deploy to https://behackl-manim.readthedocs.io/en/manim-sphinx/tutorials/quickstart.html -- basically.
The trick is that the readthedocs build image contains pretty much all of our dependencies, with the exception of ffmpeg. To get around that, I've prepared a conda environment (because RTD supports that) which includes ffmpeg -- and that actually works.

Heavens! That was a bit of a journey, sorry for all the notifications all these pushes have caused.
Anyhow: we're back to a working version, without the need of conda (thanks to a hint by @naveen521kk). This branch deployed successfully to https://behackl-manim.readthedocs.io/en/manim-sphinx/. There is nothing to configure on the side of RTD, everything is configured in the new .readthedocs.yml and the modified docs/source/conf.py.
Review at will! (Also, see https://github.com/ManimCommunity/manim/pull/402#discussion_r485981095 for the modification to hashing.py.)

I'm leaning toward merging this ASAP, but there is one thing that is bothering me. Every time I execute make clean, all videos will have to be regenerated, no?

I'm leaning toward merging this ASAP, but there is one thing that is bothering me. Every time I execute make clean, all videos will have to be regenerated, no?

make clean clears the build directory; the media directory is located in source/media. The interesting question (can't test right now, am away from my computer) is whether caching works correctly. If it does, the building process should be very fast.
If it does not, we should think (maybe in a separate PR?) about how to enable caching for these videos, then the execution would be very fast at least. Building a separate mechanism that does that here seems, on first thought, like a re-invention of caching to me (and should thus be rather avoided). :-)

Perhaps we can make it so that make clean removes everything but those videos, and add a new make clean-example-videos or whatever, that removes those?

In principle, only make cleanall completely wipes the generated videos.

Oh ok I see cool cool cool
@ManimCommunity/scene-caching: thoughts on whether caching can work for this?

Actually, I just tested it locally: caching is already used correctly; the video is only regenerated if the underlying code changes.
There is just one thing that bothers me a little: I think that currently all scenes have to be named differently, or otherwise funky stuff might happen. I would rather like to take care of this in a follow-up issue, though.

Oh ok I see cool cool cool
@ManimCommunity/scene-caching: thoughts on whether caching can work for this?

No idea. Seeing the code, I don't see any reason why it should not be working, but it depends if manim is run in a temporary dir or in a constant dir. (I'm completely ignorant on Sphynx and everything)

Note for everyone building the docs, examples can be added like this:
SomeTestExample
=================================

.. manim:: DotScene
   :quality: high
   :save_last_frame:

   class DotScene(Scene):
       def construct(self):
           dot = Dot().set_color(GREEN)
           self.add(dot)
           self.wait(1)

.. manim:: DotScene2
   :quality: high

   class DotScene2(Scene):
       def construct(self):
           dot = Dot().set_color(BLUE)
           self.add(dot)
           self.wait(1)

Note for everyone building the docs, examples can be added like this:
SomeTestExample
=================================

.. manim:: DotScene
   :quality: high
   :save_last_frame:

   class DotScene(Scene):
       def construct(self):
           dot = Dot().set_color(GREEN)
           self.add(dot)
           self.wait(1)

.. manim:: DotScene2
   :quality: high

   class DotScene2(Scene):
       def construct(self):
           dot = Dot().set_color(BLUE)
           self.add(dot)
           self.wait(1)

It might even make sense to add a short remark like this to the guide for contributers!
Unfortunately, I have not found a way to render the docstring of the directive module: it would need to be somewhere in the manim module to enable that.


Update conditional signs to better reflect the real world signs

Based on a suggestion by @andygol, need to work on making the icons reflect real world signages, like this:

Need to explore if the icons should be made smaller or to keep the original sign of the same size and expand the canvas for each icon.

@rasagy
Here is one more example how road signs with plates looks in "wild" life 👇 in most European countries. (image from pdd.ua)


add sorting on fields in both the request and service list states

this commit also normalizes the two lists as minor styling was off previously

@AllenBW are there specs for this change?

@chessbyte spec for including the list sort?
On Oct 1, 2015 7:38 PM, "Oleg Barenboim"<EMAIL_ADDRESS>wrote:

@AllenBW https://github.com/AllenBW are there specs for this change?
—
Reply to this email directly or view it on GitHub
https://github.com/ManageIQ/manageiq/pull/4627#issuecomment-144877685.

@chessbyte updated pr to include spec files for each list state


Web - State field in connect bank account does not display selected value on revisit

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open settings
Open workspaces
Open any workspace
Open bank account, click connect manually, fill in step 1 details and continue
Click on state, select any value
Reopen state and search for any non existing value or empty the search and go back
Reopen state field and observe that instead of current selected value (like we do on similar fields like timezone, pronouns), it displays value kept in step 7

Expected Result:
App should display current selected value when we revisit state field in connect bank account like we do on timezone and pronouns page
Actual Result:
App does not display current selected when we change search in state field and revisit in connect back account.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.47-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/f6a53e64-8d19-4a18-b338-b25c1a0997b8
https://github.com/Expensify/App/assets/93399543/004ec691-06fd-4535-934c-92940fec379c
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690527470539109
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
State field in connect bank account does not display selected value on revisit.
What is the root cause of that problem?
We are setting the value for searchValue in StatePicker component, and in the company step that component is not being unmounted. And whenever we are opening/clicking on state selector, we are just changing the value of setIsPickerVisible state.
And as that component is never unmounted, the state is preserved/not getting reset.
What changes do you think we should make in order to solve the problem?
We need to set the state whenever we open or close the modal.
We have useEffect - https://github.com/Expensify/App/blob/a5373eb50f73bc8a33f7aa5e14059523c7645cf1/src/components/StatePicker/index.js#L38-L40
That sets the searchValue. We can add the isPickerVisible to dependency array.
Alternatively,
we can also set the state in showPickerModal and hidePickerModal method of StatePicker component
result -
https://github.com/Expensify/App/assets/27822551/d877b238-8e97-4ccd-a2a4-5096c94dec7e
What alternative solutions did you explore? (Optional)

Same RCA but different component - https://github.com/Expensify/App/issues/23768
I have submitted proposal there as well

We can close this as a dupe.

closing as dupe!


Expression 'a[value]' is not found in the localized string '${ a[value] } banana ${ b[value] }'.

Seems that the current validateAndFormatMsgid does not support [] notations. The main reason is that we directly interpolate variable value when creating regular expressions. And new Regexp('a[value]') cannot match the string a[value].
Added failing test case:
https://github.com/MrOrz/babel-plugin-c-3po/commit/dfdb5e154f458bba901a38ffea93ef84cc5bec41
Have not come up with a fix yet. Maybe we should not use regular expressions here...?

thanks, will look at this issue soon.

fixed in 0.5.7


Memory optimizations

Profiling shows that during full builds, memory pressure is very high (21 GB allocated during a full model update of ceylon-ide-common + ceylon-ide-intellij).
This probably makes some other CPU-related optimizations insignificant compared to the time spent in memory allocation / garbage collection.
We should look for possible memory optimizations.

The first optimization that would gain 25% memory pressure (5GB / 21 GB)  is https://github.com/ceylon/ceylon/issues/6430.

The profiler doesn't show any obvious hotspot anymore. let me close this.


Firewall unit test fix

Fixes:

Corrects Test-TargetResource and Set-TargetResource tests to ensure that when a parameter is being tested with a different value the value is actually different.
Ensured that ALL tests now use the same Firewall rule to test with (rather than change halfway through the tests).
Added Resource name to the Describe cmdlet so that what is being tested is more easily identifiable (also, makes NUNIT output useful).
Added firewall rule name being tested to each 'It' command so that NUINT output is usable - also makes them consistent.

I some how missed this. My apologizes. This looks great.

No worries! Cheers sir! :+1:


[OCMArg invokeBlock] and [OCMArg invokeBlockWithArgs:...]

@erikdoe, created a separate repo housing further tests. See the README for documentation:

Features
Use Cases
Test Log
Potential Limitations
References

This test demonstrates the main benefit that the feature brings. Behind the scenes, the GistService uses an AFHTTPRequestOperationManager to perform network requests and a lot of the testable code is contained in the blocks passed to AFHTTPRequestOperationManager's methods. The invoke constraints allow me to assume here, here, here and here, that the mock will execute the blocks.
Thanks,
Steve.

Thanks. I'll look into getting this merged. However, the following would make my life easier, and get this merged more quickly:

Respecting the coding style (placement of curly brackets, naming of instance variable). I know some people disagree with the style used in OCMock. In fact, I might do it differently today. However, the code base is what it is after 10+ years and I'd rather have it consistent.
Separate PR for the changes to the example project.

So, I've looked into some of the implementation and I must say I don't understand how testInvokesBlockWithAllDefaultArgs passes. As far as I can see calling [OCMArg invokeBlock] leaves the _params array in the caller unset, ie. nil. In buildInvocationFromBlock: there's a test in line 48-50, which tests for this condition and if _params are nil it simply leaves the invocation as is, ie. without setting any paramters. Is this okay? Does NSInvocation create default arguments reliably?

Thanks for your feedback. I'll have a chance to tackle these issues over next week.
Re [OCMArg invokeBlock]: yes I have assumed that not setting the NSInvocation arguments creates defaults. I also skip over any of the arguments that are NSNull here, leaving them unset.
The documentation for the invoke and invokeWithTarget methods says that:

You must set the receiver’s target, selector, and argument values before calling this method.

so leaving them unset like I have done is probably not a good idea. I'll move to creating a default based on the type encoding.
I also agree that there is no reason to store the NSInvocation as an ivar, and that buildInvocationFromBlock:.. should just return it directly.

@erikdoe

Rebased my fork against master.

Conformed to OCMock coding style.

Stripped the commit that modifies the iOS7Example application.

buildInvocationFromBlock returns an NSInvocation directly.

Default argument values are given where feasible. The behaviour is as follows:

For objects, pointers and numerical types (i.e. anything NSNumber compatible), nil, NULL and 0 are passed.
Where infeasible to construct a default (e.g. for structs) the constraint throws an NSInvalidArgumentException, prompting the user to provide their own.

New tests for the default arg behaviours.

Re-ran my further tests successfully on an iPhone 6 (iOS 8.3).

Thank you! This was super helpful.
I believe there may be one small issue left. In buildInvocationFromBlock: in the case for number types the code now looks like this: (I inlined the setArgument: call because the variable allocated in the scope of the if statement disappears at the end of the scope, making a pointer to them unreliable.)
else if(OCMNumberTypeForObjCType(typeEncoding))
{
    NSUInteger zero = 0;
    [inv setArgument:&zero atIndex:j];
}

What happens when the size of the argument is larger than sizeof(NSUInteger)?

No worries: I'm glad it was more-or-less up to scratch. To be honest, I'm not entirely sure how NSInvocation handles this case; I perhaps assumed that it used its method signature to safeguard against misaligned types. I'd be happy to include an additional commit to deal with this if you like? Perhaps something something along the lines of this function NSValue+OCMAdditions to create a default?

@erikdoe I was considering your comments about converting between numerical types and experimented a bit on my fork:

Assigned a default value on a case-by-case basis, similar to this function.
Allow only valid numerical conversions using the NSValue additions.

Let me know if you think this is of any use!
Thanks,
Steve.

Interesting idea. I think we can "cheat" a little bit, though. For all the numerical types the default value is 0 and that value is, as far as I know, always represented by a sequence of zero bytes. So we could just create a zero'd out buffer of the correct size.
NSUInteger charSize;
NSGetSizeAndAlignment(@encode(char), NULL, &charSize);
int *charPtr = calloc(1, charSize);
int charVal = *charPtr;
XCTAssertEqual(charVal, 0, @"Should have nulled value.");

NSUInteger intSize;
NSGetSizeAndAlignment(@encode(int), NULL, &intSize);
int *intPtr = calloc(1, intSize);
int intVal = *intPtr;
XCTAssertEqual(intVal, 0, @"Should have nulled value.");

NSUInteger doubleSize;
NSGetSizeAndAlignment(@encode(double), NULL, &doubleSize);
float *doublePtr = calloc(1, doubleSize);
int doubleVal = *doublePtr;
XCTAssertEqual(doubleVal, 0.0, @"Should have nulled value.");

I'll put that into the code, assuming this is an improvement of the current code, and will cover all numerical types.

I did consider using calloc but I wasn't sure whether 0 was represented as a sequence of zero bytes for all data types. If that is the case, could we do something like this in the block arg caller?
NSUInteger argSize;
NSGetSizeAndAlignment(typeEncoding, NULL, &argSize); // Using `typeEncoding` from the method sig
void *ptr = calloc(1, argSize);
[inv setArgument:ptr atIndex:j];
free(ptr)

Although I think that I read in a couple of places that there is no guarantee that all 0 bits means 0, here for example. In the end I played it safe and = 0-ed each data type individually.

As far as I can tell this won't be an issue for number types. In a3e15808dbeeb7223e1ad39bb55f8a2ae60230c5 I have made the changes exactly as you suggested. I've also moved the code out of the loop into its own method.


Using JSQMessagesViewController With External Programmatic Constraints

Hi.
We are currently trying to use this view controller in conjunction with programmatic constraints. When we set auto-layouts and constraints on the view belonging to the controller, such as :
NSLayoutConstraint.constraintsWithVisualFormat("V:[top][X][bottom]", options: nil, metrics: nil, views: views)
The view successfully resizes, but we lose functionality in the buttons and user interactive places? Any ideas? Using SWIFT currently, but an help would be great.
Library version(s) : Latest
iOS version(s) : 8
Devices/Simulators affected: iPad
Complete steps to reproduce the issue : Apply programmed constrains to the view of the messages controller
Link to a project that exhibits the issue: N/A - Can't distribute code
Screenshots/GIFs/Videos showing the issue, if applicable : N/A
Full crash log, if applicable N/A
Search for and list any issues that might be related : N/A
Thanks

Thanks @gurrkin ! :smile:
It doesn't sound like this is due to the library itself, so going to close. You might try posting on StackOverflow.
If you can repro this in the demo, let me know!


Should not declare VOLUME for /data/db

Currently, Dockerfile declares VOLUME for /data/db, /data/configdb:
https://github.com/docker-library/mongo/blob/32e5645325ae5dff2ae6f934049cbd6b4635aec0/4.1/Dockerfile#L87
This is sub-optimal, because some workflows in inherited images become excessively complicated.
For example, seeding a database from a dump now requires
RUN mkdir /data/local-db

COPY mongo-dump /var/mongo-dump
RUN mongod --fork --dbpath /data/local-db --logpath /var/log/mongodb.log && \
    mongorestore --db mydb /var/mongo-dump/mydb && \
    mongod --shutdown  --dbpath /data/local-db
RUN chown -R mongodb:mongodb /data/local-db

CMD ["mongod", "--dbpath", "/data/local-db"]

instead of just
RUN mongod --fork --logpath /var/log/mongodb.log && \
    mongorestore --db mydb /var/mongo-dump/mydb && \
    mongod --shutdown

because /data/db doesn't persist between docker build and docker run invocations.
It is proposed to remove VOLUME directive, and leave volumes configuration up to end user.

Relevant: where the change was implemented https://github.com/docker-library/mongo/pull/79

Storing the already initialized database files in the images layers is not a great idea.  Because it would be in a copy-on-write filesystem, the moment that you start a new container and MongoDB changes any of its files, it now uses twice as much space.
See also https://docs.docker.com/storage/storagedriver/overlayfs-driver/#modifying-files-or-directories:

Writing to a file for the first time: The first time a container writes to an existing file, that file does not exist in the container (upperdir). The overlay/overlay2 driver performs a copy_up operation to copy the file from the image (lowerdir) to the container (upperdir). The container then writes the changes to the new copy of the file in the container layer.
However, OverlayFS works at the file level rather than the block level. This means that all OverlayFS copy_up operations copy the entire file, even if the file is very large and only a small part of it is being modified. This can have a noticeable impact on container write performance.

And https://docs.docker.com/storage/storagedriver/overlayfs-driver/#performance-best-practices:

Use volumes for write-heavy workloads: Volumes provide the best and most predictable performance for write-heavy workloads. This is because they bypass the storage driver and do not incur any of the potential overheads introduced by thin provisioning and copy-on-write.

Have you thought of using /docker-entrypoint-initdb.d/ to have it restore the database on start instead? (hub docs)

Hi @yosifkit, thank you for your detailed explanation!
My original motivation for restoring DB at build time was to optimize container start-up time. However now it seems that the actual speed-up would only take place in read-only scenario, as in case of write operations Docker would still have to copy the huge file.
What do you believe to be the optimal way of setting-up a pre-seeded Mongo container for read-only usage?

I spent quite some time understanding why my bind volume was not being used by mongo docker image, and eventually discovered the hardcoded VOLUME in the dockerfile.
I'm fine with rebuilding the image without this declaration (which I did), even if I find it weird to force the user to use volumes when it should be up to them to decide how to store data.

I spent quite some time understanding why my bind volume was not being used by mongo docker image, and eventually discovered the hardcoded VOLUME in the dockerfile.
I'm fine with rebuilding the image without this declaration (which I did), but I find it weird to force the use of volumes when it should be up to the final user to decide how to store data.

In my case, I want to construct a seeded database image that will be the basis for runtime containers that use a persistent, named volume for /data/db in my development environment. I can't base my seeded image Dockerfile on the official mongo image because of the VOLUME declaration. (It took me a couple of days to figure out why my Dockerfile writes to /data/db were being discarded at build time--yikes!)
If I fork the official mongo Dockerfile and remove the VOLUME instruction, the resulting image works great. I can base my Dockerfile on this -no-volume base image, do RUN seed-my-database.sh at build time, then later invoke docker or use a compose file that mounts a volume at /data/db, and my seed data is copied to the volume when the container's created. Perfect.

Storing the already initialized database files in the images layers is not a great idea. Because it would be in a copy-on-write filesystem, the moment that you start a new container and MongoDB changes any of its files, it now uses twice as much space.

The storage space tradeoff is worth it for me, since it saves me so much time when I need to reset to a known state. My seeded DB is a few hundred megabytes or a gigabyte, which I can easily spare on my dev machine or CI instances.

Have you thought of using /docker-entrypoint-initdb.d/ to have it restore the database on start instead?

In my case, the DB seed process from a known DB dump takes 8-10 minutes to complete on my workstation. I may need to reset the DB to a known state dozens of times while debugging DB migrations or a new feature. That reset takes seconds if I have a seeded image, but would be untenable if I had to restore the DB every time.
I can work around it, but I'd love to see an official -no-volume variant image. I'd expect the extra maintenance effort to be very small, given that the rest of it would be identical.

In my case, I want to construct a seeded database image that will be the basis for runtime containers that use a persistent, named volume for /data/db in my development environment. I can't base my seeded image Dockerfile on the official mongo image because of the VOLUME declaration. (It took me a couple of days to figure out why my Dockerfile writes to /data/db were being discarded at build time--yikes!)
If I fork the official mongo Dockerfile and remove the VOLUME instruction, the resulting image works great. I can base my Dockerfile on this -no-volume base image, do RUN seed-my-database.sh at build time, then later invoke docker or use a compose file that mounts a volume at /data/db, and my seed data is copied to the volume when the container's created. Perfect.

Storing the already initialized database files in the images layers is not a great idea. Because it would be in a copy-on-write filesystem, the moment that you start a new container and MongoDB changes any of its files, it now uses twice as much space.

The storage space tradeoff is worth it for me, since it saves me so much time when I need to reset to a known state. My seeded DB is a few hundred megabytes or a gigabyte, which I can easily spare on my dev machine or CI instances.

Have you thought of using /docker-entrypoint-initdb.d/ to have it restore the database on start instead?

In my case, the DB seed process from a known DB dump takes 8-10 minutes to complete on my workstation. I may need to reset the DB to a known state dozens of times while debugging DB migrations or a new feature. That reset takes seconds if I have a seeded image, but would be untenable if I had to restore the DB every time.
I can work around it, but I'd love to see an official -no-volume variant image. I'd expect the extra maintenance effort to be very small, given that the rest of it would be identical.

If you add "--dbpath" or set ".storage.dbPath" in a specified "--config"
file, that value will be respected.

If you add "--dbpath" or set ".storage.dbPath" in a specified "--config"
file, that value will be respected.

If you add "--dbpath" or set ".storage.dbPath" in a specified "--config" file, that value will be respected.

I ended up using this, but it means I have to make sure compose files or docker run commands that use this image duplicate my --dbpath /mongo-data/db argument if they're providing their own command values, which isn't great or obvious. I'd really prefer to store my data in the default location.

If you add "--dbpath" or set ".storage.dbPath" in a specified "--config" file, that value will be respected.

I ended up using this, but it means I have to make sure compose files or docker run commands that use this image duplicate my --dbpath /mongo-data/db argument if they're providing their own command values, which isn't great or obvious. I'd really prefer to store my data in the default location.

If you're building an image with the data pre-seeded, you can combat that by setting CMD:
CMD ["--dbpath", "/mongo-data/db"]

(and then it'll be the default for users who don't specify a command)

If you're building an image with the data pre-seeded, you can combat that by setting CMD:

Yeah, this is the approach aparamon outlined, and it's the strategy I'm currently using.
I agree with aparamon that a seeded image is a legitimate use case, and the official image doesn't work well for seeding at build time because it contains VOLUME /data/db. The workaround for seeded images adds Dockerfile chaff, creates an extra unused anonymous volume at runtime, and it yields images that carry an asterisk: your seed data disappears when your users' containers naïvely provide their own commands (e.g. a compose file with command: --auth or a docker run --rm mongo-seeded --auth).
As a tooling developer, it would help to have an official mongo image without VOLUME so that I could build seeded mongo images that are easy-to-use drop-in replacements for the official (empty) image.

For the original use case, an init container would serve this much better. You could have an image with your data copied in and use mongorestore with the hostname of the other container. In that case you don't need to modify the default behavior and still maintain startup speed.

For the original use case, an init container would serve this much better.

This could work for some users. It seems best used with strong orchestration (e.g. docker compose) and a very small DB seed. Some drawbacks:

An init container could add a penalty of several minutes each time the DB container is recreated if your seed is more than a few hundred megs with a handful of collections and indexes, vs. seconds for an image with data baked in. This can feel really demoralizing during a dev/test loop.
A long initial import on container creation would mean the DB is up & responsive but in an invalid state until the restore is complete, which can cause other services to fail and require manual intervention after e.g. docker compose up.
Like using --dbpath in CMD, using an additional container means you have another asterisk, another step, to get a working database when you're not using orchestration or you're writing/refactoring orchestration config.

Baking DB data into your own mongo image makes it fast and simple to launch new database containers that are in a valid state from first boot, and the official mongo images don't work well as a base for that. And, it's time-consuming and difficult to figure out why your build-time data goes missing when you base your dockerfile on the official mongo images.
However, the comment polarathene linked seems to observe that buildkit treats VOLUME as EXPOSE-style advice only, and data written to volumes during build steps persists in the final image. So maybe this is... fixed by buildkit? 😶

However, the comment polarathene linked seems to observe that buildkit treats VOLUME as EXPOSE-style advice only, and data written to volumes during build steps persists in the final image. So maybe this is... fixed by buildkit? 😶

Yep!
FROM mongo:7.0
RUN touch /data/db/foo

$ docker buildx build .
...
#6 writing image sha256:1ca35025fc343c6e199f7abedad161821524f8374d78d474a923aab571d8473f done
#6 DONE 0.0s

$ docker run --rm sha256:1ca35025fc343c6e199f7abedad161821524f8374d78d474a923aab571d8473f ls -l /data/db/
total 0
-rw-r--r-- 1 root root 0 Mar 18 23:11 foo


Site admins can assign skills to users

Closes #112.

Mega Checkin!
Looks good. Did you want to add some unit tests for that new method in ClaimsExtensions?

@mheggeseth I'd also like to see some unit tests added, but let's do that over the weekend. Approving for not.

@BillWagner @dpaquette I looked into it briefly last night, but an IdentityUser is not mocked as easily as a ClaimsPrincipal because the IdentityUser.Claims collection only has a getter but no setter. What would be nice and would obviate the need for additional tests is to first convert the IdentityUser to a ClaimsPrincipal, but I haven't come upon an obvious way to get that done.


[Storage] Migrate DataLake tests to new framework

We need to migrate the DataLake tests to resolve some parallelization issues.
Adding @xiafu-msft  - you mentioned that you had some concerns about this?

Hi @annatisch, @xiafu-msft is working on this here https://github.com/Azure/azure-sdk-for-python/pull/17396
I will close this issue in the meantime. Let us know if you have any questions.


Post-Order:SearchCancellations - Unknown property exception

And another one
DTS\eBaySDK\Exceptions\UnknownPropertyException with message 'Unknown property lineItems'

Response From Ebay
{
  "cancellations": [
    {
      "cancelId": "XXXXXXXXX",
      "marketplaceId": "EBAY_GB",
      "legacyOrderId": "XXXXXXXX-XXXXXXXXXXX",
      "requestorType": "SELLER",
      "cancelReason": "BUYER_CANCEL_OR_ADDRESS_ISSUE",
      "cancelState": "CONFIRM_REFUND_PENDING",
      "cancelStatus": "CANCEL_PENDING",
      "buyerResponseDueDate": {
        "value": "2017-06-11T22:00:00.000Z",
        "formattedValue": "2017-06-11T22:00:00.000Z"
      },
      "paymentStatus": "UNKNOWN",
      "requestRefundAmount": {
        "value": 4.99,
        "currency": "GBP"
      },
      "cancelRequestDate": {
        "value": "2017-06-01T15:13:07.000Z",
        "formattedValue": "2017-06-01T15:13:07.000Z"
      },
      "lineItems": [
        {
          "itemId": "XXXXXXXX",
          "transactionId": "XXXXXXXXX",
          "itemTitle": "XXXXXXXX",
          "cancelQuantity": 1
        }
      ]
    }
  ],
  "total": 1,
  "paginationOutput": {
    "offset": 1,
    "limit": 1,
    "totalPages": 1,
    "totalEntries": 1
  }
}

The lineItems property has been added in the 36848db commit.

The missing properties have been added in the 13.0.0 release.


0.9.7 combat crash still an issue

I really like the idea of your mod but currently it is not usable. After spending several hours disabling mods to hunt down this issue(because i had no clue this mod even had mob interactions?) I found out it was indeed UniversalRemote. Also there was no indication in the crashlogs or logs indicating it was your mod. I wish you all the best with your mod and all future projects. Thanks for adding content to the community.
full crash with other mods: https://pastebin.com/VPD9mPWX
full crash with only UniversalRemote: https://pastebin.com/RvGxMVsD
MC: 1.12.2
Forge: 2515
UniversalRemote: 0.9.7

!!! Thats odd - I walked around killing monsters with no issues when I tested. Thus I thought my other changes in 0.9.7 had fixed it. Why is it different for you ... ? I will take a deeper look and see if I can guess how you are crashing with the stack trace. You probably need to remove the mod to make your game playable but please stick around so I can send you possible fixes if i can't reproduce the crash myself.

No problem. I'm subscribed to this issue so I'll get any new posts. Just let me know how i can help and we can figure this out. :)

That may explain it- I don't think i ever let them hit me (dodged all attacks out of habit) while testing. I'll check this when I get home.

Reproduced and fixed in 0.9.8


WSL2 all_tests.exe fails

Workaround
Copy maps folder in project to maps folder in Windows
https://aiarena.net/wiki/maps/

Map paths problem.
Not sure how he got it to work?
https://github.com/cpp-sc2/cpp-sc2/commit/670972075050fe905f9cef8ec8f377a7ae01342b#diff-af936db1633489b017d1e45a55448545529ebc354aeb40eda83af5db7317a6e1R161
Error:
root@DESKTOP-4EN0ECU:~/cpp-sc2# ./build/bin/all_tests.exe
Running test: sc2::TestAbilityRemap
Launched SC2 (C:\Program Files (x86)\StarCraft II\Versions\Base92440\SC2_x64.exe), PID: 1792
Connecting to <IP_ADDRESS>:8167...
Failed to establish websocket connection: connect(<IP_ADDRESS>:8167): timeout
Failed to establish websocket connection: connect(<IP_ADDRESS>:8167): timeout
Connected to <IP_ADDRESS>:8167
CreateGame request returned an error code: Invalid Map Path
CreateGame request returned error details: map_path '\\wsl.localhost\Ubuntu\root\cpp-sc2\map
s\Test/Empty.SC2Map' file doesn't exist.
Failed to create game.

The map path is hardcoded to the project directory as a unix path separator, / {Test/Empty.SC2Map}.
https://github.com/cpp-sc2/cpp-sc2/blob/998ca3b1d40013ebb774120787daade8f5f227ea/src/sc2api/sc2_game_settings.cc#L28
When I change the source to use a Windows path separator, it reports Invalid Map Path, even though I can list the file using that path.
Coding path (sc2::kMapEmpty) with \ and copying map to my user created Windows maps, C:\Program Files (x86)\StarCraft II\Maps\ {https://aiarena.net/wiki/maps/} gives error, mangling the map path constant:
CreateGame request returned an error code: Invalid Map Path
CreateGame request returned error details: map_path 'C:\Program Files (x86)\StarCraft II\Map
s\Testpty.SC2Map' file doesn't exist.

Solution:
Supply path to bot, using Windows maps. https://aiarena.net/wiki/maps/
For all_tests.exe copy map to Windows & escape directory path separator.  i.e. Test\\Empty.SC2Map
Other: Maybe because I'm running WSL as root and didn't create a user?  IDK, maybe one day I'll dig deeper, but seems a WSL oddity because Powershell is able to find.
PS C:\Users\nickr> ls \\wsl.localhost\Ubuntu\root\cpp-sc2\maps\Test\Empty.SC2Map

    Directory: \\wsl.localhost\Ubuntu\root\cpp-sc2\maps\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
------         7/19/2024   3:40 AM          23792 Empty.SC2Map

https://github.com/Nickrader/cpp-sc2/tree/fix-wsl2_paths

AFAIK this map should be part of the project and must be included directly during tests run without necessity to copy it somewhere. Also, it work ok macOS.
I believe the actual problem here is the path used to read the map: '\wsl.localhost\Ubuntu\root\cpp-sc2\map
s\Test/Empty.SC2Map'. This is some mountpoint which could be not available to all_tests.exe or may require additional tweaking. Unfortunately without running WSL2 I can't tell what exactly got wrong.
Could you please provide additional info:

Where is cpp-sc2 located? Is it in \wsl.localhost\Ubuntu\root?
From which folder do you run the tests?

Yes \\wsl.localhost\Ubuntu\root\cpp-sc2\
Run from that folder: ~/cpp-sc2# ./build/bin/all_tests.exe
~ = /root/

Yes, map is part of project, it's just my workaround involves some edits.
I'm guessing I have some configuration differences in WSL.  Need to do more testing.
His prompt is showing that of typical user: $
When I installed from Microsoft store (iirc) it defaulted to be root: #
So my fist step is setting up a user, because it was just easier to keep defaults.
My guess at the moment is it's just WSL default configs changed in last 2 years, or we installed WSL different ways, or I messed something up.  It worked fine all other ways last I tried: Windows, Linux, WineLinux.

Suspect is WSL config problem by user.  Will re-open if any changes seem warranted.

User Error:  Running WSL as root, will create permissions conflicts in the project files.  Build project as a user other than root.

Well, now it will run as root?  I did cleanup my firewall settings so maybe that had something to do with it?

Well, now it will run as root? I did cleanup my firewall settings so maybe that had something to do with it?

This is not permissions problem because you are running as root (i.e. has fool access to everything) and because the errors says "file doesn't exist". For lack of permissions it'll say something like "permission denied" or "access denied".
Neither this is firewall-related issue cause we don't do any network requests.
The issue could be because of the way the path to the provided file resolved. You see you have a kind of mountpoint in \wsl.localhost\Ubuntu\root\cpp-sc2\ , this is absolute path. However, when we run the test we use relative path (illustrated in the following pseudo code):
const char* kMapEmpty = "Test/Empty.SC2Map";

coordinator.StartGame(sc2::kMapEmpty)

As you can see this path is truncated and should be at least "maps/Test/Empty.SC2Map".
The trick is that the API has some path resolving logic located in ControlImp::ResolveMap and does several checks to find out what to do with the provided path and several manipulations with the path itself. Since we are running on linux inside WSL I assume that ControlImp::ResolveMap works wrong and as a result we have mixed slashes (please pay attention to the tail '\wsl.localhost\Ubuntu\root\cpp-sc2\maps\Test/Empty.SC2Map') which could work on windows (as windows has long story of slashes wars and finally accepts both even mixed in single string), but not on linux.
As a quick fix in the tests I think we can provide full relative path to the map e.g. assuming that the tests are launched from the root of the project:
const char* kMapEmpty = "./maps/Test/Empty.SC2Map";

A better fix could be a command-line flag which provides path to the map folder.
An even better fix would be to put the maps inside the tests folder and adjusts the paths accordingly.
However, the issue could also happen during basic run (e.g. we are trying to run inside WSL with linux client).

Thanks for the info.
Windows firewall pop-up happens every-time I launch a bot for the first time, so I had assumed too much.
I have been unsuccessful trying to recreate the problem.

That's a bit different thing: seems that you are trying to run one of example bots. For example bots similar map finding logic is used, but it looks for another embedded map.

My mistake,
homer@DESKTOP-4EN0ECU:~/cpp-sc2$ ./build/bin/all_tests.exe
Running test: sc2::TestAbilityRemap
Launched SC2 (C:\Program Files (x86)\StarCraft II\Versions\Base92440\SC2_x64.exe), PID: 8324
Connecting to <IP_ADDRESS>:8167...
Failed to establish websocket connection: connect(<IP_ADDRESS>:8167): timeout
Connected to <IP_ADDRESS>:8167
CreateGame request returned an error code: Invalid Map Path
CreateGame request returned error details: map_path '\\wsl.localhost\Ubuntu\home\homer\cpp-s
c2\maps\Test/Empty.SC2Map' file doesn't exist.
Failed to create game.

My assumption is when original WSL docs were written, they probably had a /maps folder in Windows.
If I copy the contents of /maps from project to C:\Program Files (x86)\Maps\ all runs well.
I think easiest solution is just to amend documents, advising to copy over maps for WSL users.


fix(curriculum): Hide solution from tests in Portuguese challenge

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

@freeCodeCamp/portuguese-language-editors How does this look to you?

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Mobile Menu Close After Selection

Mobile menu should close after selection is made.

Done, navbar will now close after selecting any menus on mobile. :D


fix register variables

registered variables are always exists even the task is skipped.
So we can't judge if a task is skipped by if registered variable is
defined.
This path is to fix the bug in pool_names.yml

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

tested on tardis by using VMs with cases:
Only run the tasks with tag ceph-osd

only rbd_ssd pool exists.
No errors, and the variables are set correctly

{"hybrid_pool": "rbd_hybrid", "ssd_pool": "rbd_ssd"}
{"ceph_pools": {"rbd_hybrid": {"enabled": false, "pool_name": "rbd_hybrid", "volume_type": "CEPH_HYBRID"}, "rbd_ssd": {"enabled": true, "pool_name": "rbd_ssd", "volume_type": "CEPH_SSD"}}}
{"ceph_default_backend": "rbd_ssd", "ceph_default_pool": "rbd_ssd"}

rbd_ssd and default pools exist.
No errors, and the variables are set correctly.

{"hybrid_pool": "default", "ssd_pool": "rbd_ssd"}
{"ceph_pools": {"rbd_hybrid": {"enabled": false, "pool_name": "default", "volume_type": "CEPH_HYBRID"},"rbd_ssd": {"enabled": true, "pool_name": "rbd_ssd", "volume_type": "CEPH_SSD"}}}
{"ceph_default_backend": "rbd_ssd", "ceph_default_pool": "rbd_ssd"}

ok to test

retest


feat: add support for building dotnetcore runtimes

Description of changes:
Add support for dot net core runtimes to sam build
Checklist:

[ ] Write Design Document (Do I need to write a design document?)
[ ] Write unit tests
[ ] Write/update functional tests
[ ] Write/update integration tests
[ ] make pr passes
[ ] Write documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Tests incoming soon.

failing because a new release of https://github.com/awslabs/aws-lambda-builders is not yet out with dot net builders baked in.


chore(weave): Make History3 Universal

We currently have 3 history paths. Besides being a maintenance pain, this has some disadvantages - mainly that each path is optimized differently:

history: Used for all history ops today

Pros:

Pretty robust - handles almost every type.

Cons:

Slow: since it reads everything into memory and processes every single cell.
Complex Unions: not supported
Custom Weave Types: not supported

history2: used only in the special run branching logic

Pros:

Pretty robust - handles almost every type.
Faster than history as it stays in arrow where possible.

Cons:

Seems broken for reading media types currently in UI
Complex Unions: not supported
Custom Weave Types: not supported

history3: used for StreamTable.rows

Pros:

Fast: Stays in arrow almost exclusively
Supports complex unions and custom weave types

Cons:

Seems broken for reading media types currently in UI
Does not support media types

Now, we are refactoring the StreamTable implementation to essentially just wrap run.log. This means that we need to support all legacy media types as well. So, the goal is to collapse all this into a single implementation.
This PR comes down to basically making history3 work in all cases. It does a few key things:

No longer validates and errors on non-vectorizable media types.
Fixes recursively_build_pyarrow_array to handle ArrowTypeWithFieldInfo
Ensures WandbRunFiles always has the correct ._ref since it is deterministic.
Fixes binary data converter in history read path

Does not work:
Future TODO:

[ ] Make history3 fast for Image-file (like history2)
[ ] Replace all code paths for history with history3 (and just name it history)
[ ] Image Annotations!

No Annotations?: https://app.wandb.test/timssweeney/image_exploration_test/runs/2uiat2p8?workspace=user-timssweeney
No Annotations?: https://app.wandb.test/timssweeney/image_exploration_test?workspace=user-timssweeney

Nice, looking forward to deprecating history and history2

Force merging. This is failing wandb's test-integration's Does not autosave changes test, but it completely unrelated, and reading the code, the test seems incorrect to me.


Not an issue, but a request

I stumbled upon this integration today and was wondering, can this integration be expanded to include the Pepco outage map from the Washington DC area?
Also, any plans on adding power usage from the Pepco app?
Good work on this!

Hi there.
This is for PECO (Philadelphia Electric Company), not Pepco.
Sorry for the misunderstanding.

No, I know. But apparently Pepco and Peco are both owned by Exelon and appear to use the same API

I see.
An entire rebranding of the integration, documentation, and library will be required. I'm not quite ready for that only a few weeks after 2022.4 released.
I hope you understand.

List of Codes for the 6 companies Exelon Owns. I am a user in the BGE service area interested in this as well, happy to help.
PECO -
COMED
PEP - Pepco
BGE
DPL - delmarva
ACE - atlanticcityelectric


Update README.md

very very stupid fix

Type

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[x] Documentation Update

Description

Related

Related Issue #
Closes #

Feel free to close it if it doesn't meet the contributing chriteria

Thanks @danielo515 !


Scanning is stopped when app is in the background and screen is locked

Prerequisites

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed

Expected Behavior
The app continues to fetch data from a BLE device even when the screen is locked and gone dark
Current Behavior
No data passed to the app and no logs are visible in Logcat, but when the user presses the power button on their phone and sees a lock screen the process resumes.

react-native-ble-plx: 2.0.3
react: 17.0.2
react-native: 0.65.1
Platform: Android

Hi.
According to what is in the documentation: background mode is only supported for iOS devices.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1457 ms

Resolved: Bofrost.at performance has improved in b5514c1.


placement of abnormal erythrocyte sedimentation rate

For some reason abnormal erythrocyte sedimentation rate is sitting under abnormal circulating mineral level
This seems incorrect to me. Need to review why this term is located here

Current placement under abnormal circulating mineral level is incorrect.
Looks like abnormal erythrocyte sedimentation rate should be placed under "abnormal blood homeostasis" MP:0009642 (as originally requested in #3201).
Additional parent terms may include:

[ ] abnormal erythrocyte physiology MP:0003656
[ ] possibly, abnormal inflammatory response MP:0001845 ?

Moved abnormal erythrocyte sedimentation rate under "abnormal blood homeostasis" MP:0009642

Left only under "abnormal blood homeostasis" MP:0009642. Additional parents were discussed and rejected (term is unspecific; phenotype has too many causes to pin it down to one).


Niloofar / Bug - Fix Typescript errors in landing/ebooks

Changes:

...

Type of change

[x] Bug fix
[ ] New feature
[ ] Update feature
[ ] Refactor code
[ ] Translation to code
[ ] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

Cool! 👍


port to spring cloud gateway

As per https://github.com/Alfresco/alfresco-api-gateway/pull/27, this PR is to replace zuul with spring cloud gateway.
Further PRs build on this for introduction of spring cloud kubernetes for discovery and JX-based configuration.

As we've discussed, switching to Spring Cloud Gateway over Zuul seems like a reasonable choice as it supports the core requirements and design ideas for our API gateway (outlined the API Gateway stepping stones breakout document).
While Spring Cloud Gateway is still relatively immature and at least a few initial benchmarks put it's performance well behind other options, it seems to have since improved performance and is actively maintained by Pivotal.
It's architecture of configuration through RouteDefinitionLocators should allow us to easily support route definitions simultaneuosly through properties, K8s discovery, service discovery (Eureka) and / or explicit registration through the existing /routes endpoint.
There are a few points we'd like to see addressed however, detailed in my PR review.

These comments and the comments on the related pull requests seem sensible to me at a quick glance. Apologies I've been on holiday this last week. I hope to get to them soon but I'm not sure when as I think we've got other priorities right now.


[Mongo] Multiple Job documents from a single job

I have used Kala before with Redis. Perfect! Thanks Guys! But on this specific project I would like to use the new Mongo Driver since this project already have a MongoDB within its infrastructure.
The following commands happen to create multiple documents to the same job
The tasks seem to run nicely, but I am afraid this multiple documents will bloat up my database
$ kala run --jobDB=mongo --jobDBAddress=xxxxx.domain.live --jobDBUsername=admin --jobDBPassword=pass

$ http http://<IP_ADDRESS>:8000/api/v1/job/ name=test_job command="touch lol" schedule=R0/2018-08-09T09:57:30-07:00/P

Fresh Database with a single command creates 8 documents

@cescoferraro It's issue with the storage/mongo in the Save() instead of using Upsert it is using Insert().
Please let me know if you are still using kala.


How to pass in raw JSON when making a search

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?

[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[x] elastic.v5 (for Elasticsearch 5.x)

Please describe the expected behavior
Pass in raw JSON when searching
Please describe the actual behavior
Pass in raw JSON when searching
Any steps to reproduce the behavior?
How do I pass in just a raw JSON when making a search?

If you don't want to use the DSL, you have these options:

Use client.PerformRequest(...) directly,
Use a RawStringQuery if you only want to provide raw data for the query part, or
don't use Elastic at all and use net/http, plain and simple.


Implement recipe to install 'Microsoft ODBC Driver for SQL Server'

This new recipe sql_server_client enables you to install Microsoft ODBC Driver for SQL Server. You need this client to access Microsoft SQL Server databases. Version 13 (x64) is used.
Within the recipe, the processes of unpacking and installing are handled. You can include it by simply adding recipe[arcgis-enterprise::sql_server_client] to the list of recipes to be executed, e. g. within roles\arcgis-server-windows.json.

@mu88 Microsoft SQL Server, though frequently used with ArcGIS is not a part of ArcGIS. It's probably better to add sql_server_client recipe to an SQL Server specific cookbook.

arcgis-egdb::sqlcmd recipe available at arcgis-egdb cookbook v 3.7.0 installs MS SQL ODBC 17 Driver.


18 unwrap bug

Tests passing. Ready for review.

Currently, the switch to flattened phase at the edges of the mesh starts at 0.9x figure_radius. Looking at the notebooks, there are cases where it might need to be closer, like 0.85x. Not sure the best solution: automate, user-set, ...


[DRAFT] feat: install bundles bot

What does this PR do?
Now you can install bundles from the prod bundle store.
Testing
go to the bundle store and try to install prod bundles.

Went a different approach here.


Pyanalyze errors out with a raw traceback when running without a path argument (pyanalyze), instead of behaving as pyanalyze . or printing usage

Simply running pyanalyze in an empty (or full, or any) directory results in a raw traceback being printed, rather than printing usage or a helpful error, whereas pyanalyze . works as expected. Given the latter, it would make sense to simply assume . if no path was passed, like flake8 does , or at the very least, like mypy does, have your CLI parser handle it and output the appropriate message.
Error message:

Traceback (most recent call last):
  File "C:\Miniconda3\envs\praw-env\Scripts\pyanalyze-script.py", line 33, in <module>
    sys.exit(load_entry_point('pyanalyze', 'console_scripts', 'pyanalyze')())
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\__main__.py", line 5, in main
    NameCheckVisitor.main()
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 385, in main
    failures = cls._run(**kwargs)
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 673, in _run
    result = cls._run_on_files_or_all(**kwargs)
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 682, in _run_on_files_or_all
    return cls.check_all_files(**kwargs)
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\name_check_visitor.py", line 4217, in check_all_files
    return super().check_all_files(*args, **kwargs)
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 303, in check_all_files
    files = cls.get_files_to_check(include_tests)
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 326, in get_files_to_check
    return sorted(set(cls._get_all_python_files(include_tests=include_tests)))
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 904, in _get_all_python_files
    enclosing_module_names = {module.__name__ for module in modules}
  File "c:\users\c. a. m. gerlach\documents\dev\spacex\pyanalyze\pyanalyze\node_visitor.py", line 904, in <setcomp>
    enclosing_module_names = {module.__name__ for module in modules}
AttributeError: 'NoneType' object has no attribute '__name__'

Oops, good catch. I think defaulting to . makes sense.


displayName is not set for the component of "@yamada-ui/notice"

script: component-display-name
package: @yamada-ui/notice
Description
The component "@yamada-ui/notice" uses forwardRef, but displayName is not set, making it difficult to see the display in React Developer Tools.
Additional Information
Set displayName and __ui__ after each component definition.
For example, like this.
const Component = forwardRef((props, ref) => {
  ...
})

Component.displayName = 'Component'
Component.__ui__ = 'Component'

Replace 'component' with the name of the component. For example, for a Select component, it is 'Select'.
__ui__ is an identifier required for internal use by Yamada UI. Be sure to set it together with displayName.

@hirotomoyamada
Can I try it?

@Kei-Ta
Hi, yes, pls!

@Kei-Ta
Hi, Thanks for the working on this issue!
We will return this issue assignment to initial state.
If you are working on this issue and would like to be reassigned, please contact us.


Reject unspecified advertise addr on swarm init

This patch prevents users from specifying a Docker Swarm Manager advertise address which is a zero IP (i.e., <IP_ADDRESS> or [::]). Allowing such values results in invalid generated docker swarm join ... commands and perhaps other unthinkable issues.

For symmetry, I feel like the same check should apply for swarm join. swarm join does not generally need an advertise address because the remote side can look at the source address of the incoming connection, but it is possible to specify one. Moving this check inside resolveAdvertiseAddr would take care of both init and join.

LGTM

PTAL @aboch

Changes look good, but I feel the validation of the user configuration should be done on the request itself, before it gets fed into the backend functions.
In general I think it is better to run all the syntactic validation in the same place, it simplifies the backend code, less checks and it makes it easy to return consistent errors.
There seem to be already functions for that:  validateAndSanitizeInitRequest and validateAndSanitizeJoinRequest which both use validateAddr.

oh, just noticed @aboch's comment, should we do a follow up?


Fix yargs-parser vulnerability

yargs-parser had a security vulnerability that has been fixed in the latest release.
This PR updates meow, ava and cpy-cli to the latest versions as these versions include the fixed yargs-parser as dependency.

Fixed by #72. Thanks for sending in a PR, sorry for the late reply.


Map in landscape view

From emal:
Using samsung nexus s
Android version 2.3.4
Cgeo ver. 22.08.2011
When browsing the live map in landscape view, the rightmost third of the screen never shows any caches.
Can anybody look into it?

@rsudev did you report a bug to to mapsforge?

Not yet, as I was still analyzing what is really happening. Stepping through it I could see that the same cache list was handed to the overlay, but I could not see where it was filtered while drawing in mapsforge or if it is due to our code. Therefore I did not yet report a bug.

I have the feeling that this works better now. After rotation the caches are reloaded and the map is filled completely.

I took the time to search around again a little bit and found that this is listed as a mapsforge bug perhaps based on an Android bug: http://code.google.com/p/mapsforge/issues/detail?id=202
There is a workaround available, I will check it out.

I checked the workaround and it works. Should we create a fixed mapsforge lib for our app? As we use 0.2.4 and they are working on 0.3.0 I assume there will be no new release from them very soon and perhaps even then the fix would not be in.
Opinions? If there are now objections I would create  a patch for mapsforge to be hosted in our git and a note wrt to our custom version.

Tested and working in NB3101


Could you make a port to 20w14infinite of this mod?

The title says it all really, I mainly run 20w14infinite, which is the 2020 april fools snapshot, and would like you to start supporting that version as well as the others, hopefully that's not too hard to do

Ported in 2.12.
close issue! thanks for your contribution!


在 SecretFlow 中实现经典联邦策略 FedDYN

Fixed: #992
Type of change

[ ] Add new papers (Please tell us why you think this paper is awesome!)
[ ] Fix the category of an existing paper/papers (Please tell us the reasons)
[ ] Add a new tool/primitive/application with a new markdown page (Thank you! Also, please tell us more about this awesome thing!)

Description

Please include a summary of the change and the relevant motivation.

I have read the CLA Document and I hereby sign the CLA


Remove trailing comma in script example

Trailing comma breaks json

@aidanhammond : Thanks for your contribution! The author(s) have been notified to review your proposed change.

The content has been reconfigured since the pull request was opened, and the updated string isn't in the current version of the article. The pull request can't be merged in, so we'll need to close it. Thanks.


When creating Organizations, support adding tags from a delimited list

Tags are a FOLIO generic concept, so whatever we do here should be reused and reusable for other object types. Note that the behaviour around adding tags seems to differ for Licenses and Agreements, where tags added to the object are automatically added to storage as well.
For organizations, tags need to be added on the organization object itself
"tags": {"tagList": ["Cat", "Dog", "Fish"]}
and POST the tag to the central tag storage over at {{baseUrl}}/tags
        {
            "label": "Cat",
            "description": "Cat"
        }

If a tag with that label already exists, you will get this error:
{
    "errors": [
        {
            "message": "Key (label)=(hey) already exists.",
            "type": "-1",
            "code": "VALIDATION_ERROR"
        }
    ]
}

I would suggest that we always align label and description, to avoid confusion.

I quick-implemented this form organizations by hard-coding the tags object into the schema, and split out a new issue for dealing with this on a broader scale: https://github.com/FOLIO-FSE/folio_migration_tools/issues/435


Update compilerplugin, scalapb-runtime, ... to 0.11.7

Updates

com.thesamet.scalapb:compilerplugin
com.thesamet.scalapb:scalapb-runtime
com.thesamet.scalapb:scalapb-runtime-grpc

from 0.10.11 to 0.11.7.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.thesamet.scalapb" } ]

labels: library-update, early-semver-major, semver-spec-minor, commit-count:1

Superseded by #470.


Problem in accessing web site

Not able to access the documents provided from site causing private error accessing web site

Fixed.


Add fabric8-cdi and fabric8-spring-boot to quickstarts

We should add some quickstarts that also uses the fabric8 components to make working with this easier, so we can inject services and whatnot.
https://github.com/fabric8io/fabric8/tree/master/components/fabric8-cdi
https://github.com/fabric8io/fabric8/tree/master/components/fabric8-spring-boot
Maybe do this to some new quickstarts so we have plain quickstarts and others that have fabric8 out of the box.

There used to be a quick start that used fabric8-cdi.
I am not sure what happened to it, it must have been lost during transfer quickstarts -> ipass-quickstarts.

@iocanel its maybe the amq cdi quickstart that was moved to the sandbox
https://github.com/fabric8io/ipaas-quickstarts/tree/master/sandbox/quickstarts/camel-cdi-mq
when the amq stuff was up for replacement with qpid dispatcher.


Constant width dotted spans (%s that respond to sliders)

Hi @unfamiliarplace, Thanks for submitting this, I took a look.
I like the simple fix but a couple of issues come up: 1. the dotted line extends wider than the numbers (i.e. we're trading off one aesthetic issue for another), and 2. in the R0 section it seems to break things with the text because the dotted line is used for other purposes.
It seems a way to fix this would be to wrap the numbers in a fixed-width div, rather than altering the dotted line span. However this would involved changing these components across multiple index.html files (as we have translations coming in).
Personally I'm not sure it's worth the effort if the fix involves many little html changes, but let me know if you feel strongly otherwise and/or would like to take this on! Alternatively if there's an easy fix that doesn't involved many html changes we could try that.

(a) Yeah, agreed that it's a tradeoff. I think it's still better than wriggling, though :)
(b) Good catch. Since it's just the one place it's broken in R0, we might as well cheat by hardcoding it. I'll commit this change:
div:not(.splash) > span.dotted, span > span.dotted {
  display: inline-block;
  width: 2em;
}

What makes the hardcoding less of a sin IMO is that it'll only be outdated if the HTML changes, and if you need to do that you could just add a .constant-width class while you're at it.

Oh, hang on, I misread issue (a) -- you're wondering if we can avoid extending the dotted line, and just have blank space for the extra width. I'll try some hackish things and get back to you...

OK, wrapped the spans in constant width divs using JS (just stuck it into lambertw.js to avoid updating the HTML, lol). The CSS now targets that div instead.  :)


bazel: update rules_jvm_external to 4.5

https://github.com/bazelbuild/rules_jvm_external/releases/tag/4.5
Signed-off-by: JP Simard<EMAIL_ADDRESS>Description: bazel: update rules_jvm_external to 4.5
Risk Level: Low
Testing: Local & CI builds and unit tests
Docs Changes: N/A
Release Notes: N/A

any specific reason why are we updating this dependency? (other than the just using a the newer version)

any specific reason why are we updating this dependency?

No specific reason, I saw the maintainers post that it was out and had performance improvements so I wanted to update.


Fix editor suffixes and degrees conversion

What was done:

Functions to convert to/from degrees are all gone. Conversion is now done by the inspector. Use the new "radians" keyword in the range hints.
Also added a "degrees" keyword, does no conversion but at least the inspector knows its an angle.
Converted the PROPERTY_HINT_EXP_RANGE to the "exp" keyword in the range hint.
Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
In general, can add suffixes for EditorSpinSlider
Cleaned up and unified the range hint parsing code.

Not covered by this PR, will have to be addressed by future ones:

Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
Animations previously made will most likely break, need to add a way to make old ones compatible.
Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.

Examples:

Should the suffix have some spacing on the left (1-3 pixels)? It looks very close to the number right now.

@Calinou done

"Functions to convert to/from degrees are gone"
Does that mean they're gone from GDScript too? That's not a good idea, I use degrees all over my code as they're more intuitive than radians...

@Zireael07 I'm quite sure the deg2rad / rad2deg() methods are still there.

@YeldhamDev Note that the deg2rad / rad2deg() methods won't work on vectors unless you run it on each component individually. You can't do rad2deg(rotation) in 3D for example since it's a Vector3. For simple use cases changing one value like rotation_degrees.y = 90 it's easy to do rotation.y = deg2rad(90).

Ok, I did some more changes and I am now happy with it.

Do not merge yet, will do some more changes to it.

Ok, now it's perfect.

Thanks!

Can we bring back the rotation_degrees property? I'm not sure why it was removed as it was very useful in GDScript. If you can set degrees in the editor, why not script? Having to use deg2rad means doing rotation = Vector3(deg2rad(90), deg2rad(90), deg2rad(90)) etc. Maybe there's a good reason for removing it, but it wasn't obvious from the info...

Can we bring back the rotation_degrees property? I'm not sure why it was removed as it was very useful in GDScript, and I can imagine it's going to mess up a lot of people's projects.

Having two ways to set the same property was not very intuitive, and introduced choice paralysis. I think it's better to use deg2rad() where you actually need it, or even use TAU as an unit for "turns" (90 degrees = 0.25 * TAU).