[Bug]: MSEdge installation fails on macOS 14 GitHub Actions hosted runners

Version
1.43.0
Steps to reproduce

Fork https://github.com/martincostello/dotnet-playwright-tests
Run the build GitHub Actions workflow

Expected behavior
The tests pass.
Actual behavior
MSEdge fails to install when the tests are run on the macos-latest runner.
Error: Microsoft.Playwright.PlaywrightException : Chromium distribution 'msedge' is not found at /Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
Run "pwsh bin/Debug/netX/playwright.ps1 install msedge"

  Failed Search_For_DotNet_Core(browserType: "chromium", browserChannel: "msedge") [322 ms]
  Error Message:
   Microsoft.Playwright.PlaywrightException : Chromium distribution 'msedge' is not found at /Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
Run "pwsh bin/Debug/netX/playwright.ps1 install msedge"
  Stack Trace:
     at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwner object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 206
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 526
   at Microsoft.Playwright.Core.BrowserType.LaunchAsync(BrowserTypeLaunchOptions options) in /_/src/Playwright/Core/BrowserType.cs:line 56
   at PlaywrightTests.BrowserFixture.CreateBrowserAsync(IPlaywright playwright, String testName) in /Users/runner/work/dotnet-playwright-tests/dotnet-playwright-tests/PlaywrightTests/BrowserFixture.cs:line 191
   at PlaywrightTests.BrowserFixture.WithPageAsync(Func`2 action, String testName) in /Users/runner/work/dotnet-playwright-tests/dotnet-playwright-tests/PlaywrightTests/BrowserFixture.cs:line 32
   at PlaywrightTests.SearchTests.Search_For_DotNet_Core(String browserType, String browserChannel) in /Users/runner/work/dotnet-playwright-tests/dotnet-playwright-tests/PlaywrightTests/SearchTests.cs:line 45
--- End of stack trace from previous location ---

Additional context
This behaviour appears to have emerged for my repositories in the last ~16 hours with the macos-latest runner images moving from macOS 12 to macOS 14.
For example:

15 hours ago with macOS 12 - success
1 hour ago with macOS 14 - failure

According to the release notes, MSEdge is installed.
Environment
- Operating System: macOS 14.4.1
- CPU: Unsure
- Browser: MSEdge
- .NET Version (TFM): net8.0

I filed an upstream issue: https://github.com/actions/runner-images/issues/9734

See here: https://github.com/actions/runner-images/issues/9734#issuecomment-2074663445
We recommend installing it manually for now. Closing since there is no action needed from our side.


Parse access_token, client etc. from body instead of headers

Hi, I needed to parse access_token, client etc. from the body instead from the headers as the library provides by default. Is it possible? I can't seem to find anyone facing a similar problem?
Thanks.

I've just looked into the source and it appears this is not possible out of the box. You either have to modify source or update server to include the auth params in the response header.

This is how I got around it - https://github.com/lynndylanhurley/ng-token-auth/issues/56#issuecomment-61431254
I agree that there should be an easier way of doing it, but this solution works.


support WebSockets without body

This PR supports WebSockets without a body.
@erm
I thought I should use pytest.parametrize  for this unittest.
But, I think It's too complex in the case.
Therefore, I deleted the body in an event dict.
Related issues
#117

Thanks! Good call on the test, I agree.


FIX: typos

Combed through qiita_pet/templates and fixed two typos.

Thanks for your contribution @jenwei !
It looks like the errors are unrelated to your changes, so don't worry about them.
@wasade, @gregcaporaso it looks like the errors in here are related with the changes in biom - can you guys take a look?

Happy to help @josenavas :+1:
Starting with small contributions at the moment but hoping to work up to resolving more substantial issues in the future!

My guess is that it's the version of miniconda and future ... will issue a PR soon.

@jenwei that's great to hear. Note that #1516 fixes the failures.

@jenwei do you mind pulling from upstream/master and pushing again?

@josenavas just pulled/merged from upstream and pushed

Fixes: https://github.com/biocore/qiita/issues/1511
:+1:
@mortonjt wanna review/merge? Should take a couple of seconds :smile:

:+1:


Fix compilation issues related to blas deprecated routines

** Problem
When compiling the master branch, we get a lot of deprecated routine warnings related to the call to blas like set_device and device_malloc and device_free that now takes a queue instead of the setting the device.
** Solution
Remove the calls to set_device, get queues from the set of compute_queues, by default I create and use queue_0 = 0.

Thanks Sebastien for fixing that.


Compilation error on Yosemite

./compile_libs.sh                                                                                Warning: None of CFLAGS, CXXFLAGS or CPPFLAGS is set; you probably should enable some options.
ld: unknown option: -soname=libcld2.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: unknown option: -soname=libcld2_full.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)
is it available for Yosemite? please let me know
Thanks in advance,
Canh

You should only care about this if you need the shared libraries. Anyway, to get the compilation to work you can replace -o libcld2.so $LDFLAGS -Wl,-soname=libcld2.so with o libcld2.dylib $LDFLAGS -Wl,-install_name,libcld2.dylib. (Note that the equal sign after soname got replaced by a comma.)
This will fix compilation and allow you to use the library in Python bindings such as chromium-compact-language-detector. But a proper fix would do more things related to library versions, I guess.


Added Managing External Guests in SharePoint vs Teams to TOC

Category

[X] Content update, TOC fix

Docs Build status updates of commit 6266e02:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/TOC.md
:white_check_mark:Succeeded
View

Community/index.yml
:white_check_mark:Succeeded
View

Community/managing-external-guest-in-SharePoint-vs-Teams.md
:white_check_mark:Succeeded
View

Community/select-an-effective-navigation-strategy.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Jesse: Watch hoholah.com

Jesse requests the watch of the watch_keyword hoholah\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

hoholah\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Hours view

Hello,
is it possible to display hours like this by default (as in attachment)?
Can you help me with this? :-)

Were you able to make it work?

No

Hi, currently there's a PR review for merge #1892


[Feature] Translate login screen

Describe the solution you'd like
The translations should be updated such that the entire pages are available in Bulgarian. Files to be updated:
https://github.com/podkrepi-bg/infrastructure/blob/main/keycloak/theme_podkrepi/login/messages/messages_bg.properties
https://github.com/podkrepi-bg/infrastructure/blob/main/keycloak/theme_podkrepi/email/messages/messages_bg.properties
https://github.com/podkrepi-bg/infrastructure/blob/main/keycloak/theme_podkrepi/account/messages/messages_bg.properties
Additional context
The placeholders which require translations can be found here:
https://github.com/keycloak/keycloak/blob/main/themes/src/main/resources/theme/base/login/messages/messages_en.properties
https://github.com/keycloak/keycloak/blob/main/themes/src/main/resources/theme/base/email/messages/messages_en.properties
https://github.com/keycloak/keycloak/blob/main/themes/src/main/resources/theme/base/account/messages/messages_en.properties

Login/Registrations/Forgotten pass translations added by GeorgyGenchev with this pull request https://github.com/podkrepi-bg/infrastructure/pull/27
TODO: emails and account related translations

@igoychev is this still relevant?

@igoychev is this still relevant?

not relevant anymore - safe to close


Show custom proeprty key as title

This could also be a fix for #198. I'm not able to reproduce a meaningful example for #198. Need help @tcompa

Thanks @rkpasia, this is indeed the expected behavior for #201, since the key name is displayed on top of the value (e.g. "MyKey1", in the screenshot).

As for #198, the behavior clearly improved, since we now see different descriptions for channel and channel2 - see below.
What is currently wrong is that the titles are still not correct. They both display Channel, but they should match to the first-level argument names (as for the docstring), which are channel and channel2.

In order to see "channel2" as title for the property, it should be included in the nested schema. I mean:
Given the following partial schema
"channel2": {
      "$ref": "#/definitions/Channel",
      "description": "Second channel for segmentation (in the same format as ``channel``). If specified, cellpose runs in dual channel mode.  For dual channel segmentation of cells, the first channel should contain the membrane marker, the second channel should contain the nuclear marker."
    },

If no title property is present in the inner channel2 schema, then the default title in the referenced schema #/definitions/Channel is used.
Instead, if a title property is present in the inner schema as in the following
"channel2": {
      "$ref": "#/definitions/Channel",
      "title": "Channel2",
      "description": "Second channel for segmentation (in the same format as ``channel``). If specified, cellpose runs in dual channel mode.  For dual channel segmentation of cells, the first channel should contain the membrane marker, the second channel should contain the nuclear marker."
    },

then the client will display "Channel2" as property title/name

I see, thanks. Then this is a bit more work on the schema-generation side.

I could indeed show the property key channel2 instead of the title property. But that isn't really by Json Schema design.
Moreover, this would require more logic to discriminate the property title:

if there is a title property, then we should display the title
if there is no title inside the root schema, but there is a reference, should the client display the title or the key?
There would be situations in which is more helpful to display the key or the title?
[...]

I could indeed show the property key channel2 instead of the title property.

I don't think fractal-web should do this. This is some more "custom" logic, which we will include in our schema-generation tools (in fractal-tasks-core). If a title is missing (as they are now), I'm OK with fractal-web not making any smart guess.

Here are three relevant screenshots with comments
Screenshot 1: all as expected

Screenshot 2: all as expected. The argument descriptions may be improved (the higher-level one points to the lower-level one, and the lower-level one points to the higher-level one), but this has nothing to do with fractal-web.

Screenshot 3: all as expected, apart from a glitch (the "undefined" below CHANNEL_KEY). Is this something we can still fix @rkpasia?

Screenshot 3: all as expected, apart from a glitch (the "undefined" below CHANNEL_KEY)

af2d6e1 Should check it

Looks good to me!


Added support for floating point scientific notation. Fixes #34.

Added support for floating point scientific notation. Fixes #34.

Quick note: The destination for this PR should be the dev1.0.0 branch, not master 😄


Avoid checking the returned sqlite dtype on all 32 bit platforms.

There's still some 32-bit linux targets in addition to win32.

[X] Closes? #8620 It's really more of a work around, the problem of sqlite's data types not being consistent between 64 and 32 bit architectures is not fixed. This patch ignores that difference because it's pretty likely to not be that important.
[n/a] Tests added / passed
(test_query_with_meta was made slightly weaker on 32-bit architectures by not requiring the same dtype)
[?] Passes pre-commit run --all-files

I made the patch pushed it to my own branch on github and waited for the tests to run. There's (now) one test failure that looks unrelated to this change. I think that's equivalent to the pre-commit run --all-files
(On my first try I typoed the name of int_info and there were two test failures, so I'm pretty sure the test is actually running.)

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.

ok to test

@detrout Thanks for this PR! I've merged main to get #9432 to fix the CI failures. :)


Making build/link APIs use Strings to represent filepaths instead of Uris

We should consider making build/link APIs use Strings to represent filepaths instead of Uris. Using Uris indicates that they can be arbitrary uris (e.g. http uris) when in fact they cannot - there's assumptions throughout the code that those are filepaths.

Pros for Uri:

Predictable behavior when resolving. Uri has an API. String invites users to do arbitrary things (which will most likely fail on Windows with drive litters, and with relative vs absolute paths).
No need for helper packages, keeping the dependencies small.

Pros for String:

Does not indicate possibility for other schemes.

Cons for String:

Requires doc comments to even specify that they are a file path, could be a file name, or some other contents.

Maybe we should consider using File/Directory (possibly from package:file) instead.
Pros for File / Directory from package:file:

Has an API for resolving etc. like Uri, but does not permit http: scheme.

To me Uris indicate that they can be arbitrary URIs as much as Strings indicate that they can be any arbitrary text.

So you prefer File and Directory? 😄

I'm fine with either of the options. One con for File/Directory is the fact that we need to add dependency to another package.

Cons for String:
Requires doc comments to even specify that they are a file path, could be a file name, or some other contents.

It's usually very obvious from the name of a variable/parameter (e.g. String get resourceUsesFile) - and it applies to Uris equally - one has to know it's a file:// uri. In both cases one also may need to specify whether it can be absolute or relative. So it's really not a downside of using String at all.

Cons for String:
No help for resolution (very easy to get wrong on Windows and with absolute/relative paths).

We do have package:path that is pervasively used for path manipulation in Dart. So I don't see this as a downside either.

+1 to package:file, I don't think Strings are a great interface for non-generic text. But I am fine with any of the options.

It's usually very obvious from the name of a variable/parameter

I thought the benefit of a typed language is to not have to infer the type from the name ;)

I thought the benefit of a typed language is to not have to infer the type from the name ;)

Name of variables should signal what the variable represents which may at times be very related to the type of a variable. Of course one shouldn't - just for the sake of it - repeat a type name in the variable name.
If you strongly prefer to signal it in the type you can consider making an extension type on top of String.

Pros for Uri:

Predictable behavior when resolving.

I'd prefer not to use URIs. I think their resolving logic is actually pretty confusing, because it's very opinionated about whether a path to a directory must end with a '/': https://dartpad.dev/?id=3ef2336ad73993a8991e45b6ffd0dcf1
My top choice would be Strings + package:path. I haven't used File and Directory for handling paths, but if their resolution utils are as good as package:path I'm fine with them.

If you strongly prefer to signal it in the type you can consider making an extension type on top of String.

https://pub.dev/packages/path_type seems to do that. Not suggesting we use a 3p package, just FYI.


Revisited Tuple.map and Tuple.transform code generation

Fixes #1027

Current coverage is 94.50%

Merging #1037 into master will increase coverage by +0.04% as of bb6d9be

@@            master   #1037   diff @@
======================================
  Files           75      75
  Stmts         9382    9425    +43
  Branches      1770    1770
  Methods          0       0
======================================
+ Hit           8863    8907    +44
  Partial        121     121
+ Missed         398     397     -1

Review entire Coverage Diff as of bb6d9be

Powered by Codecov. Updated on successful CI builds.


Multi axis bart chart using different labels on top and bottom

Hi guys,
I am trying to create a multiple bar chart chart but I would like to use as well multiple string labels;
My data is between -100 and 100 and I would like to show one label on top and one label on the bottom. I Tried to do it using x-axis but I have twice the labels contained in labels:
My code is the following :
[`var other = new Chart(ctx5,{
        type: 'radar',
        data: {
              labels:other_data_label,
              datasets:[{
                      data: behaviour_fixed_array, //processing_information_data,
                      backgroundColor: 'rgba(102, 187, 158,0.2)',
                      borderColor: 'rgb(102,187,158)',
                      pointBackgroundColor:'rgb(67, 122, 103)',
                        },
                        {
                        backgroundColor: 'rgba(188,101,47,0.2)',
                        borderColor: 'rgb(168,101,47)',
                        pointBackgroundColor:'rgb(155, 21, 6)',
                        data: []
                        }]
              },
        options: {
              legend: {
                  position: 'top',
                  display: false
              },
              scale: {
                    display: true,
                    ticks: {
                          beginAtZero: true,
                            }
                     },
              responsive:true,
              maintainAspectRatio: true,
                 }
          });
     //end graph 5//`](url)

So I would like to have for example two X-axis one on top with label : [black, orange, yellow]
and one at the  bottom with labels : [white, red, green]
could someone help me please ?

Please ask questions on StackOverflow: https://stackoverflow.com/questions/tagged/chart.js


[Event Request] table 99000849 "Action Message Entry" - OnAfterSetSourceFilter

Can we please get the following event?
procedure SetSourceFilter(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceRefNo: Integer; SourceKey: Boolean)
begin
    if SourceKey then
        SetCurrentKey(
            "Source ID", "Source Type", "Source Subtype", "Source Batch Name",
            "Source Prod. Order Line", "Source Ref. No.");
    SetRange("Source Type", SourceType);
    if SourceSubtype >= 0 then
        SetRange("Source Subtype", SourceSubtype);
    SetRange("Source ID", SourceID);
    if SourceRefNo >= 0 then
        SetRange("Source Ref. No.", SourceRefNo);
    OnAfterSetSourceFilter(SourceType, SourceSubtype, SourceID, SourceRefNo, SourceKey, Rec); //NEW
end;

[IntegrationEvent(false, false)]
local procedure procedure SetSourceFilter(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceRefNo: Integer; SourceKey: Boolean; var ActionMessageEntry: Record "Action Message Entry")
begin
end;

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


State identifiers for sink states: |Sink or state IDs?

Determine how to represent vertices in AGs that come from sink states. If we do assign |Sink, then all sinks of that type will be merged in one node (cool for simplicity, bad for readability). However, state IDs taken from sinks (salvaged) might be misleading for analysts (think different context). In either case, vertices related to sink states MUST ALWAYS have a dotted border.

I would like to add something regarding this issue.

Current implementation is as follows: _for low-severity sinks, there is |Sink. For med- and high-severity sinks, there is the actual ID. For low-severity non-sinks, there is no ID at all.
in_main_model (in ag-generation.py) seems useless, since it is created from the state IDs from the episodes and then the same states are queried in in_main_model (so all states will be in in_main_model, including the ones with ID -1). So, all the if-checks for |Sink's are never true and are currently not used. What could be checked instead is if episode[3] != -1, since nodes with ID -1 are low-severity sinks (their ID is removed in traverse method). This will lead to some states having |Sink ID (which I saw on the image in some of the papers, but which is not the case for the current implementation), and as a result a bit more states (these states will now have an ID "Sink" and hence will not be merged with a non-sink nodes without ID (e.g. some VulnD)).

This is how an AG would look like if we check if episode[3] != -1:

I think it went wrong somewhere in this commit

With the current implementation, there is technically no point in removing IDs from low-severity sinks as they will not be shown as sinks anyway and will be treated in the same way as low-severity non-sinks (when creating attack graphs; since they don't have IDs, graphviz will treat them the same). As intended, there are no oval sinks in the AGs (I have verified this with the cursed pipelines below).

Note: Changes here might break some tests.


[FLINK-28815][docs] Translate the Real Time Reporting with the Table API page into Chinese

What is the purpose of the change
Improve the docs in chinese.
Brief change log

Translate the "Real Time Reporting with the Table API" page into Chinese
This also fixed a typo on page "Fraud Detection with the DataStream API" in chinese

Verifying this change
No test cases.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): ( no)
The public API, i.e., is any changed class annotated with @Public(Evolving): ( no)
The serializers: ( no )
The runtime per-record code paths (performance sensitive): (no )
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: ( no )
The S3 file system connector: ( no )

Documentation

Does this pull request introduce a new feature? ( yes )
If yes, how is the feature documented? ( docs )

@Mrzyxing Thank you for the contribution! I left some comments, please take a look. Let me know what you think, I will help to review the rest part after your feedback.

@ChengkaiYang2022  Thank you very much! Also left some feedback after you and I will push some new commit after we reach an agreement.

@Mrzyxing Thank you for the contribution! I left some comments, please take a look. Let me know what you think, I will help to review the rest part after your feedback.

@ChengkaiYang2022 Thank you very much! Also left some feedback after you and I will push some new commit after we reach an agreement.

@Mrzyxing Thanks for your feedback!

@ChengkaiYang2022 Fixed and update some translate,let us take this forward!

@Mrzyxing  I left some comment , please take a look. Looks good to me overall.

@ChengkaiYang2022 Updates, please have a look just when you have time. And will push a final commit after all conversation resolved.

@ChengkaiYang2022 There is one last unresovled conversation, looks like you haven't catch this .
Very expect your ideas.

@ChengkaiYang2022 With your patience and help, all conversation resolved. Thank you very much, expect the next collaborate :-)

