Reference to the map variable from a form external to the map

Good morning, I'm new to Dotspatial, I hope you can guide me:
How can I inherit or access the map variable from an external form of the map but from the same project, so that I can load the new values of the layer made in the database, but not updated in the map that is in memory?

Doesnt make any sense. Can you explain a bit more what you are trying to do?


chore: release v0.14.3

🤖 New release

near-cli-rs: 0.14.2 -> 0.14.3

Changelog

0.14.3 - 2024-08-21
Fixed

Fixed the fallback legacy keychain path (#398)

This PR was generated with release-plz.

@race-of-sloths invite

@frol Thank you for your contribution! Your pull request is now a part of the Race of Sloths!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command. Alternatively, autoscoring [1,2] will be applied for this pull request
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Invite contributor @race-of-sloths invite to invite the contributor to participate in a race or include it, if it's already a runner.
Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called


Diffing public API against a published crate with [package] name != [lib] name miscalculates the rustdoc JSON path and fails

This is similar to an earlier issue I reported (and that was fixed): #476
This time I don't have an easy repro, because it seems to require the crate to be actually published on crates.io. You could nonetheless repro it with the project I'm working on: https://github.com/V0ldek/rsonpath
Bug
Diffing against a previous version of the crate doesn't work if used to check a library on a package with a different name.
The root cause appears to be similar to #476, only that this time the rustdoc file gets cached into $HOME/.cache/cargo-public-api/build-root-for-published-crates.
Repro

Clone rsonpath and go to the library crate:

> git clone https://github.com/V0ldek/rsonpath.git && cd ./rsonpath/crates/rsonpath-lib

Note: if my hypothesis is correct this should work with any package that produces a library with a different name and was previously published to crates.io.

Try to diff against a published version, for example 0.8.6:

> cargo public-api diff 0.8.6
   Compiling proc-macro2 v1.0.79
   Compiling unicode-ident v1.0.12
   Compiling libc v0.2.153
   Compiling getrandom v0.1.16
    Checking cfg-if v1.0.0
   Compiling syn v1.0.109
    Checking ppv-lite86 v0.2.17
   Compiling thiserror v1.0.58
    Checking minimal-lexical v0.2.1
    Checking memchr v2.7.2
    Checking unicode-width v0.1.11
    Checking log v0.4.21
    Checking smallvec v1.13.2
    Checking static_assertions v1.1.0
    Checking nom v7.1.3
   Compiling quote v1.0.35
   Compiling syn v2.0.55
    Checking memmap2 v0.9.4
    Checking rand_core v0.5.1
    Checking rand_chacha v0.2.2
    Checking rand v0.7.3
   Compiling thiserror-impl v1.0.58
    Checking rsonpath-syntax v0.2.0
   Compiling contracts v0.4.0
    Checking vector-map v1.0.1
 Documenting rsonpath-lib v0.8.6
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.22s
Error: Failed to parse rustdoc JSON at "/home/mat/.cache/cargo-public-api/build-root-for-published-crates/rsonpath-lib/-/0.8.6/target/doc/rsonpath_lib.json".

This version of `cargo public-api` requires at least:

    nightly-2023-08-25

Ensure your nightly toolchain is up to date with:

    rustup install nightly --profile minimal

If that does not help, it might be `cargo public-api` that is out of date. Try
to install the latest version with

    cargo install cargo-public-api --locked

If the issue remains, please report at

    https://github.com/Enselic/cargo-public-api/issues

Caused by:
    No such file or directory (os error 2)

Note: after the last step, the .cache/cargo-public-api/build-root-for-published-crates/rsonpath-lib/-/0.8.6/target/doc directory does contain a file named rsonpath.json, because the rsonpath-lib package produces a library called rsonpath.
Expected behaviour
cargo-public-api should recognise the library target name and look for the correct rustdoc file in the cache.
Additional details
Rust version: stable, 1.76.0
Rust nightly version: rustc 1.79.0-nightly (c9f8f3438 2024-03-27)
cargo-public-api version: 0.34.0

Probably of note: this is a relatively minor issue, because it only involves diffing against crates.io. A workaround is to simply use the diff against commits locally, which is easy if you tag your releases consistently.
In this case it's simply:
cargo public-api diff v0.8.6..HEAD

Thanks for reporting. I was able to reproduce using your provided steps.
The problem seems to be that we use a fake Cargo.toml to trick cargo into downloading dependencies (including dependencies of dependencies) for us. And then we rely on that rustdoc by default builds rustdoc JSON also for dependencies. But we don't actually parse the Cargo.toml of dependencies.
For example, with the reproducer, cargo-public-api uses this manifest to figure out the JSON path: /home/martin/.cache/cargo-public-api/build-root-for-published-crates/rsonpath-lib/-/0.8.6/Cargo.toml
This manifest looks like this:
[package]
name = "crate-downloader"
version = "0.1.0"
edition = "2021"

[lib]
path = "lib.rs"

[dependencies.rsonpath-lib]
version = "=0.8.6"

and is constructed here:
https://github.com/Enselic/cargo-public-api/blob/0b77df9bfd3e93c6d4fbba275d38ba05645f36e6/cargo-public-api/src/published_crate.rs#L106-L113
And from this info it concludes that it should find the rustdoc JSON at /home/martin/.cache/cargo-public-api/build-root-for-published-crates/rsonpath-lib/-/0.8.6/target/doc/rsonpath_lib.json since the [lib] section does not contain a name field.
One way that we could solve this could be to actually open ~/.cargo/registry/cache/index.crates.io-6f17d22bba15001f/rsonpath-lib-0.8.6.crate and parse its Cargo.toml to we can figure out the right library name and thus rustdoc JSON path.
Not sure if I can bring myself to do this, but I would be happy to mentor anyone who wants to try :) Might be a bit tricky to find the path to the dependency on all platforms in all environments...

I have published our test-crate https://crates.io/crates/other-lib-name so this is now very easy to reproduce. To reproduce with the code in the git repo, you simply run this command:
$ cargo run -p cargo-public-api -- --manifest-path test-apis/other-lib-name/Cargo.toml diff 0.1.0
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s
     Running `target/debug/cargo-public-api --manifest-path test-apis/other-lib-name/Cargo.toml diff 0.1.0`
 Documenting other-lib-name v0.1.0
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.22s
Error: Failed to parse rustdoc JSON at "/home/martin/.cache/cargo-public-api/build-root-for-published-crates/other-lib-name/-/0.1.0/target/doc/other_lib_name.json".

This version of `cargo public-api` requires at least:

    nightly-2023-08-25

Ensure your nightly toolchain is up to date with:

    rustup install nightly --profile minimal

If that does not help, it might be `cargo public-api` that is out of date. Try
to install the latest version with

    cargo install cargo-public-api --locked

If the issue remains, please report at

    https://github.com/Enselic/cargo-public-api/issues

Caused by:
    No such file or directory (os error 2)

This wasn't so tricky to fix after all. This should be fixed by https://github.com/Enselic/cargo-public-api/pull/562. At least it fixes the regression test I added.


Immediately show mod actions in own channel

Is your feature request related to a problem? Please describe.
When loading YaTA for your own channel, YaTA only shows mod actions for messages once you've sent a message or the USERSTATE has come in (not sure which it is, it is just delayed for sure).
Describe the solution you'd like
YaTA should already know that I can execute mod actions because it's my own channel that I have loaded (as in, the channel of the currently authenticated user).

Good catch, I remember thinking about this but I don't know if I totally forgot or something else ¯_(ツ)_/¯
Anw, this is now fixed.


Move cpu load out of vehicle_status (cherry-picked)

These are the cherry-picked commits from #3882.
The load computation is moved out of vehicle status and the commander.
Still to do:

[ ]  Move it to the work queue instead of its own task

This is now working using the work queue on Pixhawk.
@LorenzMeier can you please review the changes, especially the ones in sdlog2, thanks.
Is the load used anywhere else then on NuttX, and how would I use/test it there?

The commander uses it and sets LEDs if it sees overload. And it gets sent via MAVLink.

But is it used on POSIX for instance?

@LorenzMeier I just checked and the CPU load still arrives correctly in commander and it gets sent over mavlink correctly as well.

The sdlog2 fixes alone are now done in #4402.

I've rebased this branch on master since #4402 has gone in and resolved all the merge conflicts.
Tested on Pixhawk. CPU load shows correctly in mavlink, sdlog2 and top.

Please review @LorenzMeier.

When will this go in?

Fixed merge conflicts once again.

Rebased and applied.


[Docs][Rust] Add link to information on stable Rust release

Releases are frequent, so documenting the current release number is not helpful.

@jroesch Review would be appreciated.

Thanks for your contribution! Unfortunately that's not sufficient. If want to change to stable, we need to provide the exact Minimum Supported Rust Version (MSRV). You can use cargo-msrv for example, to compile and find the version and include it in the PR.

Thanks for your feedback. CI tests just stable https://github.com/apache/tvm/blob/main/docker/install/ubuntu_install_rust.sh . If MSVR is also required, maybe a CI test should also be added for this? It would probably also be helpful to automate regeneration of the README from a template whenever MSVR changes.

MSRV rarely changes and there's no need for a template.

Ok. Got an MSRV of 1.60

@ehsanmok Let me know if anything else is needed. If not, can rebase and squash commits.


Add i18n to easily customize errors messages

@marceloboth Thanks! This is a nice addition.

We should have the default exception message generated or included to keep compatibility when upgrading.

The provided translations don't seem to load in an app.
(sorry for the previous, mistaken message about them not being attached)

I suspect we need the file to be copied as a part of a generator task or similar. Perhaps similar to how devise does it.

@iamvery A generator would be good, though I'd like to fix it with the default file loading too.


Update require for mobile framework

As you update the web framework , it will be good if mobile and api should be updated as well you can integrate cloud platform like browserstack config too

@abubakarafzal i have updated api already. web app local is also updated but having some challenges in docker run due to recent change in chrome for testing.
I will work mobile and web app docker run and probably cloud platform integration. thank you for the suggestion. Feel free to add and raise PR.


Fix tests failing with Pydantic 2.7.0

Fixes #3
We tried to validate the enum values (preferred_food and preferred_group) before creating an instance of the Preference model in the database. This was causing validation errors because the test was passing invalid enum values directly to the PreferenceSchema.

Thank you. Ran some checks on my computer as well, and seems to be all good.


