ActionManager shared between tests, can cause problems running several tests

Noticed in #7052 (see: https://github.com/napari/napari/pull/7052#issuecomment-2306306688)
ActionManager is only created once (i.e., init only happens once) for all tests. It happens when pytest is running conftest.py (we import LayerList, which ultimately results in running from napari.utils.action_manager import action_manager in layer_utils.py). AFAICT this isn't currently a problem elsewhere (aside from in #7052) in our test suite, BUT it is not ideal/clean. Also it's not like our tests are very complete/exhaustive, so that's probably another reason this has not caused a problem elsewhere yet.
The above in combination with the fact that Action.injected is cached, can cause problems when running several tests, in particular when a previous test uses the  make_napari_viewer fixture (note not a problem if the fixture is added as argument but not executed in the test) and a subsequent test wants to change the providers (or processors) registered. This causes the injection error (e.g., https://github.com/napari/napari/issues/5803#issuecomment-1553378607)
make_napari_viewer runs Action.injected on all the actions that have shortcuts (AFAICT the viewer and layer button actions). The call stack is:

During QtViewer init, self._bind_shortcuts() is run
This 'resets' (unbinds then binds) shortcuts (AFAICT the only shortcuts are the ones associated with viewer and layer button actions)
https://github.com/napari/napari/blob/35a99366f2a8ef5bcdbd6e1f874f5ca2a7572582/napari/_qt/qt_viewer.py#L433-L438
During action_manager.bind_shortcut _update_shortcut_bindings is run which runs:
https://github.com/napari/napari/blob/35a99366f2a8ef5bcdbd6e1f874f5ca2a7572582/napari/utils/action_manager.py#L186
action.injected is a cached_property:
https://github.com/napari/napari/blob/35a99366f2a8ef5bcdbd6e1f874f5ca2a7572582/napari/utils/action_manager.py#L41-L51

This can cause problems when running a subsequent test, e.g., from #7052 we have a test_transpose_rotate_button which does not create a full viewer and tries to use it's own provider. However, if Action.injected has already been run, the new provider is not utilised as injected is not run again.
Note test_transpose_rotate_button will work when run in isolation as Action.injected is able to run.
(call stack qtbot.mouseClick calls ActionManager._trigger which calls self._actions[name].injected() which calls Action.injected)
If I comment out the @cached_property, both tests (a test using make_napari_viewer followed by test_transpose_rotate_button) can be run together.
~I think in a test setting it would be ideal if we could clear the cache for these shortcut actions at the end of make_napari_viewer.~ I think for tests we should clean up ActionManager between tests. The safest/cleanest way would be to instantiate a new ActionManager? Alternatively we can clear ActionManager properties (e.g, _actions) but this seems less clean?
cc @psobolewskiPhD @DragaDoncila

Thanks for the write-up @lucyleeow. I guess the question is how much time we want to spend making an action_manager fixture that is clean and robust if we're planning on deprecating it anyway? 😬 I know it's likely to still be around for a while but I just imagine there's going to be some complexity there given the interdependence between make_napari_viewer and mock_app and now action_manager. I also imagine having a clean action_manager for each test will slow down our suite, but maybe we can make the fixture explicit (so, not auto-used)? Or maybe we can give make_napari_viewer a clean action_manager so that make_napari_viewer tests are at least guaranteed some isolation?

but maybe we can make the fixture explicit (so, not auto-used)? Or maybe we can give make_napari_viewer a clean action_manager so that make_napari_viewer tests are at least guaranteed some isolation?

yup both these options seem reasonable to me. I am not sure what would be the best option here. I guess a action_manager fixture would be 'cleaner' (and more explicit) but is it more work/less performant?

Yeah I guess my first step would be to see whether using the fixture in this file with the original tests that were breaking in #7052 fixes things. Would have to move the fixture to conftest.py I guess. I'm not sure whether we'd need to manually update the fixture to bind actions or whatever

This is more complex than originally thought and I am considering a temporary band-aid fix until we deprecate action manager (or no change at all). I don't think this is a great use of time as we plan on deprecating action manager.
Fixture that returns a new action_manager
Patching action manager from napari.utils.action_manager.action_manager is not adequate as it seems that this action manager is alive early on in testing (AFAICT when we import LayerList in conftest.py, eventually leads to import of action_manager) so we would have to patch where it is used. In the test_transpose_rotate_button from #7052, this means patching napari._qt.widgets.qt_viewer_buttons.action_manager. It would be impractical and bad practice to make a fixture patching everywhere we import action_manager (especially as we import it in about 13 places in total).
We could add a ActionManager method that returns an instance of ActionManager and patch this (similar to what we do in mock_app.
The problem then, is that we would need to ensure that all the actions get registered in the new instance of ActionManager we create in the fixture. AFAICT, currently this also happens when we import LayerList in conftest.py (it eventually leads to import of e.g., napari/layers/image/_image_key_bindings.py, where we define functions with the @register_image/viewer_action decorator)
This is obviously the cleaner/better fix but it seems like a lot of code and a lot of work for something we will in the near-medium future, remove, when we deprecate action manager.
Band-aid fix
A temporary band-aid fix is to 'clear the cached property' in make_napari_viewer to ensure that Action.trigger will run injected (I'll open up a PR to show this).
Do nothing
It seems that action manager is not well tested and the current state of action manager (single instance shared amongst all tests), while not ideal, was not causing problems prior to #7052. And even in #7052 we found a workaround.
Thoughts welcome, cc @Czaki

I'm of the nothing or bandaid persuasion. With the bandaid will this make tests significantly slower? I need to look at the PR I guess.

I'm totally okay with not doing anything. It's at least documented in this issue should we encounter the problem again...

With the bandaid will this make tests significantly slower?

This was one concern I had with the bandaid, what's the best way to check @psobolewskiPhD ?

My main worry is that #7224 is to mask a potential problem. As we support use cases where we have multiple viewers opened at the same time, or there are several viewers opened and closed in one session. Even with plugins actions.

To clarify, you are worried that #7224 will mask problems with future and/or existing tests?
I think I can understand the concern but thinking about it more:

the only actions affected are ones that are registered with action manager, AFAICT I think this is now 'just' the viewer/layer actions. Plugin and menu actions should be run with app-model
forcing Action.injected to 'always' run for each new test will only change in these two cases:

the provider/processors are changed in the test (e.g., a new provider added or existing provider deleted)
what we are injecting is changed, e.g., for your multiple viewer scenario, if we have a new viewer, then the currently active viewer would be injected.

Considering the above, I feel almost that this change would unveil problems with tests?
Again, I am also okay with doing nothing. The issue is documented here and we do intend on deprecating action manager, hopefully sooner than later (@dalthviz is a wizard, and has already done an amazing job in #7133)

the only actions affected are ones that are registered with action manager, AFAICT I think this is now 'just' the viewer/layer actions. Plugin and menu actions should be run with app-model

If I good understand, we plan to remove action manager at all? In such a situation, maybe YOLO and do not care about hiding problems and merge #7224 (with updated title)?

We can also do nothing and leave as is.
Yes we plan to remove action manager completely

@lucyleeow I'm on the YOLO side. I'd rather merge as I think if someone was to add more viewer/layer actions, or want to add tests for existing ones, #7224 would make that easier. I'm also somewhat concerned about the (previously unknown to me) coupling between the app and the action-manager, so I'd rather have that cache cleared to ensure the most recent app is what's actually injecting stuff, while we still have this inbetween state.
If you update the title and description of #7224 I'll approve.

Good points, will do it now.


Once Again, Out of Date

The documentation is out of date with the Azure portal UI, in the section where it talks about setting up a container to hold your custom UI page. There is no "Summary" section; instead, you click Blobs, under Services, and then add a container.
 They should not be allowed to commit any change publicly until after the documentation team has signed off on it.

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

ID: 36c209d9-c15f-87a4-a7ee-bb2bd3416961
Version Independent ID: 2f76d983-a940-fa5f-abe0-4c851e377608
Content: Page UI customization helper tool in Azure Active Directory B2C
Content Source: articles/active-directory-b2c/active-directory-b2c-reference-ui-customization-helper-tool.md
Service: active-directory
GitHub Login: @davidmu1
Microsoft Alias: davidmu

The more I look into following the instructions in this article, the more inconsistencies I find with the current state of the Azure UI.  Maybe you should just automatically delete any article over 3 months old -- it'd be (slightly) better to have no information at hand than to have inconsistent or inapplicable information at hand.

@markolbert Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

How about you guys >>assign content authors to check the documentation they wrote whenever the Azure UI changes<<, rather than wait for some poor sod to come along and try and learn from the "documentation", only to have to point out how out of date it is?
Nothing personal, @SaurabhSharma-MSFT; but I really, really hope that, someday, the importance of having decent documentation will work its way up to someone in the Microsoft hierarchy who can fix it.

For anyone else struggling with this gunk, here's a write-up I put together on how I managed to tailor a custom sign-up/sign-in page: https://jumpforjoysoftware.com/2018/09/customizing-azure-ad-b2c-pages/

I have updated the UI customization pages. See https://docs.microsoft.com/en-us/azure/active-directory-b2c/tutorial-customize-ui
#please-close

When i edited CORS i enter for Allowed origins, Allowed headers, and Exposed headers your-tenant-name.b2clogin.com and it's not work for me. I replace your-tenant-name.b2clogin.com on * and it's work for me.

@markolbert Thank you for the write up. I couldn't figure out what I needed to do get the custom UI on the Sign Up page too. Your <div id="api" data-name="Unified" class="panel-api"> solved it for me.


Control/Keep PSNR/SSIM values

My model results in very poor PSNR and SSIM values whenever I use the diffusion model. Even after recovering more detail and better visualization.

what diffusion model do you use?


Error cross-compiling for Windows from Ubuntu

Godot version
4.0
System information
Ubuntu 20.04.5
Issue description
Error when cross compiling for Windows from Ubuntu:
Received error:
Detected mingw version is not using posix threads. Only posix version of mingw is supported. Use "update-alternatives --config <platform>-w64-mingw32-[gcc|g++]" to switch to posix threads.
After running the command to switch to posix threads tried to compile:
$scons platform=windows
scons: Reading SConscript files ...
Auto-detected 4 CPU cores available for build parallelism. Using 4 cores by default. You can override it with the -j argument.
Using MinGW, arch x86_64
Building for platform "windows", architecture "x86_64", target "editor".
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
[ 96%] Compiling platform/windows/os_windows.cpp ...
[100%] progress_finish(["progress_finish"], [])
[100%] platform/windows/os_windows.cpp: In member function 'DWRITE_FONT_WEIGHT OS_Windows::_weight_to_dw(int) const':
platform/windows/os_windows.cpp:933:10: error: 'DWRITE_FONT_WEIGHT_SEMI_LIGHT' was not declared in this scope; did you mean 'DWRITE_FONT_WEIGHT_SEMI_BOLD'?
  933 |   return DWRITE_FONT_WEIGHT_SEMI_LIGHT;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          DWRITE_FONT_WEIGHT_SEMI_BOLD
scons: *** [platform/windows/os_windows.windows.editor.x86_64.o] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:05:28.743]

Steps to reproduce
sudo apt-get install mingw-w64
scons platform=windows
update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++
scons platform=windows

Minimal reproduction project
This was from a fresh clone on master.

The mingw headers version on Ubuntu 20.04 is likely too old. I'll see if we can work it around by defining the values ourselves, but otherwise upgrading to a new distro/mingw should solve it.

These commands are wrong:
update-alternatives --config x64_86-w64-mingw32-gcc
update-alternatives --config x64_86-w64-mingw32-g++

They must be:
update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++

You need mingw-w64 v8.0.0 because the related enum added in this version.
Godot compiles on Ubuntu 22.04 without any error(mingw-w64 version: 8.0.0-1)

Whoops, I typed the commands wrong. Fixing my OP.

@nbstrong Could you try this patch and see if it's sufficient to build Godot 4.0 with your mingw version?
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index 91d2d1e996..5719b856d8 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -74,6 +74,11 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
 #define GetProcAddress (void *)GetProcAddress
 #endif

+// Workaround for MinGW headers before 8.0.
+#ifndef DWRITE_FONT_WEIGHT_SEMI_LIGHT
+#define DWRITE_FONT_WEIGHT_SEMI_LIGHT 350
+#endif
+
 static String format_error_message(DWORD id) {
 	LPWSTR messageBuffer = nullptr;
 	size_t size = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,

@akien-mga Unfortunately, I already upgraded Ubuntu to 22.10. This did resolve my issue, though.

No problem, I set up an Ubuntu 20.04 podman container to reproduce and fix the issue :+1:


Update the Vector configuration to be compatible with Vector version 0.31.0

Description
Changed

BREAKING: Assume that the Vector executable is located in a directory which is specified in the PATH environment variable. This is the case if Vector is installed via RPM.
BREAKING: Update product_logging::framework::create_vector_config to be compatible with Vector version 0.31.0. The product image must contain Vector 0.31.x.

Fixed

Fix the log level filter for the Vector container. If the level of the ROOT logger was set to TRACE and the level of the file logger was set to DEBUG then TRACE logs were written anyway.

Review Checklist

[ ] Code contains useful comments
[ ] (Integration-)Test cases added (or not applicable)
[ ] Documentation added (or not applicable)
[ ] Changelog updated (or not applicable)
[ ] Cargo.toml only contains references to git tags (not specific commits or branches)

Once the review is done, comment bors r+ (or bors merge) to merge. Further information

successfully tested with stackabletech/airflow-operator#308:
https://ci.stackable.tech/view/02 Operator Tests (custom)/job/airflow-operator-it-custom/95/


Introduce apache-rat-plugin. Exclude from rat dev/experimental elements

Resolve: https://github.com/apache/incubator-baremaps/issues/603
TODO:

[ ] PR description: Document initial report w/o exclusions
[x] Issue comment: Add info about auto-resolve ./mvnw rat:check pulling obsolete version of apache-rat https://github.com/apache/creadur-rat
[ ] Add exclusions
[ ] Add apache-rat as part of verify or validate phase
[ ] Resolve missing license header
[ ] Discuss exclusions logic and compliance with https://www.apache.org/legal/src-headers.html

Examples of exclusions:

Apache Flink: https://github.com/apache/flink/blob/d94818e5f2301200f3f1bd6bd094a79f4545bd84/pom.xml#L1468
Apache Kafka: https://github.com/apache/kafka/blob/5a8a764307c90725a7f0acedbe7974c8e8fd0bf9/build.gradle#L191
Apache rocketmq: https://github.com/apache/rocketmq/blob/bd7db7ec62164882ce6db101bacd038308648e02/pom.xml#L301
Apache Druid: https://github.com/apache/druid/blob/36a084e0212a6934f580a45ae77e8b4e6e47ae86/pom.xml#L1927
Apache Zookeeper: https://github.com/apache/zookeeper/blob/a64dbf5b06ca1a73dc2ad6c7d31e679e312082aa/pom.xml#L1061

Initial Apache Rat report w/o any exclusions:
28 Unknown Licenses

*****************************************************

Files with unapproved licenses:

  basemap/layers/member/prepare.sql
  baremaps-renderer/.prettierignore
  .java-version
  DISCLAIMER-WIP
  RELEASE.md
  .mvn/jvm.config
  examples/transformation/simplifications.sql
  .github/workflows/codeql.yml
  .github/workflows/analyze.yml
  .github/workflows/build.yml
  logo.svg
  .run/basemap-dev.run.xml
  .run/openstreetmap-export.run.xml
  .run/naturalearth-create.run.xml
  .run/simplification-workflow.run.xml
  .run/extrusion-create.run.xml
  .run/openstreetmap-serve.run.xml
  .run/extrusion-dev.run.xml
  .run/geocoder-serve.run.xml
  .run/openstreetmap-dev.run.xml
  .run/geocoder-create.run.xml
  .run/basemap-workflow.run.xml
  .run/workflow-execute.run.xml
  .run/workflow-init.run.xml
  .run/iploc-create.run.xml
  .run/transformation-workflow.run.xml
  .run/naturalearth-dev.run.xml
  .run/iploc-serve.run.xml


Write automated Cypress tests to avoid manual testing

Write automated Cypress tests to avoid manual testing:

Test that the Next.js app builds and starts and check some content / navigation to different pages
Visual regression tests (check upleveled.io repo)

@Josehower if you close something, can you please communicate why this was done? (also for this one here) Eg:

Why was this closed?
Which commits / pull requests implemented this change, if it was implemented


Improve installDir with warnings and errors

Fixes #432

Update documentation to specify using wlp in the installDir property
Add warning message when the specified installDir does not contain wlp in the path

and automatically checks the specified path with wlp appended.

Throw error when installDir does not correctly resolve to a valid Liberty installation
Add test to confirm error shows when installDir points to invalid Liberty installation

Thanks for those catches and message updates.

Are you going to add a test where installDir points to a valid Liberty installation without wlp in the path?

Yes, working on that now, and I may have found that the current logic is flawed.
getInstallDir seems like the proper place to check specifically the user-specified installDir, but this also gets called during project configuration before running any project dependencies.
This leads to throwing the error while configuring the project before it gets a chance to run the dependencies.
Solution to above is to move the error check to run only on the installLiberty task. However, by doing that, a default installDir is set even when it is not specified, and the check ends up checking the default installDir instead of looking for a user-configured one. Obviously Liberty is not installed yet and it will error.
Looking into having a different method entirely, specifically for the installLiberty task, to avoid overlap with the existing logic that is used in other tasks and project configuration.

I have to say I never liked that the check/error were in the same method that was getting the installation directory. If you need to talk through the rewrite, let me know.

Currently everything should work correctly for the installLiberty task.
Will have other tasks use the new Liberty install validation after further testing.


Can I reply to a conversation with a button click?

I have a bot that starts a conversation, and I want to add a "never mind" button that "exists" the conversation and stops it.
what is the best way to do it?
Thanks in advanced.

For which platform are you running your bot?

slack

Take a look at interactive messages:
https://github.com/howdyai/botkit/blob/master/readme-slack.md#message-buttons

exactly what I needed (the second example)

Great! Have fun!
Closing for now...

another question,
I have integrated the interactive message in conversation, and now i'm facing another issue.
as a part of the implementation, I had to add a interactive_replies: true, parameter to by bot init function. ever since, every "regular" (not a part of a conversation) button my bot has is also treated as text message, due to this snippet on the slackbot.js:
if (configuration.interactive_replies) {             message.type = 'message';             slack_botkit.receiveMessage(bot, message);         }
this causes any button interaction to be treated as a message, and my '*' rule catches it as if it was a regular command as well.
any ideas?


controller-manager doesn't appear to send basic auth credentials to broker servers

@gabrtv has found that the controller doesn't properly send auth data to broker servers.
He has installed a broker resource as such:
# Source: s3-service-provider/templates/broker-resource.yaml
apiVersion: servicecatalog.k8s.io/v1alpha1
kind: Broker
metadata:
  name:  s3
  labels:
    heritage: "Tiller"
    release: "s3"
    chart: "s3-service-provider-0.1.0"
    component: "s3-broker-resource"
spec:
  url: http://s3-broker-server:3000/
  authSecret:
     name: "s3-broker-auth"
     namespace: "steward"
---
apiVersion: v1
kind: Secret
metadata:
  name: "s3-broker-auth"
  labels:
    heritage: "Tiller"
    release: "s3"
    chart: "s3-service-provider-0.1.0"
    component: "s3-broker-resource"
data:
  username: username
  password: password

And, when the controller picks it up, the following logs appear:
I0316 20:49:19.597336       1 controller.go:158] Processing Broker s3
I0316 20:49:19.600993       1 controller.go:167] Creating client for Broker s3, URL: http://s3-broker-server:3000/
I0316 20:49:19.601045       1 controller.go:171] Adding/Updating Broker s3
E0316 20:49:19.601678       1 open_service_broker_client.go:119] Failed to unmarshal catalog from broker "s3": &json.SyntaxError{msg:"invalid character 'N' looking for beginning of value", Offset:1}
E0316 20:49:19.601735       1 controller.go:174] Error getting broker catalog for broker s3: invalid character 'N' looking for beginning of value
I0316 20:49:19.601779       1 controller.go:327] Updating ready condition for Broker s3 to False
I0316 20:49:19.642996       1 controller.go:332] Updated ready condition for Broker s3 to False
I0316 20:49:22.887373       1 reflector.go:401] github.com/kubernetes-incubator/service-catalog/pkg/client/informers_generated/factory.go:63: Watch close - *v1alpha1.Instance total 0 items received
I0316 20:49:52.872949       1 reflector.go:273] github.com/kubernetes-incubator/service-catalog/pkg/client/informers_generated/factory.go:63: forcing resync
I0316 20:50:05.878953       1 reflector.go:273] github.com/kubernetes-incubator/service-catalog/pkg/client/informers_generated/factory.go:63: forcing resync
I0316 20:50:13.870769       1 reflector.go:273] github.com/kubernetes-incubator/service-catalog/pkg/client/informers_generated/factory.go:63: forcing resync