@Mrzyxing Thanks for the contribution! @MartijnVisser Would you help to merge this?


Conversation Item order is not correct

The items in the webchat are not showing in the correct order.
The last user message will always be at the bottom of the chat, even after a reply has been sent by the bot.
example conversation:
User: Hi
Bot: Hi how are you?
User: I am good thanks.
Bot: How can I help?
would display as such in the webchat window:
Bot:Hi how are you?
User: Hi
Bot: How Can I help?
User: I am good thanks.
You can actually see the users message in the above conversation being moved down below the bot reply after it has been displayed in the webchat window.
I can confirm that this is not an issue with the bot as the conversation order is not altered after a reply is received in the Emulator and in the "Test in Web" in the Azure Bot Channel details.
I have also put a very basic bot in that just echo's what the user said and the same issue happens.
Below is the configuration in JavaScript of the WebChat window:
`$(document).ready(function() {
var userId = "d8e83df9-9eaa-e811-814c-5065f38b1651";
    var user = { id: userId, name: "Hindrajh Singh" };
    var bot = { id: "BOT" };

    (async function(){
        const res = await fetch("https://someendpoint.azurewebsites.net/api/token", { method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({ UserID: userId }) });
        const { token } = await res.json();

        var botConnection = new window.WebChat.createDirectLine({
            token: token,
            user: user
        });

        window.WebChat.renderWebChat({
            directLine: botConnection,
            botAvatarInitials: 'BM',
            userAvatarInitials: 'HS',
            bot: bot,
            user: user,
            userID: userId,
        }, document.getElementById('BotChatGoesHere'));
    })().catch(err => console.error(err));
});`