Feature Request : atom-text-editor Make it simple DOM innerHTML friendly

The markdown preview editor needs to do some fancy stuff to embed a read only text editor : https://github.com/atom/markdown-preview/blob/2bcbadac3980f1aeb455f7078bd1fdfb4e6fe6b1/lib/renderer.coffee#L101-L125
Ideally one should be able to do:
div.innerHTML = "<atom-text-editor gutter-hidden data-grammar="source ts">var someCode = 123;</atom-text-editor>

And it should just render a read only text editor.
Motivation
I would like to use the atom-text-editor in a bunch of places and as a sample I've managed to add it to the find references view : https://github.com/TypeStrong/atom-typescript/issues/407#issuecomment-115488965 but it took way too much code https://github.com/TypeStrong/atom-typescript/commit/f0616fab016fa330294e39f897a0c8ed9c1acbc9
PS: please let me know if I missed something :rose:

Its is actually quite easy to wrap up atom-text-editor into a custom tag. I've done that with ts-view (referenced this issue in the commit) for atom-typescript so I no longer need this.
Thanks for an awesome hackable editor :rose:


Default case in switch

What would you like to be added:
Currently the DSL states for the switch case that: when

A runtime expression used to determine whether or not the case matches.
If not set, the case will be matched by default if no other case match.
Note that there can be only one default case, all others MUST set a condition.

This wording implies that the default case does not follow ordering because it is only matched by default if no other case match
therefore these two would be equivalent:
document:
  dsl: 1.0.0-alpha1
  namespace: test
  name: sample-workflow
  version: 0.1.0
do:
  - processOrder:
      switch:
        - case1:
            when: .orderType == "electronic"
            then: processElectronicOrder
        - case2:
            when: .orderType == "physical"
            then: processPhysicalOrder
        - default:
            then: handleUnknownOrderType

and
document:
  dsl: 1.0.0-alpha1
  namespace: test
  name: sample-workflow
  version: 0.1.0
do:
  - processOrder:
      switch:
        - case1:
            when: .orderType == "electronic"
            then: processElectronicOrder
        - default:
            then: handleUnknownOrderType
        - case2:
            when: .orderType == "physical"
            then: processPhysicalOrder

I think this is a bit ambiguous and would change the wording to something like:

If when is not specified it always matches.

This would then mean that the only logical place to put a default case would be at the end. Interested in what you folks think.

Note that there can be only one default case, all others MUST set a condition.

This is currently not validated by the schema. ~I think it could be~ It is doable with contains. This schema ensures only one case has no when
type: object
required: [ switch ]
unevaluatedProperties: false
properties:
  switch:
    type: array
    minItems: 1
    contains:
      type: object
      minProperties: 1
      maxProperties: 1
      additionalProperties:
        type: object
        properties:
          when: false
    minContains: 0
    maxContains: 1
    items:
      type: object
      minProperties: 1
      maxProperties: 1
      title: SwitchItem
      additionalProperties:
        type: object
        title: SwitchCase
        required: [ then ]
        properties:
          when:
            type: string
            description: A runtime expression used to determine whether or not the case matches.
          then:
            $ref: '#/$defs/flowDirective'
            description: The flow directive to execute when the case matches.