I take this back. the problem was in fact that the URL join does not account for trailing slashes in the url field in the broker. See the below logs:
`E0316 20:56:49.437763       1 open_service_broker_client.go:113] Failed to fetch catalog "s3" from http://s3-broker-server:3000//v2/catalog: response: <nil> error: &url.Error{Op:"Get", URL:"http://s3-broker-server:3000//v2/catalog", Err:(*http.httpError)(0xc4203cc280)}`


requests.exceptions.InvalidHeader: Invalid leading whitespace [...] '***\n\n'

I tried to use the action and got the following issue
Notice:  To update, run: pip install --upgrade pip
Traceback (most recent call last):
  File "/home/runner/work/_actions/SimTech-Research-Data-Management/dataverse-sync/v1/repo_uploader.py", line 229, in <module>
    dataset_files = _get_file_list(
                    ^^^^^^^^^^^^^^^
  File "/home/runner/work/_actions/SimTech-Research-Data-Management/dataverse-sync/v1/repo_uploader.py", line 127, in _get_file_list
    response = requests.get(headers=headers, url=url)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/sessions.py", line 575, in request
    prep = self.prepare_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/sessions.py", line 486, in prepare_request
    p.prepare(
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/models.py", line 369, in prepare
    self.prepare_headers(headers)
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/models.py", line 491, in prepare_headers
    check_header_validity(header)
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/utils.py", line 1040, in check_header_validity
    _validate_header_part(header, value, 1)
  File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/utils.py", line 1056, in _validate_header_part
    raise InvalidHeader(
requests.exceptions.InvalidHeader: Invalid leading whitespace, reserved character(s), or returncharacter(s) in header value: '***\n\n'
Error: Process completed with exit code 1.

my yaml: https://github.com/unfoldtoolbox/UnfoldSim.jl/blob/main/.github/workflows/darus-dataverse.yml
Thanks for your help!

Thanks @behinger for submitting the issue!
The issue might be caused by the value found in persistent_id since Dataverse relies on a specific DOI format. You can find the latter within your dataset's metadata. Here is an example of this repositories DOI:

Can you retry it with the following line in your workflow?
persistent_id: "doi:10.18419/darus-3804"

I see - I copied it from darus but from some other place probably.
maybe modifying the readme example could clarify this :)

but alas, it didnt help. same error

I just added it to the README for clarification 🙌
Alright, it seems like something is wrong with the header that could originate from your API-Token. I am going to clone your repository and try it by myself on another private dataset if that is fine for you?

sure!

this is what I did, and then copied in the API key directly without any bells and whistles

ok - my bad somehow no API key.
now I run into
 Traceback (most recent call last):
  File "/home/runner/work/_actions/SimTech-Research-Data-Management/dataverse-sync/v1/repo_uploader.py", line 250, in <module>
    files = [_to_file_object(file, SUBDIR) for file in repo_files + [".dvregistry"]]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/_actions/SimTech-Research-Data-Management/dataverse-sync/v1/repo_uploader.py", line 250, in <listcomp>
    files = [_to_file_object(file, SUBDIR) for file in repo_files + [".dvregistry"]]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/_actions/SimTech-Research-Data-Management/dataverse-sync/v1/repo_uploader.py", line 62, in _to_file_object
    return File(
           ^^^^^
  File "pydantic/main.py", line 342, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for File
checksum
  Filepath scripts is not a file. (type=type_error)
Error: Process completed with exit code 1.

I was able to resolve the issue on my side. The file_list was created with directories inside, which causes the latter error. Can you target this action's main branch within your workflow and re-add your API Token secret to be sure? If it works, I will publish a new release to hot-fix this.
name: DARUS dataverse sync

on: [push]

jobs:
  dv-sync:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Synchronize to DV
      uses: SimTech-Research-Data-Management/dataverse-sync@main
      with:
        dataverse_url: "https://darus.uni-stuttgart.de/"
        api_token: ${{ secrets.DV_API_TOKEN }}
        persistent_id: "doi:10.18419/darus-3804"

works now on @main!


Error iOS sdk version 1.13.0: schema mismatch for _Session.user; expected Pointer but got String

Issue Description:
I'm having problems with signing in and sign up iOS sdk.
I setup parse server on heroku, tested it with:
let testObject = PFObject(className: "TestObject")
testObject["foo"] = "bar"
testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
print("Object has been saved.")
}
and the object saved successfully to mLab.
Then when I tried to sign a user up or log a user in. I got an error:
schema mismatch for _Session.user; expected Pointer but got String
There was an issue already posted but it was closed and was for the js SDK. how would one solve this for iOS sdk?

This was due to a breaking change in deepcopy. Upgrade to Parse Server version 2.2.13, or pin your deepcopy version to 0.6.1.

@drew-gross I usually download the ios sdk from this link https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/releases/tag/1.13.0, and it doesn't have iOS idk 2.2.13? may you please be so kind to provide the link to iOS sdk 2.2.13?

No your Parse Server, not your iOS SDK.


feature request

Is there any plans to expand this module to account for private spaces or anything related to the latest updates to the platform?

Hi @RedMunroe,
I've been thinking on taking on the Cloudhub 2.0 features and integrate them here.
Only problem is that I am the only maintainer of this project and I'm trying to keep it alive on top of my other projects.
I can add some to the todo list if you can list the features your organization is interested in.
There's a discord server also (https://discord.gg/RmbsuMV8), I'm trying to gather as many people as possible that are interested in this project

We have a framework that will allow you to deliver the resources quite easily, join the discord and we can schedule calls where I can help you out understand how it works.

there's a permanent link on the welcome page of this org : https://github.com/mulesoft-anypoint

Do you think that extending that CloudHub 2.0 functionality even further into managing Deployments would be suitable for this provider? I know that the Kubernetes provider supports defining Deployments as resources so I imagine this would achieve a similar goal.

I don't think a lot of people will use it for this purpose, but It could be a way of managing deployments.
Also, the artifacts are usually stored somewhere else, you'll have to get the artifact before executing the deployment.
I'm thinking about the next scope we're going to release. Cloudhub is definitely one of them.


github: west_cmds: add missing anytree package

Add missing anytree package, runners started to fail on it:
../pylib/twister/twisterlib/runner.py:60: in <module>
    from anytree import Node, RenderTree
E   ModuleNotFoundError: No module named 'anytree'

Tagging as 4.0, does not really affect the release.

looks like some of the changes from #81129 didn't go through CI? /cc @nashif

CI is currently broken, so adding the Hotfix label.

Attn @dkalowsk @mmahadevan108


Get at least T grade on xmpp.net

Since we use "Untrusted" certificate we will always get F on xmpp.net. But we can try to get T at least:

T means your score would be A, except for your certificate being untrusted or invalid.

If it require multiple steps we may create more tasks and link them to this one.


ci: Mac changes, self-hosted runner now available

This PR changes the ci.yml workflow to now use a matrix for MacOS. This also means we now have a self-hosted Mac runner (using Apple silicone) available!

Timezone will be changed on the Mac VM to be UTC in a few hours. That should fix the unit test.
I also want to note, I’ve purposefully made it so both Mac architectures run the unit test, as a precaution. Though, I would like to look into the possibility of running two online unit tests (one on Linux, one on Mac arm64)

the only way to have two concurrent runners is to have two tokens and two test servers with different channel, bot and event IDs. it would likely be overkill, plus each would need to be limited to one at a time like the Linux unit tests run is.

the only way to have two concurrent runners is to have two tokens and two test servers with different channel, bot and event IDs. it would likely be overkill, plus each would need to be limited to one at a time like the Linux unit tests run is.

Ah right, yeah that's fair enough.

Timezone has been fixed on the Mac (it appeared to be under PST, it is now under UTC) and the CI has passed. This PR is ready!

Timezone has been fixed on the Mac (it appeared to be under PST, it is now under UTC) and the CI has passed. This PR is ready!

what, don't you know? EVERYONE lives in the USA 😆

Timezone has been fixed on the Mac (it appeared to be under PST, it is now under UTC) and the CI has passed. This PR is ready!

what, don't you know? EVERYONE lives in the USA 😆

🤣

Downscaled the VM due to it requesting a lot of resources. Will re-run the action to make sure it hasn't slowed down too much.

Job finished in 3 minutes 48 seconds, even when downscaled!


Add a common subclass for IndexNode::iterator

so that different indexes only need to implement next_batch. Any index that gradually adds new points as the iterator::Next() is called should implement their iterator by inheriting this new class.
Updated the impl for supported ivf and hnsw index.
issue: https://github.com/zilliztech/knowhere/issues/500
/kind: enhancement

/hold
this branch is currently based on #505, need to rebase after #505 is merged

/unhold


Hi i keep getting an error when i try to install the nflgame-redux on my mac laptop

➜  ~ pip install nflgame-redux
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 147, in
globals()[__func_name] = __get_hash(__func_name)
File<EMAIL_ADDRESS>line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
Traceback (most recent call last):
File "/usr/local/bin/pip", line 11, in
load_entry_point('pip==19.0.3', 'console_scripts', 'pip')()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2793, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2411, in load
return self.resolve()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2417, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python2.7/site-packages/pip/_internal/init.py", line 19, in
from pip._vendor.urllib3.exceptions import DependencyWarning
File "/usr/local/lib/python2.7/site-packages/pip/_vendor/urllib3/init.py", line 8, in
from .connectionpool import (
File "/usr/local/lib/python2.7/site-packages/pip/_vendor/urllib3/connectionpool.py", line 29, in
from .connection import (
File "/usr/local/lib/python2.7/site-packages/pip/vendor/urllib3/connection.py", line 38, in
from .util.ssl import (
File "/usr/local/lib/python2.7/site-packages/pip/vendor/urllib3/util/init.py", line 6, in
from .ssl import (
File "/usr/local/lib/python2.7/site-packages/pip/vendor/urllib3/util/ssl.py", line 8, in
from hashlib import md5, sha1, sha256
ImportError: cannot import name md5
➜  ~

1 - This is the wrong project. My forked project is nflgame-redux.
2 - nflgame-redux does not support python 2.  you can see my install instructions on that project's readme.

@derek-adair I think people are still coming here because the "open a new issue on the tracker" link at the bottom of the PyPI project page still points to this repo. It looks like you've fixed your README but maybe haven't pushed a new release since then?

ahhh.  I'll do that.  Thanks bud.


Input validation using operations

fixes #382

Can you merge master and make those small changes. Thanks!

Can you merge master and make those small changes. Thanks!

done


fix(proofread): Send url-encoded data to server

fixes #4

Coverage remained the same at 98.99% when pulling 83b610e8781ae5169fb070ed81b829043daa0b44 on send-text-url-encoded into 586bc81c9af77f4e400503c9d3bddc1ac5f50a52 on master.


Would it be a good idea to use an inline logo?

Hello,
I think the logo take a lot of place.
What about an inline logo?
Something like this
{ # } BASE16-BUILDER

Where { # } is the logo.

This crossed my mind as well. I'll look into it. Ty.

Here you go. logoWithTextInline.zip

@Phisherman Can you also add a png as image in your comment? It will be easiest for the discussion. Thank you.

@Phisherman If you adjust the logo to fit with the size of the title, is the logo not to small?

Mhm. I can do this. I thought that this would be more appreciated.

@Phisherman  I completely agree to use one you posted. I ask for another export by curiosity.  Here is the old one with changed text orientation. If you like that I'll send you the rest.

@Phisherman My bad, I wasn't clear. I thought about adjusting the size vertically. The logo would have the same height than the current text. By the way, you got there another nice idea :)

@aloisdg
Like that?

@Phisherman Yes thats my idea. At the end you were right. The first one is my favorite. Thank you for your dedication!

@aloisdg OK.

Closed in 375d29a8df87ac3414695b2430090564f7cc7973.
Thank you, both.
@Phisherman, could you please send a pull request adding those files to the media directory? If you don't want to, I'll do it tomorrow. Thanks.


WIP: Auto-detect the value of the no-squash option

Fixes: https://github.com/kiegroup/git-backporting/issues/113

The original approach was not good because at the time the PR is examined the clone is not available and it is not possible to run git show to know more about it.
Here is another approach:

the list of commits is always extracted from the PR
the sha (from the head or the merge_commit_sha) is kept around to help decide later on

After the clone is done, the following pseudo logic chooses the commits that should be cherry-picked:
  async getPrCommits(configs: Configs, originalPR: GitPullRequest, git: Git): Promise<string[]> {
    let squash = configs.squash
    if (originalPR.state == "open") {
      squash = false
    } else if (squash === undefined) {
      squash = !git.isMerge(originalPR.sha)
    }
    if squash {
      return [originalPR.sha]
    } else {
      return [originalPR.commits]
    }
  }

Let me know if it is a sound approach and I'll keep going.

Now that I think about it... another way would simply be to clone before inspecting the PR so the existing logic can git show because the clone is already present. Probably simpler?

https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#get-a-commit has the parents

Here is a draft using the API endpoints to determine if the commit is a merge or not. It feels right this time.

It was semi-manually tested at https://code.forgejo.org/earl-warren/racepr with something like
git fetch origin ; git reset --hard origin/main ; branch=b$(date +%s) ; date > adsf ; git add adsf ; git commit -m 'update one' ; sleep 1 ; date > adsf ; git add adsf ; git commit -m 'update two' ; git push origin HEAD:$branch ; pr=$(forgejo-curl.sh api_json --data '{"title":"t1","head":"'$branch'","base":"main"}' https://code.forgejo.org/api/v1/repos/earl-warren/racepr/pulls | jq -r .number) && forgejo-curl.sh api_json  --data '{"Do": "merge"}' https://code.forgejo.org/api/v1/repos/earl-warren/racepr/pulls/$pr/merge

and
git fetch origin ; git reset --hard origin/main ; branch=b$(date +%s) ; date > adsf ; git add adsf ; git commit -m 'update one' ; sleep 1 ; date > adsf ; git add adsf ; git commit -m 'update two' ; git push origin HEAD:$branch ; pr=$(forgejo-curl.sh api_json --data '{"title":"t1","head":"'$branch'","base":"main"}' https://code.forgejo.org/api/v1/repos/earl-warren/racepr/pulls | jq -r .number) && forgejo-curl.sh api_json  --data '{"Do": "squash"}' https://code.forgejo.org/api/v1/repos/earl-warren/racepr/pulls/$pr/merge

and the workflow
on:
  pull_request_target:
    types:
      - closed
      - labeled

jobs:
  backporting:
    runs-on: docker
    container:
      image: 'docker.io/node:20-bookworm'
    steps:
      - uses: https://github.com/earl-warren/git-backporting@b2554a678d5ea2814f0df3abad2ac4fcdee2d81f
        with:
          target-branch: other
          cherry-pick-options: -x
          git-client: codeberg
          auth: ${{ secrets.BACKPORT_TOKEN }}
          pull-request: ${{ github.event.pull_request.url }}

that does not mean it is the right way to do it but it is not complete nonsense either :smile:

Hey @earl-warren , that is a great investigation and I was not aware of that way to determine whether a commit is a merge-commit or not, thus it looks a valid option to evaluate.

at he expense of an additional request. But... since it will git clone an entire repository shortly after wards it seems futile to save this. Or am I being careless?

No that's not a problem at all, I mean it we don't have tight time restrictions here.

It was semi-manually tested at https://code.forgejo.org/earl-warren/racepr with something like

That's already a good early check, I will try to get some time today to review this approach as well!
Moreover I'll try to check whether we can use a similar approach for Gitlab as I'd like to keep all git platform feature-equivalent (but, in that case, we can do that in another pr)

I'll complete this PR today and include GitLab as well. This is going to be good.

Hi @earl-warren, I had chance to take a look at this PR (at least from the generic workflow point of view) and I think it could work. I did not try yet but based on the changes you did I think the idea could work as long as this https://github.com/kiegroup/git-backporting/pull/118/files#diff-6e3804f9a1581e5155295a17bbbc71343fa375a15bf5383dd4c4049a44be09cdR54-R60 is enough/true.
There a couple of enhancement that could be done, e.g., now we could populate the commits variable directly from the the getPullRequest method since we already now the commits that need to be backported, but this is something we can do step by step.

I'll complete this PR today and include GitLab as well. This is going to be good.

I'll work on this PR today.
Side note: this commit is in production at https://codeberg.org/forgejo/forgejo/pulls a behaves as it should.

I think this is a sane implementation. I thought it would be possible to just remove the no-squash option and rely on auto-detection for all cases. But there is one case that would create a non-backward compatible behavior (cherry-picking the merge commit). I also tried to change the no-squash option to have three state (undefined, true, false) instead of two. Adding another option is not elegant but it is easier to understand and makes for a clear implementation.

Thanks a lot @earl-warren :heart:

The GitLab support is made easy by the fact that the merge request has information regarding the status of the merge.

That's really good to hear :smile:

The PR is ready for review but I will leave it as a WIP: because it still lacks coverage for the logic. It would be great if you could review it before I polish it, in case there are changes needed that would require modifying the tests.

Yeah I agree with you, I think I can find some time today to review this - it should not take much time as we were already on the same page.

I really enjoy working on this action with you.

+100, I am really glad there are people like you who are very proactive on contributing back, great example of community! Moreover I hope that this action will really save some of your day2day work time :crossed_fingers:

It is already busy at work saving valuable time every day. :sparkles:

Ok so if I correctly understood the logic, that can be summarized as follow (correct me if I am wrong):
noSquash 	autoNoSquash 	SQUASH 	Behavior
false 	false 	true 	Try to cherry-pick single commit, merge_commit_sha
true 	false 	false 	Try to cherry-pick all commits in the original pull request
false 	true 	undefined 	*
true 	true 	undefined 	*
* When `autoNoSquash` is undefined/false the behavior is the one already existing.

* Whereas when the `autoNoSquash` is set to true (*) the value of `noSquash` is _ignored_ and the value of `squash` is auto computed by the new logic https://github.com/kiegroup/git-backporting/pull/118/files#diff-6e3804f9a1581e5155295a17bbbc71343fa375a15bf5383dd4c4049a44be09cdR48-R66

Am I right?

Yes.

If I am right I think the overall implementation looks really great! I am trying to see if we can simplify the logic but nothing came to my mind, so I think we can proceed with this approach 🚀

If it was not for the case where you want to cherry-pick a merge commit, I think both no-squash and auto-no-squash could be removed. And the default behavior would be to cherry-pick a single commit when there is a squash or all commits if not.
If that behavior is really desirable, there could be a cherry-pick-merge-commit option.
But removing no-squash and adding cherry-pick-merge-commit or something would be a breaking change and you probably do not want that.

I left a couple of comments.

PS: worth to add some table like this in the doc to help users understand how to configure the tool to enable a specific behavior and to highlight the default.

:+1:

@lampajr does this look like a good enough test to complete this PR? The logic is simple right now. But it is pivotal to how GitLab/Forgejo/GitHub decide to squash or not and it feels right to keep it DRY, just in case it becomes more complex in the future and really requires good unit testing.

Manual tests.
auto-no-squash: true
      - uses: https://github.com/earl-warren/git-backporting@21d3fe29b9cb1b1c1a0ab0625dcb1b13f407eddc
        with:
          target-branch-pattern: "^backport/(?<target>(o.*))$"
          cherry-pick-options: -x
          git-client: codeberg
          auth: ${{ secrets.BACKPORT_TOKEN }}
          pull-request: ${{ github.event.pull_request.url }}
          auto-no-squash: true

merged commit
https://code.forgejo.org/earl-warren/racepr/actions/runs/26#jobstep-1-4
[DEBUG] Fetching pull request earl-warren/racepr/38
[DEBUG] cherry-pick the merged commit(s)
[DEBUG] Extracting branches from [backport/other] using ^backport/(?<target>(o.*))$

squashed commit
https://code.forgejo.org/earl-warren/racepr/actions/runs/27#jobstep-1-4
[DEBUG] Fetching pull request earl-warren/racepr/40
[DEBUG] cherry-pick the squashed commit 9b2eeb57e74115ee5d0456d983ce8b15ea709042
[DEBUG] Extracting branches from [backport/other] using ^backport/(?<target>(o.*))$

auto-no-squash: unset & no-squash: unset
      - uses: https://github.com/earl-warren/git-backporting@21d3fe29b9cb1b1c1a0ab0625dcb1b13f407eddc
        with:
          target-branch-pattern: "^backport/(?<target>(o.*))$"
          cherry-pick-options: -x
          git-client: codeberg
          auth: ${{ secrets.BACKPORT_TOKEN }}
          pull-request: ${{ github.event.pull_request.url }}

merge commit
https://code.forgejo.org/earl-warren/racepr/actions/runs/28#jobstep-1-10
[INFO ] [other] Creating branch bp-other-c6cc40c
[DEBUG] [other] Cherry picking commits..

[INFO ] [other] Cherry picking 1d1a9c8e5f0add54c4f9936a498e6b874aa88b7a
[DEBUG] [other] Cherry picking command git cherry-pick,-m,1,--strategy=recursive,--strategy-option=theirs,-x,1d1a9c8e5f0add54c4f9936a498e6b874aa88b7a
[INFO ] [other] Pushing bp-other-1d1a9c8 to origin

auto-no-squash: unset & no-squash: false
      - uses: https://github.com/earl-warren/git-backporting@21d3fe29b9cb1b1c1a0ab0625dcb1b13f407eddc
        with:
          target-branch-pattern: "^backport/(?<target>(o.*))$"
          cherry-pick-options: -x
          git-client: codeberg
          auth: ${{ secrets.BACKPORT_TOKEN }}
          pull-request: ${{ github.event.pull_request.url }}
          no-squash: true

https://code.forgejo.org/earl-warren/racepr/actions/runs/30#jobstep-1-8
[DEBUG] [other] Creating local branch..
[INFO ] [other] Creating branch bp-other-51b5105-e9a0bb1
[DEBUG] [other] Cherry picking commits..
[INFO ] [other] Cherry picking e9a0bb1fe756356fb48bf82d4c7718cd12bd71f5
[DEBUG] [other] Cherry picking command git cherry-pick,-m,1,--strategy=recursive,--strategy-option=theirs,-x,e9a0bb1fe756356fb48bf82d4c7718cd12bd71f5
[INFO ] [other] Cherry picking 51b5105cd3ca0f8da1364d24a88556ab8473dd27
[DEBUG] [other] Cherry picking command git cherry-pick,-m,1,--strategy=recursive,--strategy-option=theirs,-x,51b5105cd3ca0f8da1364d24a88556ab8473dd27
[INFO ] [other] Pushing bp-other-51b5105-e9a0bb1 to origin

Changes applied & README updated as suggested.

Changes applied & README updated as suggested.

Merged, thanks a lot for your contribution again @earl-warren :heart:


1 more task launched than expected

as long as we operate under AMT we can't really guarantee anything about this, we might mess things up by discarding submissions


fix(check): Bring nested implicit instances into scope

Traverses records fully to bring their implicit instances in scope (Monad -> Applicative -> Functor etc)
Found in #686
cc @Etherian

bors r+


Redirect loop with https

Hello dmp1ce,
Thank you for a wonderful project. It's really quite unbelievable how easy it is to connect the pieces now, to get a fully SSL-enabled application out there. That said, I have a small wrinkle that I'm not sure what to do with. Basically, when accessing my rails application, I end up with a weird redirect loop on every second request:

curl -I -X GET https://potatr.duckdns.org/users/sign_in

HTTP/1.1 301 Moved Permanently
Server: nginx/1.9.6
Date: Wed, 23 Dec 2015 03:51:20 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: https://potatr.duckdns.org/users/sign_in
Strict-Transport-Security: max-age=31536000

and in the nginx-proxy-letsencrypt container:
nginx.1      | potatr.duckdns.org <IP_ADDRESS> - - [23/Dec/2015:03:51:20 +0000] "GET /users/sign_in HTTP/1.1" 301 184 "-" "curl/7.37.1"
nginx.1      | potatr.duckdns.org <IP_ADDRESS> - - [23/Dec/2015:03:51:20 +0000] "GET /users/sign_in HTTP/1.1" 301 184 "-" "curl/7.37.1"

where 192.* is my request, and 172.* is the container running my app.
Here's the second request:

curl -I -X GET https://potatr.duckdns.org/users/sign_in

HTTP/1.1 200 OK
Server: nginx/1.9.6
Date: Wed, 23 Dec 2015 03:56:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Status: 200 OK
Cache-Control: max-age=0, private, must-revalidate
Vary: Origin
ETag: W/"9585f8f7ff8d9d2a99003128be83023a"
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Runtime: 0.024472
X-Request-Id: 15dfe9a5-dd39-49d9-ba1c-ee0c86b38ce3
Set-Cookie: _potatr_session=TWRlTDloUUIvYmNoUU5MK00yU0ZHWWxrZXJEWHhnc3kranNrZmcySVAray9sak03WS8xVVpXWlowdnp3TEhONjdRSFU3OFZnODRROEtza0lMV2diNlBuaXU3TFRlTmF4NWRvWWk5Y3ZGRE9LWWNlWWtDM2NidGNvdEpGalRJMENEVDhieGRZbUJBWHZwci9VSElSMTlnPT0tLWlhRDlzVk5xZkRqY2tnNFg1U2xGakE9PQ%3D%3D--4d8cf4c536109a2cfe6dcfd3861dfc1f3801e0d9; path=/; HttpOnly
X-Powered-By: Phusion Passenger 5.0.15
Strict-Transport-Security: max-age=31536000

and in the proxy container:
nginx.1      | potatr.duckdns.org <IP_ADDRESS> - - [23/Dec/2015:03:56:40 +0000] "GET /users/sign_in HTTP/1.1" 200 4757 "-" "curl/7.37.1"

Any idea what's going on here? It almost looks like the app inside the container redirecting back to itself. Can you spot anything obviously wrong?
Thanks again.

It looks like the second request was successful. It returned code 200. I'm not sure what is going on with the first request.

Thanks David.
It only seems to be happening with the nginx-proxy-letsencrypt. If I talk to my container directly, everything is fine. It's also only every SECOND request that behaves that way. Could it have something to do with the fact that my container (passenger-docker) is running an nginx internally as well?

I run nginx internally with nginx-proxy-letsencrypt and I haven't noticed this. It could possibly the be passenger setup or Rails app setup though. I'll try to test with passenger-docker as soon as I can.

I haven't ruled my app out completely, so I'll test it out as well. The image I'm using passenger-full.

David,
I ruled my app out. I reproduced this with a very simple rails app. You can find the docker image here: https://hub.docker.com/r/dmarkush/basic-rails-app/ (and the github repository here: https://github.com/dmitrym0/basic-rails-app).
The app has two URLs:

root (/) of the site will return a hello world in json. That seems to work fine.
requesting /people however is where it goes nuts. It doesn't like POST requests, they result in an eventual GET instead.

 That is probably what is causing the crazy redirects. The documentation was wrong at one point which may have been what you used to setup your project.
 That fixed it.
Thanks David, happy holidays.


[WM-1658] (rebased) add changeset to update fetch_sra_to_bam input/output definitions

See https://github.com/DataBiosphere/cbas/pull/111

going to hold off on merging this until we get clarity on the "sra_id" vs "accession" question

Beth has confirmed that we should use sra_id 👍


GAN Evaluation with FID and IS example

Google Colab Notebook example for GAN Evaluation using Frechet Inception Distance(FID) and Inception Score(IS).
Added Hugo based metadata using generate.py.

@ydcjeff what should be done to render it as a markdown and display as a post ?

@gucifer change the directory name to static/posts not notebooks and run
sh ./scripts/nb_to_md.sh ./static/posts ./content/posts

@ydcjeff unfortunately, View on Github link does not work : https://github.com/pytorch-ignite/pytorch-ignite.ai/blob/gh-pages/posts/2021-08-11-GAN-evaluation-using-FID-and-IS.ipynb
Open in Colab neither...

@gucifer please remove the last empty cell, otherwise it is rendered as

and we do not understand this cell with "1" (which is the line number).

@ydcjeff unfortunately, View on Github link does not work : https://github.com/pytorch-ignite/pytorch-ignite.ai/blob/gh-pages/posts/2021-08-11-GAN-evaluation-using-FID-and-IS.ipynb
Open in Colab neither...

I think these links will work only after the deployment to GitHub Pages
@ydcjeff am i right?

@ydcjeff unfortunately, View on Github link does not work : https://github.com/pytorch-ignite/pytorch-ignite.ai/blob/gh-pages/posts/2021-08-11-GAN-evaluation-using-FID-and-IS.ipynb
Open in Colab neither...

I think these links will work only after the deployment to GitHub Pages
@ydcjeff am i right?

Yes, it will only work after deploying to gh-pages.

@gucifer you have to regenerate markdown as @ydcjeff suggested and did for you previously

@gucifer let's replace the link behind "here" by https://pytorch.org/ignite/metrics.html#complete-list-of-metrics instead of https://pytorch.org/ignite/index.html

@ydcjeff can we fix or bother about failing "submodule/check-update" ?

@ydcjeff can we fix or bother about failing "submodule/check-update" ?

That's because the examples repo has new notebooks and bot will create a new PR every 6 hours.
So we can safely merge this.


Undefined exception

I think here this.observeHandle needs to be checked if it's defined already.
I get undefined exceptions sometimes.

Interesting, can you show me a reproduction?
Also, it look simple to solve, would you want to pull request it to get the credit?

Pls check console
http://ng-meteor.meteor.com/
Repo https://github.com/barbatus/ng-meteor
I think the bottleneck here (and partly the reason) is that $rootScope.$apply() runs every time new element added to the collection initially. It's not optimal by itself. More appropriate strategy would be 1) apply scope after all initial elements added to the collection 2) apply every next single element changed or added.
In the deployed example above,
right after reactiveFunc has been executed reactively second time here (i.e. it has limit dependency defined already) for the collection foo2 , at the exact moment new element may have been inserted into the collection foo1 which applies  scope and causes all [$watch] (https://github.com/Urigo/angular-meteor/blob/master/modules/angular-meteor-reactive-scope.js#L21)s to run and invalidate current computations (via dependency.changed). Then Tracker.onInvalidate is being executed but foo2 still doesn't have an observer to stop.

About your first point - when we worked on the last performance boost we did exactly that at the beginning but then ended up improving that so much we didn't needed that, but it still might make since - @netanelgilad thinking about re-adding that?
@barbatus do you think that plus checking if
this.observeHandle.stop();

exists before executing that is enough?
If so, can you add a pull request for that simple check? I want to release a new version today or tomorrow and want to include that.

by the way, very nice reproduction!

It's ok if it's 10 elements in a collection but if it's 100 elements it might be freezing to apply scope 100 times.
I would suggest another one method - start (good symmetrical addition to the stop) and a boolean option to the constructor which indicates observing state at the construction.
Thus, an optimized way to follow may be:
$scope.foo = $meteorCollection(function() {
   return Foo.find();
}, true, false /*don't observe*/);
$subscribe('foo').then(function() {
   // Start observing when subscription is ready
   $scope.foo.start();
})

BTW, this commit seems didn't get to the last releast, do you plan to add it to next one?

Perhaps a meteor.defer() could be injected in the $rootScope.$apply() loop to make the function non-blocking. I haven't looked at the code, but meteor defer would essentially pop of the callstack each new $rootScope.$apply() for each doc in the collection, freeing up the app to do other things while applying scope.

@barbatus that's interesting but I'm not sure there is a problem...  have you actually encountered a freezing problem?
if you will look at the $watch function you can see we make it very optimized and we tested it with a lot of items.
If it's ok I would rather not add it to the API, but if it does I might reconsider.
About your commit, I'm not sure....  do you want to reopen that pull request?
@stlouisweb I'm not sure I understand..  maybe can you show an example in a branch, even a non working one

@Urigo BTW, that $watch looks strange to me, why it's not?:
     self.$watch(function() {
        return getValue(self)
      }, function(newVal, oldVal) {
        if (newVal != oldVal) {
            self.$$trackerDeps[property].changed();
        }
      });

@Urigo Just checked once more, my bad, that pull request was added right after previous release, so should be a new one

I'm not sure I understand your two last comments, sorry :)

I mean this $watch. It's executed every $apply, hence, it needs  if (newVal != oldVal)

I was wrong about the commit, never mind. (that PR will be in next release).

@barbatus about 1.
The check is actually needed but it should not affect performance since newVal === oldVal only happens once in the watcher initialization as described in the angular docs https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watch.

@netanelgilad can you add that now before I release a new version?

@Urigo any way, we need to return the apply optimization we had when working on performance..

@netanelgilad yes, you're right

@netanelgilad yes, also the move to a separate service, it's still in a branch

but just remember that it really wasn't that segnificant compared to the watch twicks...

OK looks like the original problem in this thread has solved.
Closing that now.
@netanelgilad we will work on that performance improvement but @barbatus , I would love a reproduction for a scenario where it makes real difference, so we can compare our code to

@Urigo I don't have any freezing issue or anything close (but I haven't had enough docs in a collection to give it a chance). Main point here is that adding docs one by one to the DOM is essentially slower than adding all of them at once.
Ok about closing this; everything else is up to you.

@Urigo I just gave it a whirl with 100 documents on a page. So it takes ~2sec to render without $apply  and 1min!! with. It definitely needs perf optimization.

@barbatus care to try a pull request?

@Urigo Hm, what kind of PR? For reproduce?

PR for the initial load (would be great with a reproduction as well)

@Urigo
Sorry for the delay, it took some time to investigate.
I seem to have found main reason why it was so time consuming to render e.g. 100 documents on a page in my case.  So when I added one-time bindings instead, i.e. with '::' like {{::foo}}, speed improved multiple times. Then I added the following tweak:
addedAt: function (document, atIndex) {
      self.splice(atIndex, 0, document);

      if (handler) {
        clearTimeout(handler);
      }

      handler = setTimeout(function() {
        $rootScope.$apply();
      }, 15);
    }

and speed improved again. Not much as before but yet considerably.
I think it makes sense to add something like above given Angular is inherently slower than a ‘native’ realization would be (as my issue showed).
Also one question regarding rationale behind this line: why not just this.length = 0?
Alex

@barbatus that's the reason for the pop: https://jsperf.com/array-destroy/40
maybe we need to add a comment above it.
And about the timeout, that is a really needed change. Even angular $http has this kind of thing called $useApplyAsync. Collectiona few add events into a single appy is something we should add.
Using the timeout is a good option, but also need to check how angular implemented $useApplyAsync (probably the same way...).

@netanelgilad ha, I got version with the shift even faster; they seems to be approx. the same as well as arr=[] (which was actually my second 'why not' thought). So given it's much less code, I'd choose it (anyways it doesn't matter much).
About the timeout. Ok, I'll check $useApplyAsync and send PR.

@netanelgilad LOL, I just checked it on Chrome and it's different in comparison to Safari, now arr=[] is 75% slower. So never mind, JS is sometimes tough )

@netanelgilad check it out pls ng-meteor.meteor.com, I send out PR also.
It seems to work as expected; i tried also $asyncApply but it didn't work - it only works when it's applied after all elements have been added to the collection.


Evi/mp3 support

Thanks for the PR. Please give the PR a proper title and description first, then I'll check it out!

I still need time to fix things, it seems like audio exported file doesn't work on QuickTime player

I think the PR is in fact OK, but after testing different players, some of them play the audio some do not
On my device (MacOS 12):

🔶 Slack (will play it once, then might not play it again, though Slack does some reencoding)
❌ QuickTime (after and including MacOS 13 it works)
✅ Chrome
✅ Instagram upload
❌ Twitter upload

I know that for a long time QuickTime was not able to play MP3 frames in an MP4, see
https://stackoverflow.com/a/28778982
https://stackoverflow.com/a/34394517
https://old.reddit.com/r/ffmpeg/comments/c8z17w/comment/esuur48/
======
The only problem I have is that the "mp3 " box seems weird to me, when I encode with FFMpeg using liblame for the MP3 encoding, I'm getting the normal stsd with mp4a boxes 🤔
And when I try that with your already existing boxes it fails miserably
======
I will not be pushing the PR as I was not aware that AAC encoding was available on all Chrome platforms. I only referred to this Chromium code to see wether or not AAC encoding was possible
In fact I will close the PR and open a new one without the MP3 commit (e68c0b6bcdd30350a272d8b9c6d6b407c556e8de) just to push the few made improvements


fix umount2 syscall flags type, add conversion helper function

change the flags (param 1) from u32 to s32
add a userspace to scap flag conversion helper routine

Reported by: github issue #515

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf
/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap-engine-udig

/area libscap
/area libpman
/area libsinsp
/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it: change the flags (param 1) from u32 to s32 and add a userspace to scap flag conversion helper routine
Which issue(s) this PR fixes: issue 515 umount2 bullet

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

@oheifetz just wanted to let you know, we are discussing in the other PR https://github.com/falcosecurity/libs/pull/1192#issuecomment-1642344240 how to make the executive decision on when we absolutely need to bump the event given it's rather a long list of minor type miss casts. We will keep you updated, for now we are holding all these PRs until we have clarified the open questions.

Hi @incertum,
Saw that some CI builds failed even though my builds and tests passed. I ran:
cmake -DUSE_BUNDLED_DEPS=On -DBUILD_LIBSCAP_GVISOR=Off \
      -DENABLE_DRIVERS_TESTS=On -DCREATE_TEST_TARGETS=On \
      -DBUILD_BPF=On -DBUILD_LIBSCAP_MODERN_BPF=On -DMODERN_BPF_DEBUG_MODE=On ..
make drivers_test
make driver bpf
make unit-test-libsinsp; make run-unit-test-libsinsp;
make unit-test-libscap; sudo libscap/test/unit-test-libscap;
sudo ./test/drivers/drivers_test -b driver/bpf/probe.o;
sudo ./test/drivers/drivers_test -m
sudo ./test/drivers/drivers_test -k

If there are some additional builds I can run to confirm that it will not fail on CI it would be great

hey @oheifetz yes if you want to reproduce the failure locally you have to put -DBUILD_LIBSCAP_GVISOR=On the fix here seems to put ifdefs around the flag you added so
#ifdef MNT_FORCE
	if (flags & MNT_FORCE)
		res |= PPM_MNT_FORCE;
#endif
#ifdef MNT_DETACH
	if (flags & MNT_DETACH)
		res |= PPM_MNT_DETACH;
#endif

    ...
	return res;

The ifdef __NR_umount2 is not enough because the syscall numbers are defined in another header with respect to the flags

/milestone driver-backlog

Hi @incertum,
When pushing code now I get: `! [remote rejected]   issue_515_umount2 -> issue_515_umount2 (refusing to allow a Personal Access Token to create or update workflow ``
Is there some explanation on the workflow changes that needs to be done to make a push work?

@oheifetz probably not, I just pushed myself onto my branch. I have had such issues in the past and likely something in your settings changed or you need to setup a new ssh key or something. Please let us know if you keep having these issues after checking everything.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

47537db Merge branch 'falcosecurity:master' into issue_515_umount2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

47537db Merge branch 'falcosecurity:master' into issue_515_umount2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Use an existing bean from the registry if a single candidate of the given type is available, rather than creating a new one

Fixing https://issues.apache.org/jira/browse/CAMEL-16733.
Search the registry and if single bean is found matching the given type, then use it rather than creating a new instance.

This can be a good improvement, we need to update the docs about this change


[BUG] installation issues with numpy < 1.23

Describe the bug
Whilek-means-constrained claims to support numpy>=1.22.0 in setup.py, actually attempting to install and use it results in an error related to the numpy API version:
Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import k_means_constrained
Traceback (most recent call last):
  File "__init__.pxd", line 942, in numpy.import_array
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/sconstable/local-dev/venv/lib/python3.10/site-packages/k_means_constrained/__init__.py", line 4, in <module>
    from .k_means_constrained_ import KMeansConstrained
  File "/home/sconstable/local-dev/venv/lib/python3.10/site-packages/k_means_constrained/k_means_constrained_.py", line 18, in <module>
    from .sklearn_import.metrics.pairwise import euclidean_distances
  File "/home/sconstable/local-dev/venv/lib/python3.10/site-packages/k_means_constrained/sklearn_import/metrics/pairwise.py", line 10, in <module>
    from k_means_constrained.sklearn_import.metrics.pairwise_fast import _sparse_manhattan
  File "k_means_constrained/sklearn_import/metrics/pairwise_fast.pyx", line 26, in init k_means_constrained.sklearn_import.metrics.pairwise_fast
  File "__init__.pxd", line 944, in numpy.import_array
ImportError: numpy.core.multiarray failed to import

Minimum working example
The following Dockerfile is enough to reproduce the issue for me:
from ubuntu:20.04
RUN apt-get update && apt-get install -y python3-pip
RUN pip3 install numpy==1.22.4 k-means-constrained
RUN python3 -c 'import k_means_constrained'

Versions:

Python:  3.8, 3.10
Operating system: [Windows/MacOS/Linux] Ubuntu 20.04, 22.04
k-means-constrained: 0.7.1
numpy: 1.22.4
scipy: 1.9.0
ortools: 9.0.9048
joblib: 1.1.0
cython (if installed): 0.29.32

It happened also to me with mac monterrey and Python 3.9.7

the confusion has been resolved, k-means-constrained officially requires numpy>=1.23.0 now. thanks!


Website styling issue on mobile devices

On http://airbnb.io/enzyme the overflowing anchor links on ".book-header" are causing the sections in ".page-wrapper" to constrict in width, making for a terrible UI on mobile devices below iPhone 6 plus width.

Except for hamburger, 'Edit this page' and GitHub icon, no other icons are visible for me. How you got other icons?

The web front has been changed since I raised this issue, so it's no longer needed.


How do I include the helpers using composer

How do I include the helpers using composer?
I added "sendgrid/sendgrid": "dev-v3beta" to my composer.json file, but when I try to do new \SendGrid\Mail() it fails because it cannot find the class.
If I include the vendor/sendgrid/sendgrid/lib/helpers/mail/Mail.php file it fails because that file tries to require __DIR__ . '/../../../vendor/autoload.php'.
If I remove that line it works fine.

Hello @Petah,
First, thanks for giving the new API library a try!
I have not tested or expect composer to work until we bring this library out of beta (which should be very soon!).
For now, this is the method of testing I recommend: https://github.com/sendgrid/sendgrid-php/tree/v3beta#trying-out-the-v3-beta-mail-send
With Best Regards,
Elmer

Do you have a better time frame apart from "very soon"?
Im have been using the old version, but I now need to access the transactional template API which requires this version afaics.

Unfortunately, I can not commit to a time frame today.
I can say that it is my own belief that we are weeks, not months away.


Allow passing a proc/class to asset_path

This would allow users to "rebuild" the 3.x behavior of placing assets in their respective css_dir, js_dir .... In theory this should be easier for each case (since the source => dest is known) and less surprising than results could be in 3.x.

Hmm, can this use or build upon the move_file feature in core?
https://github.com/middleman/middleman/blob/master/middleman-core/lib/middleman-core/sitemap/extensions/move_file.rb

Yeah, I guess it could -- I was thinking though since we're setting linked asset paths here that allowing users to give a proc for that would be easier to keep track of than finding those assets again and using move_file. That make sense to you?

Makes sense.

I needed this capability today, so I have created a pull request. Let me know how it looks.


[Epic] Support Azure Identity for Spring ecosystems for Kafka

This is the epic to track all issues about Azure Identity support for Spring Cloud Azure Kafka.
Context
Currently Kafka developers can use Event Hubs in the same way as how they use Kafka since Event Hubs supports Kafka protocols as well. For the authentication part, native Kafka developers can use either connection string as crendentials with other security configuratiosn or use OAuth2 with customzied authentication call back handler and other security configuration.
We plan to support all Azure Identity based credentials for Spring Cloud Azure Kafka support, which includes all Azure Identity supported credential types and configuration options.
With Azure Identity-based credentials being supported, we can also achieve credential-free connection as well, which based on the ManagedIdentityCredential in Azure Identity. It can enable developers to use user-assigned/system-assigend managed identities in various Azure hosting environments to establish connection with Event Hubs via various spring ecosystems for kafka.
Deliveries
The delivery resources include:

[x] #28708
[x] #28709
[x] #29976
[x] #29217
[x] #28710
[x] #28712
[x] #29788
[x] #29789

Move the following out from this epic:

[ ] #30344

Move #30344 out from this epic, and closing this issue now.


Locktime is_block_height is_block_time is_same_unit should all be const

https://docs.rs/bitcoin/latest/bitcoin/blockdata/locktime/absolute/enum.LockTime.html#method.is_block_height
These are all obviously just shorthand for simple matches and we can commit to them being const.
I think the same is true for is_satisfied_by and is_implied_by -- these are just inequalities. Assuming Rust lets us do inequalities in constfns, these should be const.

For sure -- but since I'm looking at this module, and these functions in particular (which are used in rust-miniscript in "type property" constructors that would be const if not for the locktime flags) I figured I should open this issue.
I also think these are an easy choice to make const, unlike some other functions where we might plausibly change the computation in the future and const would constrain us.


Wrapper Function Link Missing

"One solution is using a wrapper function like this:"
There's nothing there to show any wrapper function.

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

ID: c47eeef5-7c7f-fc13-1b29-d46bbe5a3c6e
Version Independent ID: d13c1192-d39c-6e73-6d8b-a36704c63274
Content: Waiting for VMs to restart in a complex configuration script with PowerShell Direct
Content Source: virtualization/community/team-blog/2016/20161011-waiting-for-vms-to-restart-in-a-complex-configuration-script-with-powershell-direct.md
GitHub Login: @scooley

tough crowd...

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


prevent chartutil.SaveDir from writing files outisde of the destination

See https://github.com/kubernetes/helm/pull/3567#discussion_r171382276
This isn't an issue today, but this will prevent third party users of that package from accidentally writing files to directories other than dest.

closing as inactive.


External API Learning Process

https://www.youtube.com/watch?v=U9T6YkEDkMo

we will use the angular to call the external API and we following those steps:

Setup for server communication
Requesting data from a server
Requesting a typed response
Reading the full response
Making a JSONP request
Requesting non-JSON data
Handling request errors
Sending data to a server

reference:
https://angular.io/guide/http#requesting-data-from-a-server


Dev Test: Greenhouse Effect 1.2.0-dev.2

Dev Test
Mentions: @arouinfar, @kathy-phet, and @KatieWoe
Simulation links

github repository for issues
phet top-level directory
sim: all_phet.html
phet-io wrapper index

Test Matrix
Please include all (non-screen reader) feature testing in these records if applicable.

[x] Latest macOS, Safari (Time = 2)
[ ] Windows 10, Chrome (Time = )
[x] Windows 10/11, Firefox (Time = 3.0)
[x] Latest iOS, Safari (Time = 2)
[x] Windows 11, Chrome (Time =2 )

Light testing, or optionally skip if time crunch:

[ ] Latest macOS, Chrome (Time = )
[ ] Latest Chrome OS, Chrome (Time = )

If PhET-iO is being tested:

[x] Latest macOS, Safari (Time = 3)
[ ] Windows 10, Chrome (Time = )
[ ] Windows 10/11, Firefox (Time = )
[ ] Latest iOS, Safari (Time = )
[x] Windows 11, Chrome (Time = 4)

Features included

[x] PhET-iO
[x] Alternative Input
[x] UI Sound
[x] Sonification

Focus and Special Instructions

The primary purpose of the next release of this sim is to add full support for phet-io, and this dev test is the first
round of verification for that functionality.  The focus should be on phet-io support while simultaneously regression
testing the basic functionality of the sim.

For QA...

General features

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Sound and Sonification
Pan and Zoom

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel controls. Please test magnfication and make sure
it is working as intended and well with the use cases of the simulation. Due to the way screen readers handle user input, magnification is NOT expected to
work while using a screen reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Noting that the sound on iPad is fairly staticky. This is the same in published.

Not necessarily a bug, but I noticed that, since the default temp units are now in the preferences menu, the teacher tips should be updated to reflect that when this is published.

Thanks QA team!  I'll close this issue and will address the individual issues listed above.


[Task] OSD Rendering with Vulkan driver

Assistance required with implementing OSD rendering with Vulkan drivers.
Is there any examples of 2D rendering with Vulkan  drivers in X-Plane?

Fixed in 1.3.0


Improve the performance of isolatedDeclarations quickfix

It turns out that typeChecker.getEmitResolver() can be expensive, so avoid calling it unless necessary.
Hopefully helps #58426, in particularly the performance issue (bullet 1)

@microsoft-github-policy-service agree [company="Google"]

Weird, how does this end up being expensive? Is it recalculating diagnostics? Something else? Do you have a profile before/after?
You'll want to resend that CLA comment again, I don't think it understands edits. I also modified your PR description as the language it contained would have closed the linked issue (when it shouldn't in full yet).

Yeah, I assume it's recalculating diagnostics, as the method called inside getEmitResolver is called getDiagnostics2.
The full before profile is vscode-profile-2024-05-29-16-18-13.cpuprofile
After this fix, the quickfix in my example projects didn't have perceptible latency, so I didn't try to grab an after profile.
@microsoft-github-policy-service agree company="Google"

Oops, I think I uploaded the wrong before profile. Darn reverse chronological.  The useful ones are these three:

vscode-profile-2024-05-30-13-47-48.cpuprofile
vscode-profile-2024-05-30-13-41-49.cpuprofile
vscode-profile-2024-05-30-13-31-47.cpuprofile

Thank you @blickly for jumping on this 👍


Integrated Terminal: Windows 10 Prompting me to associate ng command with a program

VSCode Version: 1.13.0
OS Version: Windows 10

Steps to Reproduce:

Open project folder in VSCode.
Ctrl + ` to bring up Integrated Terminal
Entered ng serve on Power Shell command line.

Expected Result
Expected ng serve to lunch NG Live Development Server
Actual Result
I get a Windows dialog prompting me to associate ng with a program.
Workaround:

Open up a windows cmd prompt
cd to the project directory
Enter ng serve on the command line
NG Live Development server starts up successfully.

Is ng on your path? Try running echo %path% in the terminal and check if ng is in one of the folders.

@Tyriar Yes ng is in my Windows path but I'm using the PS shell to execute the ng serve command.  No, ng is not one of the folders but if you follow though with the file association thing (associating it with Notepad++) you get a file named ng in the current directory with the following script which looks to me like a Unix-style shell script.
#!/usr/bin/env node
'use strict';
// Provide a title to the process in ps
process.title = 'angular-cli';
const resolve = require('resolve');
const packageJson = require('../package.json');
const Leek = require('leek');
const Version = require('../upgrade/version').Version;
resolve('angular-cli', { basedir: process.cwd() },
function (error, projectLocalCli) {
var cli;
if (error) {
// If there is an error, resolve could not find the ng-cli
// library from a package.json. Instead, include it from a relative
// path to this script file (which is likely a globally installed
// npm package). Most common cause for hitting this is ng new
cli = require('../lib/cli');
} else {
// Verify that package's version.
Version.assertPostWebpackVersion();
  // No error implies a projectLocalCli, which will load whatever
  // version of ng-cli you have installed in a local package.json
  cli = require(projectLocalCli);
}

if ('default' in cli) {
  cli = cli['default'];
}

cli({
  cliArgs: process.argv.slice(2),
  inputStream: process.stdin,
  outputStream: process.stdout,
  Leek: CustomLeek
}).then(function (result) {
  var exitCode = typeof result === 'object' ? result.exitCode : result;
  process.exit(exitCode);
});

function CustomLeek(options) {
  options.trackingCode = packageJson.trackingCode;
  options.globalName = packageJson.name;
  options.name = packageJson.name;
  options.version = packageJson.version;
  return new Leek(options);
}

});

@hhmultimediallc sounds like powershell doesn't understand the shebang notation maybe #!/usr/bin/env node? Does it work if you run cmd and try again in the integrated terminal?

@Tyriar Not sure I follow but if I open up a regular windows command prompt outside of the VSCode IDE, ng serve works as I expect, which is my workaround to this.  I just wish I could run ng commands inside of the Integrated Terminal instead of having to run them outside of the IDE at the command line.

Additional Innformation
Just did a reinstall of the  Angular CLI and the problem still exists.
npm uninstall -g angular-cli
npm cache clear
npm install -g angular-cli
I see that this item is marked needs more information  Please let me know any additional information I can provide.

@hhmultimediallc do you have the powershell extension installed?
/cc @daviwil

Steve, can you start cmd.exe, type the command where ng and paste the output here?  After that, could you type Get-Command ng inside of the Integrated Terminal and paste the output?

@daviwil Cool!  I had no idea Windows had this Unix-like cmd.  Sweet!
Here is the result:
C:\git-hcm\optimizer2\Presentation\src>where ng
C:\Users\SHAMPTON\AppData\Roaming\npm\node_modules\angular-cli\bin\ng
C:\Users\SHAMPTON.SHAMPTON-WORK\AppData\Roaming\npm\ng
C:\Users\SHAMPTON.SHAMPTON-WORK\AppData\Roaming\npm\ng.cmd

Looks like PowerShell is picking the wrong "executable" for ng.  What happens if you type ng.cmd inside of the Integrated Terminal?
If you aren't a regular PowerShell user I'd recommend just changing your default terminal in VS Code to cmd.exe since it seems to pick up the right path:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe"

@daviwil If I enter ng.cmd at the terminal PS command line, it just gives me the man pages.
If I enter ng.cmd -serve at the terminal PS command line, it renders:
The specified command -serve is invalid. For available options, see ng help.
Nope, not a big PS user at the moment.  So do I just add
"terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe"
To the user preferences somewhere?
Thanks.

RESOLVED (Workaround)
As @daviwil stated, I was able to simple change execution shell to resolve my problem.  I'm not sure how to get my PS environment corrected but at least I have Windows / MS-DOS (or whatever they call the cmd shell these days) that I'm able to work in the VSC IDE.  Which I love.
Steps to Workaround

From VS Code select File => Preferences => Settings
Pasted the following line in the the user custom settings in the right window pane.
"terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe"

ng serve now launches propertly from Integrated Terminal Window in VS Code.

Great to hear :smiley: