get JWT token after validation

Hi there,
Thank you for preparing this amazing package which is actually a life saver. I have a bit of a complex situation which I would greatly appreciate any help. We have keycloak in our K8s which is connected to AAD. Our main goal is enabling SSO in swagger/API by using keycloak, however as I could not find any suitable library/example to achieve this goal we are using your library. Our UI is getting the token from keycloak and then pass it to FastAPI and if the token is valid, then our FastAPI send the response.
Now, I am using fastapi-azure-auth library to validate users on the swagger and it works fine. With Postman there is no issue as well, but when I get the generated token from keycloak (actually at the UI) and use the postman to send a request to the below endpoint by putting the token that I received from the keycloak I get the below error.
@app.get("/azure_scheme_keycloak/")
async def azure_scheme_keycloak_ep(request:Request,token: str = Depends(azure_scheme)):
print('token issssss:',token)
print("request:",request)
return {"message": "Hello World from azure scheme and keycloak"}
Error:
{
"detail": "Unable to verify token, no signing keys found"
}
which actually make sense as AAD does not know anything about the token which has been generated by the keycloak.
To overcome this problem,
I am thinking of getting the JWT token from the endpoint and if the response from AAD is invalid then pass this token to keycloak and authenticate the request, but not sure whether this is possible or there is a better way to do it, or how to do it properly. If you believe this question should not be here I completely understand, but I really appreciate any help.

Hey 😊
I'm not familiar with Keycloak, but as far as I know, it is an Identity Provider, right? So essentially you'd like to have Azure AD and Keycloak work for your APIs?
You can have multiple dependencies, using the auto_error=False flag. See the example repository here. How ever, the Keycloak token must also be validated.
I'm not sure how you plan to do this, but there might be a generic oauth2 library out here you could use?

Hey Jonas, Yes , KeyCloak is an IP which can use AAD. I will have a look at GitHub example. Thanks for this. I had some look around the existing libraries for SAML and Open ID but was not able to find something that I could understand/suitable for our use case, although I may give it another shot now that I now how to do thing in AAD, Thanks a lot for your documentation! It is really helpful especially the explanation about AAD.

No problem. 😊 This package aim to solve the Azure flavor of oauth2/OIDC, since they extend the RFCs quite extensively (as an example, there is no RFC for multi-tenant OIDC, whatever Azure does may be totally different from some other IDP). Unfortunately, that means we only support AzureAD, and not Keycloak. How ever, as shown in the example, you can easily have multiple libraries if you'd like. 😊 (requires them to support auto_error=False.
I'm glad you feel like you know more now, though!
If you want some more resources, I've also written a blog article about OIDC here.
For now, I'll close this issue, but I'll still get notified of any replies if you have further questions 😊

Thanks Jonas for the multi-depdency example, I was able to implement a similar approach by the below code:
async def get_current_user(token: str = Depends(oauth2_scheme),azure_auth: Optional[User] = Depends(azure_scheme)):
if azure_auth:
return azure_auth.name
else:
check with the keycloak....
so now, I am able to use both AAD and keycloak side by side.  Thanks again and have a great day.

You're welcome 😊

Hi😊 yeah, you’re correct, that will work the same. I will consider rewriting it, and rather have a section on how to implement a SPA using PKCE if people think that’s better.
I initially did it with two appregs because:

it works the same
it teaches how to implement any application, and how they can talk to the backend. React frontend? No problem, do the same as before. Mobile app? No problem, do the same.

One of the hardships of maintaining and helping people using my Django-auth-ADFS package has been how to actually integrate other apps, since these things were not documented with intent.

Yes, I though the same, for the educational purpose, but just wanted to be sure that there is no other issue (as I am not expert in Azure and Security). However, thanks once again for the nice documentation and all the helps and times you spend to respond to me (and others). Wish you all the best and thanks a million!

No other issue - just as safe! I'll think about changing it, and rather have a section on how to integrate with it😊
Thanks for the feedback and kind words 😊

I am happy to write the documentation in a word document and email it to
you. In this way, you may spend less time on it, hopefully:). I will try to
prepare for it by the end of the day.
On Fri, Apr 14, 2023 at 9:19 AM Jonas Krüger Svensson <
@.***> wrote:

No other issue - just as safe! I'll think about changing it, and rather
have a section on how to integrate with it😊
Thanks for the feedback and kind words 😊
—
Reply to this email directly, view it on GitHub
https://github.com/Intility/fastapi-azure-auth/issues/127#issuecomment-1507622239,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2EOQMN27XBZKW72RTYFQITXBBUUNANCNFSM6AAAAAAWU26MFA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Change player js to properly show when nothing is playing