The order of activities is determined by the timestamp on the DirectLine Service -- we don't use the conversationally natural order of activities.
Can you check your Network tab in developer tools for activity.timestamp, and verify that these are in time order?

This is the portion of code that find the right position to insert the activity into. I put a lot of comments to make it more readable.
Do you think the logic here is correct or not?

Closing due to inactivity

Closing due to inactivity.


AttributeError when building Default backend

Hi i get following error after trying to build the default backend.
$ python -mpyvx.build_cbackend --default pyvx /home/test/Desktop/openvx_sample/install/Linux/x64/Release/
In file included from /home/test/Desktop/openvx_sample/install/Linux/x64/Release/include/VX/vx.h:50:0,
from pyvx/backend/pyvx.c:433:
/home/test/Desktop/openvx_sample/install/Linux/x64/Release/include/VX/vx_api.h:48:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
VX_API_ENTRY vx_context VX_API_CALL vxCreateContext();
^~~~~~~~~~~~
pyvx/backend/pyvx.c:438:15: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
char *_get_backend_version() {return "1.0.1-2";}
^~~~~~~~~~~~~~~~~~~~
pyvx/backend/pyvx.c:439:15: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
char *_get_backend_name() {return "pyvx";}
^~~~~~~~~~~~~~~~~
pyvx/backend/pyvx.c:440:15: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
char *_get_backend_install_path() {return "/home/test/Desktop/openvx_sample/install/Linux/x64/Release/";}
^~~~~~~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/test/Downloads/pyvx/pyvx/build_cbackend.py", line 131, in
build(name, openvx_install, default)
File "/home/test/Downloads/pyvx/pyvx/build_cbackend.py", line 107, in build
import pyvx.backend as backend
File "pyvx/backend/init.py", line 3, in
if isinstance(pyvx._default_backend_name, str):
AttributeError: 'module' object has no attribute '_default_backend_name'
i don't know where to go from here.

Hi,
which version are you using? _default_backend_name is defined on line 10 of
pyvx/init.py, right?
On Thu, Nov 16, 2017 at 6:25 PM, Marvin<EMAIL_ADDRESS>wrote:

Hi i get following error after trying to build the default backend.
$ python -mpyvx.build_cbackend --default pyvx /home/test/Desktop/openvx_
sample/install/Linux/x64/Release/
In file included from /home/test/Desktop/openvx_sample/install/Linux/x64/
Release/include/VX/vx.h:50:0,
from pyvx/backend/pyvx.c:433:
/home/test/Desktop/openvx_sample/install/Linux/x64/
Release/include/VX/vx_api.h:48:1: warning: function declaration isn’t a
prototype [-Wstrict-prototypes]
VX_API_ENTRY vx_context VX_API_CALL vxCreateContext();
^~~~~~~~~~~~
pyvx/backend/pyvx.c:438:15: warning: function declaration isn’t a
prototype [-Wstrict-prototypes]
char *_get_backend_version() {return "1.0.1-2";}
^~~~~~~~~~~~~~~~~~~~
pyvx/backend/pyvx.c:439:15: warning: function declaration isn’t a
prototype [-Wstrict-prototypes]
char *_get_backend_name() {return "pyvx";}
^~~~~~~~~~~~~~~~~
pyvx/backend/pyvx.c:440:15: warning: function declaration isn’t a
prototype [-Wstrict-prototypes]
char *get_backend_install_path() {return "/home/test/Desktop/openvx
sample/install/Linux/x64/Release/";}
^~~~~~~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/test/Downloads/pyvx/pyvx/build_cbackend.py", line 131, in
build(name, openvx_install, default)
File "/home/test/Downloads/pyvx/pyvx/build_cbackend.py", line 107, in
build
import pyvx.backend as backend
File "pyvx/backend/init.py", line 3, in
if isinstance(pyvx._default_backend_name, str):
AttributeError: 'module' object has no attribute '_default_backend_name'
i don't know where to go from here.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hakanardo/pyvx/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADRs8eqMvdFPRbPz5qoBQ-0bLR07Mqh2ks5s3G_7gaJpZM4Qg2Pd
.

--
Håkan Ardö

hi thx for the quick answer.
I am using the rewrite version with openvx sample imlpementation 1.0.1


python: null error check

The latest release of itkwasm-htj2k==2.2.0 might have added an unintentional bug.
https://github.com/InsightSoftwareConsortium/ITKIOOpenJPH/commit/c07807a0def2f1fe3c07c5a36563c1381f25a839#diff-ed441ea9fb9f6603c942eeec2e9d53f8f10cd0e4ea61fcc3f5ed2bfbf6b011d3L18-R20
While the params above accept None values, the following doesn't and throws error in the given line:
https://github.com/InsightSoftwareConsortium/ITKIOOpenJPH/blob/main/src/wasm/python/itkwasm-htj2k-wasi/itkwasm_htj2k_wasi/encode.py#L89

@pritamrungta thanks for the note!
Addressed in #21 (reverts the addition of Optional) and released in 2.3.1.


feed.xml breaks when seeing binary output

I added a blog entry
Inside this entry if you notice is some pre-formated text with some garbage binary outputs (binary in this context refers to non-printable characters)
In my feed.xml the generated binary data breaks the page on Google Chrome. It works just fine in firefox.
Not knowing how XML works, I wonder if a fix can be remedied that will patch up the content such that chrome does not error. Fix could as well just hide the non-printable binary characters or replace them with something else.
This might be a chrome bug tho.

Do you have a link to the source?
 What garbage characters cause the feed to break?

This is my source https://github.com/ParthKolekar/slash-blog/blob/master/_posts/2017-02-23-I-love-Emilia.markdown
If you notice, this is a write-up for a CTF event which are network / security / forensics contest to find a flag. My posts contain binary because it is what the website spits out when the you send it that particular format.
This cannot be bypassed. I have a genuine need to put binary in there because this is a instructor-like post which lists down steps that are taken to solve such events.

I changed my post to not include binary content to bypass this bug. I don't like doing so, but can't do much until this gets patched.

@jekyllbot unstale this.
This is still a valid bug. I did a workaround to bypass this.

I migrated to middleman, so I no longer need this fixed.


Filter 2to3 deprecation warnings in tests

Summary of changes
Closes #2100
Pull Request Checklist

[x] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

Is this also fixing the problem for you?  https://github.com/pypa/setuptools/pull/2105

Thanks for the work here. Let's go with #2105.


Remove :mode specification for protobuf-mode

".proto" files are already handled by protobuf-mode.
https://github.com/protocolbuffers/protobuf/blob/0038ff49af882463c2af9049356eed7df45c3e8e/editors/protobuf-mode.el#L193

Ahh I see! TIL more about the implicit defers :-)
Curious - is :mode better than an explicit :defer?
On Sun, Oct 28, 2018 at 3:10 PM xenodium<EMAIL_ADDRESS>wrote:

@xenodium commented on this pull request.
Thanks Vaarnan! If I remember correctly, we still need it for an implicit
defer, if we'd like protobuf package to be lazy loaded:
https://github.com/jwiegley/use-package#modes-and-interpreters or is
there something else going on here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xenodium/dotsies/pull/1#pullrequestreview-169107311,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA8HS1dmxdsuR_FEDu0zLUT8dl96JC9Pks5upg86gaJpZM4X-J1v
.

Different criteria for deferred loading of packages. :defer loads the package when idle or after N numbers of seconds if arg given, but package is eventually loaded even if never used.
On the other hand, the implicit alternatives (ie. :commands, :bind, :mode) can be used to load the package first time command is invoked, binding used, or file loaded. If neither event happen in current Emacs session, package is never loaded.


Why did you make GET/logout?

Explain me why did you make logout using GET /logout ?
It's not safe. Anyone malefactor can insert a picture <img src="http://yousite.com/logout" /> and your users will logged out.
It may be better to do POST /logout?

Agreed

+1
Any update on this one?


Remove cni conf_template deprecation

As discussed in the issue https://github.com/containerd/containerd/issues/8596 It is a helpful feature at many places and no replacement readily available

   * aaa75a78 "Remove cni conf_template deprecation" ... FAIL
230
    - FAIL - has whitespace errors. See `git show --check aaa75a78028ae26aab96855ebf2ea85169435092`.

/ok-to-test


legend sorting

Graphsrv appears to randomly sort entries in its legend, resulting in out of order entries for me. For example, my config file has [A1, A2, B1, B2, C1, C2, D1, D2] and the legend is sorted [B1, B2, C1, C2, D2, A2, D1, A1]
Would prefer it to sort in order of entries, or alphabetically, or have a value to indicate the sort order for legend.

going to do alphabetic sorting for now, can investigate more sophisticated solutions down the line if needed


Bump ginkgo v2

What this PR does / why we need it:
Move everything ginkgo related to v2, thus effectively stop using ginkgo v1.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer (optional):

@oshoval
@LionelJouin
Please review. @LionelJouin I plan on merging your #192 PR. If you want, just rebase this one, and we can merge it once you're ready.

looks good,
assuming the failure here is the known flake and not due to this PR
thanks
/lgtm


Use loader utility with async clientlib loading

Page v3 is loading clientlibs async, which causes race conditions
with jquery
This is blocker for portal components which require heavily on jquery
This was introduced with Core Components v2.18
Github issue: https://github.com/adobe/aem-core-wcm-components/pull/1881

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

Closing this PR in favor of reverting to Page v2.
New version of core components will anyways switch to synchronous loading, so we can use Page v3 from next version onwards.
ref -  https://github.com/adobe/aem-core-wcm-components/commit/495e764a629adba62f00cd2478f4fdceb80d7ff1


⚠ Bofrost.nl has degraded performance

In c5cb30a, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1068 ms

Resolved: Bofrost.nl performance has improved in cb66f1e.


How do I add one more line to the same graph?

How do I add one more line to the same graph?
I have added a new data set data2 and add this to the graph after data1 was set, but it fails.
let data2: [Double] = [4, 8, 15, 16, 23, 42, 8, 15, 16, 23, 23, 42]
graphView.set(data: data1, withLabels: labels)
graphView.set(data: data2, withLabels: labels2)
The last set of data (i.e. data2) is only available.
Do you have any suggestion or any other method to do? Thanks a lot!

