Destiny app should identify itself as destiny

Destiny app should identify itself as destiny, when connecting to Magic Wormhole mailbox server.
Currently it identify as:

AgentString = "go-william"
AgentVersion = "v1.0.6"

Propose to identify as:

AgentString = "destiny"
AgentVersion = "1.0" - where version depends on destiny app release, without patch version

or if possible, be more specific and identify app platform like:

AgentString = "destiny-android"
AgentString = "destiny-linux"
AgentString = "destiny-macos"
AgentString = "destiny-windows"
AgentString = "destiny-ios"

Identification is used in wormhole-william library version/version.go file

@ewanas as we use flutter and dart plugin, how the best this should be implemented?

Ideally we wouldn't leak the exact version either.

Ideally we wouldn't leak the exact version either.

Not sure if I understood you. We should not send release/tag version to AgentVersion? Or you meant something else?

Yes, I mean that. Knowing the precise version is often valuable when applying network exploits. That advise is pretty common for servers, at least. Perhaps it's somewhat less relevant for clients, but ...

Yes, I mean that. Knowing the precise version is often valuable when applying network exploits. That advise is pretty common for servers, at least. Perhaps it's somewhat less relevant for clients, but ...

Seems that you are referring to that it is a bad idea when a webserver advertises it's exact version. The issue here is about introducing the analogous of a UserAgent header (which is well established in the Web-Space).

@meejah has a point about avoiding to be too specific in general.
It is obviously a bad idea to leak the product and version of a server that is publicly available.
In a similar way, if a client use a flawed lib, attackers impersonating a server could possibly make good use of this info.
In the later, it looks harder and less likely, but in both case, it is about the surface (if that's the term?).
So, what are the risk in the case of Destiny?
Assuming that the leaking communication should always be encrypted in transport and only be decrypted on our side, that surface looks pretty small.
Unless the user chose a different backend, like discussed in the case of F-Droid Non-Free Network Services issue?
Thus, yep, possibly harmful and more likely in the future I guess! Right?
Extract from the spec:
Each product identifier consists of a name and optional version.
...
A sender SHOULD limit generated product identifiers to what is necessary to identify the product

The reason why we want to identify the destiny product from other (Winden) clients is well known (and still debated).
But why would we need this product and version for (today)?
Speaking of my own (operational) experience:

to detect bug related to some specific product/version,
to assess the impact of compatibility breaking change on the server,
to assess the impact of a security flaw, (just like the exploit scenario above BTW)!

I guess the decision will be discuss elsewhere, in the event we choose to define an AgentString following the spec, we might consider something like:

Destiny/x.y.z go-william/x.y.z Android/X
Destiny/x.y.z go-william/x.y.z IOs/X
...

Which is useful... but come at some price.

I think the most-granular that has direct benefit to us is any major version that has different network behavior. For example, if a newer version implemented an as-yet-unimplemented piece of the network protocol.
For example, as deployed it does not currently support re-connecting to the mailbox. So leaking the major version where that starts might be useful. For example, let's just say it was in 1.x.y where it continues to not reconnect, but 2.a.b is where it started: we could include "1" or "2" in the network-advertised version.
Note too that the default mailbox uses ws:// transport so if (when?) we allow users to change that, it's an additional reason to not leak the version.
("Attack surface" I think is the term @btlogy is looking for..?)

We are talking about a client application here. This is the same like the well known User Agent header.
By adding this we even see if users use outdated clients which might be affected by known security issues and can notify them in case.

Re: the default relay, anything in the network path can read unencrypted websocket traffic (i.e. the exact version headers). So many more devices than "the sever" can see your precise version in that case. Or, what details do you want?
I understand that web browsers like to leak their exact version, but that has also caused a bunch of problems (both security related and non-security).
Ben and I are just trying to inform about best-practices here, which these days lean away from including precise version information (because it can help attackers).

We are talking about a client application here.

It's also p2p.

Two misconceptions here:

Winden uses WebSocket over TLS,, so no unencrypted traffic and
The implementation and version fields are part of the Magic Wormhole protocol, which is hopefully using it's own encryption to protect this data. This is not a Http header.

The existing magic wormhole clients already set implementation and version fields. If we think that this is a problem we should open tickets to discuss this with the community of the corresponding projects.

We are talking about a client application here.

It's also p2p.

The implementation and version information are used only on the side of the mailbox protocol, which is not P2P. The relay part which can be P2P does not transmit version information.

Adding "why" not to be closed again:

monitoring agent version allows to understand how many users use one or another version. If majority users still use old version, we could perform additional notifications, marketing campaign, or use other channel to reach users to encourage update (the best would be to have proper update mechanism).

As we touched security perspective, if we know, that specific version is vulnerable, we could theoretically block usage on our mailbox server (yet, we don't have such functionality, but adding if should not be something hard on critical situation).
If there is vulnerable application version, even without knowing exact version, attacker can blindly try exploit. In this particular case, attacker should be mailbox or relay server imposter.
We were already identifying, just we are switching from wormhole-william version to destiny or winden versioning.
Also last security audit didn't detect this as an issue. However we can consult with our security experts to have more opinions.

Thank you all for sharing. This issue also reminds me that I need to better understand how MW works before weighting on such arguments...
Without that knowledge, and assuming we do not plan to block or notify the users if the client is known to be vulnerable, what about only showing major and minor version and drop patch level for a cautious start (if not too difficult)?
Ex: destiny-android/1.0
Even letting the security perspective aside, this could also reduce the chance of identification?

Thank you all for sharing. This issue also reminds me that I need to better understand how MW works before weighting on such arguments... Without that knowledge, and assuming we do not plan to block or notify the users if the client is known to be vulnerable, what about only showing major and minor version and drop patch level (if not too difficult)?
Ex: destiny-android/1.0
Even letting the security perspective aside, this could also reduce the chance of identification?

Learning is part of discussion. We can drop patch version, if it helps feel safer. On statistic side we will have more aggregated usage, which can be sufficient.

Learning is part of discussion. We can drop patch version, if it helps feel safer. On statistic side we will have more aggregated usage, which can be sufficient.

And we get rid of a lot of noise, as some Python version even adds more information here:

Unfortunately I already clicked the message box away, but trying to send for the first time on my Windows 11 laptop gave me, as it should, a big "Do you want to allow this network access..." dialogue by the Windows firewall, and I clicked (I am paraphrasing)

Allow A new Flutter project. access to the internet using

[ ] private networks...
[x] public networks...

Would be a much more professional look if someone would take 30 mins to update all the strings.
(I am running version 1.0.0 according to the Settings dialogue)

Thanks @hacklschorsch for reporting this. Can you create a separate ticket for that issue. The original issue is about how the apps should advertise details to the server, comparable to a user-agent header.


Cluster user secrets not removed from template

Picked a bad time to try this project, but here I am trying to do as little as I can to make it better ;)
Apparently there was a change on #1245 that removed a couple of user-specific files from the template, but they're still being reference in the tasks, so as a result the flux cluster can't get bootstrapped.
I'm not sure how to refresh the template if there's ever a fix (noob moment), but for now I'm commenting these lines on the Taskfile and praying. :joy:

Fixed in https://github.com/onedr0p/flux-cluster-template/commit/98583949f8852af6ae1a59b5d10a4549e378f195
Thanks for reporting!


Fixed yarn lock.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Tabs]: MU Tabs not responding to user interaction in an SSR app (Universal/Isomorphic app)

I'm using Tabs and tab from material UI in my SSR app. However, I cannot get the onchange method to be fired
I was about to reproduce the same issue in this sandbox
https://codesandbox.io/s/lingering-darkness-8cgpx?file=/README.md