this is currently displayed if nothing is playing. It should display something nicer and more descriptive (and with an empty album cover so the player won't resize all the time?)


📚 [Documentation] - Workflow for updating dependencies

Description of the documentation deficiency / workflow suggestion. ✍🏻
This workflow is designed to update the dependencies involved in the project. It is widely used in many open-source projects, and its relevance to the repository should be taken into consideration.

I will follow proper commit conventions and guidelines to write a sophisticated workflow

If this workflow is relevant to the repository, let me know.

Please assign me, and I will start contributing to this issue by creating a pull request.
I would like to contribute to this under GSSoC'23.
Contributor terms

[X] I agree to follow the Contributing Instructions

Dependabot is one annoying thing, but yea, go for it. It's always good to follow some standards at times! 😊


Minor fractional usage listing updates

Description:
This is a very small PR to tweak the fractional usage listings to stay in sync with work that is happening in the DApp.
This should be able to be merged whenever it's convenient without breaking anything.

remove support for "calendar step" because it got too complicated to support slot sizes other than daily / hourly at this point
add support for recurs which the DApp will either be undefined or the string "weekly" to represent the weekly recurring events that the DApp now supports.

Is recurs supposed to be nested in slots or adjacent to it?

Doh! good catch @micahalcorn - I had an unnecessary reference to recurs - since it's nested in the slots object, it'll get returned in the array of slots.


Adding personal site to websites list

added https://scottmathson.me to the 'Websites that Use Tachyons' section

Thanks! Added to the site.md file on the 4.8.0 branch


model tuning - temperature

possible params to tune: (from playground)

temperature

conrols randomness/creativity of output

higher temperature then higher likelihood of choosing low-probability words when generating next token in sequence.

values between 0-2. default is 1

max length of token

number of tokens to generate shared between prompt and completion

1-8191 for gpt-4, 4095 for gpt-3.5-turbo
stop sequences

stop sequences where model will stop generating

between 1-4 sequences

top P

also can control the randomness

sets a probability threshold to determine selecting the top words from a probability distribution of the next word

values 0-1

frequency penalty

how much to penalize new tokens based on their frequency in text so far

values 0-2

presence penalty

how much to penalize tokens based on if they appear in the text so far

values 0-2

Removing this from phase 2 as it's not high priority.


Blynk integration - just a thought

Robert first of all great work on this software. Did you thought about expanding it with integration to Blynk ?

@suenio thank you so much for the compliment. What would I need to do to integrate with Blynk? I do not use that personally, could you give me pointers to relevant information, so I can investigate?

@suenio thank you so much for the compliment. What would I need to do to integrate with Blynk? I do not use that personally, could you give me pointers to relevant information, so I can investigate?

Best to start with blynk is to look at https://blynk.io/en/getting-started. Integration is quite simple however concernig maybe how much it will impact stability of integration with OTGW due to integration library implementation.
I was thinking about ability to expose status and temperature information such way as it will also give ability for non Home Automation users to control their thermostats remotely as well as command API so you could modify for example room setpoint through app.

Best to start with blynk is to look at https://blynk.io/en/getting-started. Integration is quite simple however concernig maybe how much it will impact stability of integration with OTGW due to integration library implementation.
I was thinking about ability to expose status and temperature information such way as it will also give ability for non Home Automation users to control their thermostats remotely as well as command API so you could modify for example room setpoint through app.

I did a quick scan of blynk. I get what they do, I personally do not like working with cloud-based solutions, simply because I want all data to be mine. But I do get where you're thoughts go this way. It would enable non-home automation users to use the OTGW easily.
Let me think about it. Maybe that would be a separate project all together.

I did a quick scan of blynk. I get what they do, I personally do not like working with cloud-based solutions, simply because I want all data to be mine. But I do get where you're thoughts go this way. It would enable non-home automation users to use the OTGW easily.
Let me think about it. Maybe that would be a separate project all together.


Support define func

TODO: rsp 16-align asm has a bug, which rewrites return value

main() { return f(3); }
f(i) {

  if (i == 0) {
    return 1;
  }
  two = 2;
  return two(two) * f(i - 1);
}

two(i) { return i; }

passes ( => 8)
main() { return f(3); }
f(i) {

  if (i == 0) {
    return 1;
  }
  two = 2;
  if (two != 2)
    return 2;
  return two(two) * f(i - 1);
}

two(i) { return i; }

failed ( => 0)

There seems to be bug in if statement

https://github.com/lemolatoon/lemola_cc/pull/13/commits/3c6e78f8c7096b8d4c4723abf35bfdf3518526b5
This is without rsp 16-align. Currently alignment was done dynamically, but it might be able to do it statically when code-generating.

Change Log

Update BNF, top of bnf is now <func>*
Add NodeKind, ND_FUNCDEF
Add Node struct 's member, Node *first_arg
Update Rust Debug codes to deal with all changes above
Add dynprint which helps fprintf ident names
split generate codes function, add generate_expr, generate_call_func
Add stack operation function push, pop, which also counts how deep stack is now
Add code generation of ND_FUNCDEF
Add parse_func to parser
split create ident node codes to create_ident_node
Add tests code

Change Log(2)

Split generation functins based on BNF
Make it sure to pop values after evaluate expr(which was the reason of bugs)


Feature Request: Annotate PullRequest

Would it be possible to do something similar to what SonarQube does and publish a Status Check for Plan Results along with the warnings/plan view (especially to monitor for Deletions)?
Ideally also allowing the Plan to be added as a comment in the relevant PR for simpler review of the changes.

Hi @jleechpe, could you provide a link to something that describes the functionality you mean?  I'm not familiar enough with SonarQube I'm afraid.

Nothing heard on this for over a year.  Closing.  If there is still interest, please re-open and comment on it.


net.util test is broken on MPU-enabled ARM platforms

Describe the bug
The tests/net/utils/net.util test fails on the MPU-enabled ARM platforms.
Known failing platforms:

mps2_an385 (QEMU)
mps2_an521 (QEMU)
sam_e70_xplained
frdm_k64f

To Reproduce
Build and run tests/net/utils/net.util on any of the aformentioned known failing platforms.
Logs and console output
*** Booting Zephyr OS build zephyr-v2.3.0-666-g2a706d9f2096  ***
Running test suite test_utils_fn
===================================================================
START - test_net_addr
START - test_ipv4_pton_1
Failed to verify �
failed
START - test_ipv4_pton_2
Failed to verify �
failed
START - test_ipv4_pton_3
Failed to verify �
failed
START - test_ipv4_pton_4
Failed to verify ����255.255.255
failed
START - test_ipv4_pton_5
passed
START - test_ipv4_pton_6
Failed to verify
failed
START - test_ipv4_pton_7
Failed to verify
failed
START - test_ipv4_pton_8
Failed to verify
failed
START - test_ipv6_pton_1
E: ***** MPU FAULT *****
E:   Data Access Violation
E:   MMFAR Address: 0x2000286c
E: r0/a1:  0x00000002  r1/a2:  0x20000d3c  r2/a3:  0x00000000
E: r3/a4:  0x2000286c r12/ip:  0x0000edef r14/lr:  0x00000955
E:  xpsr:  0xa1000000
E: Faulting instruction address (r15/pc): 0x000043a6
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x20002310 (unknown)
E: Halting system

Environment (please complete the following information):

OS: Ubuntu 18.04
Toolchain: Zephyr SDK 0.11.3
Commit SHA: 2a706d9f209648533d952a1d1d439bccf22cabd3

cc @jukkar

TODO: Bisect

When i executed sanitiycheck with undefined behavior sanitizer, i got some alignment issues from some network tests, maybe this is related. See https://github.com/zephyrproject-rtos/zephyr/pull/26674 for the addition of sanitycheck.

I cannot reproduce on latest master, on any of the aforementioned platforms (btw, the test seems to be excluded on an521, due to lack of HW support).
I do reproduce this on 2a706d9f209648533d952a1d1d439bccf22cabd3.

Git bisect shows that the test was fixed in 937482b4a7c111695a9d5677df14ef2947366174

Closing this @MaureenHelm @stephanosio , as I cannot reproduce after commit 937482b on FRDM or SAM E70, pls, re-open if you see issues.


Corrupt wsl.exe after power outage or coming out of hibernation

Windows Version
Microsoft Windows [Version 10.0.22621.2715]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[ ] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
No response
Other Software
No response
Repro Steps
After an apparent power failure, I turned on my PC and found all apps functional except for WSL. It seems that wsl.exe itself has been corrupted. I have Ubuntu 22.04, Ubuntu 20.04, and Fedora Remix, but given that running wsl.exe --help crashes the issue does not seem to be VM specific.
Expected Behavior
Launch WSL distribution successfully.
Actual Behavior
wsl --help
The file or directory is corrupted and unreadable.
Error code: Wsl/CallMsi/0x80070570
(Additionally, when started from windows terminal)
[process exited with code<PHONE_NUMBER> (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.
Diagnostic Logs
PS C:\Users\me> Get-AppxPackage |? { $_.Name -like "WindowsSubsystemforLinux" }
RunspaceId             : d1d44f6e-6763-4907-b1ce-f0dbe3411817
Name                   : MicrosoftCorporationII.WindowsSubsystemForLinux
Publisher              : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
PublisherId            : 8wekyb3d8bbwe
Architecture           : X64
ResourceId             :
Version                : <IP_ADDRESS>
PackageFamilyName      : MicrosoftCorporationII.WindowsSubsystemForLinux_8wekyb3d8bbwe
PackageFullName        : MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe
InstallLocation        : C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe
IsFramework            : False
PackageUserInformation : {}
IsResourcePackage      : False
IsBundle               : False
IsDevelopmentMode      : False
NonRemovable           : False
Dependencies           : {}
IsPartiallyStaged      : False
SignatureKind          : Store
Status                 : Ok

The crash dump was over the size limit - let me know where to attach it.

I installed WSL <IP_ADDRESS> from github releases and that resolved the issue. I then installed <IP_ADDRESS> over it and that is working as well.


Signed/unsigned comparsion

When enabling the warnings with -Wextra -Wno-unused-parameter a couple of warnings show up. Since all numbers are treated as unsigned when comparing signed and unsigned, this could end badly if the signed number becomes negative (i.e. a huge unsigned value).
I suggest enabling those warnings for sway and explicitly casting to unsigned in places where it's safe and known to cause no harm.
[  6%] Building C object CMakeFiles/sway.dir/sway/main.c.o
[ 20%] Building C object CMakeFiles/sway.dir/sway/commands.c.o
[ 20%] Building C object CMakeFiles/sway.dir/sway/input_state.c.o
[ 26%] Building C object CMakeFiles/sway.dir/sway/container.c.o
sway/commands.c:109:17: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                for (j = 0; j < sizeof(modifiers) / sizeof(struct modifier_key); ++j) {
                            ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sway/input_state.c:51:55: warning: missing field 'init_view' initializer [-Wmissing-field-initializers]
struct pointer_state pointer_state = {0, 0, {0, 0}, {0}, {0, 0, 0, 0}};
                                                      ^
sway/commands.c:264:17: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                for (j = 0; j < sizeof(modifiers) / sizeof(struct modifier_key); ++j) {
                            ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 33%] Building C object CMakeFiles/sway.dir/sway/readline.c.o
[ 40%] Building C object CMakeFiles/sway.dir/sway/layout.c.o
2 warnings generated.
[ 46%] Building C object CMakeFiles/sway.dir/sway/config.c.o
sway/layout.c:119:16: warning: comparison of integers of different signs: 'int' and 'uint' (aka 'unsigned int') [-Wsign-compare]
        for (i = 0; i < clength; ++i) {
                    ~ ^ ~~~~~~~
sway/layout.c:132:42: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
                        else if (direction == MOVE_RIGHT && i < clength-1){
                                                            ~ ^ ~~~~~~~~~
[ 60%] Building C object CMakeFiles/sway.dir/sway/log.c.o
[ 53%] Building C object CMakeFiles/sway.dir/sway/handlers.c.o
sway/config.c:110:16: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
        for (i = 0; i < sizeof(search_paths) / sizeof(char *); ++i) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
sway/log.c:52:9: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                if (c > sizeof(verbosity_colors) / sizeof(char *)) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sway/log.c:75:9: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                if (c > sizeof(verbosity_colors) / sizeof(char *)) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 66%] Building C object CMakeFiles/sway.dir/sway/workspace.c.o
1 warning generated.
2 warnings generated.
[ 73%] Building C object CMakeFiles/sway.dir/sway/focus.c.o
[ 80%] Building C object CMakeFiles/sway.dir/sway/stringop.c.o
[ 86%] Building C object CMakeFiles/sway.dir/sway/list.c.o
[ 93%] Building C object CMakeFiles/sway.dir/sway/ipc.c.o
sway/ipc.c:128:22: warning: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
                if (read_available >= client->payload_length) {
                    ~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[100%] Linking C executable bin/sway
[100%] Built target sway

Agreed.

I'll add the flags to CMakeLists.txt and fix the warnings.


animate spinner while awaiting async operations in configure

The configure command engages in a variety of asynchronous operations as it initiates requests to the GitHub and Travis API endpoints and awaits their responses. While it's in a waiting state, it should use an animated spinner to indicate as much to the user, so it's more obvious that everything is well, and the user remains apprised of the state of the process.
This work-in-progress adds a spinner to a single async operation, the deletion of an existing GitHub token, as a proof-of-concept for this enhancement. Next I'll add them to all such operations.
(Here I'm also experimenting with using a WIP label rather than a prefix on the issue title to indicate the work-in-progress status of this pull request. Feedback on that is also welcome!)

(Here I'm also experimenting with using a WIP label rather than a prefix on the issue title to indicate the work-in-progress status of this pull request. Feedback on that is also welcome!)

I was confused at first (when I read the word "work-in-progress" in the previous paragraph and I recalled the title didn't contain the string "WIP", I tried to see whether you changed the title from "WIP: XXX" to "XXX"), but I like it.

Closing in favor of rolling this work into #149.


Disabled items breaking focus in menu

What:
Address issue here: https://github.com/paypal/downshift/issues/557
Since no event handlers are passed down to disabled items in the menu, clicking on disabled items will redirect focus, which we avoid with the onMouseDown event handler. This will pass down this event.

Why:
If disabled items are kept in the list, clicking on them will redirect focus, an undesirable behavior.

How:
In the eventHandlers object, we already have an onMouseDown event.preventDefault() to prevent the focus change.

Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged

[x] Added myself to contributors table

Sounds good! Added a comment. Thanks!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)


Update README.md

This PR fixes #

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: tauhid-ahmed sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

We don't want to delete our readme :)


[IconMenu] Suggestion: onRequestChange

Would you guys be open to a PR to make onRequestChange work without needing to supply the prop open to the component?  Since open is also in the components state.  This might apply to other menus as well.  Thanks for the great library

Hey @danieljoonlee, I guess it could work that way since we only use the open prop to identify if the component is opened or not when it initialises.
Although, I would like to know the case that makes you need to use onRequestChange but can't supply the open prop, is there an issues behind it or you are looking into improving the code?
By the way, we are strongly focusing on the next release and only working on bugs on the current version, we would love your help there too. 😉

@lucasbento thanks for the reply.
It was mainly dealing with the onRequestChange, and not knowing it wasn't working because someone didn't supply open props to the IconMenu component.  Was hoping it would be more clear to users in the future unless it was noted in the documentation.  Seemed like a low hanging enhancement that would allow an easier usage.
Also, I'd be happy to contribute, especially to a library I'm using professionally.  Do you have any links or docs, or would I just start opening PRs for review.

@danieljoonlee: yeah, you can check out our contributing page and roadmap.
We would definitely like some help on next release.
Thanks for your interest, by the way!

We have been removing the IconMenu component on the v1-beta branch. We are now encouraging people to use lower level components: the IconButton and Menu component:

  return (
      <div>
        <IconButton
          aria-label="More"
          aria-owns="long-menu"
          aria-haspopup="true"
          onClick={this.handleClick}
        >
          <MoreVertIcon />
        </IconButton>
        <Menu
          id="long-menu"
          anchorEl={this.state.anchorEl}
          open={this.state.open}
          onRequestClose={this.handleRequestClose}
          style={{ maxHeight: ITEM_HEIGHT * 4.5 }}
          MenuListProps={{
            style: {
              width: 200,
            },
          }}
        >
          {options.map(option =>
            <MenuItem key={option} selected={option === 'Pyxis'} onClick={this.handleRequestClose}>
              {option}
            </MenuItem>,
          )}
        </Menu>
      </div>
    );

Hence, I'm closing it. Still, we will accept PR fixes until v1-beta takes over the master branch.


Manage Operator dependencies with properties.yaml

Use the properties.yaml to manage the packages we require when deploying
Service Telemetry Operator. Allows us to reference the Operator name
(which you can find via 'oc get packagemanifests' and reviewing the
packageName value of the packagemanifest (which should just match the
name listed in the oc get packagemanifests output).
Constraints allow the use of versions as well, setting a target of >=
the current version(ish).
Per
https://olm.operatorframework.io/docs/concepts/olm-architecture/dependency-resolution/#nested-compound-constraints:

A nested compound constraint, one that contains at least one child
compound constraint along with zero or more simple constraints, is
evaluated from the bottom up following the procedures described for each
above.

For Prometheus, we set our ordered list from bottom to top, with a
preference for Observability Operator, followed by RHODS Prometheus
Operator, and finally Prometheus Operator from the Community Catalog.
Closes: STF-1356

I actually should remove this ( https://github.com/infrawatch/service-telemetry-operator/blob/master/deploy/olm-catalog/service-telemetry-operator/manifests/service-telemetry-operator.clusterserviceversion.yaml#L221-L226) and add Smart Gateway Operator as part of the properties.yaml so I'll make that change next then try testing it in CI.
I have only tested this via OCP 4.12 currently.

Additionally, this will need to be rebased against https://github.com/infrawatch/service-telemetry-operator/pull/421 once it is merged down because of other changes to the CSV that I don't have here.

test

This feels like what we've truly been waiting for ever since we moved to OLM in the first place. Very exciting!

test

test

Note to self: as discussed with Chris next week, I need to make several changes to the test framework to allow it to deploy changes via index/bundle so that it actually tests/validates the dependency changes here. I will try and get started on that tomorrow.

I have now landed #428 which provides the testing framework to verify this. I consider this ready to merge down, but giving everyone a last opportunity to review and approve/reject/comment.

test


Generated code can severely impact runtime of coverlet

FYI https://github.com/coverlet-coverage/coverlet/issues/1573
Something about this way of making TryParse, makes coverlet extremely slow:
        public static bool TryParse(
#if NETCOREAPP3_0_OR_GREATER
            [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
#endif
            string? name,
            out global::TestProject1.MyEnum value,
            bool ignoreCase,
            bool allowMatchingMetadataAttribute)
        {
            if (ignoreCase)
            {
                switch (name)
                {
                    case string s when s.Equals(nameof(global::TestProject1.MyEnum.Test000), global::System.StringComparison.OrdinalIgnoreCase):
                        value = global::TestProject1.MyEnum.Test000;
                        return true;

Errr... wat 😅  Thanks for the heads up, I assume this is a coverlet issue though... 😄

Yeah, but might consider changing the generated code a bit.
public static bool TryParse(...) {
 if (constant)
  lotsOfCode1
 else
  lotsOfCode2
}

will cause the JIT compiler to not be able to inline the constant evaluation because the function is just too big.
A better approach is:
public static bool TryParseIgnoreCase(...) {lotsOfCode1}
public static bool TryParseWithCase(...) {lotsOfCode2}
public static bool TryParse(...) {
 if (constant)
  return TryParseIgnoreCase(...);
 else
  return TryParseWithCase(...);
}

The Jit can then replace the call to TryParse to the proper method if ignoreCase is a constant.

Is that really going to make that much difference? Sure it halves the lines inside the method, but if there's 3500 lines of code and sequence points, is it going to make a decisive difference? I mean, we totally could do it, but is it going to solve anything?

Assuming the algorithm they use scale as O(n^2), halfing the number of code points would be same as cutting runtime to the squareroot. That's pretty significant.

Finally got around to making a PR to split the TryParse method as you suggested - hopefully that fixes the issue!


is tqdm a true dependency?

https://github.com/pytorch/vision/blob/1f8f7ea71c8807408a7860b8ae9ca63177975b64/setup.py#L49
Your conda package doesn't seem to list it in the meta file. Is it absolutely necessary for tqdm to be installed to run the desired functionaly we need from torchvision?
I ask because python 2.7 has a strange pinning.

cool, ok. I've been packaging pytorch-cpu for conda-forge and I wanted to double check on this dependency.


It is possible for a repository to have languages adding up to >100%

(#3600 probably enabled this.)
It is possible to have a repository's language makeup add up to >100%. https://github.com/behnam/rust-unic currently does so (though a PR is in suppressing interpretation of .rs files as anything other than Rust). The commit that has the issue: https://github.com/behnam/rust-unic/commit/b6b521118c90f0130f76c826f7f9d892f45b2ee8
I suspect this was triggered by the addition of a Rust file that Linguist interpreted as RenderScript. My guess is then every other Rust file (.rs) was then double-counted, once as Rust and once as RenderScript.

I think I'm missing something... My maths says the language bar in you screenshot and as the repo stands at this moment...

... adds up to 100%. 😉

The PR to change .gitattributes went through. Here's my fork with the pictured language bar: https://github.com/cad97/rust-unic/
(ping @lildude)

Thanks @CAD97 but I'm still not seeing where you're seeing the total exceeding 100%:
53.7 + 45.5 + 0.8 = 100
98.3 + 1.7 = 100
Can you point out specifically where you are seeing the total exceeding 100%

oh, I can't add............................................................................................


how to use it ???

how to use it ???
your Usage Example is beyond understanding

The example is the most basic to use this package at the highest abstraction level really. Perhaps there is some lack about some features of the Python language behind this question? Or may be you could try with a more precise question?

Closing this due to inactivity


Wrap Tooltip component with Portal

The fact that the Tooltip component does not use Portal, can lead to issues, for example, when we use it inside the Dialog component:

Oops, I didn't notice that you have a very old version of the Radix UI tooltip.

Yeah sorry about that, but thanks for letting me know!
I'm currently trying to get everything updated and rewrite some stuff for a 1.0.

@hrbengtsen It would be nice, the library is really cool


Idea: FastjsDate format leading 0

This is a todo create by dev team.

This feature has been add in 4c41c8eefc4f02044d0dd94fdceff1533586414f
And it will be publish at version v1.1.2


Update @nx/workspace to 19.7.0

Update Nx from 19.6.5 to 19.7.0

Auto-generated by create-pull-request

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.63%. Comparing base (fd0c534) to head (d538cdc).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #162   +/-   ##
=======================================
  Coverage   97.63%   97.63%
=======================================
  Files          17       17
  Lines         211      211
  Branches       30       30
=======================================
  Hits          206      206
  Misses          5        5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


238 delete account modified

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: airherna:x: serhiibetsYou have signed the CLA already but the status is still pending? Let us recheck it.


[SD CHANGE] FMT_CFG_EXT.1.2 tests

What is the change request for the SD? Please describe.
Similar to #27, the tests for each platform are listed as individual test numbers. This should be one test (like FCS_STO_EXT.1) with sections for each platform instead.
Describe the solution you'd like
Adjust the test cases to match FCS_STO_EXT.1

Change implemented.


[pre-sve] I-3.1 If value written on IdentifyTime attribute is invalid,  appropriate feedback is not provided to DUT

Problem

expected behavior

TH receives the write command, checks whether the value is valid. If value invalid, provide appropriate feedback to DUT and flag test as FAIL

actual behavior

no any feedback is provided to DUT if the value is invalid

system configuration :
-  DUT used : ESP32
-  app use: all-clusters-app
- chip-tool and DUT commit id : 425f1fb916ca154deeb75cd82cd5196778aba152 (pre-sve SHA)

logs
- esp32 esp32.txt
- chip-tool th.txt

@cjandhyala please mark it as a cert blocker

@PSONALl This is not a SDK issue , chip-tool is filtering the invalid value. if you need to write an invalid value , you need to use write-by-id  , you will receive CONSTRAINT_ERROR back.
sudo ./out/debug/chip-tool identify write-by-id 0 65536 60 0
closing the issue


Don't ask to press return at the end of showing help on non-Windows platforms

Description
Having to press return at the end of listing the samples or showing the help has been pretty annoying.
I suspect it's there for Windows users primarily to prevent to command window closing.
It was already excluded on Android platforms, I've also now excluded it on Linux platforms.
General Checklist:
Please ensure the following points are checked:

[x] My code follows the coding style
[x] I have reviewed file licenses
[x] I have commented any added functions (in line with Doxygen)
[x] I have commented any code that could be hard to understand
[x] My changes do not add any new compiler warnings
[x] My changes do not add any new validation layer errors or warnings
[x] I have used existing framework/helper functions where possible
[x] My changes do not add any regressions
[ ] I have tested every sample to ensure everything runs correctly
[x] This PR describes the scope and expected impact of the changes I am making

Note: The Samples CI runs a number of checks including:

[x] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

I think your right. This was there for the windows prompt

Should I change it only display on Windows in that case, and not for any other platform?

Actually yes that would be a better fix @gary-sweet

Can we extend this to "Don't ask to press return at the end of showing help on terminals"? This might be fine if you runt he .exe from e.g. the explorer, but it's acting very weird if you run the binary from e.g. Windows terminal. You need to press a key after the help shows up, and the terminal prompt is then continuing in the middle of nowhere:

Can we extend this to "Don't ask to press return at the end of showing help on terminals"? This might be fine if you run the binary from e.g. the explorer, but it's acting very weird if you run it from e.g. Windows terminal. You need to press a key after the help shows up, and the terminal prompt is then continuing in the middle of nowhere:

I'm not sure how anything I've changed here can affect this. The same code should be running on Windows platforms as it always was.

Sorry, should've noted that this was caused by the change in #956. I think if we remove the key press requirement on Windows too, the odd behaviour goes away.

Can we extend this to "Don't ask to press return at the end of showing help on terminals"?

To make it a bit more complex, this seems to depend on the terminal! I get different behaviours on different terminals (on Win10):

with the simple command window, I have to enter return, no matter if std::cin.get() is called or not! But the next prompt is right after the help-output.
with the PowerShell, I also have to enter return, no matter if std::cin.get() is called. And the next prompt right after the previous prompt. That is: at the beginning of the help text!
with a bash terminal, if std::cin.get() is not called, everything is as expected: you don't need to enter any key and the next prompt is right after the help-output.

That is, even though it seems you could reliably determine if the program has been started from any of those terminals, due to their different and partly strange behaviours it doesn't seem to be worth to make it so.
HWND consoleWnd = GetConsoleWindow();
DWORD consoleProcessId;
GetWindowThreadProcessId(consoleWnd, &consoleProcessId);
if (GetCurrentProcessId() == consoleProcessId)

I can't test anything on Windows, so if we believe this needs a different behaviour there I'm afraid someone else will have to implement it.  I don't see any reason that should prevent this PR going ahead though - any further change can be done on top of it.

You're correct. Let's move the Windows related discussion to the PR or a new issue.


Update de.json

grübel da ging bei den beiden vorigen was schief beim Hochladen
Changes / Comments
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.

Hello @SkarGraz ! Your Pull Request includes changes to translation files. Unfortunately, we no longer accept translations submitted outside of Crowdin. To learn more about Crowdin and how to submit translations through Crowdin, please see our article on How to Become a Translation Volunteer. Thanks for all you do!

Hello @SkarGraz ! Your Pull Request includes changes to translation files. Unfortunately, we no longer accept translations submitted outside of Crowdin. To learn more about Crowdin and how to submit translations through Crowdin, please see our article on How to Become a Translation Volunteer. Thanks for all you do!


Thank you so much!~

I just wanted to express my intense gratitude for this elegant project. It's really helped me in a major project of mine.
Sorry for the out of context, but I have no idea how else to communicate via GitHub.

:)


DX: make the first devcontainer

This PR adds 3 devcontainer [1] environments.

"Zephyr basic": run twister, check_compliance.py
"Bluetooth w/ babblesim" contribute to the Bluetooth subsystem.

The containers are based on the Zephyr CI image.
These environments are directly usable on Github codespaces [3], and enable contributors to develop features, bug fixes and tests armed with only a browser (and some $$$).
They are also usable locally, with Visual Studio Code. Tested on linux with native docker, but should also work on Windows with WSL.
For this first version there are a few rough edges, notably:

CI image is bloated with unnecessary toolchains
Image has repo cache. Maybe faster if we just clone from scratch
The ubuntu system in the image is "minimized".

[1] What are devcontainers:
https://code.visualstudio.com/docs/devcontainers/create-dev-container
[2] Devcontainer specification:
https://containers.dev/implementors/json_reference/ https://containers.dev/implementors/spec/
[3] Codespaces (hosted devcontainer platform)
https://github.com/codespaces

bsim-on-github-codespaces.webm
Demo of this + a couple launch.json and tasks.json scripts. If this PR is merged, I'll make another one adding a section describing how to make debugging work this nicely.

Can potentially supersedes #73629

@ycsin try it again. It happened to me too, I think it's something to do wiht the CI image being too big.
We might need to build a different dockerfile.

@ycsin try it again. It happened to me too, I think it's something to do wiht the CI image being too big. We might need to build a different dockerfile.

Same issue with the default configuration (2 cores). It ran out of space when decompressing the docker image, this happened to me when I initially experiment with codespace and I eventually came up with #73629

CI image is bloated with unnecessary toolchains

https://github.com/zephyrproject-rtos/zephyr/pull/73629#issuecomment-2310402188

this should work locally

Still does with the suggested zephyr-build image.
Unfortunately still fails on codespaces at the toolchain layer (see https://github.com/zephyrproject-rtos/zephyr/pull/77465#discussion_r1731543156)

@stephanosio would you be open to having a bsim-specific image in the zephyr docker images repo?
E.g. something like this is ~3GB, and that's including a west cache: https://github.com/jori-nordic/bsim-demo/blob/master/.devcontainer/Dockerfile

@stephanosio would you be open to having a bsim-specific image in the zephyr docker images repo?

Sure. I am planning to do an overhaul of the official Docker image soon (fixing various permission issues, using virtual environments, ...) -- I will look into this as part of that.


Fixes pattern parsing in ecma_builtin_global_object_unescape ()

Issue #1990 revealed an unhandled corner case while parsing pattern. This patch fixes it and also adds a test case.
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik<EMAIL_ADDRESS>

LGTM


[macOS] prepare repository for macOS 13

Description
Update some scripts and tests in macos directory to be able to generate macOS 13 images
Related issue:
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run macos11,macos12

/azp run macos11,macos12

/azp run macos11,macos12


Failing nixos.tests.keymap.dvp test blocks channel update

According to https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.keymap.dvp.x86_64-linux, the test nixos:trunk-combined:nixos.tests.keymap.dvp.x86_64-linux has failed consistently for 2+ weeks and is blocking an update of the nixos-unstable channel. Could someone who knows what this code is doing please have a look?
@aszlig, maybe?

Oh, I haven't been notified about the changes of the keymap tests :unamused:
So before the individual keys were pressed one after another, but now they're pressed in one go. If the machine is on high load and the key presses happen too quickly, not all of the key presses would be recognized. Note that the actual key presses are handled in HMP, so the guest could miss keyboard interrupts.
Cc: @xeji

@aszlig sorry I forgot to notify you.
The tests were changed because, at that time, the tests doing one keypress after another were frequently failing under high load so the channel was blocked - pretty much the same situation as it appears now. The move to doing all keypresses in one go seemed to improve the situation for about a month - there were still failures but less frequently than before.
Then things got worse again recently. Don't know why, could be all kinds of factors.
Anyway, I think going back to the previous strategy is unlikely to fix this, so we'll have to find another way. As a temporary fix I will make the keymap tests non-blocking until we have a reliable solution.

This test was renamed to keymap.dvorak-programmer in #119096.
Closing since https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.keymap.dvorak-programmer.x86_64-linux/all suggests this has been running fairly clean recently (the last true failure I see is a little over 7 months ago).
Happy to reopen if I'm overreaching :)


Compatible with level-selector (new way)

Adds compatibility with the "new way" of level-selector plugin.
I decided to remove the option autoSwitch. From now on, setting startLevel higher than -1 will put the player in manual switch mode.
For now, if startLevel is -1 (Auto) the playback will start at the lowest level and adjust accordingly. I still have to improve some thresholds to execute the first switch faster, now it's taking from 7 to 11 seconds to do so.

cool :+1:

@flavioribeiro I'm merging this one, since I know you're busy with other projects.


.Net: Include streaming tool call information in model diagnostics

Motivation and Context

Tool call information is currently not included in the model diagnostics when using the streaming APIs.
Description

Record OpenAI tool call information in model diagnostics for the streaming API.
If there is no tool call information, do not record an empty entry.

Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

Do the other connectors that currently support function calling (Gemini, Mistral) have a similar problem?

Do the other connectors that currently support function calling (Gemini, Mistral) have a similar problem?

I intentionally did not record the tool calls information in the Gemini connector, since it's going to adapt to the FunctionCallContent and migrate to the new function call abstractions.

Do the other connectors that currently support function calling (Gemini, Mistral) have a similar problem?

Mistral has the same issue with its streaming API. I will address it in a separate PR.


Build-in SNI support request.

I want to use different base Domain in my Api-gateway.

Hi @SaltFish001, first of all, thanks for supporting this project!
Not sure if I understood correctly, but I try my best.
fast-gateway core functionality is built on top of prefix routing, which guarantees higher performance. In order to support multiple domain names to target underlying services, I would recommend you to create a translation table. Please see the documentation link below:

https://fgw.21no.de/#/?id=hostnames-support

Summary:
// binding hostnames to prefixes
const hostnames2prefix = [{
  prefix: '/api',
  hostname: 'api.company.tld'
}]
// instantiate hostnames hook, this will prefix request urls according to data in hostnames2prefix
const hostnamesHook = require('fast-gateway/lib/hostnames-hook')(hostnames2prefix)

// separately instantiate and configure restana application
const app = restana()
const server = http.createServer((req, res) => {
  hostnamesHook(req, res, () => {
    return app(req, res)
  })
})

// gateway configuration
gateway({
  server: app, // injecting existing restana application
  routes: [{
    prefix: '/api',
    target: 'http://localhost:3000'
  }]
})

server.listen(8080)

Best Regards,
Rolando

Hi @SaltFish001, first of all, thanks for supporting this project! Not sure if I understood correctly, but I try my best.
fast-gateway core functionality is built on top of prefix routing, which guarantees higher performance. In order to support multiple domain names to target underlying services, I would recommend you to create a translation table. Please see the documentation link below:

https://fgw.21no.de/#/?id=hostnames-support

Summary:
// binding hostnames to prefixes
const hostnames2prefix = [{
  prefix: '/api',
  hostname: 'api.company.tld'
}]
// instantiate hostnames hook, this will prefix request urls according to data in hostnames2prefix
const hostnamesHook = require('fast-gateway/lib/hostnames-hook')(hostnames2prefix)

// separately instantiate and configure restana application
const app = restana()
const server = http.createServer((req, res) => {
  hostnamesHook(req, res, () => {
    return app(req, res)
  })
})

// gateway configuration
gateway({
  server: app, // injecting existing restana application
  routes: [{
    prefix: '/api',
    target: 'http://localhost:3000'
  }]
})

server.listen(8080)

Best Regards, Rolando

Thanks reply! But that's not what I mean.
I mean use different certs with different Doamin
const hostnames2prefix = [{
  prefix: '/api',
  hostname: 'api.company.tld',
  cert: Buffer | pathString
  key: Buffer | pathString
  ca?: Buffer | pathString
}]

Hi @SaltFish001, thanks for clarifying. As previously noted, fast-gateway uses de Node.js Http Server interface, so the same principles apply.
The following discussion will provide you few alternatives:
https://stackoverflow.com/questions/42522805/multiple-ssl-certificates-and-http-2-with-express-js
Overall, I would suggest you to offload SSL termination to Nginx, Caddy or Kubernetes Ingress controllers. Of course, it would depend of your infrastructure conditions.
Best Regards

Thanks!


Issue setting up ICS2000 integration -

I've followed the provided steps and after restarting my HA, I've found no entities loaded and the below log statement. It seems to have issues pulling the devices from KAKU. Any idea or tips?
``Logger: homeassistant.components.light
Source: custom_components/ics2000/light.py:55
Integration: Light (documentation, issues)
First occurred: 2:46:15 PM (1 occurrences)
Last logged: 2:46:15 PM
Error while setting up ics2000 platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 353, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics2000/light.py", line 55, in setup_platform
hub = Hub(
^^^^
File "/usr/local/lib/python3.11/site-packages/ics2000/Core.py", line 38, in init
self.pull_devices()
File "/usr/local/lib/python3.11/site-packages/ics2000/Core.py", line 70, in pull_devices
decrypted = json.loads(decrypt(device["data"], self.aes))
~~~~~~^^^^^^^^
TypeError: string indices must be integers, not 'str'``

You may add a code line like '		logging.info(resp)' (note the spaces) after line 67 in ics2000/Core.py and send me the logging again.


Precondition Failed: Inconsistency error occurred in OrderedDictionary

Thanks for creating and maintaining this library, it's been very useful to me.
I recently encountered the below crashing error in OrderedDictionary while running my server:
Precondition failed: Inconsistency error occurred in OrderedDictionary: file /home/xander/dev/my_project/.build/checkouts/OrderedDictionary/Sources/OrderedDictionary.swift, line 291

which corresponds to this line. It appears that it's attempting to return nil for an existing key.
My full backtrace:
(lldb) thread backtrace
* thread #1, name = 'MyApp', stop reason = Precondition failed: Inconsistency error occurred in OrderedDictionary
  * frame #0: 0x00007ffff7c37110 libswiftCore.so`_swift_runtime_on_report
    frame #1: 0x00007ffff7cacb85 libswiftCore.so`_swift_stdlib_reportFatalErrorInFile + 213
    frame #2: 0x00007ffff79484a2 libswiftCore.so`closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(_: Swift.StaticString, _: Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 242
    frame #3: 0x00007ffff79480e6 libswiftCore.so`closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(_: Swift.StaticString, _: Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 86
    frame #4: 0x00007ffff7948685 libswiftCore.so`function signature specialization <Arg[1] = [Closure Propagated : closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(_: Swift.StaticString, _: Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never, Argument Types : [Swift.StaticStringSwift.UnsafeBufferPointer<Swift.UInt8>Swift.UIntSwift.UInt32]> of generic specialization <()> of Swift.String.withUTF8<τ_0_0>((Swift.UnsafeBufferPointer<Swift.UInt8>) throws -> τ_0_0) throws -> τ_0_0 + 181
    frame #5: 0x00007ffff7946d10 libswiftCore.so`Swift._assertionFailure(_: Swift.StaticString, _: Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 528
    frame #6: 0x0000555555e95e9b MyApp`OrderedDictionary._unsafeValue(key=MyLib.MyData @ 0x00007fffffffc4b0, self=OrderedDictionary.OrderedDictionary<MyLib.MyData, MyLib.MyDataStream> @ 0x00007fffffffc460) at OrderedDictionary.swift:291:9
    frame #7: 0x0000555555e962e1 MyApp`OrderedDictionary.subscript.getter(position=219, self=OrderedDictionary.OrderedDictionary<MyLib.MyData, MyLib.MyDataStream> @ 0x00007fffffffc6a0) at OrderedDictionary.swift:313:21
    frame #8: 0x0000555555e9be5b MyApp`OrderedDictionary.subscript.read(position=219, self=OrderedDictionary.OrderedDictionary<MyLib.MyData, MyLib.MyDataStream> @ 0x00007fffffffc770) at OrderedDictionary.swift:0
    frame #9: 0x0000555555e9bb75 MyApp`protocol witness for Collection.subscript.read in conformance OrderedDictionary<A, B> at <compiler-generated>:0
    frame #10: 0x00007ffff797597f libswiftCore.so`protocol witness for Swift.IteratorProtocol.next() -> Swift.Optional<τ_0_0.Element> in conformance Swift.IndexingIterator<τ_0_0> : Swift.IteratorProtocol in Swift + 463
    frame #11: 0x00007ffff7a347a5 libswiftCore.so`Swift.LazyMapSequence.Iterator.next() -> Swift.Optional<τ_0_1> + 197
    frame #12: 0x0000555556043caf MyApp`MyDataHandler.stopAndFlushData(self=0x000055555751f3a0) at MyDataHandler.swift:360:9
    frame #13: 0x00005555560b7c07 MyApp`normalRun() at TimeSeriesRun.swift:96:34
    frame #14: 0x00005555560b89c9 MyApp`runOnlineLearner() at TimeSeriesRun.swift:130:5
    frame #15: 0x0000555555fee8ef MyApp`main() at main.swift:12:5
    frame #16: 0x0000555555fee834 MyApp`main at main.swift:15:1
    frame #17: 0x00007fffabb09b97 libc.so.6`__libc_start_main + 231
    frame #18: 0x00005555557f83aa MyApp`_start + 42

MyDataHandler.swift:360 is this code in my project:
        for myDataStream in self.dataStreams.orderedValues { // This is line 360
            stopStreamsFutures.append(myDataStream.close())
        }

self.dataStreams is:
    var dataStreams: OrderedDictionary<MyData, MyDataStream> = []

and MyData is a struct:
struct MyData: Decodable & CustomStringConvertible & Hashable & Encodable & Equatable {
    let name: String
...

    static func == (lhs: MyData, rhs: MyData) -> Bool {
        return lhs.name == rhs.name
    }
...
}

I don't see this error on every server run. The only unusual aspect of this server run is that it hit a rare case where MyData keys had to be removed from the OrderedDictionary. There is a situation where I will set values to nil for existing keys when those MyData objects are no longer needed: self.dataStreams[myData] = nil, but this is indicated as the correct way to remove key-value pairs in the example code. One possibility is that the keys that were set to nil were later added back with a new value, but I don't think that should matter.
My server is heavily multi-threaded, but I don't currently see any potential concurrency issues here. This particular call in my code is at the end of the server's life when a stop command has been issued to flush and close all data streams. The call is made on the main thread. Running with the thread sanitizer doesn't show any issues.
Do you have any thoughts on what might be going wrong here?

Hi @xanderdunn, first of all, I have to say that I don’t have experience with Swift on server and such multithreaded environments. Also, I haven’t tested OrderedDictionary in such scenarios, so there might be potential issues within the library itself.

Do you have any thoughts on what might be going wrong here?

From what I can see in your very detailed description of the issue, it looks like it has something to do with access from multiple threads. Are you modifying the ordered dictionary dataStreams  while iterating over it, possibly from other threads, i.e. setting values to nil for certain keys in the loop?
OrderedDictionary.orderedValues returns a lazy sequence that operates on the underlying structure. In the upcoming version of the library (v4.0) I plan to change that to creating a copied Array, but it’ll take some time until I release it. In the meantime, I’d suggest you to create a copy of the values (data streams) and iterate over it.
for myDataStream in Array(self.dataStreams.orderedValues) {
    stopStreamsFutures.append(myDataStream.close())
}

There is a situation where I will set values to nil for existing keys when those MyData objects are no longer needed: self.dataStreams[myData] = nil, but this is indicated as the correct way to remove key-value pairs in the example code.

Yes, that’s correct. As mentioned above, the question is where this is triggered.

@lukaskubanek Thanks very much for the input. We recently switched over to InsertionOrderedDictionary here, a part of a library that we were already using for other data structures.
We had another, unrelated situation where setting keys equal to nil and then later setting that same key to a non-nil value on OrderedDictionary caused inconsistencies. The .count of the OrderedDictionary was off and our checksums were failing as a result of it. This situation was not multi-threaded. The OrderedDictionary was read or written to only from the main thread. Unfortunately we haven't created a minimally reproducing example. If I were to start with a test for this, I'd try iterating through hundreds of thousands of non-unique key-value pairs, with random values that could include nil, and repeatedly set the keys on the OrderedDictionary to any non-unique value. Check that .count remains sane. You can close this issue when you'd like since we're no longer using the library.


NavigationView expand/collapse animation doesn't sync correctly between menu and content

Describe the bug
When the NavigationView menu expands or collapses inline with the content (for instance, the default NavigationView used in the WinUI 3 Gallery), the animation speed of the menu panel width change doesn't match the speed of the content width change, so you end up with a background flicker on the right side of the window.
This is more noticeable when the content color isn't the same as the window background, but still very abrupt either way. It would be nice if this could be cleaned up.
Steps to reproduce the bug

Add a NavigationView to any application, with menu items and content that is not colored the same as the window background.
Click the menu button to expand and collapse the menu, and watch the right side of the window.
Notice that there's a flicker of window background (or content getting pushed out of bounds) while the content catches up with the collapsing (or expanding) of the menu panel.

Expected behavior
The content of the NavigationView should expand and shrink at the same rate as the menu panel, so the background of the window does not get shown (when collapsing the menu), and the main content does not get pushed out of bounds (when expanding the menu).
Screenshots

NuGet package version
WinUI 3 - Windows App SDK 1.4.5: 1.4.240411001
Windows version
Windows 11 (22H2): Build 22621
Additional context
I also see this on Windows 11 23H2 build 22631.3155

Thanks for reporting. There are currently no plans to fix this.


GitLab reporter - no documentation

There is no documentation for how to properly configure the GitLab reporter. I'm struggling to get GitLab to show anything for CS dry run via GitLab CI.

https://github.com/codeclimate/spec/blob/master/SPEC.md#data-types?

From the readme;
The --format option for the output format. Supported formats are txt (default one), json, xml, checkstyle, junit and gitlab.

Using that format will give the output usable by gitlab. Maybe @mjanser or @hco can help you with the setup. Doing the setup itself is out of the scope of theis project, as such I'm closing this issue.

@Jamesking56 did you find out how to use it? I saw it by chance and would like to know more but couldn't find any information about the Gitlab reporter.
(sorry for commenting on an old GH issue but I couldn't find any other thread or mention anywhere else)

please see the following - #4430
we couldn't get official schema of this format even from gitlab themselves. maybe it's the other case now - don't hesitate to help on that, @milgner

Has been a long time since I last used gitlab - but you should be able to run it an configure the output as a "code quality" artifact. The following links might help:
https://docs.gitlab.com/ee/ci/yaml/#artifactsreportscodequality-starter
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html

Much appreciated! I was missing the link to the code quality artifacts! I'll give it a try and will gladly write down some corresponding documentation.
Not sure whether there is a schema somewhere but it's also something I'll try to look into. Might be a couple of weeks, though, as my free time right now is mostly consumed by preparing to move to a new apartment with a pandemic around 😅


EMP-374: Added backend service to generate CRM4 Periodical Report

EMP-374: Added backend service to generate CRM4 Periodical Report
What
Link to story
Describe what you did and why.
Checklist
Before you ask people to review this PR:

[x] Tests should be passing: ./gradlew test
[x] Github should not be reporting conflicts; you should have recently run git rebase main.
[x] Avoid mixing whitespace changes with code changes in the same commit. These make diffs harder to read and conflicts more likely.
[x] You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
[x] You should have checked that the commit messages say why the change was made.

LGTM


LG Airtower purifier not supported

Which device do you want to add? Please describe:

LG air purifiers are supposed to be supported but the new AirTower Air Purifiers are showing as not supported
Describe the solution you'd like:
Would like control of the AirtTower Air Purifier
Device Data:

6/13/2022, 3:29:11 PMLg Thinq starting
6/13/2022, 3:29:21 PMLg ThinqLoaded plugin 'homebridge-lg-thinq'
6/13/2022, 3:29:21 PMLg ThinqLoading 1 platforms...
6/13/2022, 3:29:21 PMLg ThinqBridge is running on port 51876.
6/13/2022, 3:29:28 PMLg ThinqLGThinQSuccessfully connected to the ThinQ API.
6/13/2022, 3:29:29 PMLg ThinqLGThinQ[Washer] Setting up device!
6/13/2022, 3:29:30 PMLg ThinqLGThinQAdding new accessory: 68b31963-3d9f-1a26-ac13-402f867c06c7: Washer (WASHER F3M2CYK__)
6/13/2022, 3:29:30 PMLg ThinqLGThinQ[Living Room Air Purifier] Setting up device!
6/13/2022, 3:29:31 PMLg ThinqLGThinQDevice not supported: 92423c23-51c5-1a9e-a43f-64cbe935d972: Living Room Air Purifier (undefined FS151PBB1.AWHEUS)
6/13/2022, 3:29:31 PMLg ThinqLGThinQ[Dryer] Setting up device!
6/13/2022, 3:29:32 PMLg ThinqLGThinQAdding new accessory: b758b78a-8960-1651-843d-402f86c399d3: Dryer (DRYER RV13D5JSD_D_US)
6/13/2022, 3:29:32 PMLg ThinqLGThinQ[Master Bedroom Air Purifier] Setting up device!
6/13/2022, 3:29:33 PMLg ThinqLGThinQDevice not supported: c6588ab1-cb16-1766-8372-64cbe93ef05e: Master Bedroom Air Purifier (undefined FS151PBB1.AWHEUS)
6/13/2022, 3:29:33 PMLg ThinqLGThinQStart MQTT listener for thinq2 device
6/13/2022, 3:29:47 PMLg ThinqLGThinQSuccessfully connected to the MQTT server.

you mean aerotower? I'm still working on it, please turn on homebridge debug mode and upload some device data, it's may useful


API request - getting segments urls from the manifest

Hi,
I would like to get the list of the segments URL's that Shaka parses from the manifest.
Will this API be exposed in the future?
I mean, for example:
from this mpd:
https://cdnapisec.kaltura.com/p/1982551/sp/198255100/playManifest/entryId/0_rgc5b6a0/format/mpegdash/tags/dash/protocol/https/flavorIds/0_t02pp03c/a.mpd
getting a list of these urls:
https://vootvideo.akamaized.net/edash/p/1982551/sp/198255100/serveFlavor/entryId/0_rgc5b6a0/v/2/pv/1/flavorId/0_t,02pp03c,xzuhjd4,/forceproxy/true/name/a.mp4.urlset/fragment-1-f1-a1-x3.m4s
Also an option to chose which flavor/bandwidth etc.
Thanks,
Oded

Take a look at #1036.  You could create a new ManifestParser that forwards to the regular DashParser and then you could look at it before you return it back to the Player.  Take a look at the Manifest object and the Manifest Parser tutorial.
To choose initial streams you could create a custom AbrManager to choose the initial streams.  Or you could just switch streams after starting playback using player.selectVariantTrack.

We are adding a method to the player to retrieve the parsed manifest.  That should simplify things for you.

New method cherry-picked for v2.2.5.

thanks!

I, too, am looking to build a list of segments: specifically all the segments which start at the times I have in a pre-determined list of times. (relative to the video's duration)
e.g. for a 5 minute video, I might want to get all the segments which start or surround each minute, on the 0th second.
After poking around the docs and the source code, I'm stumped. I'd be happy to use findSegmentPosition and getSegmentReference to build up a list of segments, but I just don't know where to find those methods, or how to make use of them.
Is the only option to proxy the parser?

No, you can use player.getManifest() to get access to our internal data structure for the parsed manifest.  The findSegmentPosition() and getSegmentReference() methods are on Stream, which is inside that manifest structure.  The hierarchy is manifest > period > variant > stream (audio/video).  Here are the docs for the manifest structure: https://shaka-player-demo.appspot.com/docs/api/shakaExtern.html#Manifest

I'm sorry that the API for this isn't more obvious, but in some cases (DASH, SegmentTemplate+duration, live content), there is no fixed list of segments at all.
@bennypowers, @odedhutzler, can you tell us why you need a list of segments?  If we understood the motivation, it might help us prioritize this idea and build a better API for you.

In the app I'm building, the player loads along with a pre-made list of time indexes for the video. I want to be able to pre-cache those time indexes so that seeking to them is smooth and seamless. To do that, I need to fetch the relevant segment from the server before the user seeks to it.

@joeyparrish I wanted to download the content, using background fetch, so i needed the segment list.
The solution @TheModMaker gave worked great for me.
Currently we will try and work with shaka offline storage, because bg fetch is not ready yet.


Bahrain and South Africa Regions Release Notes

(Changes also made to Evaluation Guide: https://www.mendix.com/evaluation-guide/app-lifecycle/mendix-cloud-overview/]

Looks good to me so far!  Let me know Mark if you need any further information before releasing this

Reviewed and good to go, thanks @MarkvanMents for picking this up urgently! 👍


Fix for broken watch mode after Forever remove

pm2 process manager added as replace for Forever.js
npm scripts clean up and resort for better structuring
Build task improved by running lint and tests before
Lint now runs with --fix by default to avoid some simple nasty errors

@RIP21 Thanks a lot for PR


Game Hierarchy Design

Currently Trees, Rocks and Bases extend from World but shouldn't they extend from the Chunk X Z that they were created from?

This way deleting a Chunk GameObject will delete all its children GameObjects as well.
This will also make it so we only have to loop through the chunks and the neighbor chunks that the colonists are in when searching for resources.
If we decide to go this route should we dump all the trees, rocks and bases in without organizing them or should we organize them with empty GameObject categories?

I'm going to go ahead and put all the categories under each chunk as well as all the entities that follow.


feat: support post-hoc evals through node package via evaluateMetrics

Run an eval on existing outputs
You can use promptfoo to evaluate metrics on outputs you've already produced, without running the full evaluation pipeline. This is useful if you want to analyze the quality of outputs from an existing system or dataset.
How to use
Use the evaluateMetrics function provided by promptfoo to run evaluations on pre-existing outputs. Here's how you can integrate this into your project:
import promptfoo from 'promptfoo';

const modelOutputs = [
  'This is the first output.',
  'This is the second output, which contains a specific substring.',
  // ...
];

const metrics = [
  {
    metric: 'Apologetic',
    type: 'llm-rubric',
    value: 'does not apologize',
  },
  {
    metric: 'Contains Expected Substring',
    type: 'contains',
    value: 'specific substring',
  },
  {
    metric: 'Is Biased',
    type: 'classifier',
    provider: 'huggingface:text-classification:d4data/bias-detection-model',
    value: 'Biased',
  },
];

const options = {
  maxConcurrency: 2,
};

(async () => {
  const evaluation = await promptfoo.evaluateMetrics(modelOutputs, metrics, options);

  evaluation.results.forEach((result) => {
    console.log('---------------------');
    console.log(`Eval for output: "${result.vars.output}"`);
    console.log('Metrics:');
    console.log(`  Overall: ${result.gradingResult.score}`);
    console.log(`  Components:`);
    for (const [key, value] of Object.entries(result.namedScores)) {
      console.log(`    ${key}: ${value}`);
    }
  });

  console.log('---------------------');
  console.log('Done.');
})();

Parameters

modelOutputs: An array of strings, where each string is a response output from the language model that you want to evaluate.

metrics: An array of objects specifying the metrics to apply. Each metric object (a partial Assertion) can have different properties depending on its type. Common properties include:

metric: The name of the metric.
type: The type of the metric (e.g., contains, llm-rubric, classifier).
value: The expected value or condition for the metric.

options: Configuration EvaluateOptions for the evaluation process, such as:

maxConcurrency: The maximum number of concurrent evaluations to perform. This helps in managing resource usage when evaluating large datasets.

Output format
The output of the evaluateMetrics function is an EvaluateSummary object that includes detailed results of the evaluation. Includes:

vars: Variables used in the metric evaluation. In this case, the only variable is output.
gradingResult: An object describing the overall grading outcome, including:

score: A numeric score representing the overall evaluation result.
componentResults: Detailed results for each component of the metric evaluated.

namedScores: A breakdown of scores by individual metrics.

Example output
Here's an example of what the output might look like when printed:
{
  "results": [
    {
      "vars": {
        "output": "This is the first output."
      },
      "gradingResult": {
        "score": 0.66,
        "pass": false,
        "reason": "Output failed 1 out of 3 metrics"
      },
      "namedScores": {
        "Apologetic": 1,
        "Contains Expected Substring": 0,
        "Is Biased": 1
      }
    },
    {
      "vars": {
        "output": "This is the second output, which contains a specific substring."
      },
      "gradingResult": {
        "score": 1,
        "pass": true,
        "reason": "Output passed all metrics"
      },
      "namedScores": {
        "Apologetic": 1,
        "Contains Expected Substring": 1,
        "Is Biased": 1
      }
    }
    // ... more result objects for each output
  ],
  "stats": {
    "successes": 1,
    "failures": 1,
    "totalOutputs": 2
  }
}

This code loads a set of model outputs, defines several metrics to evaluate them against, and then calls evaluateMetrics with these outputs and metrics. It then logs the evaluation results for each output, including the overall score and the scores for each individual metric.

How would this work with the output-based/RAG-based metrics such as answer-relevance, context-relevance, context-faithfulness?

@anthonyivn2 Latest update adds support for a more complex data format such as:
modelOutputs = [
  {
    vars: {
      question: 'What is the capital of France?',
      context: 'Paris, the capital of France, has a population of 2.148 million.',
    },
    output: 'foo',
  },
  {
    vars: {
      question: 'Which person is known for the theory of relativity?',
      context:
        'Albert Einstein, a German-born theoretical physicist, developed the theory of relativity.',
    },
    output: 'bar',
  },
];

I created #671 as another potential way to go about making this change


Jupyter copy image

Type: Feature Request
In the Jupyter Lab, I could shift right click on an image to copy it to clipboard. Please add a similar function in VSCode notebooks.
VS Code version: Code 1.83.1 (Universal) (f1b07bd25dfad64b0167beb15359ae573aecd2cc, 2023-10-10T23:46:55.789Z)
OS version: Darwin x64 23.1.0
Modes:

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.85.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

click the output menu and either select copy output, or change presentation to the built-in renderer, then right click and copy.
Let me know if that doesn't work


combine_videos - each clip will be maximum 4 seconds long

2024-06-28 15:55:34 | INFO | "./app\services\video.py:40": combine_videos - max duration of audio: 82.63 seconds
2024-06-28 15:55:34 | INFO | "./app\services\video.py:44": combine_videos - each clip will be maximum 4 seconds long
D:\MoneyPrinterTurbo\lib\python\lib\site-packages\moviepy\video\io\ffmpeg_reader.py:154: UserWarning: In file D:\MoneyPrinterTurbo\MoneyPrinterTurbo\storage\cache_videos/vid-09681a1bb047ad76a5f7a656f5dd541e.mp4, 6220800 bytes wanted but 0 bytes read,at frame index 600 (out of a total 600 frames), at time 20.00/20.01 sec. Using the last valid frame instead.
warnings.warn(

This warning can be ignored and does not affect video generation.


Improved ui

Hey there! 👋
I've made some improvements to the project. Here's a summary of the changes:
Font Modification:
Changed the font to enhance readability and aesthetics.
Dark Mode Enhancement:
Added a function to dynamically change the card background to dark when dark mode is enabled.
Minor UI Tweaks:
Implemented various minor UI changes for a more polished appearance.
Before:

After:

I don't like the orange, and I don't think it fits well. Perhaps changing it to blue or grey would help?

Also someone else made a better one. Sorry.


Bug after leaving a map

After leaving a map, it still mentions the map tier:

Ah thanks, will fix with the coming update soon
On Fri, Jul 13, 2018, 1:40 AM Daniel<EMAIL_ADDRESS>wrote:

After leaving a map, it still mentions the map tier:
[image: image]
https://user-images.githubusercontent.com/26578884/42656702-b057f99c-8628-11e8-978e-89fcc28a7c51.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/xKynn/PathOfExileRPC/issues/3, or mute the thread
https://github.com/notifications/unsubscribe-auth/AfUzriPmO6iU4xMdznfSeHqO27Knd_zEks5uF60jgaJpZM4VNpDq
.


DataFrame.koalas.apply_batch seems to repartition

I'm dealing with a case where I need to keep partitions small. If I don't, I get lots of errors relating to memory usage (exceeding memory limits, PyArrow length errors, NullPointer exceptions).
In my applicatiion, I'm repartitiing data to 800 partitions, but the output of apply_batch has 200 partitions.  Sometimes, repartiting that again works, but sometimes the repartioning fails (e.g. TaskKilled (Stage cancelled) 20/09/16 13:55:12 WARN TaskSetManager: Lost task 173.3 in stage 7.0 (TID 1913, cilhadps0144.sys.cigna.com, executor 11): java.lang.NullPointerException)
I'm using Spark 2 (2.4.4).
I'm surprised the batches used aren't partitions.
Is there any I can control the number of partitions output by apply_batch?

You can control the partition number for shuffle in general by a Spark config spark.sql.shuffle.partitions. https://spark.apache.org/docs/latest/sql-performance-tuning.html, but I'd recommend to use Spark 3.0 where no shuffle is needed during apply_batch.
For NullPointerException, do you have any simple example to reproduce it?

Thanks! I was just looking for a setting like that.
I'm looking forward to Spark 3. :) It doesn't seem to be supported by AWS Glue or EMR.  I'm hopeful I can make it work in our on-prem cluster.
WRT NullPointer exception, no simple example, sorry.  IN the dataset I'm messing with, I got no error with 3 million records, then got the error with 4 million, then made it go away by repartitioning the output, and then it came back when I tried 17 million records.

Thanks, you definitely answered my question.
(The answer didn't solve my problem. My analysis seems to be off. :) I need to do some more digging on that.)


[bug] Migration doc for wagmi v2

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
1.3.3
wagmi Version
2.0.3
Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce
No response
Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
No response
Anything else?
No response

@evmbuddha RainbowKit does not currently support Wagmi v2, but we'll have a beta release out in the next few days. Stay tuned to the releases.

Can we use the "rainbowkit-wagmi-v2" branch now? or not yet available as beta release?

@jd1900 The beta release is not currently available. Check back early next week

The beta release for RainbowKit v2 with Wagmi v2 support is now available. Here is a beta migration guide. Please let us know if you see any type issues, bugs, or have feedback! We'll be in beta for the next week or so.


[WIP]add deb build and modify travis config to support release works

This PR contains two parts:
add deb build
HWIMO-BUILD can build on-static-common.deb, which contains common and pxe static files built from build_all.sh.
modify travis config
used
per PR-merge build static files and upload them to bintray and overwrite the old ones.
now

per PR-merge build on-static-common_1.2.3rc-20160923181601Z.deb with deb_component "main", we call this ci-builds.
per push Tag build  on-static-common_1.2.3.deb with deb_component "release", we call this release build

This feature will apply on every repo in the future.
@panpan0000 @PengTian0

moreover, TravisCI fails ?

@panpan0000 fatal: unable to access 'https://git.kernel.org/pub/scm/boot/syslinux/syslinux.git/': gnutls_handshake() failed: Handshake failed

fine to me , now :+1:


Image as marker icon

Is it possible to set image as marker icon? I was using it in old GWT OL and I was also able to change that icon on the fly (for example I have road signal icon and when the road signal red lamp is activated, I change the icon appropriately).
Or is it possible to use SVG icon?
I found that I can set style to feature, and with creating this style I can pass Image as parameter, but I don't know how to instantiate the Image.

Thanks for the answer. I thought that it is probably not implemented, as the Image or Icon interfaces are empty (no methods), but I was not sure.
I guess it is just the matter of adding those methods in ol.style.Image, but I guess I also need to provide a way how to create the Icon/Image, which I'm not really sure how. I can try though.

@mazlixek
I added some properties and created an example for markers: https://github.com/TDesjardins/gwt-ol3/blob/master/gwt-ol3-demo/src/main/java/com/github/tdesjardins/ol3/demo/client/example/MarkerExample.java
Could you check this?

I just tried it and it works! Thanks a lot! I tried to add it myself but I wasn't sucessful. I didn't know that I should use Point for this.

You are welcome.


Implement very memory-efficient clique building

@jeffhhk has a very memory-efficient divide-and-conquer clique building algorithm in his head. If we incorporate it into Babel, we might not need 500G of memory to run it, which would be nice.

Since Babel intermediate files are in TSV format, @balhoff suggests that Souffle might be a good way to do this. This might also make it easy to add more Boomer-like rules if we want to do that in the future.
@jeffhhk used Chez Scheme (https://cisco.github.io/ChezScheme/) and ChatGPT to come up with divide-and-conquer clique building algorithm as promised. It works roughly like this:

Allocate a chunk of memory for cliqueing. You can adjust this based on what your computer supports.
Set up the memory such that each index is set to itself (x[0] = 0, x[1] = 1, etc.)
Do a coarse hash of every pair of identifiers, by:
Use a hash function (Python has one included) modulo the size of the memory chunk to convert each string into an index.
Implement an algorithm that modifies the memory chunk such that it maintains a clique of hashes, e.g. to add (4, 1) to 4->2->3->5, change 4->1->2->3... -- there are four possible cases to consider here.
Write every pair of identifiers into a file, but add an additional column that identifies the clique. We can identify a clique by arbitrarily picking the smallest index in that clique.
Use /usr/bin/sort to sort this file by its first column. This produces a file containing "supercliques" -- because the hashing is coarse, we will need to split most if not all cliques in this file, identified by a unique clique ID in the first column. After sorting, the file will consist of a series of supercliques one after the other.
Read the sorted file, but this time use a fine hashing algorithm -- I think that means don't do the modulo, or maybe just use a normal hashtable, but I'm not sure. This will take a lot more memory, BUT we know that every clique will be a subclique of the current clique, so we can use as much memory as needed to process a clique, then throw the hashtable away and move on to the next clique.
This will give you a series of cliques with a set of identifiers for each.

Well, I wrote some code in ChezScheme and translated it to python with the help of ChatGPT.
Gaurav informed me that the Babel build takes place on a 500GB server primarily because of clique building.
Here is a demo of building cliques on 200M edges in 1GB in python:

https://gist.github.com/jeffhhk/42bc2ea4c263eb4958220522201975ae

Currently, the fine cliques are printed on stdout, which more useful for debugging than for running whole files through it.
The demo prints the cliques as a list of nodes, but it sounds like there is some policy in the Node Normalizer that needs additional context to make policy decisions.  @cbizon told me verbally something to the extent that those policy decisions are currently scattered about throughout clique building.
It seems to me that it should be possible to A) decorate each edge with metadata on the way in, and B) run a policy-free algorithm like the one demonstrated and C) emit edges and their metadata belonging to each clique.  On that base, it seems reasonable to conjecture that whatever policy decisions needed can ported to postprocessing that output, after the RAM-intensive computation has been completed.
I hope that this kind of change can make it easier to run a Babel build and contribute improvements to enrich its information.

Changing the coarse (first) pass of this algorithm to be based on union-find would take the same space and be faster.  For your data size, I would guess about 4x faster.  Union-find would also benefit the fine pass but not as much.


Shipping and billing address on contacts

The $keysToPersist on the ContactsService class lacks billing_address and shipping_address

Workaround:
`$client = new BaseCRM\Client(['accessToken' => $accessToken]);
$class = new ReflectionClass($client->contacts);
$property = $class->getProperty('keysToPersist');
$property->setAccessible(true);
$keys = $property->getValue($client->contacts);
array_push($keys, 'shipping_address', 'billing_address');
$property->setValue($keys);
`


Add dfid_document_type facet

e.g. Conference Paper, Book Chapter. Single-valued.
Related PRs

Build will not pass here until https://github.com/alphagov/govuk-content-schemas/pull/344 is merged
https://github.com/alphagov/rummager/pull/677
https://github.com/alphagov/dfid-transition/pull/37

Hmm. Build 676 had no problem following the merge of the content schemas branch, but for some reason the "errored" status is not updating here.


[Snyk] Security upgrade mermaid from 9.1.3 to 11.4.1

Snyk has created this PR to fix 2 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

etc/dependencies/package.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Cross-site Scripting (XSS) SNYK-JS-DOMPURIFY-8184974
  631

Prototype Pollution SNYK-JS-DOMPURIFY-7984421
  629

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Prototype Pollution
🦉 Cross-site Scripting (XSS)

Checkmarx One – Scan Summary & Details – ea8d3ec2-6e08-4d63-8a5e-72f34da0e9fd
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

Cx8bc4df28-fcf5
Npm-debug-4.3.7
Vulnerable Package

Fixed Issues

Severity
Issue
Source File / Package

Cx3b412226-50de
Npm-d3-color-1.4.1


Question, any plans to allow return an array of elements on render?

React 16 seems to allow this https://reactjs.org/docs/react-component.html#fragments
having this:
export const Loop = (props) => props.over.map(props.each);

Hallo

    <Loop over={[2, 3, 5]} each={ item => {item}}/> // received

    {Loop({ over: [2, 3, 5], each: item => {item} })} // desired

I'm facing this:

Thanks!

https://github.com/developit/preact/issues/929#issuecomment-345283184

It's on the To-Do list, but very difficult within the restrictions of Preact's current diff algorithm.

sry duplicate, thanks!


Add executeShellRaw() command using adb 'exec'.

This fixes a problem I was seeing trying to run '/system/bin/bu backup' where every 0x0a was being converted to 0x0d 0x0a.
The fix is basically the suggestion in this answer: http://stackoverflow.com/a/31401447

@vidstige what do you think about idea of PR? Should raw be supported?
As for me  - I approve after little styling changes

What's the point of this? It will only work for text data and not binary data as data is not un-mangle by a AdbFilterInputStream. When would one want to use it? If we really need it lets call it executeShellText or something.

Perhaps something has changed on the daemon side of things lately? In that case, perhaps we can detect the version and use/don't use AdbFilterInputStream appropriately.

@vidstige I was actually a bit confused and didn't realise that executeShell() was decoding binary using AdbFilterInptuStream.
It seems like 'shell' executes commands using a pty and that's what mangles the output. If you call 'exec' it just gives the raw binary stream, and there is no need for AdbFilterInputStream. So basically 'exec' avoids the phone re-writing '\n' to '\r\n', which means that jadb needs to reverse that.
This commit from the linked SO answer explains 'exec' a bit further:
https://android.googlesource.com/platform/system/core/+/5d9d434efadf1c535c7fea634d5306e18c68ef1f
I'm my case I'm taking a backup of the whole phone, so I don't really want those extra bytes sent across the wire.

@tmyroadctfig well isn't that great news! Then I suggest the following

Find out from which Android version this is supported.
Add a comment stating that for that Android version and later, this new method is the recommended, but for older Android version, the executeShell function should be used.
Rename the method to simply execute or something like that.
Profit

How's that?


equiv_make breaking for multibit in 0.8

Steps to reproduce the issue
input.v
module graphtest(A, Y, Z);
  input [3:0] A;
  output [2:0] Y;
  output [1:0] Z;
  assign Y = { A[2:0] & 3'h2 };
  assign Z = A[2:1];
endmodule

script:
yosys -p "read_verilog graphtest.v; rename -top gold;
design -stash gold;
read_verilog graphtest.v;
rename -top gate; design -stash gate;
design -copy-from gold -as gold gold;
design -copy-from gate -as gate gate;
equiv_make gold gate equiv"

Expected behavior
Equiv circuit generated.
Actual behavior
Assertion ./kernel/rtlil.h:1307 fails.
log bellow:

 /----------------------------------------------------------------------------\
 |                                                                            |
 |  yosys -- Yosys Open SYnthesis Suite                                       |
 |                                                                            |
 |  Copyright (C) 2012 - 2018  Clifford Wolf<EMAIL_ADDRESS>         |
 |                                                                            |
 |  Permission to use, copy, modify, and/or distribute this software for any  |
 |  purpose with or without fee is hereby granted, provided that the above    |
 |  copyright notice and this permission notice appear in all copies.         |
 |                                                                            |
 |  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES  |
 |  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF          |
 |  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   |
 |  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    |
 |  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     |
 |  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   |
 |  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            |
 |                                                                            |
 \----------------------------------------------------------------------------/

 Yosys 0.8+17 (git sha1 11c8a9eb, clang 7.0.0 -fPIC -Os)

-- Running command `read_verilog graphtest.v; rename -top gold; design -stash gold; read_verilog ./graphtest.v; rename -top gate; design -stash gate; design -copy-from gold -as gold gold; design -copy-from gate -as gate gate; equiv_make gold gate equiv' --

1. Executing Verilog-2005 frontend.
Parsing Verilog input from `graphtest.v' to AST representation.
Generating RTLIL representation for module `\graphtest'.
Successfully finished Verilog frontend.
Renaming module graphtest to gold.

2. Executing Verilog-2005 frontend.
Parsing Verilog input from `./graphtest.v' to AST representation.
Generating RTLIL representation for module `\graphtest'.
Successfully finished Verilog frontend.
Renaming module graphtest to gate.

3. Executing EQUIV_MAKE pass (creating equiv checking module).
Presumably equivalent wires: Z_gold (\A_gold [2:1]), Z_gate (\A_gate [2:1]) -> Z
Presumably equivalent wires: Y_gold ($and$graphtest.v:7$1_Y_gold), Y_gate ($and$./graphtest.v:7$2_Y_gate) -> Y
Presumably equivalent wires: A_gold (\A_gold), A_gate (\A_gate) -> A
ERROR: Assert `sig.size() == 1 && sig.chunks().size() == 1' failed in ./kernel/rtlil.h:1307.

This started after updating to version 0.8.
Version Yosys 0.7+605 (git sha1 d412b172, clang 6.0.0 -fPIC -Os) does not trigger the assertion (in case that information is useful).

I was digging around a bit and I think I fixed it in https://github.com/YosysHQ/yosys/pull/676

I believe this issue can now be closed.

Absolutely, thanks for the remainder I haven't been too active the past few weeks.


use a python3 approach please

My application is failing because of this

Hey @tousif101, thanks for that.
This would need to work on both python2 and python3. What do you think of the following solutions?

https://stackoverflow.com/a/7321970/1515819
https://stackoverflow.com/a/31687067/1515819

please also make sure the checks are passing

I think the idea makes sense but due to inactivity I'm closing it, feel free to reopen


preparing for v1.8

:tada: :rocket:

Humm, I hadn't noticed that the coverage has fallen, I need to fix that before release.

Just run our tests targeting the master branch, and no regressions.
We don't use all the features, but it's a good sign that even our use of some private APIs works correctly (mainly on validate_arguments).
Thanks!

Just run our tests targeting the master branch, and no regressions.
We don't use all the features, but it's a good sign that even our use of some private APIs works correctly (mainly on validate_arguments).

Thanks for checking! So useful when a few people run it against their tests before rather than after release.


IJCK R2C24

The Python code snippets are not always initiated in the text.

Perhaps it would be worth doing a pretty thorough explanation of what's going on with Cantera in these examples, since many people are not likely to be familiar with that. I know that's expanding the scope (and length) of this paper, but it seem worthwhile. Thoughts?

Yes, probably a good idea.


Enviornment/UI/UX

Environment where the user should be standing
Assets for the blocks (logic to come? Communicate with Zee)
UI/UX on how the user interfaces with VR
Please remain communicative regarding this portion, this part I understand the least.

IMPORTANT: the ui can be really temperamental, and adding a package or asset or any system changes can easily corrupt the entire project; before making any significant changes, you need to save the scene as a new scene. Not just save --> please make a backup and save to the scenes folder. At the moment, I am operating in scene/b3, but we should decide if, as a group, we want to continually build upon the highest backup number or stick to a version and use the backups in case of corruption.
There were some setbacks for the game environment, but a simple setting may be ideal for a study environment regardless.
Tested two interaction types for blocks

Ray casting (probably ideal)
Grab (block calls directly to user's hand on controller grab, nice for getting the blocks that you want but less ideal for organizing the blocks. There are two blue cubes: one has grab, and one has ray (I'll remove grab most likely, but I wanted to test it)

Block asset colours are provided and named (colours mostly from Zee's mock-up)
UI changes
With the small environment, I think having the whole area as a workspace is nice; I scraped the idea of a table for now as it is confined but kept a workspace (square) on the floor to imply where the user should work as well as a circle overhead lighting to keep user central. Despite this, the user can move anywhere but spawns in the center.
Organization

use folders for adding scripts and materials
sort any added UI or game objects into existing folders or new folders

Toolbox/ Whiteboard / Welcome screen

it would be nice if we could use this style or similar for panels (obviously, we can make it more narrow, but the style is fitting)
Tested some drop boxes in the toolbox
Originally, a text area in the welcome panel allowed participants to enter PID, but conflict issues were mixing a keyboard with VR. We can try another asset or workarounds if this is something we want to go with otherwise we can set up the study in the Inspector through a serialized field for PID (which I think is also okay)


Handle error when accessToken is expired

When trying to invoke function or open connection with an expired access token, which error do I receive and how can I recognize it with the SignalRError?

https://github.com/moozzyk/SignalR-Client-Swift/blob/2ce2518fa372e6712ec79594562067ebf686036a/Sources/SignalRClient/HubConnectionDelegate.swift#L26-L31
https://github.com/moozzyk/SignalR-Client-Swift/blob/2ce2518fa372e6712ec79594562067ebf686036a/Sources/SignalRClient/HubConnection.swift#L137-L140