Please read other issues before open new one! Its not currently supported https://github.com/philackm/Scrollable-GraphView/issues/41.

This was added in version 4 👍


added aqi and light color to decoder

Finally assembled my Air Quality sensor!
Added us-aqi-pm25 and ikea-sensor-color fields to the decoder based on values from AirGradient: Ikea Vindriktning Air Quality Sensor Review and Accuracy

Love this. Great addition to the decoder @samgutentag


Delete method

Method to delete a triple from the database

resolved with https://github.com/crystal-construct/radv/pull/10


IAsyncResult  vs SocketAsyncEventArgs

Dear David,
I need to confess that this is the first time I laid my hands on Sockets. Previously I never had a need to use them. But I got quite interested in it so I spent some time learning. What I saw there are two approaches in making them work, via IAsyncResult as you did, or what should be a more performant way, via SocketAsyncEventArgs.
Is there a particular reason why you chose IAsyncResult instead of SocketAsyncEventArgs?
Would you consider passing on SocketAsyncEventArgs if I give a shot in implementing your contracts via SocketAsyncEventArgs?
Some interesting readings are the following:
http://msdn.microsoft.com/en-us/library/bb968780
http://www.codeproject.com/Articles/83102/C-SocketAsyncEventArgs-High-Performance-Socket-Cod?fid=1573061&select=4770014&fr=1#xx0xx
http://blogs.msdn.com/b/pfxteam/archive/2011/12/15/10248293.aspx
Cheers

Hi @mmajcica, long time no talk! ;)
I wanted to let you know that the latest version uses SocketAsyncEventArgs which does seem better. Cheers!
-Dave


feature/editor config

Copied mainly from https://github.com/dotnet/coreclr/blob/master/.editorconfig
rozlyn vs editorconfig?

"Ruleset" and ".editorconfig" files are themselves not doing any analysis, but are just configuration files that determine/configure behavior of installed analyzers. Rulesets are the legacy file format used for analysis configuration, and we are slowly moving towards replacing them with .editorconfig based configuration.

https://github.com/dotnet/roslyn-analyzers/issues/1844#issuecomment-427422189

Closes https://github.com/testcontainers/testcontainers-dotnet/issues/42

Should we ask PRs to run dotnet format before merging?
https://www.hanselman.com/blog/EditorConfigCodeFormattingFromTheCommandLineWithNETCoresDotnetFormatGlobalTool.aspx

Coverage remained the same at 84.314% when pulling 6955079faca9ad64f95c8b03223d7265c2fe8b11 on feature/editor-config into 2d37df5a762782f9f210fa298d21b02ca9929ab6 on master.

I personally prefer indent_size side of 4. What do you think @swissarmykirpan?

I also prefer 4 :)

Democracy! haha jk!
I'll need a review approval to merge this.


KMSAccessDeniedException When Attempting Invoke

I'm using Apex and Terraform and referenced the babel-webpack example in the _examples folder to configure a Babel/Webpack compile step into the build. After I've deployed and try to invoke my Lambda function using the Node AWS SDK, I get the following exception:
KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied. Please check the function's KMS key settings. KMS Exception: AccessDeniedExceptionKMS Message: The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.
As far as I can tell, you can't configure the KMS key being set with Apex, and when I look under the Configuration > Advanced Settings tab for my function in the AWS console, I see (default) aws/lambda for the "KMS Key", which I assume was created by default, and which I would assume would not have restricted access to it.
The thing that makes this particularly confusing is that this doesn't happen consistently. I'm namespacing my functions by prefixing an environment to the name, and using a "testing-*" version I wasn't experiencing this issue. At some point, a deploy to the environment I'm having the issue in now started working after I removed a Babel plugin being used (transform-runtime), but deployed again later and it returned.
Is there a way to configure KMS keys used by functions in Apex? And/or do I need to grant permission to the KMS key (even the default one..?) to the role being assigned to each function? Or is there something else I'm missing? My problem might just be my lack of understanding of how KMS and Lambda play together—it seems like it's implicit, but apparently wants something explicit from me. Before I dive in and read the entire KMS docs, I'm hoping I'm just missing something (not) obvious (to me).

Operating system: Mac OS 10.11.6
Apex Version: 0.11.0

Inline IAM policy attached to the Lambda role:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:us-west-2:(account id):*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-west-2:(account id):*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::a-bucket-lambda-needs-access-to"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::a-bucket-lambda-needs-access-to/*"
            ]
        }
    ]
}

Hmm I haven't had permission issues with the default KMS stuff for Lambda, can't comment on non-defaults since I haven't bothered to try that

@tj Thanks for your response.
I managed to get it working by manually setting the KMSKeyArn property to the ARN of the default KMS key using the updateFunctionConfiguration function on the Node client. It was previously set to null and I would think it would pick up the default KMS key in that case, so I'm a little confused by that.
In the case of Apex, is there a way to set the KMSKeyArn property at the project or function level?

Not at the moment, what's the use-case for changing the default? I'm not against it but I can't see myself using it.

@tj The use case is obviously entirely selfish and to appease the requirement in my case to set the KMS ARN. This is kind of unfortunate for my automated deployment process—I suppose I'll need to write a script to run after deploys to manually set the KMS ARNs for my functions if the issue persists.
In general, having such control would be handy if you're particularly concerned with security stuff, and I would think it optimal to pass through all or most of the available configuration options for a function.
In terms of Apex, I'm unsure of what the goals of the project are, but it sounds like it's mainly serving your personal work flow and you happen to be (generously) sharing it. I wish I could offer to open a PR for it, but I haven't written a line of Go beyond "Hello World".
Anyway—thanks for everything!

Yep, I try to stick to stuff I use personally, but if it's not a huge change or maintenance/QA burden I totally don't mind adding stuff that other people need. Happy to check out a PR :D

#648 :)


Retry backoff behavior inconsistent with documentation

The docstring for urllib3.util.retry.Retry indicates that "If the backoff_factor is 0.1, then :func:.sleep will sleep for [0.1s, 0.2s, 0.4s, ...] between retries."
That isn't consistent with the actual behavior on the first retry, as when _observed_errors == 1 the sleep function returns 0, so there is no wait after the first retry. This behavior is specifically covered by a unit test requiring the first sleep to return 0. According to the actual behavior, the documentation should read "[0.0s, 0.2s, 0.4s, ...] between retries.", and probably also note that there is no wait after the first retry.
I'm not sure what the intended behavior is, or what it should be in principle. My vote would be for a wait after the first retry, and I would be happy to contribute a quick fix in either case.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/33027120-retry-backoff-behavior-inconsistent-with-documentation?utm_campaign=plugin&utm_content=tracker%2F192525&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F192525&utm_medium=issues&utm_source=github).

+1 to updating the docs, though I'd vote for keeping no-sleep for the immediate first retry. Vast vast majority of errors are resolved immediately by a second retry without any sleep, so I feel introducing an immediate sleep is more harm than good. Second try sleep makes sense to me.


Chained reference autocomplete broken from 1.21.3 to 2.0.3

Using the below sample code in 1.21.3 I could get auto complete on first. at the end of the function. It offered autocomplete for the LuaEntity class. In 2.0.3 the auto complete is blank or will only populate with other attributes if accessed within the function.
local process = function()     local refEntity = {} ---@type LuaEntity     local list = refEntity.get_train_stop_trains() -- returns LuaEntity[]     local first = list[1]     local test = first. end
This requires the below class file (remove .txt from name) to be loaded in to Lua.workspace.library setting.
runtime-api.lua.txt
This is a class file someone else has generated for the Factorio pc game's API.

You should use ---@type LuaEntity[] above local list = ...

Even though get_train_stop_trains() has a return of type LuaEntity defined against it?
As the onhover over the function shows it.

Is this what you mean?

Yea that's auto complete list no longer loads from the class type for me in
2.0.3.
In 1.21.3 I see what you posted.
On Fri, 25 Jun 2021, 15:51 最萌小汐, @.***> wrote:

[image: image]
https://user-images.githubusercontent.com/5213431/123442821-ddd87e00-d607-11eb-9a09-d719f0f14449.png
Is this what you mean?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sumneko/lua-language-server/issues/578#issuecomment-868555918,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJXRXMLP4FIMCWANMLGURRDTUSJYRANCNFSM47JVXMTA
.

see https://github.com/sumneko/lua-language-server/issues/574

nice, thanks


The setup link does not work!

hi
The setup link does not work
**Step by step instructions: Adding Push Notification Post to your Xamarin Forms Application
**

It does work, but here is another link to the same article:
https://lemoncoders.wordpress.com/2015/04/17/adding-push-notifications-to-your-xamarin-forms-application-part-1/


Add support for systemd/syslog priority levels to the console logger

In order to better support systemd app monitoring, we should add an option to the console logger to use systemd daemon logging prefixes as described here. This will allow better filtering of logs via journalctl. Basically we just need to prefix logs with <Numeric Log Number>. Based on the linked man page, we might also want to write to stderr instead of stdout, but I'm not sure if this is necessary.
See aspnet/KestrelHttpServer#2679 for original customer report.

Done via https://github.com/aspnet/Extensions/pull/1777


Added Sync + Send to Printable used in BT

In cw-multi-test and cw-plus are multiple conversions to anyhow::Result that fail without Sync+Send.

It seems the checks are not updating correctly, the CI passed.


$executeRaw could support multiple queries from a single string

Problem
Since prisma migrate is experimental and our team is waiting for #446, I was trying to create a simple migration tool. Our needs aren't big for now so a simple script would help.
I made a node script that would read .sql files from a scripts folder and run them sequentially:
import { PrismaClient } from '@prisma/client';
import path from 'path';
import fs from 'fs';

const main = async () => {
  const db = new PrismaClient();
  try {
    // Create the migrations table
    await db.executeRaw(
      'CREATE TABLE IF NOT EXISTS `Migrations` (`id` int NOT NULL AUTO_INCREMENT, `executedAt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `migrationName` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `Migrations.migrationName` (`migrationName`));'
    );

    // Read all the sql scrips
    const basePath = path.join(__dirname, './scripts');
    const scripts = fs.readdirSync(basePath, { encoding: 'utf8' });
    // For each file
    for (const fileName of scripts) {
      // We have to wrap empty results with try catch. Waiting for https://github.com/prisma/prisma/issues/2867
      try {
        // Check if the migration ran already
        await db.queryRaw`SELECT 1 FROM Migrations WHERE migrationName = '${fileName}' LIMIT 1`;
      } catch {
        // If didn't

        // Get the sql content
        const sql = fs.readFileSync(path.join(basePath, fileName), {
          encoding: 'utf8'
        });

        // Run the sql
        await db.executeRaw(sql);

        // Update the migration table
        await db.executeRaw`INSERT INTO Migrations(migrationName) VALUES ('${fileName}')`;
      }
    }
  } catch (error) {
    console.error(error);
  } finally {
    await db.disconnect();
  }
};