[x] The issue is present in the latest release.
[ x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Expected Behavior 🤔

Steps to Reproduce 🕹

Steps:

Tabs, appbar and tabs were imported from material UI
Component mounted in the App.js
the state is set to 0 to correspond to the first tab as observed
On user interaction onChanage does not fire nor does the UI change

Am I missing something here?
Context 🔦

Your Environment 🌎

Tech
Version

Material-UI
v5.?.?

React
16.13

Browser
ALL

TypeScript

etc.

See https://github.com/facebook/react/issues/15446

Probably an issue with how the server and client side are setup.

@oliviertassinari, i'm not sure  - see the relation in the two issues yet and the codebox provided was used from an material UI template example


Test Octave support for continuous integration testing

https://github.com/scottclowe/matlab-continuous-integration provides an example of Travis CI testing for MATLAB code via Octave.  If we can run SCINGE on Octave, we can set up basic continuous integration testing.
This would likely require recompiling or adapting the Glmnet mex files for Octave.

It may be easiest to test SCINGE inside and Octave Docker container such as:

https://hub.docker.com/r/compdatasci/octave-desktop
https://github.com/openmicroscopy/octave-docker

There are instructions and examples for setting up Travis CI with Docker:

https://docs.travis-ci.com/user/docker/
https://github.com/travis-ci/docker-sinatra
https://github.com/openmicroscopy/octave-docker/blob/master/.travis.yml

Step 1 would be to enable Travis CI on this repository.  Then we can do all the testing in a new pull request.

Because we found that MATLAB can run within Docker, that may be a faster route to setting up Travis CI.  An example is https://hub.docker.com/r/fbenz/docker-java-matlab

This should be fixed in Octave 4.4 per this bug report https://savannah.gnu.org/bugs/?func=detailitem&item_id=53951


Add limits to Window zooming

Add limits to zooming to make sure VS Code's windows can't go out of bounds.
Fixes #48357
(This PR is a demo PR prepared for @AmandaSilver to review)

Left a few notes.


Two sorbet-runtime call-validation optimizations

Two changes:

Deprecate T::Profile, and rip out the sampled timing code from call validation.
Add a new semi-fast path for call validation with up to four positional arguments and no keyword arguments or other special cases, very similar to the existing fast path except without the restriction that types must be T::Types::Simple. (Also method-vs-procedure is left for a runtime check, for now, to avoid blowing up code size and because one extra branch didn't seem like a big deal relative to the rest.)

These are really related only in intent; I actually implemented T::Profile support in the new fast-ish path before ripping it out. So I'm happy to split into separate PRs if folks prefer.
Motivation

I don't believe this timer measures anything useful. It doesn't account for a significant proportion of runtime typechecking overhead, probably the majority of overhead, because (a) it doesn't capture the impact of adding the define_method stack frame itself, and (b) it doesn't capture any impact of T.let, T.must, T.unsafe etc. A tool like StackProf will give a much better picture, and (if configured well) with much lower measurement overhead. Microbenchmarks show >20% speedup on single-argument methods.

I don't have hard statistics but my impression is that a large number of relatively-simple methods fail to qualify for the existing fast path because they use something like T::Boolean, T.nilable, or T.untyped, even as just one argument among otherwise simple ones. Microbenchmarks show a >40% speedup on single-nilable-argument methods.

bundle exec rake bench:typecheck results for 2.7, slightly abridged, on:
master:
T::Types::Simple#valid?: 41.252 ns
T::Types::Union#valid?: 139.641 ns
T.let(..., Integer): 428.153 ns
sig {params(x: Integer).void}: 337.683 ns
T.let(..., T.nilable(Integer)): 1.036 μs
sig {params(x: T.nilable(Integer)).void}: 862.766 ns
T.let(..., Example): 409.354 ns
sig {params(x: Example).void}: 307.338 ns
T.let(..., T.nilable(Example)): 1.043 μs
sig {params(x: T.nilable(Example)).void}: 875.392 ns
sig {params(s: Symbol, x: Integer, y: Integer).void} (with kwargs): 1.504 μs

just the new fast path:
T::Types::Simple#valid?: 42.637 ns
T::Types::Union#valid?: 142.595 ns
T.let(..., Integer): 389.78 ns
sig {params(x: Integer).void}: 330.284 ns
T.let(..., T.nilable(Integer)): 1.004 μs
sig {params(x: T.nilable(Integer)).void}: 492.045 ns
T.let(..., Example): 396.391 ns
sig {params(x: Example).void}: 313.137 ns
T.let(..., T.nilable(Example)): 1.01 μs
sig {params(x: T.nilable(Example)).void}: 500.454 ns
sig {params(s: Symbol, x: Integer, y: Integer).void} (with kwargs): 1.507 μs

with both changes:
T::Types::Simple#valid?: 40.547 ns
T::Types::Union#valid?: 161.091 ns
T.let(..., Integer): 405.242 ns
sig {params(x: Integer).void}: 215.672 ns
T.let(..., T.nilable(Integer)): 1.038 μs
sig {params(x: T.nilable(Integer)).void}: 377.882 ns
T.let(..., Example): 393.038 ns
sig {params(x: Example).void}: 207.139 ns
T.let(..., T.nilable(Example)): 1.078 μs
sig {params(x: T.nilable(Example)).void}: 394.03 ns
sig {params(s: Symbol, x: Integer, y: Integer).void} (with kwargs): 1.424 μs

(Only the changes in the sig results could be meaningful, but I've left the others in as points of comparison & indicators of the noise level.)
Test plan
Relying on existing tests

Do the api method tests use T::Profile right now in Stripe codebase? Is the plan to delete or change those tests?

@jez they don't. If you're talking about the no-hot-runtime-checking tests, they use a custom mechanism so they can report more information about which methods are called. T::Profile is only used in a couple of production log-lines and I don't believe it provides real value there: https://livegrep.corp.stripe.com/search/stripe?q=T%3A%3AProfile repo%3Apay-server&fold_case=auto&regex=false&context=true
(It was maybe a bit more valuable before the introduction of the no-hot-runtime-checking tests, and when recursive checking was the default, so it was easier to introduce a regression and having a number right in the canonical log line could be valuable. I don't think this really applies anymore.)

T::Profile is only used in a couple of production log-lines and I don't believe it provides real value there

Gotcha, so it seems like it's basically just populating some log lines, and since you've made a case that those log lines are not even really accurate, that it's not worth keeping these things around.

@jez updated to remove T::Profile fully and to share more call-validation-generator code. The diff does look much cleaner with the latter change. The Stripe codebase is also now prepped for this (PR just merged).


Cannot render plain text template

I'm trying to render clean text template and I'm getting empty string as the output. The problem appears when template string does not contain HTML markups. This is what I get in Firebug:

>>> $.render({test: 'xxx'}, "<b>boo[foo='222'][gaa={{=test!}}]</b>")
"boo[foo='222'][gaa=xxx]"
>>> $.render({test: 'xxx'}, "boo[foo='222'][gaa={{=test!}}]")
""

Yes, this is because the string is interpreted as the name of a named template. See the following comment in the code:
// to $.template( null, templateString ). To ensure a string is treated as a template,
// include an HTML element, an HTML comment, or a template comment tag.

This will change in an upcoming update, in which the $.render API is changed and this scenario is supported.

Update on the new bits: Still not completely integrated with JsViews, and therefore not committed, but it is getting close...


[WIP][SQL][MINOR] Fix compiling for scala 2.12

What changes were proposed in this pull request?
Introduced by #21320 and #11744
$ sbt
> ++2.12.6
> project sql
> compile
...
[error] [warn] spark/sql/core/src/main/scala/org/apache/spark/sql/execution/ProjectionOverSchema.scala:41: match may not be exhaustive.
[error] It would fail on the following inputs: (_, ArrayType(_, _)), (_, _)
[error] [warn]         getProjection(a.child).map(p => (p, p.dataType)).map {
[error] [warn]
[error] [warn] spark/sql/core/src/main/scala/org/apache/spark/sql/execution/ProjectionOverSchema.scala:52: match may not be exhaustive.
[error] It would fail on the following input: (_, _)
[error] [warn]         getProjection(child).map(p => (p, p.dataType)).map {
[error] [warn]
...

And
$ sbt
> ++2.12.6
> project hive
> testOnly *ParquetMetastoreSuite
...
[error] /Users/rendong/wdi/spark/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveSparkSubmitSuite.scala:22: object tools is not a member of package scala
[error] import scala.tools.nsc.Properties
[error]              ^
[error] /Users/rendong/wdi/spark/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveSparkSubmitSuite.scala:146: not found: value Properties
[error]     val version = Properties.versionNumberString match {
[error]                   ^
[error] two errors found
...

How was this patch tested?
Existing tests.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can you add [SQL][MINOR] in the title? Also, can you narrow down the tittle cuz it is a little obscure.

ok to test

Test build #95401 has started for PR 22260 at commit 626f265.

Test build #95401 has finished for PR 22260 at commit 626f265.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95401/
Test FAILed.

Test build #95406 has started for PR 22260 at commit ffdb12d.

Test build #95406 has finished for PR 22260 at commit ffdb12d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95406/
Test FAILed.

LGTM, too.

Test build #95452 has finished for PR 22260 at commit 2dff17b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95452/
Test PASSed.

Merged to master.


docs: update README.md with snap installation details

I've installed nvim as a snap package and VSCode could not detect automatically. This is because the Ubuntu 2204 package is 0.6, which is further behind than this extension recommends.
A bit of googling found that snap stores the binary at: /snap/nvim/current/usr/bin/nvim
Updated the README as people may install from Ubuntu Store which uses snap.

Hi! Thanks for the PR :)
We don't support nvim 0.6, as you point out. Is this knowledge generally useful as snap upgrades their nvim version? I must admit I'm not the most familiar with it

Yes, I believe that snap packages are upgraded regularly. The "Snap Store" is available by default in Ubuntu and is probably a common mechanism for Ubuntu users to install Neovim.
So, even though the "nvim" binary is available in the $PATH (and is symlinked within /usr/bin), it doesn't get picked up by this extension because of the way that nvim resolves to the snap binary.
Of course, like many Open Source PR's, this is selfish as it would have helped me solve the issue if the Readme had mentioned what to do for Snap users. But, I could not comment as to how many people will have my configuration.
Either way, I'm happy with the extension and works as advertised!

I'm happy to merge once the formatting issues are fixed!

I'm happy to merge once the formatting issues are fixed!

Have run this through Prettier and it made some modifications. Also, update the PR title in accordance with your conventions, please let me know if this is acceptable.


dapr list does not include independent daprd instances

Expected Behavior
With 0.3.0 of the CLI and runtime:

Start daprd independently (e.g. daprd --app-port 3000 ...)
Start your application
Run dapr list

The daprd instance should be in the list returned by dapr list.
Actual Behavior
The daprd instance is not in the list returned by dapr list (i.e. only instances started via dapr run are listed).
Steps to Reproduce the Problem
See the expected behavior.

Just wanted to see if there was any progress on this issue.
The Dapr VSCode extension (which helps users integrate Dapr into their applications by providing debugging capabilities, interaction with the Dapr runtime, etc) starts applications by invoking an instance of daprd directly and these running applications also do not show up in dapr list. The Tye extension also starts applications with a direct daprd call which yields similar results when running a dapr list command.

@wcs1only @mukundansundar @yaron2 - addressing this issue will really help with some tooling issues that have been prioritized for the VS Code extension. Can this be given higher priority?

Issue is when parsing the arguments starting at https://github.com/dapr/cli/blob/0a37376658ef83e8a1b49178cf4e6f1c93eb1dfc/pkg/standalone/list.go#L87
If an argument doesn't exist the entire process is dropped from the list instead of it displaying the process without the argument

Also, once all parameters are set correctly, it fails when resolving cliPIDString: https://github.com/dapr/cli/blob/0a37376658ef83e8a1b49178cf4e6f1c93eb1dfc/pkg/standalone/list.go#L117

And now realizing we pull the cli process as the list to return, not the daprd process https://github.com/dapr/cli/blob/0a37376658ef83e8a1b49178cf4e6f1c93eb1dfc/pkg/standalone/list.go#L144
We need to update the logic to include daprd instances without CLI processes.

/assign

/assign


ƒ ?

Why is there a non-standard ascii-symbol used inside the code?
Firefox complains about it. Programmers on the other hand, get struggle to finde the symbol on their keyboard.
I replaced ƒ by f, which makes it easier.

I use it quite a lot inside of other function calls so only taking up on character is nice.
Adding a single letter variable name to the global name space is a little rude/risky, so ƒ is used to reduce the likelihood of collision. As the readme notes, you can also use d3.f.


Create a cmdlet to take on-demand snapshots

Allow for on-demand snapshots via a PowerShell cmdlet. Should require information on the VM.

Completed.


Fix blank issues display in template config

ref: https://github.com/Quansight/ragna/pull/103#discussion_r1372837279
cc @pmeier

Small PR, so self-merging. Let me know if there are any issues. :)


Google Makersuite Palm 2 support

Adding support for palm 2 without GCP with makersuite free api
It would be nice to support this as most people dont have vertex ai.
https://makersuite.google.com
Also
I dont know to to submit a PR

Hi @135Prithvi,
It's also shown that it's required in LangChain JS Google PaLM. It's required to add API key to access to Google PaLM.
Could you try your API Key with Google PaLM, ignore the current naming Google MakerSuite

Cannot read properties of undefined (reading 'text')

Closing as Palm now deprecated


Default Popover trigger to click event

This changes the default Popover trigger to click event to matches Bootstrap 4 default shown here:
https://getbootstrap.com/docs/4.3/components/popovers/#options
Fixes #298

As explained on the #298 issue, we will close this for now.


Improve how we handle --function

Proposed change: We should include information about the public functions as part of the KaniMetadata when the reachability mode is pub_fns. We should stop merging all the metadata and goto binaries together.
Motivation: We have a special handling for --function today inside kani-driver because we cannot tell which artifacts are relevant to some function. So we just merge everything. If we treat functions as potential harnesses, we can get rid of the hack described above. We should also restrict the metadata to include functions that don't take any parameter.

We could also just search the symtab files directly, it might be simpler that way.

Do we mean parse the symtab file or invoke some goto utility to print the functions available?

I am leaning towards adding information to the Metadata because is more reliable and it will work well even with mangled names. Since this will only be done for the target crate, the cost shouldn't be too high.

We no longer have a use for this flag. We used to keep it for the book runner, but we no longer use that. Users should use harnesses instead.


加入语言配置 Add language configuration

The clear operation text is Chinese .
Can we configure these words?
thanks.

@Evan7o OK, Thank you addvices.

Hello, I have already completed this feature.


TEP-0118: Add tests for isolating valid and invalid context matrix

Changes
[TEP-0090: Matrix] introduced Matrix to the PipelineTask specification such that the PipelineTask executes a list of TaskRuns or Runs in parallel with the specified list of inputs for a Parameter or with different combinations of the inputs for a set of Parameters.
To build on this, Tep-0018 introduced Matrix.Include, which allows passing in a specific combinations of Parameters into the Matrix.
This commit adds isolated functionality testing for valid and invalid matrix context as a follow up to  #6238.
Note: This is still in preview mode. Implementation logic will be added in subsequent commits.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[N/A] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[x] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/assign @lbernick

/test check-pr-has-kind-label

Decided this was longer needed.


documentation website spits out random 404

What version of Remix are you using?
1.5.1
Steps to Reproduce
Reading documentation
Expected Behavior
To read documentation
Actual Behavior
All of a sudden giant 404 appears:

@tombohub Could you explain a bit more how this happened please?

@MichaelDeBoey  I was reading documentation and it just happened on it's own. I tried multiple times and it kept happening. I was only scrolling and moving cursor if anything. I was reading this one https://remix.run/docs/en/v1/api/conventions

@tombohub can you provide more information about your OS / Chrome version?
Does this also happens in private navigation mode? (aka, is this one of your extension causing a problem?)

also, if you can inspect the network tab when it happens, and provide us with the "Initiator" stack trace.
I'm talking about this tab:

@machour I have I screenshot of Initiator. I don't know how to copy that:

I couldn't reproduce in private mode, but it was hard in normal too. It just happens randomly

Yeah, that URL looks wrong. The %3Ca%20href= is actually <a href=, so somewhere the links (prefetch?) is building the URL incorrectly.

I can't reproduce in incognito mode. I'll presume it's some chrome extension and close this until more info.


chore: bump node to 10 and puppeteer to 1.10

I was using this Dockerfile to test in gitlab an image for AppEngine. AppEngine just allowed node 10 and I updated the whole test chain back.

as this is not maintained anymore, I'm maintaining my fork over here: https://github.com/schliflo/docker-puppeteer


Need proper documentation

I am completely stuck up regarding the usage of dart and henson. I have copy-pasted following snippet in my code to navigate to another scren, but now am directionless to fixe the issue
Intent intent = Henson.with(this)
.gotoOneMoreActivityActivity()
.extra(new ParcelExample())
.build();
Error:
Error:(102, 33) error: cannot find symbol variable Henson
From where i have to import Henson class??

Did you follow the setup in the readme ? Did you setup the annotation
processor ?
2017-04-25 21:08 GMT+02:00 Takeoff Android<EMAIL_ADDRESS>
I am completely stuck up regarding the usage of dart and henson. I have
copy-pasted following snippet in my code to navigate to another scren, but
now am directionless to fixe the issue
Intent intent = Henson.with(this)
.gotoOneMoreActivityActivity()
.extra(new ParcelExample())
.build();
Error:
Error:(102, 33) error: cannot find symbol variable Henson
From where i have to import Henson class??
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/f2prateek/dart/issues/155, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABv33eHPhYNN7Y-hsxRLjRZGwozi3LnAks5rzkSngaJpZM4NH7PC
.

Yep I did. I followed all the steps :-(
On Apr 26, 2017 1:37 AM, "Stéphane Nicolas"<EMAIL_ADDRESS>wrote:

Did you follow the setup in the readme ? Did you setup the annotation
processor ?
2017-04-25 21:08 GMT+02:00 Takeoff Android<EMAIL_ADDRESS>
I am completely stuck up regarding the usage of dart and henson. I have
copy-pasted following snippet in my code to navigate to another scren,
but
now am directionless to fixe the issue
Intent intent = Henson.with(this)
.gotoOneMoreActivityActivity()
.extra(new ParcelExample())
.build();
Error:
Error:(102, 33) error: cannot find symbol variable Henson
From where i have to import Henson class??
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/f2prateek/dart/issues/155, or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABv33eHPhYNN7Y-
hsxRLjRZGwozi3LnAks5rzkSngaJpZM4NH7PC>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/f2prateek/dart/issues/155#issuecomment-297149487, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALORr4q74G99h2KKvqk-gjeMCBQOB0DIks5rzlJ7gaJpZM4NH7PC
.

I am trying to star an activity from fragment using Henson.with(getActivity).gotoMyProfileActivity.build(). But its not working. Also I am not getting the usage of @HensonNavigable annotation and packaging concept setup in build.gradle like 'henson.package' something which was mentioned in the readme. Please clarify my queries. Really it is an amazing library, but documentation part is lagging since samples of github project is also not a studio project i guess.

Yes, the sample project works with Android studio.
Can you show:

the code of the target activity (class and annotated fields if there are)
you gradle setup

2017-04-26 4:14 GMT+02:00 chandruf22<EMAIL_ADDRESS>
I am trying to star an activity from fragment using
Henson.with(getActivity).gotoMyProfileActivity.build(). But its not
working. Also I am not getting the usage of @HensonNavigable annotation and
packaging concept setup in build.gradle like 'henson.package' something
which was mentioned in the readme. Please clarify my queries. Really it is
an amazing library, but documentation part is lagging since samples of
github project is also not a studio project i guess.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/f2prateek/dart/issues/155#issuecomment-297217697, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABv33WbYp8WH-LVGRg8cXoB6JwHzxdKNks5rzqhrgaJpZM4NH7PC
.

Kudos. It worked after Build - Rebuild Project.  Gradle build was the culprit. Before closing this issue, I hope this library will not startActivityResult(REQUEST_CODE) behaviour?.

I am planning to popularise this library by creating a blog in my https://takeoffandroid.com. Hope this will reach good number of target users soon. Thanks for creating such a library to reduce boiler plate codes for intent value creation.

Thanks for trying it and helping to make it more popular.
Btw, @HensonNavigable is used when you want to navigate to an activity that
has no @InjectExtra fields. It can then be discovered by Henson and it will
allow to navigate to it via the Henson class.
2017-04-26 8:00 GMT+02:00 Takeoff Android<EMAIL_ADDRESS>
I am planning to popularise this library by creating a blog in my
https://takeoffandroid.com. Hope this will reach good number of target
users soon. Thanks for creating such a library to reduce boiler plate codes
for intent value creation.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/f2prateek/dart/issues/155#issuecomment-297246323, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABv33XqJXpSlnaYp_7IBi31J-ALn1dLOks5rzt2CgaJpZM4NH7PC
.


Override builtin

The ability to override built-in modules was introduced with [1]. To use
it, you must install the package files using the override.package path
for each file included.
Using soft links inside the rock seems like a bad idea -- luarocks try
to resolve them on files deploy and fails to do so. The only stable
approach is seems to be to duplicate the files to the override
folder.
builtin rockspec doesn't allow to specify a single file twice, so we
need to store the soft link in the repo to workaround it. To build
override package with builtin rockspec, we'll also need to manually
maintain two lists of package files.
cmake approach allows to automatize it. On the other hand, to work with
cmake-built rock, you'll need to make the rock while working locally.
Since make .rocks is a dependency of make test, it shouldn't be
a big issue.
After [2], metrics will be embedded to core Tarantool. The ability to
override them with installed rock will make it possible to use old
Tarantool with new metrics. cartridge role, which was embedded to
tarantool/cartridge in [3], is also would be override.

https://github.com/tarantool/tarantool/issues/7774
https://github.com/tarantool/tarantool/issues/7725
https://github.com/tarantool/cartridge/pull/2047

Closes tarantool/tarantool#7727

Update: override cartridge role too


Problem with PirateBay

Probably the url is changed or something.
Stop getting results from him, and it delays the search progress.
Thanks
Elementum Burst 0.0.46
Kodi Debug Log:
https://paste.ubuntu.com/p/Zr933MTRcM

Can you update the url to this one?
https://thepiratebay1.com
Thanks.

WIll be fixed in the next version.


[BUG] JSQLParser 4.9 : Failed to parse listagg with "on overflow truncate"

String sql = "select LISTAGG(field, ',' on overflow truncate '...') from dual";
PlainSelect plainSelect = (PlainSelect) CCJSqlParserUtil.parse(sql);

fails with

net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("
at line 1, column 15.
Was expecting one of:
"."
"::"
"["
"^"
<EOF>
<ST_SEMICOLON>

Software Information:

JSqlParser 4.9
Oracle

Greetings.
The ON OVERFLOW clause is not supported yet.
You would need to provide or sponsor an implementation if this was urgent.

Got it,
It's not urgent, wanted to let you know about this topic.
Maybe, maybe, I'll dig into the code. :-)


[Bug Report] Flight data entry did not appear on any of the data pages

I was able to go to and fill out a form with my flight data but my entry was not listed in the logbook after the fact.

Some updates have been made since the release of the beta. Now admins must approve a log entry (so no one can spam the logbook) before it is shown in the logbook. Updated use case with this.

Closing issue because it is not a bug


Incomplete installation instructions for  Microsoft ODBC Driver on Linux

I was trying to install the ODBC driver for Ubuntu 18.04 following the instructions here.
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017#ubuntu-1404-1604-1710-and-1804
Since libssl1.0.0 is not installed by default on Ubuntu Bionic (or at least my docker image), you would have to install it manually
apt-get install libssl1.0.0
This was not mentioned in the documentation, but probably should have been.

@domedagen Please submit feedback by clicking on the button at the doc's bottom.


integrate PurgeCSS

Resolves https://github.com/roopeshsn/freshbey/issues/3 (reduce unused CSS)
Added a run of PurgeCSS CLI as the postbuild script. This method doesn't require ejecting CRA or setting up Craco or similar tools.
It has been tested successfully
Reduced size of CSS from ~172kb to ~25kb raw and ~29.5kb to ~6.6kb  gzip

There is an issue with npm. package-lock.json files are generated by a new version of node (16+), but the project requires 14. So package-lock.json has been regenerated by the 14 version

Good work @alpavlove! Thanks for your efforts!

 If you spot any bugs or performance-related issues please create an issue. So, that others can work on that. If you'd like to add any new feature please go ahead. Your contribution will highly benefit this project!

Thanks for the invitation @roopeshsn. I will!


Database Collation does not match the one in collation.txt

PLEASE DO NOT INCLUDE ANY PASSWORDS OR TOKENS IN YOUR ISSUE!!!
Describe the issue
A clear and concise description of what the issue is.
While my collation.txt says the database collation is Latin1_General_100_CS_AS, SSMS shows me that the collation is SQL_Latin1_General_CP1_CI_AS.
Im creating the docker image with New-BCImage (command following later) and then add a bak file in a wrapping dockerfile.
To run the container I use docker-compose pointing to the bak file to restore.
Scripts used to create container and cause the issue
New-BcImage -skipDatabase -artifactUrl https://bcartifacts.azureedge.net/onprem/19.5.36567.36700/de -isolation process -baseImage mcr.microsoft.com/businesscentral:10.0.17763.2803 -memory 20G -imageName base:19.5

this image then gets wrapped in a dockerfile to add the bak (saves some layers when creating several images with different baks)
FROM base:19.5
COPY ["/database", "C:/Program Files/Microsoft Dynamics NAV/190/database"]
WORKDIR /
ENTRYPOINT ["powershell.exe","C:\\run\my\start.ps1"]

networks:
  dev:
    external:
      name: nat
services:
  DEV:
    volumes:
    - C:\ProgramData\BcContainerHelper:C:\BcContainerHelper
    container_name: DEV
    networks:
    - dev
    mem_limit: 25G
    restart: unless-stopped
    ports:
    - 1337:80
    - 1338:7049
    - 1339:7047
    - 1340:7048
    - 1369:1433
    - 1341:7083
    dns:
    - <IP_ADDRESS>
    - <IP_ADDRESS>
    image: myimage:19.5
    environment:
    - Accept_eula=Y
    - UseSSL=N
    - ACCEPT_OUTDATED=Y
    - REMOVEPASSWORDKEYFILE=N
    - auth=NavUserPassword
    - PasswordKeyFile=C:\path\to\nav.key
    - username=myusername
    - securePassword=mysecurepassword
    - bakfile=C:\Program Files\Microsoft Dynamics NAV\190\database\database.bak
    - licenseFile=C:\path\to\license.flf
    - customNavSettings=PublicWebBaseUrl=http://localhost:1337/BC,SqlLongRunningThreshold=10000,AllowSessionWhileSyncAndDataUpgrade=True,EnableTaskScheduler=True,ClientServicesReconnectPeriod=01:00:00
version: "3.3"

Full output of scripts
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.17763.2803 (ltsc2019)
Host OS Version: 10.0.17763.2803 (ltsc2019)
Using process isolation
Files in F:\bcartifacts.cache\x0zckvo3.444\my:
- my
Copying Platform Artifacts
F:\bcartifacts.cache\onprem\19.5.36567.36700\platform
Copying ConfigurationPackages
F:\bcartifacts.cache\onprem\19.5.36567.36700\de\ConfigurationPackages
Copying Applications
F:\bcartifacts.cache\onprem\19.5.36567.36700\de\Applications
F:\bcartifacts.cache\x0zckvo3.444
Adding fonts
Sending build context to Docker daemon  1.209GB

Step 1/8 : FROM mcr.microsoft.com/businesscentral:10.0.17763.2803
 ---> 3922e9c4c27a
Step 2/8 : ENV DatabaseServer=localhost DatabaseInstance=SQLEXPRESS DatabaseName=CRONUS IsBcSandbox=N artifactUrl=https://bcartifacts.azureedge.net/onprem/19.5.36567.36700/de filesOnly=False
 ---> Running in 8412aec54be3
Removing intermediate container 8412aec54be3
 ---> 82199760b354
Step 3/8 : COPY my /run/
 ---> bb922f489656
Step 4/8 : COPY NAVDVD /NAVDVD/
 ---> cad813b2298a
Step 5/8 : COPY Fonts /Fonts/
 ---> 391ad141b27f
Step 6/8 : RUN .
Starting Internet Information Server
Copying Service Tier Files
C:\NAVDVD\ServiceTier\Program Files
C:\NAVDVD\ServiceTier\System64Folder
Copying PowerShell Scripts
C:\NAVDVD\WindowsPowerShellScripts\Cloud\NAVAdministration
C:\NAVDVD\WindowsPowerShellScripts\WebSearch
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Skipping restore of Cronus database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Copying Web Client Files
C:\NAVDVD\WebClient\Microsoft Dynamics NAV
Copying Client Files
C:\NAVDVD\LegacyDlls\program files\Microsoft Dynamics NAV
C:\NAVDVD\LegacyDlls\program files\Microsoft Dynamics NAV
C:\NAVDVD\LegacyDlls\systemFolder
Copying ModernDev Files
C:\NAVDVD
C:\NAVDVD\ModernDev\program files\Microsoft Dynamics NAV
Copying additional files
Copying ConfigurationPackages
C:\NAVDVD\ConfigurationPackages
Copying Test Assemblies
C:\NAVDVD\Test Assemblies
Copying Applications
C:\NAVDVD\Applications
Installation took 44 seconds
Installation complete
Removing intermediate container f4194668d166
 ---> 49f2703a8793
Step 8/8 : LABEL legal="http://go.microsoft.com/fwlink/?LinkId=837447"       created="202204220640"       nav=""       cu=""       skipdatabase="Y" country="de"       version="19.5.36567.36700"       platform="19.0.36528.36625"
 ---> Running in 6a36762cc48d
Removing intermediate container 6a36762cc48d
 ---> ade157d85459
Successfully built ade157d85459
Successfully tagged base:19.5
...

Screenshots

Additional context

does it happen all the time? yes
did it use to work? not sure

Yeah, I can see that when specifying a bakfile - things are not updated.
Could you try to add
-myscripts @("https://raw.githubusercontent.com/microsoft/nav-docker/master/generic/Run/SetupDatabase.ps1")

to your new-bccontainer and see if this fix solves the issue?

I've added it and it tells me that it sets the collation. However, when checking in SSMS, the collation is still not the correct one:

Initializing...
Starting Container
Hostname is 78a3792e8c7e
PublicDnsName is 78a3792e8c7e
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Using Database .bak file 'C:\Program Files\Microsoft Dynamics NAV\190\database\database.bak'
Determining Database Collation
Using database server localhost\SQLEXPRESS
Setting CompatibilityLevel for mydatabase on localhost\SQLEXPRESS
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 1ED54855EF293BC9EE7203C10554FD62AECE108D
DNS identity 78a3792e8c7e
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting PublicWebBaseUrl to http://localhost:1337/BC
Setting SqlLongRunningThreshold to 10000
Setting AllowSessionWhileSyncAndDataUpgrade to True
Setting EnableTaskScheduler to True
Setting ClientServicesReconnectPeriod to 01:00:00
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Using license file 'C:\ContainerService\DEV\Tausch\license.flf'
Import License
Creating http download site
Setting SA Password and enabling SA
Creating mivi as SQL User and add to sysadmin
Creating SUPER user
WARNING: The password that you entered does not meet the minimum requirements.
It should be at least 8 characters long and contain at least one uppercase
letter, one lowercase letter, and one number.
Container IP Address: <IP_ADDRESS>
Container Hostname  : 78a3792e8c7e
Container Dns Name  : 78a3792e8c7e
Web Client          : http://78a3792e8c7e/BC/
Dev. Server         : http://78a3792e8c7e
Dev. ServerInstance : BC

Files:
http://78a3792e8c7e:8080/ALLanguage.vsix

WARNING: You are running a container which is 71 days old.
Microsoft recommends that you always run the latest version of our containers.

Container Total Physical Memory is 32.0Gb
Container Free Physical Memory is 14.5Gb

Initialization took 294 seconds
Ready for connections!
Starting EventLog Monitor
Monitoring EventSources from EventLog[Application]:
- MicrosoftDynamicsNAVClientClientService
- MicrosoftDynamicsNAVClientWebClient
- MicrosoftDynamicsNavServer$BC
- MSSQL$SQLEXPRESS```

It actually only states that it is determining the collation - and doesn't set it - probably because it matches the value already set in collation.txt.
The strange thing is how they came out of sync in the first place.
The database server collation in the generic image should be
"Latin1_General_100_CS_AS"
Both in the file and in reality.
In your image - it looks like the file is correct, but the database is different - and using the .bak file doesn't change it.
Will try out the image creation myself.

It looks like the database has the right collation, but the server doesn't get the expected collation set

It does look like it is a problem during generic image generation.

running this, changes the server collation - and that should happen during image creation
$collation = "Latin1_General_100_CS_AS"
Write-Host "Changing Database Server Collation to $collation"
$sqlSetupExe = (Get-item "C:\Program Files\Microsoft SQL Server\*\Setup Bootstrap\*\Setup.exe").FullName
& $sqlSetupExe /q /ACTION=REBUILDDATABASE /INSTANCENAME=SQLEXPRESS /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /SQLCOLLATION=$collation > $null

Unfortunately reading files uses the server collation instead of the database collation in AL (even when using the textEncoding parameter).
Thus, when creating a container on an english system and then reading a file in Western(Windows 1252) encoding all special characters like äöüß break.
I know this is a separate issue, but it is the main reason why we have issues with the server collation being wrong

reading files? in AL code? or generally on the machine?
These things should not use the database server collation for anything - they use the server codepage etc.
Can you specify the actual problem you are seeing, then I will try to help you find a workaround, thanks.

Also, did you try to spin up a SQL Server on your host, set the server collation and then use that as db server for your container and see that everything works?

To your first question: I've been able to reproduce this in a cronus environment and already created a support request, your colleague was able to reproduce this.
So, from the BC side they are already looking into it.
Regarding your second question: Yes, when using a local SQL Server with the correct sql server collation it works

I did some more digging - you were right.
It depends on the system locale, not the database collation.
This leads me to another issue I cannot quite wrap my head around.
I have two bc docker images, created on different servers (one via pipeline executing new-bcimage, on where I've executed it by hand). Both servers have the locale de-DE, but the image from the pipeline weirdly has en-US.
Should I close this issue and open another one as this is not quite the topic here?

Yeah - let's close this issue.
On System locale - I have found that the Windows Server Core 2016 images can change system locale (as they are really close to being a VM).
On later OS', I think they can change system locale when running Hyper-V, but when running process isolation - the system locale is (I think again) shared with the host.
So you might be running into limitations with Docker and Containers.


feat(rbac): add support for creation of role

Story: https://github.com/janus-idp/backstage-plugins/issues/941, https://github.com/janus-idp/backstage-plugins/issues/942
This PR adds support for creating a role via a create role form. It adds a create button on roles list page which takes the user to the create role form. User can provide name and description and also add  members (users/groups) to the role. On successful creation user is redirected to the roles list page.
Remaining ACs will be covered in this story - https://github.com/janus-idp/backstage-plugins/issues/975
https://github.com/janus-idp/backstage-plugins/assets/20724543/ebc2d36e-ad0f-4f45-9f39-255d49d85c3f
Error on submit:

To Do

[x] Add validation
[x] Add tests
[x] Clean up css

The create role review is missing

The delete icon is missing from the table

The empty state needs to be fixed

On hitting create and on successful creation user should be taken to the roles list page

Would you be adding the permission check for creating roles as part of this issue https://github.com/janus-idp/backstage-plugins/issues/975 ?

The Back and Reset buttons in the Figma are outlined,

The Back and Reset buttons in the Figma are outlined,

@debsmita1 the figma is based on new theme but for now I have kept everything consistent with what we already have. @parvathyvr lmk wdyt.

The Back and Reset buttons in the Figma are outlined,

@debsmita1 the figma is based on new theme but for now I have kept everything consistent with what we already have. @parvathyvr lmk wdyt.

If we are using the existing theme, i am okay with having the button style in the current implementation.
1 change- Step 2 should be 'Add users ad groups'.

@parvathyvr @debsmita1 for now I have added the following permission checks on accessibility of Create role button:

policy.entity.create
catalog.entity.read
catalog.entity.create

If the user has all the above permissions then they can go ahead and create the role, otherwise the button is disabled. LMK if  anything else is required here.

@parvathyvr @debsmita1 for now I have added the following permission checks on accessibility of Create role button:

policy.entity.create
catalog.entity.read
catalog.entity.create

If the user has all the above permissions then they can go ahead and create the role, otherwise the button is disabled. LMK if anything else is required here.

@divyanshiGupta catalog.entity.create this won't be necessary, we only want to fetch the users and groups

@debsmita1 I have added catalog.entity.create because during role creation we make an api call for creating the role. LMK if we dont need this check for that or policy.entity.create is sufficient?

@parvathyvr @debsmita1 for now I have added the following permission checks on accessibility of Create role button:

policy.entity.create
catalog.entity.read
catalog.entity.create

If the user has all the above permissions then they can go ahead and create the role and policies to it, otherwise the button is disabled. LMK if anything else is required here.

@divyanshiGupta catalog.entity.create this won't be necessary, we only want to fetch the users and groups

@debsmita1 I have added catalog.entity.create because during role creation we make an api call for creating the role as well. LMK if we dont need this check for that or policy.entity.create is sufficient?

@PatAKnight wdyt?

The Back and Reset buttons in the Figma are outlined,

@debsmita1 the figma is based on new theme but for now I have kept everything consistent with what we already have. @parvathyvr lmk wdyt.

If we are using the existing theme, i am okay with having the button style in the current implementation. Few things to update -Step 2 should be 'Add users and groups'. -Also i notice we are using 'Create a Role' and 'Create new role'. I think let's go with 'Create role' in the header and in the stepper so that it will be consistent when we have 'Edit role'.

@parvathyvr Done.

We should disable the route if a user is not authorized to create roles
https://github.com/janus-idp/backstage-plugins/assets/22490998/e263900e-faec-4e54-9159-53350dd0e5d6

I can add a user or group multiple times, and in this scenario, the backend does not generate an error
cc @PatAKnight @AndrienkoAleksandr

I can add a user or group multiple times, and in this scenario, the backend does not generate an error cc @PatAKnight @AndrienkoAleksandr

If there is a role with some users/groups and then an api call is made to add same user/group to the role then the backend returns an error but if we add same user/group multiple times in a single api call then the role successfully gets created. To avoid this from UI I have disabled the members that are already selected and can be seen in the table.
https://github.com/janus-idp/backstage-plugins/assets/20724543/00a8e50e-7673-4a91-824f-74ddb04f1689
cc: @parvathyvr @debsmita1

@divyanshiGupta dev mode doesn't seem to work

@divyanshiGupta Thanks for the work, overall looks good. I have one observation
Create btn is disabled, and no info is shown for the reason though the user has create access to the policy entity

I believe that is because the logged-in user didn't have create permission to catalog-entity so README should cover that or a tooltip

@divyanshiGupta Thanks for the work, overall looks good. I have one observation
Create btn is disabled, and no info is shown for the reason though the user has create access to the policy entity

I believe that is because the logged-in user didn't have create permission to `catalog-entity` so README should cover that or a tooltip

@invincibleJai yes it need policy.entity.create and catalog.entity.read permissions. Good idea to add in README.

@divyanshiGupta Thanks for the work, overall looks good. I have one observation
Create btn is disabled, and no info is shown for the reason though the user has create access to the policy entity

I believe that is because the logged-in user didn't have create permission to catalog-entity so README should cover that or a tooltip

Hi @divyanshiGupta I have added an inline alert scenario if 'Create' button is disabled- https://www.figma.com/file/E6C9X3OSVzlWkW7ZsbxN7s/Administration?type=design&node-id=1684-572&mode=design&t=4ygFyKpEzJg5P0h6-4
(The alert message is for a different scenario- but i assume we can use this pattern to display to the user as to why 'Create' is disabled in the UI).

@divyanshiGupta Thanks for the work, overall looks good. I have one observation
Create btn is disabled, and no info is shown for the reason though the user has create access to the policy entity

I believe that is because the logged-in user didn't have create permission to catalog-entity so README should cover that or a tooltip

Hi @divyanshiGupta I have added an inline alert scenario if 'Create' button is disabled- https://www.figma.com/file/E6C9X3OSVzlWkW7ZsbxN7s/Administration?type=design&node-id=1684-572&mode=design&t=4ygFyKpEzJg5P0h6-4 (The alert message is for a different scenario- but i assume we can use this pattern to display to the user as to why 'Create' is disabled in the UI).

@parvathyvr thanks 👍
@divyanshiGupta would you like to take this as follow up i.e as part of your final create flow PR?

@divyanshiGupta Thanks for the work, overall looks good. I have one observation
Create btn is disabled, and no info is shown for the reason though the user has create access to the policy entity

I believe that is because the logged-in user didn't have create permission to catalog-entity so README should cover that or a tooltip

Hi @divyanshiGupta I have added an inline alert scenario if 'Create' button is disabled- https://www.figma.com/file/E6C9X3OSVzlWkW7ZsbxN7s/Administration?type=design&node-id=1684-572&mode=design&t=4ygFyKpEzJg5P0h6-4 (The alert message is for a different scenario- but i assume we can use this pattern to display to the user as to why 'Create' is disabled in the UI).

@parvathyvr thanks 👍
@divyanshiGupta would you like to take this as follow up i.e as part of your final create flow PR?

@invincibleJai sure  I will address this in my next PR along with updating the README (based on what we decide if the change should be in rbac backend plugin or UI).

LGTM


💂♂ Grant Read-Only Access to SOC

As a member of the SOC team.
I need read-only access to CloudWatch Logs in Dev, Prep and Prod.
So that I can start work on ingesting logs to Sentinel.
Users:
Tajinder Samra - @tss78a
Abijith John - @ajo11n
Rajesh Malkagiri - @malkaraj999
Omari Gordon-Robinson - @omarimoj

Abhijith John - @ajo11n

Tajinder Samra - tss78a

Abhijith John - ajo11n

Rajesh - malkaraj999

Requested the team create a GitHub team, once we have this we can grant access by creating a PR here.

Hi @tss78a - what's your GitHub team called?

Omari,
Do we have a GitHub Team?
[45F31A39]
Many Thanks
Tajinder Samra
Senior Security Operations Engineer
Service Operations
102 Petty France, London. SW1H 9AJ
<EMAIL_ADDRESS>Tel: 07779 622 913
People Finder Profilehttps://peoplefinder.service.gov.uk/people/duncan-proffitt
IT Security Guidelineshttps://intranet.justice.gov.uk/guidance/security/it-computer-security/ict-security-policy-framework/it-security-guidelines/
Planned absences
[667A31AF]
From: Gary @.>
Date: Thursday, 24 November 2022 at 11:34
To: ministryofjustice/nvvs-devops @.>
Cc: Samra, Tajinder @.>, Mention @.>
Subject: Re: [ministryofjustice/nvvs-devops] 💂♂ Grant Read-Only Access to SOC (Issue #289)
Hi @tss78ahttps://github.com/tss78a - what's your GitHub team called?
—
Reply to this email directly, view it on GitHubhttps://github.com/ministryofjustice/nvvs-devops/issues/289#issuecomment-1326327920, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4GHCVVBS3L6633XAZKMOZ3WJ5HENANCNFSM6AAAAAAR3IW5EQ.
You are receiving this because you were mentioned.Message ID: @.***>

This e-mail and any attachments is intended only for the attention of the addressee(s). Its unauthorised use, disclosure, storage or copying is not permitted. If you are not the intended recipient, please destroy all copies and inform the sender by return e-mail. Internet e-mail is not a secure medium. Any reply to this message could be intercepted and read by someone else. Please bear that in mind when deciding whether to send material in response to this message by e-mail. This e-mail (whether you are the sender or the recipient) may be monitored, recorded and retained by the Ministry of Justice. Monitoring / blocking software may be used, and e-mail content may be read at any time. You have a responsibility to ensure laws are not broken when composing or forwarding e-mails and their contents.

Any progress on creating a team?

Can you search for SOC Engineering?
[45F31A39]
Many Thanks
Tajinder Samra
Senior Security Operations Engineer
Service Operations
102 Petty France, London. SW1H 9AJ
<EMAIL_ADDRESS>Tel: 07779 622 913
People Finder Profilehttps://peoplefinder.service.gov.uk/people/duncan-proffitt
IT Security Guidelineshttps://intranet.justice.gov.uk/guidance/security/it-computer-security/ict-security-policy-framework/it-security-guidelines/
Planned absences
[667A31AF]
From: Gary @.>
Date: Tuesday, 29 November 2022 at 15:45
To: ministryofjustice/nvvs-devops @.>
Cc: Samra, Tajinder @.>, Mention @.>
Subject: Re: [ministryofjustice/nvvs-devops] 💂♂ Grant Read-Only Access to SOC (Issue #289)
Any progress on creating a teamhttps://github.com/orgs/ministryofjustice/teams?
—
Reply to this email directly, view it on GitHubhttps://github.com/ministryofjustice/nvvs-devops/issues/289#issuecomment-1330850632, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4GHCVRTCOWNBUDSEAY2QQTWKYQINANCNFSM6AAAAAAR3IW5EQ.
You are receiving this because you were mentioned.Message ID: @.***>

This e-mail and any attachments is intended only for the attention of the addressee(s). Its unauthorised use, disclosure, storage or copying is not permitted. If you are not the intended recipient, please destroy all copies and inform the sender by return e-mail. Internet e-mail is not a secure medium. Any reply to this message could be intercepted and read by someone else. Please bear that in mind when deciding whether to send material in response to this message by e-mail. This e-mail (whether you are the sender or the recipient) may be monitored, recorded and retained by the Ministry of Justice. Monitoring / blocking software may be used, and e-mail content may be read at any time. You have a responsibility to ensure laws are not broken when composing or forwarding e-mails and their contents.

SOC Engineering it is thanks.
We'll pull this in at the end of the sprint if we have time. If not it'll be in the next sprint.
You will need to add everyone in the above to your team and @malkaraj999 doesn't appear to have accepted his invitation to the organisation.

PR created, awaiting merge.

Above PR merged. @tss78a I'll send you the URL you need to access. The rest of the @OmariMoJ @ajo11n and @malkaraj999 won't be able to access until they're in the GitHub team and Ministry of Justice Organisation.

Thanks.
[45F31A39]
Many Thanks
Tajinder Samra
Senior Security Operations Engineer
Service Operations
102 Petty France, London. SW1H 9AJ
<EMAIL_ADDRESS>Tel: 07779 622 913
People Finder Profilehttps://peoplefinder.service.gov.uk/people/duncan-proffitt
IT Security Guidelineshttps://intranet.justice.gov.uk/guidance/security/it-computer-security/ict-security-policy-framework/it-security-guidelines/
Planned absences
[667A31AF]
From: Gary @.>
Date: Monday, 12 December 2022 at 15:54
To: ministryofjustice/nvvs-devops @.>
Cc: Samra, Tajinder @.>, Mention @.>
Subject: Re: [ministryofjustice/nvvs-devops] 💂♂ Grant Read-Only Access to SOC (Issue #289)
Above PR merged. @tss78ahttps://github.com/tss78a I'll send you the URL you need to access. The rest of the @OmariMoJhttps://github.com/OmariMoJ @ajo11nhttps://github.com/ajo11n and @malkaraj999https://github.com/malkaraj999 won't be able to access until they're in the GitHub team and Ministry of Justice Organisation.
—
Reply to this email directly, view it on GitHubhttps://github.com/ministryofjustice/nvvs-devops/issues/289#issuecomment-1346773447, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4GHCVWBOMC6ARO55WDS6KDWM5DCZANCNFSM6AAAAAAR3IW5EQ.
You are receiving this because you were mentioned.Message ID: @.***>

This e-mail and any attachments is intended only for the attention of the addressee(s). Its unauthorised use, disclosure, storage or copying is not permitted. If you are not the intended recipient, please destroy all copies and inform the sender by return e-mail. Internet e-mail is not a secure medium. Any reply to this message could be intercepted and read by someone else. Please bear that in mind when deciding whether to send material in response to this message by e-mail. This e-mail (whether you are the sender or the recipient) may be monitored, recorded and retained by the Ministry of Justice. Monitoring / blocking software may be used, and e-mail content may be read at any time. You have a responsibility to ensure laws are not broken when composing or forwarding e-mails and their contents.


Dark mode persists

The dark mode doesn't persist when a user comes back to visit our website, and we can use the system mode to give a better user experience. So can you please assign this issue to me under gssoc

Good to Go @siddxharth1


Add support for granular cache on Android SDK

In the same way this action hooks on the Gradle build to gather details about the project being run and further caching what is getting downloaded, it would be nice to have the same behavior for the Android plugin.
Currenly we are caching the whole Andrioid SDK folder (after starting with just the command line tools installed and letting AGP download what it needs). But this approach may eventually grow indefinitely by having platform-sdk for instance no longer used by any Android build.
Probably this is not strictly in scope of this action but I can imagine the behavior and implementation will be pretty much the same: hook on the build, react on AGP plugin, and cache those SDKs components used by the build.

This is out of scope for the setup-gradle action, and we're unlikely to implement anything like this in the near future. Closing this issue.


Add Custom Scrollbar

Is your feature request related to a problem? Please describe.
I want to add a custom scroll bar that matches the UI of the website

Please assign this issue under LGMSOC21
@sanskarbansal @ashishnagpal2498 @Supriya1702 @abhay27chauhan

@priyaastha i think you havn"t tagged the right people.

Sorry and thanks

@priyaastha any updates??

Hey, should I apply this custom scrollbar on all the pages?

According to me, some of the files that may be changed to apply the scrollbar:
client/src/index.css
client/src/App.css
client/src/components/Auth/Forgot/Forgot.module.css
client/src/components/Auth/ResetPassword/ResetPassword.module.css
client/src/components/Auth/SignIn/SignIn.module.css
client/src/components/Auth/SignUp/SignUp.module.css
and there are many more.
So, if there's any file which you think should not be changed please tell me. Thanks a lot.

@priyaastha Why are all these files being changed i think we need to change only app.css

Ok, sir. Thanks for the help.


Build docker image on github

Fairly simple since GitHub actions are already defined. Just need to enable the actions and ensure the correct configuration. This will allow substituting the old repo's image with this updated one and hopefully serve as a drop-in replacement.

Also ran into this issue while attempting to build the docker image locally:
Dockerfile:41
--------------------
  39 |
  40 |     # Copy the rest of the application code into the working directory
  41 | >>> COPY ./server/src ./src
  42 |
  43 |     RUN CI=true sh -c "cd /app && npm run start && rm -rf data"
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref beb7b92f-4002-4a79-9c20-ef87d3bd3877::ufchquwyr7id81094qo24x2ps: "/server/src": not found

hey, sorry for the late reply, my notifications were off.
I had removed the server folder since I'm not using anything server side at https://chatwithgpt-app.web.app/
but I'm ok with having it in the repo in case you want to build it yourself. I've just restored it


Feature/task priority

Argument support for dispatch task priority in dispatch_delivery/loop/clean scripts
Able to select priority on web UI, while removing the evaluator selection

Will reopen a separate PR on this due to corrupted DCO


[Bug]: "Select values": Button "Get fields to select" not working when there are already fields listed

Apache Hop version?
2.5
Java version?
openjdk 11.0.19 2023-04-18 OpenJDK Runtime Environment OpenLogic-OpenJDK (build 11.0.19+7-adhoc..jdk11u) OpenJDK 64-Bit Server VM OpenLogic-OpenJDK (build 11.0.19+7-adhoc..jdk11u, mixed mode)
Operating system
Windows
What happened?
The "Get fields to select" button in the "Select values" transform works fine when no fields are listed yet (eg. when using the transform for the first time).
However, it doesn't work when the list is already populated. At this point, pushing the button (for example because the incoming fields have changed) does nothing.
After deleting the current fields manually and then hitting that button again, it states that "There already is data entered, 0 lines were found".
It seems that at this step, it recognizes that there WERE fields before, but then it counts the current fields and finds that there are zero.

And just since we are on it, maybe change (shorten) the message to: "X fields are listed already." (e. g. 7 fields are listed already).
EDIT: I noticed that when the list is basically the same but there are just additional incoming fields, it just adds them without asking "how" they should be added (i.e. the popup in the screenshot above doesn't show up).
Issue Priority
Priority: 3
Issue Component
Component: Hop Gui

Thanks for reporting this @gertwieland! This has been fixed with #3020

Thanks a lot, @hansva. I think the JavaScript transform has basically the same (or similar) issue..
I still didn't get to pull and test 2.6. Would you know if that too has been fixed?

It's an issue in all transforms with that button in 2.5. It has been solved globally.

Awesome, thanks a lot, @hansva 😊
Aug 6, 2023 5:30:20 a.m. Hans Van Akelyen @.***>:

It's an issue in all transforms with that button in 2.5. It has been solved globally.
—
Reply to this email directly, view it on GitHub[https://github.com/apache/hop/issues/3142#issuecomment-1666790202], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AMK5NEYRE5TVSYPAQIULYXTXT5PZVANCNFSM6AAAAAA3FMCOSI].
You are receiving this because you were mentioned.[Tracking image][https://github.com/notifications/beacon/AMK5NE26N6NR2HFN322AGM3XT5PZVA5CNFSM6AAAAAA3FMCOSKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTDLEZTU.gif]


Verifying args callbacks always fails

Describe the bug
When passing a void Function() as an arg, verify() seems to always fail.
Code to Reproduce
class Example {
  const Example();

  void run(void Function() callback) {
    callback();
  }
}

class Methods {
  const Methods();

  void foo() {}
  void bar() {}
}

class MockMethods extends Mock implements Methods {}

class MockExample extends Mock implements Example {}

extension on Methods {
  void baz() {}
}

void runner({
  required Example example,
  required Methods methods,
}) {
  example
    ..run(methods.foo)
    ..run(methods.bar)
    ..run(methods.baz);
}

void main() {
  late Example mockExample;
  late Methods mockMethods, methods;

  setUp(() {
    mockExample = MockExample();
    mockMethods = MockMethods();
    methods = const Methods();
  });

  test('gracefully runs mocked callback provided to mock #run', () async {
    runner(example: mockExample, methods: mockMethods);

    verify(() => mockExample.run(any())).called(3); // passes
    verify(() => mockExample.run(mockMethods.foo)).called(1); // fails
    verify(() => mockExample.run(mockMethods.bar)).called(1); // fails
    verify(() => mockExample.run(mockMethods.baz)).called(1); // fails
  });

  test('gracefully runs real callback provided to mock #run', () async {
    runner(example: mockExample, methods: methods);

    verify(() => mockExample.run(any())).called(3); // passes
    verify(() => mockExample.run(methods.foo)).called(1); // fails
    verify(() => mockExample.run(methods.bar)).called(1); // fails
    verify(() => mockExample.run(methods.baz)).called(1); // fails
  });
}

Logs

gracefully runs mocked callback provided to mock #run
No matching calls. All calls: [VERIFIED] MockExample.run(Closure: () => void from Function 'foo':.), [VERIFIED] MockExample.run(Closure: () => void from Function 'bar':.), [VERIFIED] MockExample.run(Closure: () => void)
(If you called `verify(...).called(0);`, please instead use `verifyNever(...);`.)
package:test_api                           fail
package:mocktail/src/mocktail.dart 723:7   _VerifyCall._checkWith
package:mocktail/src/mocktail.dart 516:18  _makeVerify.<fn>
test/utils/fake_test.dart 51:11            main.<fn>
test/utils/fake_test.dart 47:65            main.<fn>

gracefully runs real callback provided to mock #run
No matching calls. All calls: [VERIFIED] MockExample.run(Closure: () => void from Function 'foo':.), [VERIFIED] MockExample.run(Closure: () => void from Function 'bar':.), [VERIFIED] MockExample.run(Closure: () => void)
(If you called `verify(...).called(0);`, please instead use `verifyNever(...);`.)
package:test_api                           fail
package:mocktail/src/mocktail.dart 723:7   _VerifyCall._checkWith
package:mocktail/src/mocktail.dart 516:18  _makeVerify.<fn>
test/utils/fake_test.dart 60:11            main.<fn>
test/utils/fake_test.dart 56:63            main.<fn>

flutter doctor
[✓] Flutter (Channel stable, 2.10.1, on macOS 12.1 21C52 darwin-arm, locale en-US)
    • Flutter version 2.10.1 at /Users/morganhunt/Development/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db747aa133 (13 days ago), 2022-02-09 13:57:35 -0600
    • Engine revision ab46186b24
    • Dart version 2.16.1
    • DevTools version 2.9.2

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/morganhunt/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.64.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 98.0.4758.102
    ! Error: iPhone is not connected. Xcode will continue when iPhone is connected. (code -13)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Hi @mrgnhnt96 👋
Thanks for opening an issue!
I believe the problem is you are verifying run(any()).called(3) first which verifies the calls successfully so they are no longer considered in future verifications.
The following passes locally
import 'package:mocktail/mocktail.dart';
import 'package:test/test.dart';

class Example {
  const Example();

  void run(void Function() callback) => callback();
}

class MockExample extends Mock implements Example {}

void runner({
  required Example example,
  required List<void Function()> methods,
}) {
  for (final method in methods) {
    example.run(method);
  }
}

void main() {
  late Example mockExample;
  late List<void Function()> methods;

  late void Function() foo;
  late void Function() bar;
  late void Function() baz;

  setUp(() {
    foo = () {};
    bar = () {};
    baz = () {};
    mockExample = MockExample();
    methods = <void Function()>[foo, bar, baz];
  });

  test('gracefully runs mocked callback provided to mock #run', () async {
    runner(example: mockExample, methods: methods);
    verify(() => mockExample.run(foo)).called(1);
    verify(() => mockExample.run(bar)).called(1);
    verify(() => mockExample.run(baz)).called(1);
  });

  test('gracefully runs real callback provided to mock #run', () async {
    runner(example: mockExample, methods: methods);
    verify(() => mockExample.run(foo)).called(1);
    verify(() => mockExample.run(bar)).called(1);
    verify(() => mockExample.run(baz)).called(1);
  });
}

Interesting, I didn't know that they were taken from the running after they were verified. Maybe I overlooked it, thanks for letting me know!
I know extensions can't really be verified. But what if I want to verify what happens in the extension method?
In my case I am using mason_logger, I have created an extension method called "cooking" which calls info('cooking...'), (in an effort to stay DRY). I don't necessarily care that cooking is called, but I do care that info('cooking...') is called. I think that the tests still fail though
import 'package:mocktail/mocktail.dart';
import 'package:test/test.dart';

class Example {
  const Example();

  void run(void Function() callback) {
    callback();
  }
}

class Methods {
  const Methods();

  void foo() {}
  void bar() {}
}

extension on Methods {
  void baz() {
    foo();
    bar();
  }
}

class MockMethods extends Mock implements Methods {}

class MockExample extends Mock implements Example {}

void runner({
  required Example example,
  required Methods methods,
}) {
  example
    ..run(methods.foo)
    ..run(methods.bar)
    ..run(methods.baz);
}

void main() {
  late Example mockExample;
  late Methods mockMethods, methods;

  setUp(() {
    mockExample = MockExample();
    mockMethods = MockMethods();
    methods = const Methods();
  });

  test('gracefully runs mocked callback provided to mock #run', () async {
    runner(example: mockExample, methods: mockMethods);

    verify(() => mockExample.run(mockMethods.foo)).called(2); // Expected: <2> Actual: <1>
    verify(() => mockExample.run(mockMethods.bar)).called(2); // Expected: <2> Actual: <1>
  });

  test('gracefully runs real callback provided to mock #run', () async {
    runner(example: mockExample, methods: methods);

    verify(() => mockExample.run(methods.foo)).called(2); // Expected: <2> Actual: <1>
    verify(() => mockExample.run(methods.bar)).called(2); // Expected: <2> Actual: <1>
  });
}

@mrgnhnt96 not sure why you expect those methods to be called twice when runner is only called once. If you want them to be called twice you'd need to call runner twice like:
import 'package:test/test.dart';
import 'package:mocktail/mocktail.dart';

class Example {
  const Example();

  void run(void Function() callback) {
    callback();
  }
}

class Methods {
  const Methods();

  void foo() {}
  void bar() {}
}

extension on Methods {
  void baz() {
    foo();
    bar();
  }
}

class MockMethods extends Mock implements Methods {}

class MockExample extends Mock implements Example {}

void runner({
  required Example example,
  required Methods methods,
}) {
  example
    ..run(methods.foo)
    ..run(methods.bar)
    ..run(methods.baz);
}

void main() {
  late Example mockExample;
  late Methods mockMethods, methods;

  setUp(() {
    mockExample = MockExample();
    mockMethods = MockMethods();
    methods = const Methods();
  });

  test('gracefully runs mocked callback provided to mock #run', () async {
    runner(example: mockExample, methods: mockMethods);
    runner(example: mockExample, methods: mockMethods);

    verify(() => mockExample.run(mockMethods.foo)).called(2);
    verify(() => mockExample.run(mockMethods.bar)).called(2);
  });

  test('gracefully runs real callback provided to mock #run', () async {
    runner(example: mockExample, methods: methods);
    runner(example: mockExample, methods: methods);

    verify(() => mockExample.run(methods.foo)).called(2);
    verify(() => mockExample.run(methods.bar)).called(2);
  });
}

Let me know if that helps or if I missed something. Closing for now but I'm happy to continue the conversation 👍


Remove preferred-install configuration as it is the default

Follow-up of https://github.com/symfony/skeleton/pull/206

Thank you @MatTheCat.


Add support for glTF KTX2

Current draft implementation: https://github.com/bghgary/Babylon.js/tree/gltf-ktx2

Mark Callow from glTF working group is working on a smaller WASM that we can use.

Experimental support landed with PR #7640


WIP - Underscore literals

I implemented the feature according to the RFC
I samples from RFC work properly please review before I added the tests

Can you please start adding the tests? Would make it much easier for me to review.

OK working on it thanks

I added the positive test
for the negative it's look like I need vs15 to run them so i'm moving to the virtual machine

added few comments. apart from that:

somehow some tests are broken
[<Test>]
member this.ParseStringViaConversionOps() =
    let s : string = null
    CheckThrowsArgumentNullException2 "sbyte" (fun () -> sbyte s |> ignore)
    CheckThrowsArgumentNullException2 "byte" (fun () -> byte s |> ignore)
    CheckThrowsArgumentNullException2 "int16" (fun () -> int16 s |> ignore)
    CheckThrowsArgumentNullException2 "uint16 " (fun () -> uint16 s |> ignore)
    CheckThrowsArgumentNullException2 "int" (fun () -> int s |> ignore)
    CheckThrowsArgumentNullException2 "int32" (fun () -> int32 s |> ignore)
    CheckThrowsArgumentNullException2 "uint32" (fun () -> uint32 s |> ignore)
    CheckThrowsArgumentNullException2  "int64" (fun () -> int64 s |> ignore)
    CheckThrowsArgumentNullException2 "uint64" (fun () -> uint64 s |> ignore)
    CheckThrowsArgumentNullException2 "float32" (fun () -> float32 s |> ignore)
    CheckThrowsArgumentNullException2 "float" (fun () -> float s |> ignore)
    CheckThrowsArgumentNullException2 "decimal" (fun () -> decimal s |> ignore)

looks like it's related to parsing/converting nulls

Tanks you are great i'll check it tomorrow night

@dotnet-bot test this please

@dsyme what do you think about the implementation?
the errors message for invalid literals in the RFC are the errors the compile need to report or the
regular error for invalid numeric literals is ok?
I have a problem to add test to the errors it's tell me the error no match and then print the same error

LGTM - I think this is ready to go.

@dsyme thanks I fixed the typo and inline issues

@AviAvni You seem to be missing a test case for the following bit of the spec:

You cannot place underscores in the following places:

Prior to an F or L or other suffix

and I noticed that the implementation grammar seems to allow it (1.0_F), although I can't test it myself at the moment. Would you mind adding a test case for that?

Also, the spec doesn't seem to make any stance on the validity of underscores around the exponent notation (2.1_e2F, 2.1e_2F) - I think the grammar currently allows it, although it seems consistent to disallow it (for example, C#7's similar feature disallows underscores around an exponent). In any case, we probably want to add a test asserting one behavior or another.

@khyperia thanks I opened new pr fixed the float issue and add tests for errors https://github.com/Microsoft/visualfsharp/pull/1256


Fail fast when fe config with localhost in case of be report state with failure continuously

FE config with a wrong local ip <IP_ADDRESS> which may caused by a wrong priority_networks
/apps/starrocks/fe/log/fe.log:2021-11-12 17:16:44,386 INFO (main|1) [FrontendOptions.init():96] local address: /<IP_ADDRESS>.
/apps/starrocks/fe/log/fe.log:2021-11-12 17:17:03,087 INFO (main|1) [FrontendOptions.init():96] local address: /<IP_ADDRESS>.

BE will report state with error continuously
W1112 17:46:29.757815 23335 task_worker_pool.cpp:1108] Fail to report task to :0, err=-1
W1112 17:46:39.758109 23335 utils.cpp:90] Fail to get master client from cache. host= port=0 code=THRIFT_RPC_ERROR
W1112 17:46:39.758141 23335 task_worker_pool.cpp:1108] Fail to report task to :0, err=-1
W1112 17:46:49.758456 23335 utils.cpp:90] Fail to get master client from cache. host= port=0 code=THRIFT_RPC_ERROR

@caneGuy
When you modify C++ files, you should run ./build-support/clang-format.sh to make clang-format check pass.

thanks for your reminder @imay


Use Hident

It would be nice to switch to a well known style that can be enforced with a tool.

Done in https://github.com/pusher-community/pusher-http-haskell/pull/54


Document (or maybe even refactor) sync.py

Took me too long to figure out what you mean by "raw". Why separate it in two methods when they are always used together? (self.package_config.synced_files.get_raw_files_to_sync() and sync_files())
And also - you set SyncFilesItem from config, only to transfer it to RawSyncFilesItem later - why adding additional layer?
Originally posted by @dhodovsk in https://github.com/packit-service/packit/pull/263
@lachmanfrantisek responded with:

SyncFilesItem can contain wildcards and multiple sources.
RawSyncFilesItem has only one source and it cannot contain wildcards and wildcard expansion needs to be done in the real directory. Not in the time, when SyncFilesItem is loaded from the config file.

Might not be valid anymore, bye


Update steward with scheduled cork commands

Add detail

There are a couple more Aave commands left to support.


[cppunit] Build failure on x64-osx

Package<EMAIL_ADDRESS>Host Environment

Host: x64-osx
Compiler: AppleClang <IP_ADDRESS>00026
vcpkg-tool version: 2024-08-01-fd884a0d390d12783076341bd43d77c3a6a15658
vcpkg-scripts version: 6046e4816 2024-11-07 (12 hours ago)

To Reproduce
vcpkg install cppunit
Failure logs
-- Using cached cppunit-1.15.1.tar.gz.
-- Cleaning sources at /Users/gowa/vcpkg/buildtrees/cppunit/src/cppunit-1-60beb2c90e.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /Users/gowa/vcpkg/downloads/cppunit-1.15.1.tar.gz
-- Using source at /Users/gowa/vcpkg/buildtrees/cppunit/src/cppunit-1-60beb2c90e.clean
-- Found external ninja('1.12.1').
-- Getting CMake variables for x64-osx-dbg
-- Getting CMake variables for x64-osx-rel
CMake Error at scripts/cmake/vcpkg_configure_make.cmake:721 (message):
  cppunit requires autoconf from the system package manager (example: "sudo
  apt-get install autoconf")
Call Stack (most recent call first):
  ports/cppunit/portfile.cmake:34 (vcpkg_configure_make)
  scripts/ports.cmake:192 (include)

Could you try installing autoconf in build environment? For example, install it via brew.


Feature request: Add Length-Sort config to isort

Thanks for an awsome library. I am currently trying to replace the old flake8 and isort setup on our repo with ruff.
We can almost replace isort with ruff, but we are currently using the Length-Sort configuration from isort, which currently can't be found in ruff.

Love the Annoy-o-Tron.

We also need this to be able to migrate to ruff!

Hi @charliermarsh 👋🏼 I've started learning Rust for a while but haven't contributed yet and want to start from somewhere. So if you allow can I pick this one ?

Hi @charliermarsh, just wanted to know that if you have any idea for the implementation approach for this..if so could let me know I am thinking to pick this up. I saw the comment, a bit confused by it.. so if you can elaborate it would be great.

Hi there :wave:
I will try to implement this option, but I have a question about the already implemented method.
Do I understand correctly that order_by_type and length-sort are mutually exclusive options? If so, should I add an enum with the options?

While you're at supporting length-sort, please also support length-sort-straight.  That's probably the biggest isort feature I rely on that is missing from ruff.

Do I understand correctly that order_by_type and length-sort are mutually exclusive options? If so, should I add an enum with the options?

I don't know the answer to that.  My guess is that they are not mutually exclusive since different isort options control them, but I don't know how they interact if both are set.
For length-sort and length-sort-straight my guess is that the latter is a subset of the former, but I'm not sure how they interact if say the former were true and the latter were false.

Hey! I'm currently working on this one and I have a working implementation of the basic functionality. @suharnikov if you're still working on it as well I'll leave it for you of course :)
I do have one question though, I couldn't help but notice that there are a bunch of functions that take in a whole lot of isort settings (like format_imports in rules/isort/mod.rs), and I was wondering why they don't just take in a reference to an isort::settings::Settings? Is there a particular reason for that? I tried changing the function signatures and it seems to work alright that way too.
Having all the settings passed around separately yields a fair amount of tedious work when you're trying to add a new setting because you have to chase down all the places that they need to be added and change all the function signatures.
But if there's a good reason that I just haven't figured out I'd love to know about it 🙂

@bluthej - I think it's probably okay to refactor those methods to accept Settings. If you're able to work on that, do you mind putting it up as a standalone PR, with just that refactor, to make it easier to review and merge?

Absolutely! That's no problem at all :)
Then I'll start with the refactor and come back to this one when it's merged 😊

#7963 is merged, which should pave the way for this.

Hey, so I got back to working on this, and that led me to the following question.
When using length-sort, isort will count the dots of relative imports in the length instead of sorting by distance and then length of the module name itself (without the dots). Is that the behavior we want? Or do we want to first sort based on distance and then length of module name?

Note: We should clarify whether the length means number of characters or the unicode width. Or are unicode names not supported by python (whether they're discouraged is another question ;))

That's a fair point!
On my system (Python 12 on Arch Linux) I cannot seem to be able to import a module with a non-ASCII character, I get a module not found error. However importing members with non-ASCII characters works. Now isort uses the built-in len, which yields the number of characters, not the number of bytes or whatever.
I guess we can use .chars().count() to get the number of characters for members and .len() for modules (I assume the len method is faster because it doesn't iterate over the characters, it just accesses the length stored in the str/String). We might not sort modules properly if there are non-ASCII characters in some of them but as far as I can tell that means the input is not valid Python so it's probably worth the speedup.

Now isort uses the built-in len, which yields the number of characters

What’s a “character”? I think len does codepoints and not, say, grapheme clusters …
For a more accurate length, I think we’d have to iterate grapheme clusters and check which ones are likely to render at double width. (Don’t let yourself be confused by “wide character” sometimes meaning storage size and sometimes literal width on screen)

What’s a “character”? I think len does codepoints and not, say, grapheme clusters …

According to the Python docs:

Since Python 3.0, the language’s str type contains Unicode characters

and they add:

The Unicode standard describes how characters are represented by code points

So you are correct, len does codepoints. The Rust equivalent would be .chars().count() right?

For a more accurate length, I think we’d have to iterate grapheme clusters

I wouldn't necessarily say "more accurate", but the argument can be made that it's more "natural" for humans. The downside is that it would make ruff behave differently from isort, so there's a bit of a tradeoff.

E.g. check out how my terminal renders “平”, which of course is a valid Python identifier:

Interesting! I'm going to have to figure out why my example didn't work :)

I would prefer that we use Unicode width, which is what we use everywhere else (even though we use the term "length" -- we nearly renamed them all when we released the formatter but decided to defer that decision).

(You should be able to call .width() on any string using the use unicode_width::UnicodeWidthChar trait.)

That’s exactly the concept I was talking about btw :smiley:

(You should be able to call .width() on any string using the use unicode_width::UnicodeWidthChar trait.)

I think you meant the unicode_width::UnicodeWidthStr trait for strings :)
I switched to .width() and added some tests with non-ASCII characters.
What about relative imports? Should we follow isort and count the dots in the length?


[Bug] DiffEditor Trailing Line Is Marked As Difference When A Difference Text Is At The End Of Line

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[ ] Not reproducible in the monaco editor playground

Monaco Editor Playground Link
https://microsoft.github.io/monaco-editor/playground.html?source=v0.45.0#XQAAAAIbBQAAAAAAAABBqQkHQ5NjdMjwa-jY7SIQ9S7DNlzs5W-mwj0fe1ZCDRFc9ws9XQE0SJE1jc2VKxhaLFIw9vEWSxW3yscw7sLNaAEiAJM8XEuX7Os378jBGtVLkr6ryuhqvky-XZ9Sy0vyFSI1m9lYQpwqOsaKmhydYWIo-9hGbv_4wlPHIol1gXlyE-FggjI3kNdcw19f9yHegkUkzNwDjXwHZr6aoSbdnyyEWAclBcWUhIMq11JrllrOakARMz_8-jq2sUjuJNNWAd-_XZfk544MznS5AaO045wJFm8f22iZ3lNJCsd38LMLmJf2uFLz_coY-zpDLSih0ffXYB71VXzwfCgeHHm1SD3CkxJZkysWQZ7XFOMG4bUM83m28Axl3lop1_p_rjaoGdFeX2i-p9Q3rEZqFQYUgyT1p0W-CzLdZ1O_4X0tSC88c3u0SelVHI0ZivDrm8HDgvM6jXJxmGk7_H7NgFQq2jNy05IX0IfEsvbCSCBsvMItogAoggInl5zHWgBOpuyv7ajBHkOKt2iX7QA8G2VZfmctQ5ITNzCMI9feDc6JJQ2T5FBTBt-Us-_vq883aVKluVLYVxP0jEnXxsm8haEkxHXEM2VGLErnMvhSoEqHqzSbTHGpIABs7eDj2fWlKe3KsZ_1EOQd921Bz2xZntTDmKv8X232
Monaco Editor Playground Code
const originalModel = monaco.editor.createModel(
	/* set from `originalModel`: */ `<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - Difference.Website</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/site.css" />
    <link rel="stylesheet" href="~/css/diff.css" />
</head>`,
	"text/plain"
);
const modifiedModel = monaco.editor.createModel(
	/* set from `modifiedModel`: */ `<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - Difference.Website</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/main.min.css" />
    <link rel="stylesheet" href="~/css/site.min.css" />
</head>`,
	"text/plain"
);

const diffEditor = monaco.editor.createDiffEditor(
	document.getElementById("container"),
	{
		originalEditable: true,
		automaticLayout: true,
	}
);
diffEditor.setModel({
	original: originalModel,
	modified: modifiedModel,
});

Reproduction Steps
Paste the below code in the first diff editor:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - Difference.Website</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/site.css" />
    <link rel="stylesheet" href="~/css/diff.css" />
</head>

Paste the below code in the second diff editor:

@ViewData["Title"] - Difference.Website
    @**@

Actual (Problematic) Behavior
When a difference is present at the end of the line, the whole line till the end get colored.
I even tried the option "ignoreTrimWhitespace" but it gives the same result.
This error started to happen after v0.43.0. Please check the attached image. In image "Error" which uses v.0.45.0 the whole trailing line is colored whereas in image "Correct" which uses v0.43.0 only the difference text is colored.

Expected Behavior
When a difference text is present at the end of the line, only the different text should be colored.
Additional Context
No response

Stumbled on the same issue. And this actually IS reproducible in the newest version of VS Code.


Infinite notifications

@arekzelechowski — Thank you for your contribution!
So if I understand correctly, setting ttl to a value of 0 will make the notification to be displayed permanently?
Thanks again!

That's right.
Arkadiusz Żelechowski
Dnia 23 lip 2015 o godz. 08:33 Jurgen Van de Moere<EMAIL_ADDRESS>napisał(a):

@arekzelechowski — Thank you for your contribution!
So if I understand correctly, setting ttl to a value of 0 will make the notification to be displayed permanently?
Thanks again!
—
Reply to this email directly or view it on GitHub.

@arekzelechowski — Ok, sounds good to go.
Can you update the change log in the README.md and add a line for v2.1.3:

added support for permanent notification using ttl=0

Thanks!

I have updated change log in README.md file.

@arekzelechowski mdash; Thanks, great work!
Maybe one last thought. A timeout of 0ms is often used in JavaScript to delay a call to the next "tick". What do you think about using -1 (number) or false (boolean) for permanent notifications so it doesn't mentally conflict with existing practices.
Using 0 would break changes for existing users.
So I like your proposal but would prefer to use -1 and false (we can allow both).
What are your thoughts?

You are right, commit is coming in a while with updated code and README.

Did you have a chance to look at the latest changes?

@arekzelechowski — I think the condition needs to be rewritten.
In Chrome I get:
true >= 0
// true
false >= 0
// true
-1 >= 0
// false

so I think it should be:
if(options.ttl === -1 || options.ttl === false){ ... }

Since using -1 is a new feature, the version will also have to be updated to v2.2.0 in bower.json and README.md.
Can you make those last changes? Then everything looks good to go.
Thanks again for all your efforts!

Closed due to lack of response.
@arekzelechowski — Feel free to re-open if you still want to work on this. Thanks!

This has been added in PR #33.

Sorry @jvandemo, didn't have time.

@arekzelechowski — No problem, thank you for the update! 👍