The DSL does not specify what happens when no case matches. Does it fall through to the next task? (I don't think this should be the intended behavior) Or which error is raised?
And my last question: would it make sense to enforce that the default case is named default?
Why is this needed:

Does it fall through to the next task?

That is my understanding, yes

And my last question: would it make sense to enforce that the default case is named default?

It was like that in previous version, but it was more restrictive than anything imho. Think of a switch with two cases: one that defines a condition, and is called "yes", for example, and a second that is the default. Forcing the latter to be called default is counter intuitive, asked would rather call it "no". Don't you agree?

That is my understanding, yes: it should fall back to the then defined by the switch task, which actually defaults to next.

IMHO no error should be implicitly thrown if no case matches, as this can be explicitly done by author if - and only if - need be, just like in all languages I know of.

Yeah the implicit flow control of the spec is quite different from a lot of other workflow engines centered around state machines, where no outgoing connection usually means an error. Your answer makes sense here 👍
Do we fear that this might be a cause for common bugs? As any programmer knows: switch fallthrough is neat but somehow always comes back to bite you 😅 (many linters flag switch fallthrough or missing default cases)

IMHO, no: it was like that in previous versions, but it was more restrictive than anything afaik. Think of a switch with two cases: one that defines a condition, and is called "yes", for example, and a second that is the default's. Forcing the latter to be called "default" is counter intuitive, as you would rather call it "no". Don't you agree? This is the option that provides imo the biggest flexibility and freedom to authors.

That makes sense, my thinking behind it was that maybe it would help to standardise workflow definitions a bit and thus help authors & readers to quickly identify the default case. But I have no strong opinions here and think your point is very convincing

I have a slightly different take on the matter.
In my opinion, we should enforce when to be required and leave the default case as being the default behavior of any task, its then flow directive.

... implies that the default case does not follow ordering ...

It doesn't indeed because it's actually not really a case. It's been introduced to mimic what we have while programming (and it doesn't really make sense. I'll come to it later*)

I think this is a bit ambiguous and would change the wording to something like:

If when is not specified it always matches.

This would then mean that the only logical place to put a default case would be at the end. Interested in what you folks think.

I understand the logic, and it's quite valid, but IMO, it introduces confusions. The term always implies that even if another case is matched, then the default will be too (it won't, I know, I'll come to it later*).

The DSL does not specify what happens when no case matches. Does it fall through to the next task? (I don't think this should be the intended behavior) Or which error is raised?

That is my understanding, yes: it should fall back to the then defined by the switch task, which actually defaults to next.
IMHO no error should be implicitly thrown if no case matches, as this can be explicitly done by author if - and only if - need be, just like in all languages I know of.

I agree. The switch task is just another task, it still complies with the basic definition of a task.

Do we fear that this might be a cause for common bugs? As any programmer knows: switch fallthrough is neat but somehow always comes back to bite you 😅 (many linters flag switch fallthrough or missing default cases)

I think our switch is slightly different than a regular switch in programming. I'm not sure it's clear enough in the specification but only one match is possible. Therefore, technically, it's impossible to "fall-through".

Given the task:
switchTask:
  switch:
    - myFirstCase:
        when: . == "foo"
        then: something
    - mySecondCase:
        when: . == "bar"
        then: somethingElse
#    - myDefaultCase:
#        then: defaultBehavior

The pseudo-code representation of switch task would be:
function switchTask(input) {
  switch (input) {
    case "foo": // myFirstCase
      return goTo('something');
    case "bar": // mySecondCase
      return goTo('somethingElse');
//    default: // myDefaultCase
//      return goTo('defaultBehavior');
  }
  return gotoNext(); // <-- It's the de facto default, as per specification. If "myDefaultCase" was enabled, it would never be reached but still be "defined".
}

Each case returns, there is not possible fall-through.
I assume by fall-through you mean the use-case where none of the case matched (e.g. input = 42). Then, I think it's another argument for removing the optional when. The default is the default, not a "possible" case. By introducing the "default case with the empty when", we hide away the default behavior of the task.

IMHO, no: it was like that in previous versions, but it was more restrictive than anything afaik. Think of a switch with two cases: one that defines a condition, and is called "yes", for example, and a second that is the default's. Forcing the latter to be called "default" is counter intuitive, as you would rather call it "no". Don't you agree? This is the option that provides imo the biggest flexibility and freedom to authors.

That's the only argument to keep a default case, and I don't think it's a very strong one. It is like tasks we opinionatedly decided should be named. The "feature" resides in when, not in the name of the case. If we push it a bit too far, it would be possible to define switch cases such as:
switchTask:
  switch:
    - . == "foo":
        label: myFirstCase
        then: something
    - . == "bar":
        then: somethingElse

It's very ugly, I think we'll all agree. My point is it still works, because the mandatory pieces of information are the condition and the transition. The name is just some metadata to improve the aesthetic and readability of the workflow.
Keeping the default case "just" so we can name it feels like a weak argument. I would suggest to rather introduce a new property at the switch task level, like labeled, default or defaultName, e.g.:
askConsent:
  switch:
    - yes:
        when: . == true
        then: continue
    labeled: no
    then: cancel

or the other way around:
askConsent:
  switch:
    - no:
        when: . == true
        then: cancel
    labeled: yes

So sum up:
Pros

Keeps switch task consistent with the other tasks
Doesn't add complexity to the JSON Schema
Prevents confusions between cases, default, and task transition

Cons

Loses the possibility of naming the default case (can be mitigated)

The "feature" resides in when, not in the name of the case

I disagree. Naming cases is critical for (non author) user feedback and for cosmetic purpose: you do not want to force a user to understand the expression of the when to understand what the case does.

Each case returns, there is not possible fall-through.

In you sample, not commenting the default case would result in the exact same behavior than the one you want to avoid, which is perfectly valid in all languages I know of. At worst, the linter would raise a warning for the last return saying that it won't ever be reached.

It's very ugly, I think we'll all agree.

It's not just ugly, it's invalid: you cannot use such characters in a propert name.

Keeps switch task consistent with the other tasks

It is consistent imo. I dont see why having the possibility to add a possible override for aestetic reason would make it otherwise.

Doesn't add complexity to the JSON Schema

The current solution does not add any complexity to the  schema imho. It's just one single property, which could btw be removed and be instead considered a DSL validation responsibility.

Prevents confusions between cases, default, and task transition

I personally dont see the potential confusion here. Either you want the ability to name the default behavior and you use the whenless case, either you dont and use the task's then.

Loses the possibility of naming the default case (can be mitigated)

I disagree. It cannot be mitigated in any non-trick looking fashion, as you demonstrated, whereas the current behavior is clean and intuitive imho.

Bottom line is that, as said in previous comment, doing what you suggest would be a regression, and would be confusing/less readable to users with a non technical background.
On a side note, I have a strong - yet personal, of course - aversion for the mitigation solutions you proposed, which I think add complexity and make the overall switch heavier and uglier. I dont see how a prop such as "labeled" or whatever would be intuitively associated to the task's then

@ricardozanini @fjtirado @matthias-pichler-warrify  What do you guys think? I think we need your input to determine whether or not we should proceed with potential changes.
A good tiebreaker, if need be, would be to present alternatives to non-technical people and gather their feedback.

I like @JBBianchi proposal.
If there is not match in the switch clauses, go with "regular"  then. If there is not "then", then (no pump intended ;)) go to the next task (as per sequence)

Let me describe the case I have in mind
switch:
  - increaseSalary:
     when: employee.isMyFriend
     then: doubleSalary
  - fireEmployee:
     when: employee.writtings contains "retarded boss"
     then: fireHim
 then: sendChristmasGreetingToAllEmployees

There is not default there, I only want to increase salary to my friends and fire the ones that has insulted me. And congratulate christmas to everyone

@fjtirado I'm not sure I understand your sample: a matching case will transition, therefore won't ever fire the then, which will only be matched if nor increaseSalary or fireEmployee match. There is no way to actually transition to a case's then, then after the whole chain is resolved, execute the tasks's then.

hmmm. It would be nice if there is way to tell fireHim and doubleSalary to "return" to the "branching" task so sendChristmasGreentToAllEmployees is executed always.

@cdavernas yes, I just realized.
So, in this example
document:
  dsl: '1.0.0-alpha1'
  namespace: test
  name: raise-example
  version: '0.1.0'
do:
  - processTicket:
      switch:
        - highPriority:
            when: .ticket.priority == "high"
            then: escalateToManager
        - mediumPriority:
            when: .ticket.priority == "medium"
            then: assignToSpecialist
        - lowPriority:
            when: .ticket.priority == "low"
            then: resolveTicket
        - default:
            then: raiseUndefinedPriorityError
  - raiseUndefinedPriorityError:
      raise:
        error:
          type: https://fake.com/errors/tickets/undefined-priority
          status: 400
          instance: /raiseUndefinedPriorityError
          title: Undefined Priority
  - escalateToManager:
      call: http
      with:
        method: post
        endpoint: https://fake-ticketing-system.com/tickets/escalate
        body:
          ticketId: ${ .ticket.id }
  - assignToSpecialist:
      call: http
      with:
        method: post
        endpoint: https://fake-ticketing-system.com/tickets/assign
        body:
          ticketId: ${ .ticket.id }
  - resolveTicket:
      call: http
      with:
        method: post
        endpoint: https://fake-ticketing-system.com/tickets/resolve
        body:
          ticketId: ${ .ticket.id }

What happens after issue is escalated?

@fjtirado you can do that by configuring the tasks referenced by your cases to then transition to greet.
Doing it in the switch is imho dangerous and confusing: whereas it is a simple branching, your proposal would transform it on a kind of subflow.

What happens after issue is escalated?

Because you did not set the then of the escalateToManager task, it defaults to continue, which means ot will execute assignToSpecialist, which will in turn execute resolveTicket fir the same reason.

@cdavernas Ok, that was I thought, is  that intended? It wont be safer to define the task that raise the error the latter?

@fjtirado this is up to you, and has imho nothing to fo with the switch task, but is rather related to how you want to control your flow. Setting then to end is enough to solve your sample.

@cdavernas
I guess we have two schools of thoughts
The fully commited branchers, meaning that when there is a switch, you have to branch, so default is indeed required, but then the top level "then" is kind of useless because is never going to be executed.
The ones that see the switch as an if-else if kind of thing (the example I put)
In the second case, then might be, besides a goto, another task.
For example
do:

actOnEmployees
switch:
- increaseSalary:
when: employee.isMyFriend
then:
do: // increaseSalaryTask
- fireEmployee:
when: employee.writtings contains "retarded boss"
then:
do: // fireEmployeeTask
greetAllEmployes

After digging in the DSL, the previous example can be written this way (with not switch)
do:
- increaseSalary:
if: employee.isMyFriend
// increaseSalaryTask
- fireEmployee:
if: employee.writtings contains "retarded boss"
// fireEmployeeTask

greetAllEmployes

However note that, being picky, fireemployee should not be checked if salary has been increased. Maybe we need to work on that

Wouldn't setting the increaseSalary task's then to greetAllEmployees be enough to do so?

Sure, it will do, but if later on we decide that we want greetEmployeesOnSummer, besides adding the new task before greetAllEmployees, we will have to remember to change the then on increaseSalary.

Anyway, I am deviating (as always)  from the original issue, with the new information, I would say the discussion is between having a default or relying on the final then.
As far as are both optional, meaning that maybe we are not branching if the conditions are not met, I would say that relyng on then is probably more consistent with the current schema and we save the order problem @matthias-pichler-warrify opened this issue for.


slow SimplenoteList?

love the plugin, starting to use it daily.  Is there a way to cache the notes? Every time  I start vim I go to run SimplenoteList and it takes 15 seconds before I can see the list. I have 170 lists, On mac, I can edit as soon as I open the app.

Hi,
this is why I tend to date limit my list a lot. I.e. I'm always using
something like ``:SimplenoteList 2017-02-01`
Issue #18 has been there forever and my thoughts are much the same:
I.e conflicted. It would be nice, but I think it'd end up not being
Simplenote.vim.

This is now (in my mind) a much more legit issue because with the switch to Simperium we lose the use of since. So having to fetch all notes is slow and is going to bug me. So need to figure out a better way to do this.


Fixed phpize and sudo

In some cases phpize is called phpize5, besides in some cases it should be used as /usr/bin/phpize instead of only phpize.

In some systems (for example docker containers) there is no sudo by default.

Removed not needed ocular from Zephir build

👍


[Gonzales-beta] Brace style rule is broken with parser beta

This brace-style rule is currently broken with the changes pushed in the recent update to the parser.
Sass-lint: dev & gonzales-3.0.0-beta

I don't think we should be even looking at moving to this version of the AST until it's out of beta. At the moment it looks like there are too many issues to consider it.


Update for some issue

1, support Linux & mac  environment
2, update library
3, update for auto reconnect

 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: raulcxw:x: FireWinterYou have signed the CLA already but the status is still pending? Let us recheck it.


Mod into objc generics

Hi - it's been a couple of years since I last touched Objective C, can you please give a brief overview of what this change is all about? It is backwards compatible?
Thanks!


⚠ Orpheus has degraded performance

In 38c9ad4, Orpheus ($OPS) experienced degraded performance:

HTTP code: 200
Response time: 10211 ms

Resolved: Orpheus performance has improved in d394662 after 6 minutes.


Fixed Auto Release

Missing triggered workflow default value.

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/kohirens/version-release?version=dev:2b8fb43cd663994c23a05f2618f5c7ed38b890ea
https://circleci.com/developer/orbs/orb/kohirens/version-release?version=dev:alpha


Fix parsing of typedefs in interfaces and mixins for WebGL

The parser now fully works on the WebGL 1.0.3 spec.

This now fully works, but was rebased on top of #13 and depends on it.

This now fully works, but was rebased on top of #13 and depends on it.


how to hide samples

I would like to hide samples instead of removing them. How is it possible?

yes, instruccion here https://volkanceylan.gitbooks.io/serenity-guide/content/howto/removing_northwind.html

thanks

If you remove the navigation entry, then they wont display on the menu but will still exist in the background.

thanks


Drone 1.0.0 yaml

Now that the Gitea org uses Drone 1.0.0 we should update the .drone.yml to align with the new format. The current one works, however due to the dropping of groups it takes longer to run.
I'm thinking we also have separate pipelines for each DB that gets tested, so that the services could be terminated sooner (which would decrease resource usage). If we do this we will probably have to have a build step in each pipeline though (a simple TAGS="sqlite" make build would likely be enough). Pipelines supports the depends_on param.
We also have an ARM server that can run docker builds to be able to publish arm builds of our docker image.
cc: @sapk (due to your ARM docker efforts)

Sorry if I might be confusing the TAGS thing.
But wouldn't be enough with something like this https://github.com/containous/traefik-library-image/blob/master/alpine/Dockerfile

The dockerfile doesn't need to change as alpine is multi-arch, this issue is about updating Drone yaml so it connects makes use of our ARM agent.

Understood, I see so perhaps we have to split a bit the .drone.yml into multiple platform then.
https://docs.drone.io/user-guide/pipeline/multi-platform/ Something like this, I'm right? shall we create different issues for platforms ? or BD

The dockerfile is already multi-platform. With the multi-platform drone we just have to tag the image depneding on the host machine. My PR was generating various dockerfile based on the ref to enforce the base image link to an arch and use qemu to be able to run thoses arch on amd64.

It's a bit of bash ugliness, but this is the build script I use on all arches.  The key is to ensure that the arch is included in the docker tag, so everything can be pushed to the registry and a manifest generated for the multi-arch entry.


validate() optimisation

Currently, calls to validate() are added to the end of the Promise chain to ensure they fire in order and wait for any previous validation tasks to complete.
However, if validate() is already in progress, all subsequent validation requests should resolve to the results of the current processing request (so long as the current one is validate() and not validate(propertyOrRule)).
As such, the subsequent calls should be added to a list of resolves to be called with the result of the current validate() Promise chain.
You can see this issue by calling validate five times with a 1000ms rule, and the call takes 5000ms to return, while it should return in 1000ms as calls 2-5 all fall into the same transaction of model checking.
It's also worth noting that we must advise users to lock the model after calling validate(), as any changes during this time may or may not be detected by the rules, as we don't snapshot the model and rules may be async.
validate(propertyOrRule) calls against the same 'transaction' at the controller scope can also be queued against a running validate()'s result, although these are unlikely to occur in practise.

If subsequent calls to validate() while validation is ongoing are to receive the same result as the initial call to validate, the developer would need to lock the model(s) (disable the inputs), otherwise race conditions would occur.
But if the race conditions are prevented, there's no need to add the logic to make subsequent calls to validate enlist in the current validate task.

The model lock issue always applies. As soon as there's an async rule, the possibility of fields being edited before that rule has resolved is high, hence my comment re 'advise users to lock the model'.

there's no need to add the logic to make subsequent calls to validate enlist in the current validate task

Do you mean that if they've locked the model, there's no reason to call validate() again?
Perhaps this is an unnecessary optimisation. We'll see :)

locking the model would lead to strange UI behavior for folks using the blur or change validate triggers

Sorry, by 'lock the model' I mean prevent the user entering data, i.e. lock the UI.

with blur- you'd tab to the next field and the inputs would be locked until validation completed- or worse with change you'd press a key and the inputs would lock.
the input locking recommendation would make sense for manual validation though

The lock only applies on final submission, i.e. validate(), not validate(property), as the per-field validations are intended as informant rather than 'important', and in theory you could end queuing a list of field-edit validation requests if you have a slow async validation on change in a textbox.
This does mean you have to wait for all field level validations to complete before beginning the full validate() (which means all the outstanding Promises are irrelevant), and is one situation where the ability to cancel pending Promises would have been nice.

@jsobell can this be closed?

I think so. I'm still not convinced that we won't have some interesting situations when people are running async features and timers, and calling validation, but I'll close it anyway.


feat: update dependencies

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.17 :tada:

Comparison is base (bab5f10) 91.66% compared to head (4709e02) 91.83%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
+ Coverage   91.66%   91.83%   +0.17%
==========================================
  Files           3        3
  Lines          48       49       +1
  Branches       13       13
==========================================
+ Hits           44       45       +1
  Misses          4        4

Impacted Files
Coverage Δ

src/schema.ts
100.00% <100.00%> (ø)

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


Import-DbaCsv -lineBreak

Please provide a custom Line break option for this fabulous tool as some of our data doesn't come with 'rn' and currently I have to replace it in the text programmatically before invoking the import which is slow.
Excellent work team
Grab A Salad

LOL, salad is the best 🥗 . I'll check to see if the DLL we use supports explicit linebreaks

So I'm reading through the code and this will likely be the part
$reader = New-Object LumenWorks.Framework.IO.Csv.CsvReader(
                (New-Object System.IO.StreamReader($Path, [System.Text.Encoding]::$Encoding)),
                $FirstRowHeader,
                $Delimiter,
                $Quote,
                $Escape,
                $Comment,
                [LumenWorks.Framework.IO.Csv.ValueTrimmingOptions]::$TrimmingOption,
                $BufferSize,
                $NullValue
            )

From the StreamReader docs, it says that:

A line is defined as a sequence of characters followed by a line feed ("\n"), a carriage return ("\r"), or a carriage return immediately followed by a line feed ("\r\n")

What is your type of linebreak? Is it possible that altering the -Encoding would help?

Yeah, I think Encoding will address the issue.
https://docs.microsoft.com/en-us/visualstudio/ide/encodings-and-line-breaks?view=vs-2019
Please test with that and let us know if that doesn't address your issue. If so, I'll reopen this issue.


OAuth2Authenticator.authorizeUrl doesn't handle a url with a querystring already present

Xamarin.Auth Issue
IF BUG, INCLUDE THIS PART:
Version

[ ] nuget version = 1.6

Steps to reproduce

add OAuth2Authenticator.authorizeUrl  field that ALREADY has a querystring "http://myidp.com/login?someparameter=somevalue"
observer the url launched has 2 querystrings in the url:  http://myidp.com/login?someparameter=somevalue?clientid=....

Platform:

[] .NET version =
[] mono version =

Expected behaviour
It a url should only have one ? .
Tell us what should happen
Actual behaviour
Tell us what happens instead
Can you also include a screen shot?
IF IT IS A NEW FEATURE REQUEST, INCLUDE THIS PART:
Feature description
Write a description of the feature. How should it work? How should it look?
Include some graphics if this could help!

@frigon could you please provide a small sample project that demonstrates this issue to make it easier to replicate.

no response for over two weeks, closing


Crash on iOS when typing

Latest version causes mysterious app crashes on iOS when typing inside the field, it doesn't happen always and happens in a release build more often than in a debug build.
The error I get is:
Fatal Exception: NSInvalidArgumentException
*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
Stack trace:
Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x9cb4 __exceptionPreprocess
1  libobjc.A.dylib                0x183d0 objc_exception_throw
2  CoreFoundation                 0x1aff84 -[__NSCFString characterAtIndex:].cold.1
3  CoreFoundation                 0x1ac51c -[__NSArrayM insertObject:atIndex:].cold.2
4  CoreFoundation                 0x140a8 -[__NSArrayM insertObject:atIndex:]
5  Flutter                        0x35420 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
6  Flutter                        0x3dd820 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
7  Flutter                        0x3dda78 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
8  Flutter                        0x2e4afc (Missing UUID 4c4c444555553144a19d3dfde98674e8)
9  Flutter                        0x3dd194 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
10 Flutter                        0x3de9c0 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
11 Flutter                        0x3ddcb8 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
12 Flutter                        0x3f3e24 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
13 Flutter                        0x2e3134 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
14 Flutter                        0x2e6460 (Missing UUID 4c4c444555553144a19d3dfde98674e8)
15 CoreFoundation                 0xcb624 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION
16 CoreFoundation                 0x88f4c __CFRunLoopDoTimer
17 CoreFoundation                 0x2e71c __CFRunLoopDoTimers
18 CoreFoundation                 0x7a4d4 __CFRunLoopRun
19 CoreFoundation                 0x7f3ec CFRunLoopRunSpecific
20 GraphicsServices               0x135c GSEventRunModal
21 UIKitCore                      0x39d6e8 -[UIApplication _run]
22 UIKitCore                      0x39d34c UIApplicationMain
23 Runner                         0x54a8 main + 5 (AppDelegate.swift:5)
24 ???                            0x1e00c6dec (Missing)

Thank you for the report, the issue has been fixed


Extension Command args in tasks.json not sent to the registered command's callback,

I'm trying to trigger an extension's command via a user task defined in tasks.json. However, the arguments defined in the args field are not being forwarded to the command's callback.
The extension in question is VSCode Live Server and this is source code of extension.ts:
https://github.com/ritwickdey/vscode-live-server/blob/master/src/extension.ts
Notice how the callback for goOnline command accepts a fileUri arg. This possibly gets passed properly when I right-click on a file and choose Open with Live Server, but not when triggered as a task.
Does this issue occur when all extensions are disabled?: N/A

VS Code Version: 1.94.0-insider
OS Version: Windows_NT x64 10.0.26120 (Win 11 Insiders)

Steps to Reproduce:

Create a directory named subdir and add a index.html in it.
Create the following task in tasks.json:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Serve with Live Server",
            "command": "${command:extension.liveServer.goOnline}",
            "args": [
                "${workspaceFolder}/subdir/index.html"
            ],
        }
    ]
}

Open Command Palette via Ctrl + Shift + P, use Tasks: Run Task and choose Serve with Live Server.
Live Server launches the server and opens the workspace root in the browser instead of the specified path in the args.

I've also tried with other variations like providing only the subfolder name, provided named args like ["--pathUri", "...."], etc. but none of them worked, which implies that most likely the args are not being forwarded in the first place.

/duplicate #164791


Calendar control doesn't render correctly for the date picker when restoring the wallet

The calendar date picker doesn't have a background which makes the days difficult to read.
Platform: Windows 10

Hey @maciejzaleski, is this using the production executable or npm start?
It's rendering OK here. Have you checked with the latest code?

The problem is only present in my set-up and will not be a problem in the released version.


This may be a basic question, but what is the recommended way to use Keras when I need to do some modifications to it?

For example, suppose I want to use keras, but I want to try a different weight initialization method, which is not included in keras. How am I supposed to use Keras in this case (without modifying the source code of keras itself) ?

You can define your custom function as Theano function and pass it to model.
See my answer in https://github.com/fchollet/keras/issues/369 for objective function case. I think it's same for initialization function.

Is it really same? Here is the code that gets executed on the value of init parameter:
    self.init = initializations.get(init)

It seems that the value must be a string rather than a function, isn't it?

I did it like the following, please let me know if there is a better method!
def custom_initialization(shape):
fan_in, fan_out = keras.initializations.get_fans(shape)
return keras.utils.theano_utils.sharedX(myfunction(shape, fan_in,_fan_out))
keras.initializations.custom_initialization = custom_initialization
...
model.add(Dense(784, 128, init='custom_initialization'))

Did you see the inside of the initializations.get ?  https://github.com/fchollet/keras/blob/master/keras/utils/generic_utils.py#L7
It checks if the given argument is string and, if it's string look for a pre-defined function, and if not, look for global variable table and use the identifier you give.
So this works and I verified it.
import theano
import theano.tensor as T
from keras.utils.theano_utils import sharedX, shared_zeros, shared_ones
def custom_initialization(shape, scale=0.05):
    '''just another normal'''
    return sharedX(np.random.randn(*shape) * scale)

model = Sequential()
model.add(Convolution2D(32, 1, 3, 3, border_mode='full', init=custom_initialization))

Ah, I see. Looks very nice!

If you ignore my advice without trying and ask for people to clean up your code, then please ask it in other place.

Well, I am sorry to make you feel that way, but in reality I did not ignore your advice, I went ahead and looked into the initialization.py to see if it will work. I incorrectly assumed that the "get" method is the standard python dictionary method so it can only accept string. So, it wrongly appeared to me that your method will not work.
And the only reason I did it was that you yourself said "I think it's same for initialization function.", so it seemed that you don't know for sure. If you said it more confidently I would trust it more.

In any case, since your suggestion has resolved the issue that I had, I thank you, and I am gonna go ahead and press the "close issue" button.


Add TPM 2.0 Support to Keylime

Keylime currently uses IBM tpm4720 with TPM 1.2 support, which is not compatible with the new and improved TPM 2.0 standard.
We should examine the effort required to add TPM 2.0 support to Keylime.

IBM also has a tpm 2.0 library that works in much the same manner as the version used in keylime.  this could be the easiest port option.  https://sourceforge.net/projects/ibmtpm20tss/ . Instead of looking at the Intel TPM 2.0 stack

Did you folks manage to get started on this?
If not already under way, its worth considering tpm-tss software stack. It might take a bit more work and not as easily swap'outable, but would be worth it in the long run. tpm-tss is under very active development , has a good varied amount of contributors and has greater coverage of features exposed in the TPM. It also also packaged in all of the major distributions (debian / rhel famlies and OpenSUSE). In fact it is supported by Red Hat on production systems [0]
The other useful factor is it works in-conjunction with a resource and broker manager (tpm2-abrmd_ and a CLI toolset (tpm-tools)
[0] https://access.redhat.com/errata/RHEA-2017:2245


rust: provide a memory efficient deserialization solution

blocked by: https://github.com/serde-rs/json/issues/160
related: #4

blocked by: https://github.com/serde-rs/json/issues/160
related: https://github.com/cboudereau/serde-bench/pull/4

Test the memory mapped file version https://github.com/serde-rs/json/issues/160#issuecomment-841344394
https://twitter.com/MatejKnopp/status/1702783382621499819


com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Conflicting getter definitions for property "organization_guid"

This is observed with jackson 2.12.5 & 2.13.1 (spring boot 2.5.7 & 2.6.2)

No longer an issue on 3.4.1


Lab6 Peer Review

@williamdolsen

3e. Explicitly explain that the distribution is antisymmetric because of the difference in 1 sigma distance from mean

For Problem 1 I would reword your statistical question, it reads in a bit of a funky way

For Problem 2a I think the ylabel for your graph should be Probability Density

For your explanation in Problem 2b I would mention that in addition to the distribution being biased w/r/t the injected signal value that the probability of getting the injected signal value is next to zero

For Problem 3a I would mention Bayes' Theorem and how it is related to the simulation that you are performing

For Problem 3b I would plot on the semi-log plot to be absolutely sure that they match as things can be deceiving on a linear scaled plot.  You could also see if the same gaussian that you used in Problem 2 also fits the semi-log plot well

General : for plots throughout I think that your y-axis should be Probability Density rather than just Probability

For Problem 3c I would once again plot on a semi-log scale before making a conclusion that you have a Gaussian (we know it will be but should always check the semi-log plot)

There is an error in your code when you are calculating the uncertainty:

You are incrementing / decrementing before you add the current probability to the sum.  Doing this increment first rather than as the very last thing is causing you to miss the the probability associated with your mean value of 150 thus giving you the wrong stopping indices / values for the upper and lower bounds.

As you stated in your first comment, you'll want to update part e according to your new changes.  Also my previous comment about the bug in your code should also lead to new updates for part e.

Great explanations throughout - good job Jennifer!

Connect current lab with LHC Higgs Boson search

@AlexSchuy


Added DNS support

I can think of a few ways to have done this. Is this way keeping in line with how it should be done?

Your approach bypasses the mechanism that dhcp-query writes binit_ variables to a temporary file for /init to pick up. This technique allows to have uniform network configuration regardless of whether dhcp or static configuration via cmdline is used.
Thus, it might be better to add binit_net_ns, binit_net_domain variables.

@dywisor thanks! I agree, it would be better to just have binit_net_ns and binit_net_domain variables. I'm happy to do that.

I have started again based on feedback, and if you want to take a look, I pushed it to: dns-3 for now.
I will probably also include ip4ll as well, and close #49

@dywisor @slashbeast
OK, I pushed to
https://github.com/unqueued/better-initramfs/tree/dns
Now, not just is dns accepted from the dhcp server, but the dns servers can be overriden with binit_net_ns, as well as the domain with binit_net_domain flags
I can rebase it also since it looks like it's a bit behind.

@slashbeast  Ok, it has been four years, but I reviewed everything and updated it. When binit_net_addr=dhcp is set, then the dns servers provided by the dhcp server will be used, otherwise multiple binit_net_nss can be set to set your own dns servers. I also included https://github.com/slashbeast/better-initramfs/pull/49 as well, for link-local support, since it is usually included with dhcp clients and is expected behavior.

If this is getting overly complicated, I could just have it so that all of the network settings are overriden when binit_net_addr is set to dhcp

@slashbeast I trimmed it down quite a bit, if you want it. I'm currently using it because I want to have the option of 1) using curl to invoke ntfy.sh to alert me when one of my machines boots, and 2) minimal upnp client, which is really helpful if you are behind NAT. Upnp is simple enough to just need bash and curl.


New bug with abandoning players

When  someone disconnects/leaves during the game - the clock turnes to negative and round never ends... meaning the game is over. Could you please look into this issue.
Thank you in advance

fix it coz its unplayable now =(

Sorry reverted my last commit. I will add a message for abandoned players in the future. I am very busy at the moment. But please continue to report bugs, I will fix them as soon as possible.


Access the UI Test generated screenshots

xcodebuild test places them in the derivedDataPath

:+1:

hi @bootstraponline
we realesed a new version of the step (https://github.com/bitrise-io/steps-xcode-test/releases/tag/1.12.0).
From now you can use export_uitest_artifacts input to allow exporting the ui test artifacts (like screenshots) into BITRISE_DEPLOY_DIR.


Adding a file to a playlist should add it at the end of the playlist

It seem strange to me that adding a song to a playlist adds it to the top, every player I've seen that I can think of adds it to the bottom.
I can submit a PR to change this if you agree.

Black candy used to add song at the end of the playlist. The reason that I changed to add song at the top is easier to implement , because I don't need to determine the playlist have next page or not to add the song to the playlist. And I remember Spotify used to have the same behavior. So I change to add song at the top of the playlist.  But now I checked Spotify also changed, So it's fine to change the behavior.


cypress: 13.2.0 -> 13.11.0

Description of changes
Dump from cypress 13.2.0 to 13.11.0
Changelog: https://docs.cypress.io/guides/references/changelog#13-11-0
Things done
Changed checksum for aarch64-linux and x86_64-linux.

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4115

Thanks for your PR. This has been superseded by https://github.com/NixOS/nixpkgs/pull/332513


questions about Support for Subresource Locators

Hello!
I'm trying to adjust my resources hierarchy (who describes a tree morphology) as related on Subresource locators support for jax-rs 1.1 (as mdekmetzian mentioned is this issue few years ago...) :
http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-310003.4.1
So, i have a Resource:

@Path("resource")
@Produces("application/json")
@Api(value="resource")
public class Resource {

	@GET
	@ApiOperation( ... )
	public Resource get() {
		return this;
	}

	@Path("/{subresource}")
	public SubResource get(@PathParam("subresource") String subresource) {
		return new SubResource(subresource);
	}
}

And a set of subresources describing a tree form (as showns this simple example), with no '@Path' class annotation defined as mentioned in http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-310003.4.1 subresource specification (specifically in the WidgetResource definition):
@Produces("application/json")
//@Api <-- tried but doesn't work
public class SubResource {

	@GET
	@ApiOperation( ... ) //???
	public SubResource get() {
		return this;
	}

	@Path("/items")
	public OtherResource items(...) {
		return new OtherResource(...);
	}
}

I read all posts and see the examples attached but... finally i can say that i didn't understand how to document my resource hierarchy with swagger, (or if it's now supported) and nobody talks at this respect. All I see in the example provided (https://github.com/mdekmetzian/subresource_example) is that both resources '/pet' and '/owner' have their own @Path definition, so both are considered as resorurces who hang from root '/' and that isn't my scenario. So if I annotate all my resource classes whith @Path, i loose the resource exploration support dinamically provided by Jax-rs. What i'm doing wrong?! I just type directly in the browser the URIS and can navigate perfectly all resources hierarchy but cannot provide correctly the documentation to swagger.
Also tried to include the @ApiOperation as mentioned fehguy over the subresource construction method but finally I get in the UI : "SwaggerOperation " + nickname + " is missing method". It has sense because it's not annotated with @GET, wich is annoted in the subresource class...

@Path("resource")
@Produces("application/json")
@Api(value="resource")
public class Resource {

	@GET
	@ApiOperation( ... )
	public Resource get() {
		return this;
	}

	@ApiOperation( ... )
	@Path("/{subresource}")
	public SubResource get(@PathParam("subresource") String subresource) {
		return new SubResource(subresource);
	}
}

@Produces("application/json")
@Api(value="subresource") // tried but doesn't work
public class SubResource {

	@GET
	@ApiOperation( ... ) //???
	public SubResource get() {
		return this;
	}

	@Path("/items")
	public OtherResource items(...) {
		return new OtherResource(...);
	}
}

So, what I'm doing wrong? :(
I'm using Swagger 2.11 : (bundle version 1.3.10)
Thank you for your time!

Hi, try 1.5.3-M1-SNAPSHOT. We recently updated the  subresource support there. Also a sample should help you as well:
https://github.com/swagger-api/swagger-core/tree/develop_2.0/samples/java-jaxrs-subresource
1.5.0-M2 should be released this weekend. I'd love to get your feedback on this beforehand!

Oh! Sure I will do. Let me try it, but i need to configure it properly because i'm using an OSGi-Swagger connector and maybe in the locally building of the p2 repository some version could be deprecated as you suggest.
Thanks!

Hi, looks like we need to send a PR to that repository.

Hi again,
I'm facing some issues related with an OSGi environment + Swagger. So I'm using an existing swagger OSGi connector who uses a maven p2 plugin who delegates in tycho plugin for finally generate the OSGi bundles. There is a problem when the maven artifact version does'nt adjust completly with the bundles version convention (tycho report). In this case... I'm using the 1.5.2-M1 core swagger version, and getting: invalid version "1.5.2-M1": non-numeric "2-M1" I'm still researching all the tycho plugin contents for any way to configure the version mapping during the bundle construction, but: is there any other previous version wich implements support for Subresource Locators?
Thank you very much!

@jmarreroc I did some testing with the latest 1.5.4 snapshot. Here are my results: https://github.com/swagger-api/swagger-core/issues/925
Maybe we can close one of these issues as duplicate? I think we both are having almost the same issue.

Alright! follow discusion on #925


Add LICENSE file

License info should be added to the repo via LICENSE file.

https://github.com/wakatime/wakatime-cli/pull/339


Session cookie lifetime doesn't get refreshed when its lifetime is extended

What is your Scenario?
Given a page sets a session cookie with a 3-second lifetime (with Set-Cookie HTTP header)
And an other page reading the session to display whether session data is available or not
And that this other page extends the session cookie lifetime by 3 more seconds
When a user loads the page that sets the cookie session
And the user navigates the page that reads the session
And the user reloads that page less than 3 seconds after
Then the session should still be active
What is the Current behavior?
In a browser: as far as the page gets refreshed less than 3 seconds later, the session is still active
In TestCafe: the session gets inactive after 3 seconds after the page was first loaded, no matter if the page has been refreshed multiple times (which extends the cookie lifetime)
What is the Expected behavior?
The session should still be active as far as the page is reloaded no more than 3 seconds after.
What is your public website URL? (or attach your complete example)
I made a complete repository with a simple test that allows to reproduce the issue, with 2 pages made with PHP: https://github.com/michaelperrin/testcafe-cookie-issue-test
What is your TestCafe test code?
This is part of the the repository I created to reproduce the issue:
test('Session does not expire after 3 seconds if page has been reloaded', async t => {
    // Go to second page and check that session is active
    await t
        .click('#link-to-get-session-data-page')
        .expect(Selector('#text').innerText).eql('HAS SESSION DATA');

    // Reload page after 2 seconds and check that session is still active
    await t
        .wait(2000) // 2+ seconds from session creation on first page
        .click('#reload-page')
        .expect(Selector('#text').innerText).eql('HAS SESSION DATA');

    // Reload page after 2 seconds and check that session is still active
    // THIS FAILS BUT SHOULD NOT
    await t
        .wait(2000)
        .click('#reload-page')
        .expect(Selector('#text').innerText).eql('HAS SESSION DATA');
});

Your complete configuration file
fds
Your complete test report
✖ Session does not expire after 3 seconds if page has been reloaded

   1) AssertionError: expected 'NO SESSION DATA' to deeply equal 'HAS SESSION DATA'

      + expected - actual

      -NO SESSION DATA
      +HAS SESSION DATA

      Browser: Chrome 101.0.4951.54 / macOS 10.15.7

         29 |    // Reload page after 2 seconds and check that session is still active
         30 |    // THIS FAILS BUT SHOULD NOT
         31 |    await t
         32 |        .wait(2000)
         33 |        .click('#reload-page')
       > 34 |        .expect(Selector('#text').innerText).eql('HAS SESSION DATA');
         35 |});
         36 |

         at <anonymous> (/Users/michaelperrin/Temp/testcafe-test/test.js:34:46)
         at asyncGeneratorStep (/Users/michaelperrin/Temp/testcafe-test/test.js:1:228)
         at _next (/Users/michaelperrin/Temp/testcafe-test/test.js:1:566)

Screenshots
No response
Steps to Reproduce

Start a session with a cookie that has a 3-second lifetime
Load a page that makes use of the session and refreshes the 3-second lifetime
Wait for 2 seconds
Reload page
Wait for 2 seconds
Reload page

Result: session should still be active
TestCafe version
1.18.6
Node.js version
v16.13.2
Command-line arguments
testcafe chrome test.js
Browser name(s) and version(s)
Chrome 101, Firefox 100
Platform(s) and version(s)
MacOS 12.3.1
Other
No response

Hi @michaelperrin
Thank for the shared example. I've reproduced the issue.


CI: Add Kafka specific tests to make sure kafka cluster is up correctly.

These changes add kafka specific tests to ensure that the broker is up correctly before trying to create topics/produce/consume to it.
It also increases the session and connection timeout from 20 sec from 60 sec, due to logs observed
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/350/
which cause the kafka broker to timeout since zookeeper has not responded for 20 sec.
Fixes: #4431
Signed-Off-By: Manali Bhutiyani<EMAIL_ADDRESS>
This change is

test-me-please

Trying to reproduce #4431 by continuously running ginkgo tests. Hopefully @ianvernon app log collection changes will help pinpoint what's the issue if we see the failure again.

test-me-please

2 successful runs..no kafka failures yet. trying again..

test-me-please

3 successful runs and no kafka failure seen yet. Trying again

test-me-please

4 successful runs.. trying again

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-k8s-please

test-missed-k8s

test-me-please

test-missed-k8s

test-me-please

test-me-please

test-missed-k8s

Succesfull ginkgo CI tests as well as missed k8s tests

@manalibhutiyani I've rebased my PR #4265 with your changes but unfortunately I'm still hitting #4431

test-missed-k8s

test-me-please

test-missed-k8s

I am looking one of the other logs from the crash pointed by @aanm
Zookeeper:
2018-06-17T11:51:28.766314888Z Using config: /opt/zookeeper/bin/../conf/zoo.cfg
2018-06-17T11:51:30.892709176Z 2018-06-17 11:51:30,877 [myid:] - INFO  [main:QuorumPeerConfig@134] - Reading configuration from: /opt/zookeeper/bin/../conf/zoo.cfg
2018-06-17T11:51:30.904594994Z 2018-06-17 11:51:30,902 [myid:] - INFO  [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2018-06-17T11:51:30.905344258Z 2018-06-17 11:51:30,904 [myid:] - INFO  [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2018-06-17T11:51:30.90819684Z 2018-06-17 11:51:30,905 [myid:] - INFO  [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2018-06-17T11:51:30.909359764Z 2018-06-17 11:51:30,908 [myid:] - WARN  [main:QuorumPeerMain@113] - Either no config or no quorum defined in config, running  in standalone mode
2018-06-17T11:51:30.966724064Z 2018-06-17 11:51:30,965 [myid:] - INFO  [main:QuorumPeerConfig@134] - Reading configuration from: /opt/zookeeper/bin/../conf/zoo.cfg
2018-06-17T11:51:30.968198043Z 2018-06-17 11:51:30,967 [myid:] - INFO  [main:ZooKeeperServerMain@96] - Starting server
2018-06-17T11:51:31.04874496Z 2018-06-17 11:51:31,047 [myid:] - INFO  [main:Environment@100] - Server environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2018-06-17T11:51:31.053440234Z 2018-06-17 11:51:31,048 [myid:] - INFO  [main:Environment@100] - Server environment:host.name=zookeeper-c78b86cd6-57zzs
2018-06-17T11:51:31.060839347Z 2018-06-17 11:51:31,049 [myid:] - INFO  [main:Environment@100] - Server environment:java.version=1.8.0_151
2018-06-17T11:51:31.069103289Z 2018-06-17 11:51:31,060 [myid:] - INFO  [main:Environment@100] - Server environment:java.vendor=Oracle Corporation
2018-06-17T11:51:31.069153172Z 2018-06-17 11:51:31,064 [myid:] - INFO  [main:Environment@100] - Server environment:java.home=/usr/lib/jvm/java-1.8-openjdk/jre
2018-06-17T11:51:31.080567509Z 2018-06-17 11:51:31,064 [myid:] - INFO  [main:Environment@100] - Server environment:java.class.path=/opt/zookeeper/bin/../build/classes:/opt/zookeeper/bin/../build/lib/*.jar:/opt/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper/bin/../lib/log4j-1.2.16.jar:/opt/zookeeper/bin/../lib/jline-0.9.94.jar:/opt/zookeeper/bin/../zookeeper-3.4.10.jar:/opt/zookeeper/bin/../src/java/lib/*.jar:/opt/zookeeper/bin/../conf:
2018-06-17T11:51:31.080646273Z 2018-06-17 11:51:31,079 [myid:] - INFO  [main:Environment@100] - Server environment:java.library.path=/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2018-06-17T11:51:31.081279676Z 2018-06-17 11:51:31,080 [myid:] - INFO  [main:Environment@100] - Server environment:java.io.tmpdir=/tmp
2018-06-17T11:51:31.106391323Z 2018-06-17 11:51:31,081 [myid:] - INFO  [main:Environment@100] - Server environment:java.compiler=<NA>
2018-06-17T11:51:31.108246123Z 2018-06-17 11:51:31,107 [myid:] - INFO  [main:Environment@100] - Server environment:os.name=Linux
2018-06-17T11:51:31.124650125Z 2018-06-17 11:51:31,120 [myid:] - INFO  [main:Environment@100] - Server environment:os.arch=amd64
2018-06-17T11:51:31.125928614Z 2018-06-17 11:51:31,124 [myid:] - INFO  [main:Environment@100] - Server environment:os.version=4.9.17-040917-generic
2018-06-17T11:51:31.126732925Z 2018-06-17 11:51:31,125 [myid:] - INFO  [main:Environment@100] - Server environment:user.name=zookeeper
2018-06-17T11:51:31.128416494Z 2018-06-17 11:51:31,126 [myid:] - INFO  [main:Environment@100] - Server environment:user.home=/var/lib/zookeeper
2018-06-17T11:51:31.12946144Z 2018-06-17 11:51:31,128 [myid:] - INFO  [main:Environment@100] - Server environment:user.dir=/
2018-06-17T11:51:31.185485525Z 2018-06-17 11:51:31,181 [myid:] - INFO  [main:ZooKeeperServer@829] - tickTime set to 2000
2018-06-17T11:51:31.18553627Z 2018-06-17 11:51:31,183 [myid:] - INFO  [main:ZooKeeperServer@838] - minSessionTimeout set to -1
2018-06-17T11:51:31.18554811Z 2018-06-17 11:51:31,184 [myid:] - INFO  [main:ZooKeeperServer@847] - maxSessionTimeout set to -1
2018-06-17T11:51:31.262864785Z 2018-06-17 11:51:31,261 [myid:] - INFO  [main:NIOServerCnxnFactory@89] - binding to port <IP_ADDRESS>/<IP_ADDRESS>:2181

Take a note of the timestamp: 11:51:31
Now Kafka logs:
org.apache.zookeeper.ZooKeeper)
2018-06-17T11:50:52.116403413Z [2018-06-17 11:50:52,115] INFO [ZooKeeperClient] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
2018-06-17T11:50:52.153512099Z [2018-06-17 11:50:52,152] INFO Opening socket connection to server zook.default.svc.cluster.local/<IP_ADDRESS>:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
2018-06-17T11:51:12.163707641Z [2018-06-17 11:51:12,152] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
2018-06-17T11:51:12.163771249Z kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
2018-06-17T11:51:12.163784027Z 	at kafka.zookeeper.ZooKeeperClient.$anonfun$waitUntilConnected$3(ZooKeeperClient.scala:225)
2018-06-17T11:51:12.163818352Z 	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
2018-06-17T11:51:12.163828283Z 	at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:250)
2018-06-17T11:51:12.163837318Z 	at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:221)
2018-06-17T11:51:12.163846039Z 	at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:95)
2018-06-17T11:51:12.163855534Z 	at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1539)
2018-06-17T11:51:12.163863893Z 	at kafka.server.KafkaServer.createZkClient$1(KafkaServer.scala:345)
2018-06-17T11:51:12.1638725Z 	at kafka.server.KafkaServer.initZkClient(KafkaServer.scala:369)
2018-06-17T11:51:12.163882198Z 	at kafka.server.KafkaServer.startup(KafkaServer.scala:202)
2018-06-17T11:51:12.163890443Z 	at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
2018-06-17T11:51:12.163899506Z 	at kafka.Kafka$.main(Kafka.scala:92)
2018-06-17T11:51:12.163907885Z 	at kafka.Kafka.main(Kafka.scala)
2018-06-17T11:51:12.166357198Z [2018-06-17 11:51:12,166] INFO shutting down (kafka.server.KafkaServer)
2018-06-17T11:51:12.173495078Z [2018-06-17 11:51:12,172] WARN  (kafka.utils.CoreUtils$)
2018-06-17T11:51:12.173556259Z java.lang.NullPointerException
2018-06-17T11:51:12.173574822Z 	at kafka.server.KafkaServer.$anonfun$shutdown$6(KafkaServer.scala:569)
2018-06-17T11:51:12.173591635Z 	at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:85)
2018-06-17T11:51:12.17360716Z 	at kafka.server.KafkaServer.shutdown(KafkaServer.scala:569)
2018-06-17T11:51:12.173623195Z 	at kafka.server.KafkaServer.startup(KafkaServer.scala:326)
2018-06-17T11:51:12.173638572Z 	at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
2018-06-17T11:51:12.17365382Z 	at kafka.Kafka$.main(Kafka.scala:92)
2018-06-17T11:51:12.173668445Z 	at kafka.Kafka.main(Kafka.scala)
2018-06-17T11:51:12.195334768Z [2018-06-17 11:51:12,194] INFO shut down completed (kafka.server.KafkaServer)
2018-06-17T11:51:12.197838491Z [2018-06-17 11:51:12,197] ERROR Exiting Kafka. (kafka.server.KafkaServerStartable)
2018-06-17T11:51:12.218146743Z [2018-06-17 11:51:12,206] INFO shutting down (kafka.server.KafkaServer)
2018-06-17T11:51:12.262857825Z [2018-06-17 11:51:12,262] WARN Client session timed out, have not heard from server in 20165ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn)
2018-06-17T11:51:12.264834266Z [2018-06-17 11:51:12,264] INFO Client session timed out, have not heard from server in 20165ms for sessionid 0x0, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)

Note the log Client session timed out, have not heard from server in 20165ms for sessionid 0x0, closing socket connection and attempting
Our current timeouts are configured at 20000ms. @tgraf : I think we should increase the timeouts to a minute?

test-me-please

test-missed-k8s

test-docs-please

Unrelated error:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/361/
test_results-5.zip
/home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-K8s/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:373
Web pod "guestbook-mw8qr" cannot connect to redis-master on 'redis-master.default.svc.cluster.local:6379'
Expected command: kubectl exec -n default guestbook-mw8qr -- nc redis-master.default.svc.cluster.local 6379 <<EOF
PING
EOF
To succeed, but it failed:
Exitcode: 1
Stdout:

Stderr:
 	 nc: bad address 'redis-master.default.svc.cluster.local'
	 command terminated with exit code 1

on k8s1.11. Not sure if this is dupe of #3878 since that is 1.9 specific .

teset-missed-k8s

test-missed-k8s


Simplify client creation

Important points:

Shorter, friendlier names for creation methods
Don't allow scopes to be specified separately - if you want your own scopes, create your own credentials
ServiceEndPoint as a new immutable class. There is precedence for some immutability in the BCL, e.g. IPEndPoint :)
With only two members, the ServiceDefaults nested class becomes a bit pointless

// cc @jgeewax who suggested this
// cc @csells who likes mutability in general, but who I suspect will be okay with ServiceEndPoint
// cc @mmdriley and @ivannaranjo as general good feedback providers :)

I like the general approach of having the ServiceEndpoint class to be immutable, and the idea of simplifying the method names.
As for the scopes for the credentials I actually agree, unless there are scopes for read access and different for write access which don't seem to exist I do not know why you would have custom scopes here at all.

Note: this will be ServiceEndpoint in the end, despite the BCL in one place having EndPoint. It also has Endpoint: https://msdn.microsoft.com/en-us/library/system.servicemodel.endpoint and this is more consistent with how endpoints are typically written in text (as endpoint rather than end-point or end point).

I've now amended this PR to contain "real code" which should work fine once GAX PR 17 (https://github.com/googleapis/gax-dotnet/pull/17) has been merged.

Right, this now appears to build :) Ready to merge if everyone is happy.

LGTM

Okay, merging now - if there are more comments later, we can address those as we go.

Coming in late to say add LGTM. Really like having a simple call to Create().


feat: Add critically acclaimed and vanguard artist insights GRO-841

And finally we arrive at the punchline of this work - BEHOLD:

some screenshots

What I did here was go to the kind arrays and add the new ones and then it was a matter of deleting stuff we no longer needed. Feels good to delete a TODO I am just saying. 💃
https://artsyproduct.atlassian.net/browse/GRO-841
https://artsyproduct.atlassian.net/browse/GRO-916
/cc @artsy/grow-devs

Ok finally got this one green so going to merge and get these insights into the world!! /cc @mbransfield


Where do you add a role for an AD application

https://github.com/Azure/azure-content/blob/master/articles/resource-group-create-service-principal-portal.md
Ctrl-f " Assigning the application to a role"
Where is this happening in the Portal exactly? I have no idea how to get there.
Also, why do I have to bounce back and forth between two portals to do something as simple as creating a serviceprincipal to talk to Azure APIs?

@BryanLa Got this?

Adding @tfitzmac for his thoughts on possibly adding some context to the article, around the steps on getting to the right place in the new Azure portal (fka: preview Portal).
@colemickens - unfortunately, as the article mentions, we are still in a transition period so some  configuration tasks span both portals, esp. when your app includes Azure AD app config. Agree that this creates a bit of a hassle, and I know the engineering team is well aware of this. In terms of just creating the Service Principal object though (ie: not adding it to a role to control authorization, as demonstrated in the article), you only need to do the configuration work in the Azure class portal. FWIW, here's an article with more depth on RBAC as well: https://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-configure/

Yes, I am able to find instructions on creating the service principal and I've indeed been in the legacy portal. However, the assignment of the Role to the Principal is my concern.
The articles show the "icon" that needs to be pressed, but they don't describe how they get to that page. It's as simple as extending the article in question to say:
"You need to navigate to a resource group or subscription in the portal. While examining its prorperties, you will see this button which can be used to configure users".
I didn't know that that button was access on the context of a resource group or subscription until getting lucky and noticing it. I was looking for "Roles" as a top level thing that I could create, etc.

As I'm looking over this, the page I linked to seems to already contain the information I was seeking under "Assigning the application to a role"
Further, it links to this page which describes it in detail: https://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-configure/#manage-access-using-the-azure-portal
Not sure why I wasn't able to find these the other day.
I think we can close this.

I had updated this topic on Thursday for exactly the issue you were encountering. Thanks for the feedback.


TypeError: Vector constructor expects an Array of Data instances.

For this piece of typescript:
const testSchema = new Schema([
    new Field(
      "vector",
      new FixedSizeList(128, new Field("float32", new Float32()))
    ),
  ]);
  const newTable = await db.createTable({
    name: "vectors",
    schema: testSchema,
  });

I get the error: "TypeError: Vector constructor expects an Array of Data instances." With the following stack trace:
(node:5074) UnhandledPromiseRejectionWarning: TypeError: Vector constructor expects an Array of Data instances.
    at new Vector (/Users/sam/Desktop/vite-ragnote/node_modules/vectordb/node_modules/apache-arrow/vector.js:45:19)
    at /Users/sam/Desktop/vite-ragnote/node_modules/vectordb/node_modules/apache-arrow/table.js:80:50
    at Array.map (<anonymous>)
    at unwrap (/Users/sam/Desktop/vite-ragnote/node_modules/vectordb/node_modules/apache-arrow/table.js:80:39)
    at /Users/sam/Desktop/vite-ragnote/node_modules/vectordb/node_modules/apache-arrow/table.js:88:43
    at Array.flatMap (<anonymous>)
    at new Table (/Users/sam/Desktop/vite-ragnote/node_modules/vectordb/node_modules/apache-arrow/table.js:88:30)
    at createEmptyTable (/Users/sam/Desktop/vite-ragnote/node_modules/vectordb/dist/arrow.js:136:12)
    at LocalConnection.<anonymous> (/Users/sam/Desktop/vite-ragnote/node_modules/vectordb/dist/index.js:139:92)
    at Generator.next (<anonymous>)

Using the following:

vectordb 0.3.5
electron, react, vite template: https://github.com/electron-vite/electron-vite-react.git (lancedb code running in main process)
macosx intel system

Any help would be greatly appreciated :)

Fixed! Turns out the issue was with ensuring the version of apache-arrow for the project was the same as the one lancedb uses!


Add the actual css that changes the code :lipstick:

This adds the code formatting css style that is used on my website, tatkow.ski.
This also changes the readme so that the changes are reflected appropriately.

sorry, this was not meant to go here, but rather to my own fork, since this adds more css. ill add this to my own repo.


PP-5718 Configure Card Id to use JSON logging

Oops sorry I merged before reading your comment. I can't see that file


Build service does not sign App store builds, can't release new versions

I have been experiencing an issue submitting an Ionic/PhoneGap build to the App Store that uses angular-moment. The error is below. My solution was to exclude the MOMENT library from the included library and just include moment.min.js directly.
The same issue is report here: https://github.com/AppGyver/steroids/issues/918

ERROR ITMS-90035: “Invalid Signature. Code object is not signed at all. The binary at path [myapp.app/Application/build/components/moment/scripts/npm_prepublish.sh] contains an invalid signature. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose ”Clean All“ in Xcode, delete the ”build“ directory in the Finder, and rebuild your release target. For more information, please consult developer.apple.com/…/Introduction.html”

Thanks for reporting, I am pretty sure other people will find it useful in the future.


kapp-controller forces to create a namespace that then gets ignored when doing a remote deployment

What steps did you take:
Have an application that sets a target namespace on a cluster but also on the metadata level. Like this one here:
apiVersion: kappctrl.k14s.io/v1alpha1
kind: App
metadata:
  name: simple-app
  namespace: default
spec:
  cluster:
    namespace: carvel-apps
    kubeconfigSecretRef:
      name: kubeconfigsecret
      key: value

What happened:
When you try to deploy an application like that one, kapp-controller will fail the deployment and force you to create the carvel-apps namespace in the target cluster. Then deployment succeeds, but if you check the carvel-apps namespace there will be nothing there. The app gets deployed in the default namespace.
What did you expect:
I would expect from kapps-controller to deploy the application in the target namespace that has forced me to create. However, if kapps-controller detected this and didn't ask me to create the namespace, that would be equally fine.
Anything else you would like to add:
What I did understood from the docs was that the namespace at the top level was going to be the default but that would be overwritten by the cluster level namespace. Perhaps this misunderstanding is just a documentation issue, I don't know.
  # specifies that app should be deployed to destination cluster;
  # by default, cluster is same as where this resource resides (optional; v0.5.0+)
  cluster:
    # specifies namespace in destination cluster (optional)
    namespace: ns2

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

@mpermar Thanks for reporting this!
Can you describe in a little more detail the steps necessary to reproduce this bug?  Did you have a multi-cluster environment? did you use kapp deploy ... on something similar to the spec above?   Do you think the kubeconfigSecretRef block is necessary to reproduce, or would you expect it to happen even with just a cluster/namespace specified?

@joe-kimmel-vmw this can be reproduced with this simple application:
apiVersion: kappctrl.k14s.io/v1alpha1
kind: App
metadata:
  name: simple-app-2
  namespace: default
spec:
  cluster:
    namespace: carvel-apps
    kubeconfigSecretRef:
      name: kubeconfigsecret
      key: value
  fetch:
  - git:
      url: https://github.com/vmware-tanzu/carvel-simple-app-on-kubernetes
      ref: origin/develop
      subPath: config-step-2-template
  template:
  - ytt: {}
  deploy:
  - kapp: {}

Then with two clusters. One runs kapp-controller, the other is the target cluster that kubeconfigsecret points to. If you try to deploy this application with no other steps you will get an error complaining about the target namespace not being found.
  friendlyDescription: Reconciling
  inspect:
    error: 'Inspecting: Error (see .status.usefulErrorMessage for details)'
    exitCode: 1
    stderr: 'kapp: Error: App ''simple-app-2-ctrl'' (namespace: carvel-apps) does
      not exist: configmaps "simple-app-2-ctrl" not found'
    stdout: Target cluster 'https://0BC7951A26AA51343F814E02409425F8.gr7.us-west-2.eks.amazonaws.com'
    updatedAt: "2021-12-09T15:16:39Z"
  observedGeneration: 1
  template:
    exitCode: 0
    updatedAt: "2021-12-09T15:17:10Z"
  usefulErrorMessage: 'kapp: Error: Creating app: namespaces "carvel-apps" not found'

If, subsequently you create the carvel-apps namespace in the target cluster, then reconciliation will succeed but the app gets deployed at the default namespace. I presume, without having looked at the code or knowing how the internals work, that kapp-controller tries to put some metadata in configmaps at the target namespace, but then ends up installing the application in a different namespace.
To me the above is quite misleading. If not, then the documentation might need to be modified accordingly.

@mpermar - we're still having some difficulty setting up an appropriate reproduction environment. Can you provide some details of what infra is underlying your multi-cluster install?

Interesting. I wouldn't expect this to be source/target dependant. I am experiencing this behaviour with an EKS target cluster and a kind local cluster.

I've reproduced this with kind, will investigate

I think this is the intended behavior of kapp, surprising as it might be. It's a supported workflow to deploy your app to one  namespace, but with the resources it manages in another. So it makes sense that you need to have the carvel-apps namespace, because that's where kapp will store the app ConfigMaps, but it respects the namespaces set in the manifest.

kubectl -n carvel-apps get cm
NAME                             DATA   AGE
kube-root-ca.crt                 1      45m
simple-app-2-ctrl                1      45m
simple-app-2-ctrl-change-gjh94   1      45m

@benmoss and team, I'm not going to argue if this is or is not the intended behavior of kapp, but again, this is what the documentation states:
  # specifies that app should be deployed to destination cluster;
  # by default, cluster is same as where this resource resides (optional; v0.5.0+)
  cluster:
    # specifies namespace in destination cluster (optional)
    namespace: ns2

I might be misreading the specifies that app should be deployed to destination cluster, and perhaps the expected behavior is that the app is not deployed there in certain scenarios, but then those should be clarified and not let the user figure out where the app has gone.

I agree it's confusing, I'll reopen this for further thinking on how we can make this more intuitive


[Mobile] Local storage / route state is buggy if you go backwards to NOT_STARTED

https://github.com/rightoneducation/righton-app/pull/399


Removing focus on down should not be in Input.js

There is currently code on the down event that removes focus from the document. We decided to add this so that the focus highlight is generally removed when using mouse/touch events so that it isn't distracting. But this should not be done in Input.js. It is PhET specific behavior and should probably not even be in scenery. Furthermore, I would like to modify this behavior (disable it) with a phet-specific query parameter which scenery should not be aware of.
I am going to remove this code and move it to joist, probably Sim.js, since this involves general handling of the focus and focused Node of the sim Display.

I did this in the above commits. I also removed some old things that didn't seem necessary anymore such as Display.activeNode and Display.pointerFocus. This simplified the listener that was moved to Sim.js quite a bit. CLosing this issue, but I will be watching CT.


Error while running mmdetection/tools/analysis_tools/analyze_results.py

File "/usr/local/lib/python3.7/dist-packages/mmcv/utils/misc.py", line 73, in import_modules_from_strings
imported_tmp = import_module(imp)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 953, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 953, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'path'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/content/mmdetection/tools/analysis_tools/analyze_results.py", line 199, in
main()
File "/content/mmdetection/tools/analysis_tools/analyze_results.py", line 182, in main
cfg = Config.fromfile(args.config)
File "/usr/local/lib/python3.7/dist-packages/mmcv/utils/config.py", line 334, in fromfile
import_modules_from_strings(**cfg_dict['custom_imports'])
File "/usr/local/lib/python3.7/dist-packages/mmcv/utils/misc.py", line 80, in import_modules_from_strings
raise ImportError
ImportError
Bug fix
If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!

@vidushi27 This means your configuration file is wrong, especially custom_imports


Same model name, different providers picks the first one always!!!

Describe the bug
I wanted to use GITHUB, (https://github.com/marketplace/models/azure-openai/gpt-4o/playground)
I set the OPENAI_LIKE URL and KEY. Unfortunately, the way it works, it uses the same "name" for model.
In stream-texts.ts
const provider = MODEL_LIST.find((model) => model.name === currentModel)?.provider || DEFAULT_PROVIDER;
so, it always picks up the first one. I had to put
  { name: 'gpt-4o', label: 'github/gpt-40', provider: 'OpenAILike' },
  { name: 'gpt-4o-mini', label: 'github/gpt-40-mini', provider: 'OpenAILike' },

on the top in constants.ts to get it use the GITHUB provider.
Link to the Bolt URL that caused the error
usual link
Steps to reproduce
Add a model with the same name and different provider; and try to get model for both providers work as expected.
Expected behavior
As before
Screen Recording / Screenshot
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

This also happened to me. Burned up all my anthropic tokens and I thought I was using Mixtral all day.

I found this issue too when trying to make it work with litellm. I have made a pull request with a fix for this particular issue in PR #188 . It still won't work with litellm but I think it's another issue.

I found this issue too when trying to make it work with litellm. I have made a pull request with a fix for this particular issue in PR #188 . It still won't work with litellm but I think it's another issue.

Many many thanks. I have copied your changes to my branch. Appreciate that you made the changes.

What I did as it was doing this on Anthropic also

remove the default LLM - so it doesnt auto load anything
always swap to a new provider and then back to swap

Select OpenAI make a simple call like HI to gpt4
Select Anthropic and change to Haiku
You cannot just swap from Haiku to Sonnet with the dropdown you need to leave Anthropic and swap to another model etc


feat: 🎸 MeasurementService

Work in progress...
Requirements:

[ ] Subscribe / unsubscribe to measurement changes (scoped by context ?)
[ ] Timestamps (+ undo / redo ?)
[ ] Measurement schema (that can be extended ?)

FrameOfReferenceUID, referenceSeriesUID, points[] (x, y, z), modifiedTimestamp (set internal) (int?)

[ ] Measurement API to push or update new measurements

Optional initial ID / returns provided or generated id

[ ] Maps and validate given annotations to measurement service format

Blockers?

Modify cornerstone-tools to add unique ids for annotations tool state

Test Cases

Cornerstone Tools: New annotation is created / updated / modified / removed -> Inform MeasurementService.
MeasurementsPanel Extension:: Measurement changes -> observes / update for CRUD.

User Cases

As a developer, i want a new measurement service api to create and update measurements and have those changes broadcasted by context to each previously subscribed listener
As a developer, I want to subscribe to measurement changes using a single measurement service api available through extension's module and preInit hook
As a developer, I want to unsubscribe to measurement changes using a single measurement service api available through extension's module and preInit hook

Usage
preRegistration({ servicesManager }) {
    const { MeasurementService } = servicesManager.services;
    cornerstoneTools.addEventListener(cornerstoneTools.EVENTS.MEASUREMENT_ADDED, event => {
      const { mappedAnnotation, annotationId } = mapCornerstoneAnnotationToMeasurementServiceFormat(event.detail);
      MeasurementService.addOrUpdate({ data: { id: annotationId, ...mappedAnnotation } });
    });
}

MeasurementService.subscribe(MeasurementService.getEvents().MEASUREMENT_ADDED, measurement => {
  const updatedMeasurement = measurement;
  /* if cs toolstate is stale */
  /* map data to cs tool state */
  /* update cs tool state */
});

PR Checklist

[x] Brief description of changes
[ ] Links to any relevant issues
[ ] Required status checks are passing
[x] User cases if changes impact the user's experience
[x] @mention a maintainer to request a review

LGTM 👍
Need CI to pass, worth quick responses to comments, then good for merge.
Any negative impact today to merging? I believe this mostly ships "dark" and gives us the ability to consume in next steps

No impacts, currently it only logs information about tools being added. 👍


Feature request: Update all PRs at once

Hi, great and useful extension.
Can we add a all subcommand to update all PR's at once?
Thanks

PRs are welcome!
When I wrote this, I was at a company where the update branch button was used a bunch, so having this was convenient. Nowadays, we have a separate main and stable branch at my current employer so I don't currently use this extension anymore, and unfortunately don't have time to dedicate to it.


Improve Wizard

[ ] Do another version of the demo with sequential instructions on how to use the extension. The idea is to 'force' the user to complete one step after the other to make her understand how it works.
[ ] Add Spanish?
[ ] Move 'Closing lines' after the 'Greetings'
[ ] Show all templates for the selected languages.
[ ] Remove a few categories

Step 5: choose your language
Step 6: add some templates

Alex, I've added the screenshots of the wizard in the github issue. I've tested it with a few people and I think it will perform better than the current one. My only concern is the number of steps (7). Let me know what you think. The sooner we can work on this, the better. I had today the same feedback as I already had: some people didn't get how to use Gorgias.