main().catch((e) => console.error(e));

But every time when executing the script, which has multiple queries like CREATE TABLE or ALTER TABLE, executeRaw throws an error:
PrismaClientKnownRequestError: Raw query failed. Code: `1064`. Message: `You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `MyTable` (
  `id` int NOT NULL AUTO_INCREMEN' at line 31`
    at PrismaClientFetcher.request (D:\dev\perimetre\export-connect-backend\node_modules\@prisma\client\src\runtime\getPrismaClient.ts:902:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'P2010',
  meta: {
    code: '1064',
    message: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `IndustrySector` (\r\n" +
      "  `id` int NOT NULL AUTO_INCREMEN' at line 31"
  }
}

The script is not incorrect as it runs fine with Mysql Workbench. And if I take only one query from the script and make a file with only that. It also runs fine.
Suggested solution
db.executeRaw could support running multiple queries instead of only one

@AssisrMatheus in the meantime you can maybe try my script I use to reset my db with data from an .sql file
  const sqls = fs
    .readFileSync(__dirname + '/test.sql')
    .toString()
    .split('\n')
    .filter((line) => line.indexOf('--') !== 0)
    .join('\n')
    .replace(/(\r\n|\n|\r)/gm, ' ') // remove newlines
    .replace(/\s+/g, ' ') // excess white space
    .split(';')

  for (const sql of sqls) {
    await prisma.executeRaw(sql)
  }

  await prisma.disconnect()

@AssisrMatheus in the meantime you can maybe try my script I use to reset my db with data from an .sql file
  const sqls = fs
    .readFileSync(__dirname + '/test.sql')
    .toString()
    .split('\n')
    .filter((line) => line.indexOf('--') !== 0)
    .join('\n')
    .replace(/(\r\n|\n|\r)/gm, ' ') // remove newlines
    .replace(/\s+/g, ' ') // excess white space
    .split(';')

  for (const sql of sqls) {
    await prisma.executeRaw(sql)
  }

  await prisma.disconnect()

Thanks @BjoernRave. It really worked. But I don't know/feel if that is reliable enough for us, but maybe it might be enough.

glad I could help :)

I can confirm this bug. Here is a simpler reproduction which uses MySQL:
import { PrismaClient } from "@prisma/client";

async function main() {
  const client = new PrismaClient({
    log: ["query"],
  });

  const data = await client.executeRaw(
    "CREATE TABLE IF NOT EXISTS `MyTable` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,PRIMARY KEY (`id`), UNIQUE KEY `MyTable.slug` (`slug`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `MyOtherTable` ( `id` int NOT NULL AUTO_INCREMENT, `test` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `something` int NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `MyTable.something` (`something`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"
  );

  console.log(data);
  client.disconnect();
}

main();

After an internal discussion I can say that the current behaviour of executeRaw only being able to execute 1 query instead of a list of queries is actually expected. Using @BjoernRave 's script is a nice way around that limitation: https://github.com/prisma/prisma/issues/2868#issuecomment-650283841
We will add a more explicit callout to that behavior in our documentation so it is discoverable.
I will turn this issue into a kind/improvement and we might pick this up in the future - currently it is not a priority.

Transaction is not well supported for our cases. Hope full transaction will be supported with arbitrary multiline statements.

This means I need a second connection to my database from a different library in order to run more complicated queries.
As prisma is still under heavy development, I think a built-in escape hatch is very important.

Hi @ipy
Do you mind describing your transaction use case a bit better?

I tried transaction,

  prisma.$transaction(
      photos.map((p,i)=>
        prisma.$queryRawUnsafe(`update Photos set orderby=${i}
            where id=${p} and projectId=${project}`) ))
    .then(res.json({msg:'Updated :'+ photos.length + ' photos'}))

It seems it dont send data as a batch instead sends one by one then ends batch
prisma:query BEGIN
prisma:query update Photos set orderby=0
            where id=139 and projectId=1
prisma:query update Photos set orderby=1
            where id=141 and projectId=1
prisma:query update Photos set orderby=2
            where id=136 and projectId=1
prisma:query update Photos set orderby=3
            where id=140 and projectId=1
prisma:query update Photos set orderby=4
            where id=137 and projectId=1
prisma:query update Photos set orderby=5
            where id=135 and projectId=1
prisma:query update Photos set orderby=6
            where id=13 and projectId=1
prisma:query update Photos set orderby=7
            where id=14 and projectId=1
prisma:query update Photos set orderby=8
            where id=16 and projectId=1
prisma:query update Photos set orderby=9
            where id=134 and projectId=1
prisma:query update Photos set orderby=10
            where id=138 and projectId=1
prisma:query update Photos set orderby=11
            where id=142 and projectId=1
prisma:query update Photos set orderby=12
            where id=143 and projectId=1
prisma:query update Photos set orderby=13
            where id=144 and projectId=1
prisma:query update Photos set orderby=14
            where id=145 and projectId=1
prisma:query update Photos set orderby=15
            where id=146 and projectId=1
prisma:query update Photos set orderby=16
            where id=147 and projectId=1
prisma:query update Photos set orderby=17
            where id=148 and projectId=1
prisma:query update Photos set orderby=18
            where id=149 and projectId=1
prisma:query update Photos set orderby=19
            where id=150 and projectId=1
prisma:query update Photos set orderby=20
            where id=151 and projectId=1
prisma:query update Photos set orderby=21
            where id=152 and projectId=1
prisma:query update Photos set orderby=22
            where id=154 and projectId=1
prisma:query update Photos set orderby=23
            where id=155 and projectId=1
prisma:query update Photos set orderby=24
            where id=156 and projectId=1
prisma:query update Photos set orderby=25
            where id=157 and projectId=1
prisma:query update Photos set orderby=26
            where id=158 and projectId=1
prisma:query update Photos set orderby=27
            where id=160 and projectId=1
prisma:query update Photos set orderby=28
            where id=161 and projectId=1
prisma:query update Photos set orderby=29
            where id=162 and projectId=1
prisma:query update Photos set orderby=30
            where id=163 and projectId=1
prisma:query update Photos set orderby=31
            where id=164 and projectId=1
prisma:query update Photos set orderby=32
            where id=165 and projectId=1
prisma:query update Photos set orderby=33
            where id=166 and projectId=1
prisma:query update Photos set orderby=34
            where id=167 and projectId=1
prisma:query update Photos set orderby=35
            where id=168 and projectId=1
prisma:query update Photos set orderby=36
            where id=169 and projectId=1
prisma:query update Photos set orderby=37
            where id=170 and projectId=1
prisma:query update Photos set orderby=38
            where id=171 and projectId=1
prisma:query update Photos set orderby=39
            where id=172 and projectId=1
prisma:query update Photos set orderby=40
            where id=173 and projectId=1
prisma:query update Photos set orderby=41
            where id=174 and projectId=1
prisma:query update Photos set orderby=42
            where id=175 and projectId=1
prisma:query update Photos set orderby=43
            where id=176 and projectId=1
prisma:query update Photos set orderby=44
            where id=177 and projectId=1
prisma:query update Photos set orderby=45
            where id=178 and projectId=1
prisma:query update Photos set orderby=46
            where id=179 and projectId=1
prisma:query update Photos set orderby=47
            where id=180 and projectId=1
prisma:query update Photos set orderby=48
            where id=181 and projectId=1
prisma:query update Photos set orderby=49
            where id=182 and projectId=1
prisma:query COMMIT

and unfortunately transaction returns immediately while those updates flowing on the console.

Two years later and no progress on something so rudimentary?
In my case the need arises due to another missing API. updateMany doesn't support multiple updates with different where cases. An example would be:
UPDATE categories SET products = 10 WHERE id = 1;
UPDATE categories SET products = 20 WHERE id = 2;
UPDATE categories SET products = 30 WHERE id = 3;

I cannot do:
db.$queryRawUnsafe(`
  UPDATE categories SET products = 10 WHERE id = 1;
  UPDATE categories SET products = 20 WHERE id = 2;
  UPDATE categories SET products = 30 WHERE id = 3;
`);

neither can I do:
updateMany([
  {data: {products: 10}, where: {id: 1}},
  {data: {products: 20}, where: {id: 2}},
  {data: {products: 30}, where: {id: 3}},
]);

The working alternative with Promise.all and single update exhausts the connection pool, while sequential run is extremely slow for large number of rows.

Another alternative to acheive that would be to define a database stored procedure that would maybe take a JSON array of arguments. Loop through the array in the procedure and issue an update query in each iteration. While on the client side,  you can use a raw query to call the procedure like prisma.executeRaw`call procedure(${<you_object_string>})` . Since there is only one statement, prisma would accept it and we can save all the round trips for multiple seperate update queries.
You may have to watch out for sql injection attack depending on how you will write your queries in the procedure.

Really liked @jeffrafter's solution.
Here's a little more dynamic version
const updateManyByField = async <T>(
  prisma: PrismaClient<Prisma.PrismaClientOptions, never, Prisma.RejectOnNotFound | Prisma.RejectPerOperation | undefined>,
  model: string,
  field: string,
  array: T[],
  predicate: (value: T, index: number, array: T[]) => [string, any]
) => {
  for (const chunk of Array.from({ length: Math.ceil(array.length / 100) }, (_, index) =>
    array.slice(index * 100, (index + 1) * 100)
  )) {
    const values: any = chunk.flatMap((record, index) => predicate(record, index, array))
    await prisma.$executeRawUnsafe(
      `UPDATE ${model} SET ${field} = CASE ${chunk.map(() => `WHEN id = ? THEN ?`).join('\n')} ELSE ${field} END;`,
      ...values
    )
  }

And usage:
await updateManyByField(ctx.prisma, 'TableName', 'fieldName', list, (x) => [x.id, x.fieldName])

// E.g
await updateManyByField(ctx.prisma, 'User', 'email', userEmail, (x) => [x.user_id, x.email])

Based on @jeffrafter solution.
I was trying another version without the "ELSE"
Maybe we can try something like this:
UPDATE tableName SET fieldName = (CASE WHEN id = 1 THEN 'value1'
WHEN id = 2 THEN 'value2'
WHEN id = 3 THEN 'value3'
WHEN id = 4 THEN 'value4'
END),
anotherFieldName = 'optional-value-to-be-update'
WHERE id IN (1,2,3,4);

If you are using postgres you can also do the following.
Representing each value as two columns 0 and 0_undefined allows you to update only the defined keys and leave the undefined keys as they are.
For example, with the data:
const data = [
  { id: 1, name: "person 1" },
  { id: 2, age: 42 },
  { id: 3, age: null },
];

You can do:
const COLUMNS = ["name", "age"];

const count = await prisma.$executeRaw`
  update "person" set
    ${Prisma.join([
      Prisma.sql`"updated_at" = now()`,
      ...COLUMNS.map((field, i) =>
        Prisma.raw(`"${field}" = case when "${i}_undefined" is false then t."${i}" else "${field}" end`),
      ),
    ])}
  from (
    values ${Prisma.join(
      data.map(
        ({ id, ...values }) =>
          Prisma.sql`(${Prisma.join([
            Prisma.sql`${id}`,

            // each value is represented as two columns: `0` is value, `0_undefined` is value is undefined
            ...COLUMNS.map((field) => Prisma.sql`${values[field] ?? null},${values[field] === undefined}`),
          ])})`,
      ),
    )}
  ) as t(${Prisma.join([
    Prisma.sql`"id"`,

    // each value is represented as two columns: `0` is value, `0_undefined` is value is undefined
    ...COLUMNS.map((_, i) => Prisma.raw(`"${i}","${i}_undefined"`)),
  ])})
  where
    "person"."id" = t."id"
`;

console.log(count);

(Prisma.raw is only used with known constants or array index)


fix(web): Fixes web implementation

Please verify the following:

[x] yarn test jest tests pass with new tests, if relevant
[x] README.md has been updated with your changes, if relevant

Describe your PR
There was a problem with the web implementation (pointed out here: https://github.com/infinitered/ignite/pull/2446#issuecomment-1763463849) because we were directly using DrawerLayout from react-native-gesture-handler.
Moving to Drawer from react-native-drawer-layout (a react-navigation product) mitigates this issue without losing any functionality. There's even a nice useDrawerProgress() hook so that we don't have to keep track of the drawer open/closed animation progress manually anymore.
This is the recommended way of creating a drawer with react-native-0gesture-handler taken directly from the react-navigation docs

I agree that the hamburger->arrow animation is a regression, but i've fundamentally changed how the drawer is laid out and it would take some time to get this working as it previously was.
Merging this to keep moving forward since this fixes web compatibility and we can revisit when we have time to fix.
It was a pretty slick animation though.


.vimrc file isn't read for some setups

Hi,
we have a report in Fedora https://bugzilla.redhat.com/show_bug.cgi?id=1636809 , that ~/.vimrc file isn't read. User sent me his .vimrc file
vimrc_bugzilla.txt , but I'm unable to reproduce it even with his .vimrc file. The issue started to show somewhere between 408 and 450 patchlevels, but when I went through these commits, I didn't see anything obvious which could cause the issue.
The issue is solved for him when he comments out these lines from ftplugin/python.vim:
if !exists("g:python_recommended_style") || g:python_recommended_style != 0
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
endif
Does anyone encounter such issue? Or am I missing something from these commits? I'm currently trying to bisect the commit which brought the issue.

I don't recall any changes on loading personal vimrc files. The user should report the output of :scriptnames and check the values of the rtp setting. Also, it is not sure from your report where the vimrc file is located that is not loaded.

The python filetype overrides the settings in vimrc. I set my shiftwidth in the after/ftplugin/python.vim to get it effective.

@chrisbra From what I know, it is personal vimrc file, located in home directory - ~/.vimrc .

The python filetype overrides the settings in vimrc. I set my shiftwidth in the after/ftplugin/python.vim to get it effective.

So is there a possibility that actually personal vimrc is read, but the user thinks it isn't because of only several values are overridden? So it should be visible only when he opens only python files...

Yes, check the output of :scriptnames.

So it is only about the python filetype plugin setting some options as suggested by PEP8?
That is not a bug and has been discussed several times.
You can always use FileType plugins (for example in the after directory) to overwrite filetype specific settings.

Then it is is interesting it was triggered between patchlevels 408 and 450 - patchlevel 408 works fine according user and patchlevel 450 (next patchlevel built in Fedora) showed the issue... I'll get the values of :scriptnames and rtp and look into it more...

BTW: for debugging vimrc configuration settings, I recommend http://vimhelp.appspot.com/vim_faq.txt.html#faq-2.5

Thank you so much! I'll read it.

No ftplugin can prevent a ~/.vimrc file from being read, because ftplugins are sourced long after the vimrc. What can happen (for the same reason) is that some setting set by the .vimrc is overridden by some code in an ftplugin.
But all hope isn't lost. If you can find what setting that you don't like is set by which ftplugin, you can override it either in an after/ftplugin for the same filetype (e.g. in a new script named ~/.vim/after/ftplugin/python.vim), or in an autocommand for the VimEnter event (which is triggered at the very end of startup).

@tonymec  @chrisbra Thank you for the help! It was exactly what you thought - .vimrc is really read, but only one option is overriden by python.vim, which made user think .vimrc isn't read at all. And he experienced the change between these two version because he had old files in ~/.vim directory, which gave him his expected behavior, and then he started to use the new ones.
I'm sorry for trouble and thanks again!


:sparkles: Add openstack kamaji cluster stack

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #25
Special notes for your reviewer:
You can use openstack-kamaji-1-30-v0-sha-11930ee release for the tests.
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: kamaji-cluster
  labels:
    managed-secret: cloud-config
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["<IP_ADDRESS>/12"]
    pods:
      cidrBlocks: ["<IP_ADDRESS>/16"]
    serviceDomain: "cluster.local"
  topology:
    class: openstack-kamaji-1-30-v0-sha.11930ee
    controlPlane:
      replicas: 3
    variables:
    - name: data_store
      value: "default"
    - name: dns_service_ips
      value: ["<IP_ADDRESS>"]
    - name: worker_flavor
      value: "SCS-2V-4-50"
    - name: external_id
      value: "ebfe5546-f09f-4f42-ab54-094e457d42ec"
    version: v1.30.1
    workers:
      machineDeployments:
      - class: default-worker
        name: kamaji
        replicas: 3
        failureDomain: nova

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:

[ ] squash commits
[ ] include documentation
[ ] add unit tests

After applying the cluster resource I got the following error:
message: 'cannot create or update TenantControlPlane: admission webhook vtenantcontrolplane.kb.io" denied the request: unable to parse the desired Kubernetes version: Invalid character(s) found in major number "v1"'

This is already fixed(but not released yet) in the upstream, see https://github.com/clastix/cluster-api-control-plane-provider-kamaji/pull/109. You can workaround that by editing the KamajiControlPlane resource and removing "v" prefix from .spec.version field.

I have the feeling that we still lack KamajiControlPlaneTemplate is there a release newer than v0.9.0?

I have the feeling that we still lack KamajiControlPlaneTemplate. Is there a release newer than v0.9.0?

Yes, there is no upstream release yet, please see https://github.com/SovereignCloudStack/cluster-stacks/pull/104#discussion_r1642770311.

v0.10.0 is now available :)

I am testing with 1.0.0 and capk 0.10.0:
tenantcontrolplane.spec.addons.konnectivity (kamaji-resource) has a required field proxyPort but
kamajicontrolplane.spec.addons.konnectivity (capi-wrapper resource) does not know this field

I am testing with kamaji 1.0.0 and capk 0.10.0: tenantcontrolplane.spec.addons.konnectivity (kamaji-resource) has a required field proxyPort but kamajicontrolplane.spec.addons.konnectivity (capi-wrapper resource) does not know this field

This is strange. Does it work with KAmaji v0.6x?


Intermittent assertion failure in PSC_PartialSoftCredit_TEST unit test

There is an intermittent unit test assertion failure in PSC_PartialSoftCredit_TEST.createDupePSCsNewOCRs() when Partial_Soft_Credit__c.Contact_Role_ID__c field is compared with an OpportunityContactRole.Id on sorted records.
Test failure details:
PSC_PartialSoftCredit_TEST.createDupePSCsNewOCRs
Stack Trace: Class.PSC_PartialSoftCredit_TEST.createDupePSCsNewOCRs: line 408, column 1
Message: System.AssertException: Assertion Failed: Expected: 00K0v000000KGoYEAW, Actual: 00K0v000000KGoaEAG
Notes:

The issue seems to be related to retrieving records using Order By Contact_Role_Id__c field which is Text(18) (Unique Case Sensitive). As per @davidhabib research: "The following factors affect results returned with ORDER BY: Sorting is case insensitive."
It is required to also investigate if other PSC unit tests verify Contact_Role_ID__c by comparing sorted records.

**lurch:add

Tracking W-019755

Included in beta release 3.103 (Beta 12)

Included in production release rel/3.103


Restructurestate

-refactored state.pins to be an object of objects
-refactored AR and map view to use objects instead of array
-refactored reducers to use new format
-moved dispatch out of loop, that was causing large overhead
-fixed merge conflicts
resolves #55

@tiffeli Double :heavy_check_mark:


Revert schema changes introduced in wso2/carbon-identity-framework#1935

Schema migration should be avoided.
Changes done in https://github.com/wso2/product-is/pull/4058/files should be reverted.

Fixed


Precompile methods

Right now, benchmarking seems non-deterministic, and it may be due to compiling methods. We should try to precompile all the core methods to see if this helps give more deterministic timings.

We don't need this anymore, due to #36.


Why is nifty pinned so hard

Additional comment:
it is pinned down to the build number. is there a reason for this? could we loosen it to allow for at least other build numbers?
xref: https://github.com/conda-forge/micro_sam-feedstock/pull/21/files

@conda-forge-admin please rerender
(I'm just opening a PR to fix it)

Hi @hmaarrfk,
nifty seems to fail for Windows after build 4 (which is why we are forced to pin it to the specific build) (reference issue: https://github.com/computational-cell-analytics/micro-sam/issues/684)
I'll tag @constantinpape here to elaborate on this!

So the thing is that conda-forge doesn't have pytorch and you are running into DLL issues.
I'm sympathetic, a little bit, but also not so much because this is now hurting users on OSX + linux where we have build that are ABI compatible within conda-forge itself.
I'll try to have a "workaround" PR that enables your windows users to continue to work with "broken environments", but tbh, today, the best tip I have for windows users, is to install python from conda-forge, then everything else from pip since very upstream ML projects support conda-forge.
A multi-year effort might be ready by the new year, but we will see....
https://github.com/conda-forge/pytorch-cpu-feedstock/pull/231
RE ABI compatibility: https://conda-forge.org/docs/user/transitioning_from_defaults/ your users are going to have many many more problems when they mix defaults + conda-forge.

The changes in https://github.com/conda-forge/micro_sam-feedstock/pull/25/ should help your windows users keep on keeping on, while allowing the unix users to use the newer versions of boost for which newer versions of nifty require.
Thanks for fast response!!!

This has been resolved by #26


Configure tasks does not generate tasks.json

Issue Type: Bug
Steps to Reproduce:

Open empty folder in VS Code
F1 > Configure Task > Create tasks.json file from template.

:bug: => nothing happens.
 Doesn't seem major but I'll leave it to you for triage.
I happen to have "tasks.terminal.windowsAllowConpty": true still configured in my settings.
The code below checks the config to determine if the task template prompt should be shown and does nothing if a config value is present.
https://github.com/microsoft/vscode/blob/bfc01bb9ea31d48133d6053de97dc7f8b2011b10/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts#L2524-L2531

The hit rate for that should be pretty low and I think that bad setting never made it past insiders, so not for February. Thanks for figuring it out!

Actually, the bad setting only existed for 1 day. Not worth fixing, as the only person who will hit the issue (you, because you were involved in the other issues around that setting) has found the problem and worked around it.


Test about the Visual C++ Build Tools

It's much smaller than the full VS. I think npm should test whether this thing works.
link: http://blogs.msdn.com/b/vcblog/archive/2015/11/02/announcing-visual-c-build-tools-2015-standalone-c-tools-for-build-environments.aspx

Someone from MS filed a PR about it: #867.


能不能像 django-admin那样,直接绑定类,后台就有 crud 模块?

Of course, like the following code will have CRUD
carrot.AdminObject{
		{
			Model:       models.Relation{},
			Group:       "User",
			Name:        "Relation",
			Desc:        "Relation is a relationship between two users",
			Shows:       []string{"OwnerID", "UserID", "Blocked", "Favorite", "ChatAllowed", "Remark", "Source", "UpdatedAt"},
			Searchables: []string{"OwnerID", "UserID"},
			Editables:   []string{"OwnerID", "UserID", "Blocked", "Favorite", "ChatAllowed", "Remark", "Source", "Memo", "Tag", "Groups"},
			Orders: []carrot.Order{
				{
					Name: "UpdatedAt",
					Op:   carrot.OrderOpDesc,
				},
			},
		},

The list page, will show OwnerID, UserID ... fields.
Toggle the search input bar
The edit page, can update OwnerID...
The query result order by UpdatedAt


fix: check overflow check casting json

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Problem Summary(Required) ：
Check overflow when casting json between SQL numeric types.

run starrocks_clang-format


CognitoAuth Google

Let me know how to get user Email using CognitoAuth. Any one guide me how to implement user pool using AWSCognitoAuthUserSession.
Thanks
Alok

Hi @alokfuterox,
Thanks for reaching out. CognitoAuth writes to same data store that CognitoUserPools reads from. So you can instantiate CognitoUserPools and use getAttributes to obtain email id from the CognitoUserPools. The CognitoAuth-Sample and CognitoYourUserPools-Sample demonstrate how to implement user pools. Please let me know if you have a specific question regarding the implementation.
Thanks, Roshan


Document debugging techniques

I have a number of useful tips for how to test changes to this project easily, which will improve the contribution process. If you would like to contribute, let me know and I will prioritize writing this documentation.

Some documentation has been written.


WIP: Refactor dependencies build and install

The goal of this PR is to refactor build and install steps of RTK dependencies (lpsolve, ITKCudaCommon) in order to address RTK issues when installing, as mentioned in #399, #365, #374.
Improvements to expect

ITKCudaCommon is transformed into a compliant ITK module.
lpsolve is build internally as a third party.
Clean installation of RTK
Installing an external build of RTK is possible if installing into an ITK install tree.

Validation

The RTK FirstReconstruction example should compile and run against the following RTK build/install trees, for every OS:

[ ] RTK static external build
[ ] RTK static external install
[ ] RTK shared external build
[ ] RTK shared external install
[ ] In ITK static build
[ ] In ITK static install
[ ] In ITK shared build
[ ] In ITK shared install

Installed RTK.cmake and RTKTargets.cmake should not contain any absolute path to sources/build location (#399):

[ ] In ITK install
[ ] RTK external install

TODOs

[ ] Fix install of RTKTargets.cmake when installing externally. (CMake 3.19 always evaluates AND "${${itk-module}-targets}" to false)
[ ] Fix external data download. ExternalData_Add_Target(ITKData) should not be called for ITKCudaCommon when building externally, otherwise ITKData already exists when building RTK, hence RTK data are not added.
[x] Automatically find CUDA in RTK's itk-module.cmake. RTK_USE_CUDA must be set before ITK includes RTK's itk-module.cmake file, otherwise it is not added as dependency when configuring for the first time.

Superseded by #427 and #428


No error for unhandled oobm

Could we maybe just have the HandleOobm call just say whether it did or not? And if so, then bail out of there? I'm not sure why I didn't do that in the first place.

Ok, PTAL

np!


Type of Alexa events

SUMMARY

I am trying to use this module with node-red-contrib-openhab2. It works but not fully. The issue is that I can't differentiate the type of Alexa events (such as turn on a light versus set the brightness to 50%). This means that I am limited to one type of event (on/off or brightness or color type). Looking at the code, I noticed that the topic is set to "":
function payloadHandler(hubNode, deviceId) {

  var msg = getDeviceAttributes(deviceId, hubNode.context());
  msg.rgb = colorSHB2RGB(msg.hue, msg.sat, 254);
  msg.payload = msg.on ? "on" : "off";
  msg.deviceid = deviceId;
  msg.topic = "";

  hubNode.send(msg);

}
Hello, I was wondering if it was possible to set the topic to the type of update sent to Alexa (I am making a big assumption of course, which is that Alexa is sending this info somehow). So, if I ask Alexa to turn on the light the topic would be "ON_OFF" or something and if I ask to sent the brightness to 50% it would be something like "PCT_BRI" and the same for Temperature and Color. This would allow me to write a function that would send the appropriate command to openhab2 based on the value topic? Is that possible. If not, how else can this be achieved?
ECHO DEVICES

Echo Dot 3rd gen
MODULE VERSION

0.1.8

CONFIGURATION

CONSOLE OUTPUT

STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

Hi, I've already noticed it to the author, but the issue was not solved. He simulates the Philips bulb and Alexa has already internal specifications what a Philips bulb is expecting to receive. Seems that Always Alexa tells him the brightness, even if the command is just "switch on". Looks really pity if true.
When Alexa just reboot and never had previous brightness settings of that light it uses 255, maximum.

I am studying the code and made some progress. As I understand, the author (thank you for creating this BTW!) is keeping a representation of the state of each item connected to the hub in the node context (he does initialize it to some arbitrary values but after the first command coming through Alexa, the state is updated). From what I understand, he does this so that the state can be compared with a new state sent through the input node. If the state is found to have changed, a command is sent to the item to update it to the new state (i.e. sync with the item state).  However, this does not seem relevant to the issue. To find out more, I added a debug line in the code ( hubNode.warn(req);  )  that informs on what Alexa is sending and I can see the following output:
{
"_body": true,
"_consuming": true,
"_dumped": false,
"_events": {},
"_eventsCount": 1,
"_parsedUrl": {
"_raw": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state",
"auth": null,
"hash": null,
"host": null,
"hostname": null,
"href": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state",
"path": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state",
"pathname": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state",
"port": null,
"protocol": null,
"query": null,
"search": null,
"slashes": null
},
"_readableState": {
"autoDestroy": false,
"awaitDrain": 0,
"buffer": {
"head": null,
"length": 0,
"tail": null
},
"decoder": null,
"defaultEncoding": "utf8",
"destroyed": false,
"emitClose": true,
"emittedReadable": false,
"encoding": null,
"endEmitted": true,
"ended": true,
"flowing": true,
"highWaterMark": 16384,
"length": 0,
"needReadable": false,
"objectMode": false,
"paused": false,
"pipes": null,
"pipesCount": 0,
"readableListening": false,
"reading": false,
"readingMore": false,
"resumeScheduled": false,
"sync": false
},
"aborted": false,
"baseUrl": "",
"body": {
"bri": 77
},
"client": "[internal]",
"complete": true,
"connection": "[internal]",
"headers": {
"accept-encoding": "gzip",
"connection": "close",
"content-length": "10",
"content-type": "application/json",
"host": "<IP_ADDRESS>",
"user-agent": "Dalvik/2.1.0 (Linux; U; Android 7.1.2; AEODN Build/NS6529)",
"x-forwarded-for": "<IP_ADDRESS>",
"x-forwarded-proto": "http",
"x-real-ip": "<IP_ADDRESS>"
},
"httpVersion": "1.0",
"httpVersionMajor": 1,
"httpVersionMinor": 0,
"method": "PUT",
"originalUrl": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state",
"params": {
"id": "d312bc835a7ee8",
"username": "c6260f982b43a226b5542b967f612ce"
},
"query": {},
"rawHeaders": [
"Host",
"<IP_ADDRESS>",
"X-Real-IP",
"<IP_ADDRESS>",
"X-Forwarded-For",
"<IP_ADDRESS>",
"X-Forwarded-Proto",
"http",
"Connection",
"close",
"Content-Length",
"10",
"Content-Type",
"application/json",
"User-Agent",
"Dalvik/2.1.0 (Linux; U; Android 7.1.2; AEODN Build/NS6529)",
"Accept-Encoding",
"gzip"
],
"rawTrailers": [],
"readable": false,
"res": "[internal]",
"route": {
"methods": {
"put": true
},
"path": "/api/:username/lights/:id/state",
"stack": [
{
"keys": [],
"method": "put",
"name": "",
"regexp": {
"fast_slash": false,
"fast_star": false
}
}
]
},
"socket": "[internal]",
"statusCode": null,
"statusMessage": null,
"trailers": {},
"upgrade": false,
"url": "/api/c6260f982b43a226b5542b967f612ce/lights/d312bc835a7ee8/state"
}
Changing the type of command (e.g. Alexa, turn on bulb / Alexa, set brightness to 50% / Alexa, set color to Cool White), shows that the only difference between the types of commands are in the body part:
"body": {
    "on": true
},

Versus:
"body": {
    "bri": 77
},

Versus:
"body": {
    ct: 199
},

This means that it is possible to track the type of update and pass it along with the message. This may be done in the topic part or other else. I will try to modify the code but I don't really know Javascript, unless someone beats me to it!

Bravissimo! Well done! )) More, I can see some IP addresses too! Is one of them the Alexa IP? If so it's possible to add to the same IP domain different Alexa but let them manage only some devices (for example curtains on the first and second floor, calling them with the same name)
May you say in your case which IP has your Alexa and which has your Raspberry? (If you run this under raspberry)

Unfortunately the author here recently don't seem to be available, maybe he's busy and can't follow us..

Yes, "<IP_ADDRESS>" is the Echo Dot 3 and "<IP_ADDRESS>" is the host running node-red. I also have a Raspberry Pi running Openhab2, but it doesn't show here because I connect the output of this module to the module node-red-contrib-openhab2 (via a function).
I have managed to hack the code to achieve what I wanted. It's actually surprising simple, mostly because the code is so well written. Here is a diff between the original and the modified one:
diff index.js index.js.or
81c81
<               payloadHandler(hubNode, msg.payload.deviceid, "");
---
>               payloadHandler(hubNode, msg.payload.deviceid);
209,212c209
< 	var subject = "";
< 	if (Object.keys(req.body).length > 0 )
<           subject = Object.keys(req.body).toString();
< 	hubNode.warn(req);
---
>
224c221
<         payloadHandler(hubNode, req.params.id, subject);
---
>         payloadHandler(hubNode, req.params.id);
360c357
<     function payloadHandler(hubNode, deviceId, subject) {
---
>     function payloadHandler(hubNode, deviceId) {
366c363
<       msg.topic = subject;
---
>       msg.topic = "";

This hack allows me to achieve my desired results, which is to allow me to turn on the light, change the brightness, change the color temperature and the color of a lamp with a voice command ("Alexa, set brigthness of bulb to 10%") . For example, changing the brightness via Alexa now produces the following output:
{"on":true,"bri":125,"hue":21845,"sat":254,"ct":199,"colormode":"hs","rgb":[0,255,0],"payload":"on","deviceid":"d312bc835a7ee8","topic":"bri","_msgid":"2383fe0e.bace42"}

and changing the color temperature via Alexa produces:
{"on":true,"bri":64,"hue":21845,"sat":254,"ct":383,"colormode":"ct","rgb":[0,255,0],"payload":"on","deviceid":"d312bc835a7ee8","topic":"ct","_msgid":"eb4c0ea4.e95a7"}

It is now possible to write an adapter function for openhab2 or other system that looks at the message topic and picks up the correct value for the payload to be injected into an Openhab2 Out node. Basically, something like if msg.topic === "bri" then msg.payload = 125, etc. The function could also have 2 output channels, one for the brightness and the other one for the color temperature/color  (at least for openhab2).
Note that these modifications could be integrated into the AmazonEchoDeviceNode of this module but  it would make the module specialized towards openhab2. Modifying the code yourself is actually quite easy but it only saves writing an adapter function. On the other hand, it would be cool to be able to just install both modules, link them and enjoy!  No coding required! Another option would be to incorporate the adapter function in the form of additional nodes for each major HA systems into this module.
This is a great module and I hope the author will consider incorporating the equivalent functionality into his module in the future.

Hi! You bring us good news, thank you!
I really hope the author will soon read this post and give his opinion about it!
I'm really looking for these two solutions, to pass the info of what exact command was provided and which IP address it generated it. To be honest it's not all, I need also to filter the IP address to let only one Echo find that device, so it's needed a deeper edit of the code.
You said you use Openhub, I've never deal with it, does it works also with node red?
What are numbers like "366c363" for?

means put new code and < remove that code?
In the first example you said Alexa 10% but you have "bri":125 (which is 49%)
Thanks for clearing

It's using the unix diff command. The numbers refer to the line number. But since the changes are limited you can do the changes manually with a text editor to the index.js file in the node-red module directory. The lines with a "<" are the changed version and the lines with a ">" are the original ones. Just search each lines and edit them. Yes, openhab2 works with node red when using the module node-red-contrib-openhab2 module. Yes, the IP address could be passed along but that would require more changes to the code. I am just using the msg.topic element to pass along the changed state but I am not sure it's appropriate. Let's see what the author says. Yes, the value of bri:125 is not consistent with the example, I picked the output of another command for the example.

Thanks for your kind reply, honestly I still a beginner of Javascript and I?m afaid to make mistakes, unfortunately the place where I'm using this module is at home of my client and I can't create him problems if after something can fail.. I have very few chances to experiment and using time while I'm at his place.
There is another additiona problem, which I'm really afraid of, it's the possibility to have as result different ID names of devices in Node Red, and Alexa will not recognixe them more, need to be searched again, and to do this I need to remove all devices, reset Alexa and search again (due to an Alexa recent bug), and the client has the account only.. so it's creating him problems. The only chance I have is to update manually the .js files, or upgrade, when the author will release a new update.
I really hope the author may introduce it and a IP filter on the device, by that IP the device may answer or not to that Alexa IP, means it can be recognized or not recoglized by that Alexa, means I can use the same name for devices in different Alexa connected to the same Node Red (for example "Alexa open the Curtains" instead of "Alexa open the curtains of the second floor")
Are maybe you interested to implement this? Thank you

I tried to see if the IP address coming req.header["x-real-ip"] corresponds to the Echo Dot picking up the voice command but unfortunately, it does not. It's always the same IP, not matter which Echo I talk to. I suspect it's the IP address of the Dot that did the discovery. I unplugged the Dot corresponding to that IP and tried to give a voice command. Interestingly, Alexa wasn't able to control my lights anymore. When I re-plugged that Echo, it worked again as before. Maybe there is a way to have bulbs discovered by different Echos by creating different sub-networks or initiating the discovery from different Echo Dots. Or maybe unplugging them and having each discover a different set. Doesn't seem likely to work well. We seem limited by the way Amazon designed it.

Thank you my friend to report it, sorry for my delay on answer. Yes itneresting, are both dots connected to the same Amazon account? If so as I believe probably Amazon will use the first Echo who searched and associated the device as a "gateway" to send device the commands. Maybe this is decided due to the limits a device may have, a limited number of associations for example. In this case to avoid any problems of compatibility with all devices they prefere that only one Echo. Since all should be connected to internet to understand the vocal command then we suppose all devices are always connected to network, so no issues if internet is ok for both Echo.
In my case I've different accounts and separated devices for each Echo, if I need the same deviced for both I'll create 2 devices in Node Red and connect the outputs together. Actually it's not possible to test this because there is no IP filter in the module, and both Alexa will recognize the same device. Did you ever find in the module script where module replies to Echo with onfos about the device (I suppose its ID), and is the ID generated from NR when we deploy for the first time the device on the flow? This is interesting..
Thank you

Based on the changes introduced by #67, I consider that we can close this issue as meta attribute includes request input and changed device state attributes, which is entirely enough to distinguish different Alexa events/commands.
If you still prefer to use the topic attribute you might consider using  @verjus modificatons.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3308

Questions ?
Please refer to the Backport tool documentation


mounting issue

When dragging a component, I noticed that the component being dragged executes the componentWillMount method upon drag start. I believe that this would be a bug. The component shouldn't have to remount just to be dragged.
In my case, I have a component that does some heavy processing upon being mounted, therefore, when I try to sort components, there is some huge lag between pressing and dragging the selected component.

componentWillMount is now eligible for removal:
Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

Move code with side effects to componentDidMount, and set initial state in the constructor.

Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: SortableListView


Release: 0.17.0-rc (Ropsten)

Picking up the latest wave of updates and fixes for tbtc-dapp + latest tbtc.js.

Pushed a new version of the RC.

bump tbtc.js:
<EMAIL_ADDRESS>">0.17.0-rc <0.17.0",
https://www.npmjs.com/package/@keep-network/tbtc.js?activeTab=versions

https://github.com/keep-network/tbtc-dapp/pull/288/commits/77790a4afea76ce4c457e1bc0fcef343d98fcb40 :)

Coming through with 0.18.0 so closing this  one.


[SPARK-48555][PYTHON][FOLLOW-UP] Simplify the support of Any parameters

What changes were proposed in this pull request?
Simplify the support of column type Any
Why are the changes needed?
I checked all the Any parameters, and all of them supports the Column type now.
but there are two kinds of implementations, I think the approach of array_append is much simpler, so I try to unify the implementations:
@_try_remote_functions
def array_append(col: "ColumnOrName", value: Any) -> Column:
    return _invoke_function_over_columns("array_append", col, lit(value))

Does this PR introduce any user-facing change?
No
How was this patch tested?
CI
Was this patch authored or co-authored using generative AI tooling?
No

merged to master


[Bug]: Please Help with "Aw, Snap!" page crashes after leaving Particles running for too long

Contact Details
<EMAIL_ADDRESS>What happened?
I needed a code that would allow interactive logos, repulse on hover with random movement, so I found TSParticles. I have used Particle JS before, but it seems TSParticles is more practical for this use case. For some reason, after awhile, the screen would go blank and says "Aw, Snap." The browser crashes and I wasn't able to find out why. The time till the crash is different for every device.
Here's the link to the live site (the site was built and hosted on Webflow)
I found something similar, but it was version 2.0.6 and I thought the issue has been fixed after 2.1.0 #4228
I also want to point out that I'm using 3 versions for desktop (big monitors), laptop and mobile respectively. This is due to client request as they want different logo density for different screen sizes.
Please help,
Screenshot:

tsParticles Version
tsParticles Version 2.1.4
Which library are you using?

Chrome, Safari
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

You are using 2.1.4 which is not the latest, is the bug still a thing in the latest version?

I can't find particles in your website from my phone, can you share the exact link for seeing them in action?

Closed for inactivity


Shell integration: Prefer OSC 7 over OSC 1337 for cwd sequence

See:

https://github.com/microsoft/terminal/issues/3158#issuecomment-541196240
https://gitlab.freedesktop.org/terminal-wg/specifications/-/issues/20

There's also OSC 9;9?
https://github.com/microsoft/terminal/issues/8166

Plan here is to move to our own custom sequences so we don't get confused by common ones used by other shell integration scripts, this will also allow us to experiment more with our own (like the pwsh command line one).