[Bug]: Race Condition detected in SpannerTransactionWriterDoFn

What happened?
Race Condition detected in SpannerTransactionWriterDoFn between the setup and teardown phases leading to missing records during spanner migration.
Root cause :
The root cause is spanner object being closed immediately after create due to a race condition in SpannerAccessor class.
Race Condition:

SpannerAccessor.getOrCreate get's called during the @setup of the SpannerTransactionWriterDoFn and SpannerAccessor.close get's called during it's @teardown

These functions use a combination of synchronous access and atomic Reference counts to share the spanner connections for a given spanner config. This leads to a case where in rare timing conditions, a spannerAccessor can be returend when it's getting closed concurrently in another threead.

When SpannerAccessor.getOrCreate provisions a new connection:
3.1. Queries the Accessor from a concurrent hashmap
3.2. If not found, it takes the lock, provisions the connection.
3.3. sets the refcount to 0.
3.4. releases the lock.
3.5. increments the refcount outside the lock.

When SpannerAccessor.close destroys a connection:
4.1.  atomically decrements the refcount.
4.2 if the refcount is 0.
4.3. it, takes the lock.
4.4 Rechecks the refcount.
4.5. destroys a connection iff the refcount during the second check is <= 0.

If the Sequence of execution is 3.1, 4.1, 4.2, 4.3, 4.4, 4.5, 3.5, we lead to the race condition.

A few options that could fix this

Let spanner.close() currently being called by the close routine be deferred to finalize(). This will let the obtained object remain valid till it gets picked up for GC.

Guard the entire logic in getOrCreate and close under readWrite locks.

Issue Priority
Priority: 1 (data loss / total loss of function)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[x] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue
.add-label spanner,gcp

.add-labels spanner,gcp


QuestionBase doctest fails after switch to Restricted Python for QuestionFunctional

You can re-create by running the doctest for QuestionBase

@johnjosephhorton Restricted python doesn't support inner or lambda functions. This is why the test fails. The combo function is a inner function and is not supported.


Fix error message inconsistencies

Resolves #271
Resolves #266
Resolves #260
Resolves #259
Resolves #262
Resolves #258

Codecov Report

Merging #277 (ae29e9a) into master (947bde1) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #277   +/-   ##
=========================================
  Coverage     55.76%   55.76%
  Complexity      641      641
=========================================
  Files           126      126
  Lines          2747     2747
  Branches        346      346
=========================================
  Hits           1532     1532
  Misses         1097     1097
  Partials        118      118

Impacted Files
Coverage Δ

...ogic/commands/personcommand/EditPersonCommand.java
97.05% <ø> (ø)

...ogic/commands/personcommand/FindPersonCommand.java
69.23% <ø> (ø)

...ash/logic/commands/taskcommand/AddTaskCommand.java
100.00% <ø> (ø)

...sh/logic/commands/taskcommand/EditTaskCommand.java
73.07% <ø> (ø)

...sh/logic/commands/taskcommand/FindTaskCommand.java
56.86% <ø> (ø)

...ogic/parser/taskcommand/EditTaskCommandParser.java
55.88% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 947bde1...ae29e9a. Read the comment docs.


Square sensor only detects overlap at edges of another square

I ran into this issue trying to create a square hitbox that could detect which mobs falls within it. Below are images that illustrate the issue and a repository to reproduce.
The issue
A square sensor only registers overlapping bodies of square collision shape at the edges.
Expected result
The sensor registers the overlapping bodies throughout the area of the sensor.
Illustration
A controllable blue square has a light-gray sensor attached to detect the red square:

The sensor detects the red square and turns yellow when the near edges are close:

However, as the blue square moves further, the sensor no longer detects the red square:

Code to reproduce

Clone and run this repo:
git clone git@github.com:Havegum/bevy_physimple_sensor_issue.git
cd bevy_physimple_sensor_issue
cargo run

Use keyboard arrows or WASD to move the blue square.

Observe that the sensor changes color only when its edges touches the red square.

Issue seems to be part of the continuous collision, which barely works(I need to revise the system again, but I'm now busy with work and uni).
I would advise against using the provided Vel type(unless really needs the continuous collision), as it 'solves' the problem(by using normal collision)

Aha! Thank you
The issue was indeed solved for me by replacing the Vel-structs with a local Velocity-component and replacing each instance of the KinematicBundle with inserting the CollisionShape and CollisionLayer components.
I'm leaving this here for future reference in case anyone else – like me – failed to notice that KinematicBundle has a Vel-component or did not understand entities with Vel are eligible continuous collision solving 🙈

yeah my continuous solver is a bit fragile currently


Update VMWare VCD CSI driver to 1.4.0

Which issue(s) this PR fixes:

Xref #2782
What type of PR is this?
/kind chore
Special notes for your reviewer:
Does this PR introduce a user-facing change? Then add your Release Note here:

Update VMWare VCD CSI driver to 1.4.0

Documentation:

NONE

/test pull-kubeone-e2e-aws-default-install-containerd-v1.24.15

/retest


Terminology errors in docs

Be sure to turn any carets into their unicode characters for proper rendering.

I think you mean angle brackets and character references respectively. A caret is a completely different character altogether (it points upwards; brackets point sideways), and "unicode characters" is rather vague and ambiguous, not to mention that AFAIK character entity references like < and > have nothing to do with Unicode.

Thanks, resolved in 2.0.1.


improve cb handler with 2 times faster by moving archaius

Coverage decreased (-1.0%) to 62.124% when pulling edd959c1aa04dcea69b931b029e04351b0c7f4c0 on ninokop:master into 2b3033a20f8dbd5e21393bd0dd93792c313b1bf5 on ServiceComb:master.


avoid init useless DeltaMergeStore

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/5665
Problem Summary: Some useless stores (most in mysql database) will be initialized when update AsynchronousMetrics. And it consumes unnecessary resource and make it harder to do end-to-end tests for data leak problem because these tables cannot be dropped.
What is changed and how it works?
Don't initialize any DeltaMergeStore when update AsynchronousMetrics.
Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)

deploy a new cluster and check whether there is any data generated for the tables in mysql database;

[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/rebuild

/merge

/merge

/cherry-pick release-6.1

/cherry-pick release-5.4


How do I add the SAS?

How do I add the SAS to the operation?
Or any credential for Blobs?

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

ID: 622daa35-c6a1-dac3-17ee-3f9308fc60cd
Version Independent ID: 2c28a59b-8ef5-d7ab-46a6-58748ec552f5
Content: Azure File Copy task - Azure Pipelines
Content Source: docs/pipelines/tasks/deploy/azure-file-copy.md
Product: devops
Technology: devops-cicd-tasks
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

This same explanation should be added to docs
https://brettmckenzie.net/2020/03/23/azure-pipelines-copy-files-task-authentication-failed/
It works


Revert "Remove rstudio auth proxy settings"

Reverts ministryofjustice/analytics-platform-rstudio#17

Didn't want this merged into master yet - we're still using the pro version of rstudio


feat: add remaining string validations

This pr adds email, url, uuid, regex, ip, ipv4, ipv6 in string validator.

You did your benchmark wrong, the RegExp instantiation should happen in the setup, not in every benchmark cycle.
Moving it to the benchmark cycle makes the RegExp almost 3 times faster, however, I'm not accepting the RegExp.

You did your benchmark wrong, the RegExp instantiation should happen in the setup, not in every benchmark cycle.
Moving it to the benchmark cycle makes the RegExp almost 3 times faster, however, I'm not accepting the RegExp.

So should I use a different regex or use URL?

Codecov Report

Merging #38 (788f95e) into main (b30ed19) will increase coverage by 0.77%.
The diff coverage is 100.00%.

:exclamation: Current head 788f95e differs from pull request most recent head f523aa1. Consider uploading reports for the commit f523aa1 to get more accurate results

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   75.62%   76.39%   +0.77%
==========================================
  Files          37       37
  Lines         886      915      +29
  Branches      182      189       +7
==========================================
+ Hits          670      699      +29
  Misses        202      202
  Partials       14       14

Impacted Files
Coverage Δ

src/constraints/util/operators.ts
100.00% <ø> (ø)

src/constraints/StringConstraints.ts
100.00% <100.00%> (ø)

src/validators/StringValidator.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b30ed19...f523aa1. Read the comment docs.

I've changed null behavior in UUID. Now if u pass null it'll check for NIL_UUID as after checking the UUID package again I found it's not a versioned uuid it can be generated only with NIL_UUID

new URL allows urls like https://ok. Our email validator have a check for that but there are no checks present in urlValidator. It's a valid url so do we need to add a check?


Audit Logs BlockedSenderAddress

There are no pages that provide details about cmdlet logs and how can audit it.

Hello @zud, can you please tell us to which article your feedback applies? This information will help us route the issue to the correct writer/team.

Hi both from here https://learn.microsoft.com/en-us/powershell/module/exchange/remove-blockedsenderaddress?view=exchange-ps  and here https://learn.microsoft.com/en-us/powershell/module/exchange/search-adminauditlog?view=exchange-ps i didn't find any documentation about the log cmdlets

@chrisda please guide us, not sure if the issue is raised in right repository. Thanks

Both the articiles do not help.
Probably this one help _https://learn.microsoft.com/en-us/powershell/module/exchange/search-adminauditlog?view=exchange-ps_ is better but if I try to run this command: Search-AdminAuditLog  -Cmdlets "Remove-BlockedSenderAddress" I find no logs.
It would probably be easier to put some instructions on how to see the logs on this page [_https://learn.microsoft.com/en-us/powershell/module/exchange/remove-blockedsenderaddress?view=exchange-ps_].

@zud, is audit logging turned on in your organization?
https://learn.microsoft.com/purview/audit-log-enable-disable
I would also suggest doing what you're trying to do in the compliance portal as described here:
https://learn.microsoft.com/purview/audit-log-search

@chrisda yes audit log is enabled and I'm a global admin.
I tried using both the compliance portal and powershell commands and  I can keep track of all administrator activity except that generated by the Remove-BlockedSenderAddress command.
I've opened a ticket to Microsoft support, which is debugging the problem, and apparently it tells me that that log can only be found using powershell commands (very strange as a thing...)
I will keep you updated

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Merge without override assume false is a valid non empty type

Here's an example
type Option struct {
	test    bool
}

o := Option{}

mergo.Merge(&o, &Option{test: true})

In this example test will be false. WithOverride won't really work here, because any other type will be overwritten in this case.
I guess custom transformers will help here?

According to docs  this is expected behavior
Mergo won't merge unexported (private) fields
Rename field test to Test and it will work as expected


:lady_beetle: Typo invalided should be invalid

"invalided OVA mount end point" -> "invalid OVA mount endpoint"
Screenshot:

addressed by: https://github.com/kubev2v/forklift-console-plugin/pull/1292


New lib, not sure where to add

https://github.com/benoist/terminal_table.cr
Any ideas where to add?

Let's add it newly created section https://github.com/veelenga/awesome-crystal#cli-utils
Thank you!

I did that 62da239 😁

Awesome tnx!!!


Directive for memory and cpu amount in local setup?

Having low memory (512MB) by default I wanted to set memory and cpu. I did domain.memory and domain.cpus.
but I get this!
Path: <provider config: libvirt>
Message: undefined local variable or method `domain' for main:Object

example
 config.vm.provider :libvirt do |libvirt|
    libvirt.memory = 3072
    libvirt.cpus = 3
    libvirt.driver = 'kvm'
    libvirt.host = '<IP_ADDRESS>'
    libvirt.connect_via_ssh = true
    libvirt.username = 'root'
  end


playing with Git...is this how I update my fork from your repo?

Hey Kevin, no. This way you are requesting to add your changes to the notebooks into the original Data Mining repo. To update your repo go to its webpage (https://github.com/m20210701/Data-Mining-21-22) and press the button "fetch upstream" and merge our changes into it. I'm going to close this now!
Best,
João


Box analytical

New features:

Analytical box CAPs
Custom CAP functions
Custom grids

Closes #34 #24 #25


SVG not rendered properly

Description
The atttached SVG file is not rendered properly with FFImageLoading <IP_ADDRESS>0-pre (but rendered properly with FFImageLoading <IP_ADDRESS>9).
Steps to Reproduce
Upgrade to FFImageLoading <IP_ADDRESS>0-pre.
Expected Behavior
SVG rendered as when using FFImageLoading <IP_ADDRESS>9.
Actual Behavior
SVG not rendered properly.
Basic Information

Version with issue: <IP_ADDRESS>0-pre
Last known good version: <IP_ADDRESS>9.
Platform: Xamarin.Android

Screenshots
Expected:

Actual:

Reproduction Link / Code
The used SVG:
ActivitiesSelectionCampaignBackground.svg.txt

I've the same issue )-:

I've also same issue. SVG images are not rendering correctly. :(

I uploaded my svg to some sites to convert them into png file. Interestingly some sites's returned a problematic png (With exactly the same problem as this issue) and some of them were able to produce a beautiful png! ;D

Fixed with: https://github.com/luberda-molinet/FFImageLoading/commit/df7b058bc8e2ebd2e6a60d4ab4b9fef4c0343d43

The fix is available in version <IP_ADDRESS>0-pre (https://www.nuget.org/packages/Xamarin.FFImageLoading/<IP_ADDRESS>0-pre). Thanks @daniel-luberda for your work!


configuration files

hello，dear team，When will the training configuration files of the other two data sets tacos and QVHighlights be updated?

I mentioned it in Issue 1. And I will update soon.

Hello, the configs of TACoS and QVHighlights are updated.
The provided results of QVHighlights are similar in the val split, I cannot check the performance of the test split since I have run out the submitting chances of the Codelab. Nevertheless, I believe it will also work.


"Oops, we had a problem communication with our services"

This is a follow-up to ticket #12197, which I had opened a fortnight ago and which has unfortunately been closed without providing me with a solution.  However, the problem surprisingly has been fixed for quite a few users.
The problem is again indicated by the error message "Oops, we had a problem communication with our services". It occured the first time (#12197)  just after the update to version 2.0.0-20180604093219+f899a761a7. I'm now at version 2.1.1-20180620155301+d1d498c61f.
I was told that the problem was related to Named Pipes.  That's why I include a hardcopy of the two Named Pipes created by keybase.
C:\SysUtil\SysInternals\PipeList>pipelist | find "Key"
kbservice\Users\Tom\AppData\Local\Keybase\keybased.sock          3
-1
kbservice\Users\Tom\AppData\Local\Keybase\kbfsd.sock          1               -1
my log id: c7c533b0423001b60f4ccb1c

cc @zanderz

@tomlog01 Thanks for the names of those pipes, but that alone doesn't explain why you have connection problems. Could you also post the result of doing this command:
keybase pipeowner \\.\pipe\kbservice\Users\Tom\AppData\Local\Keybase\keybased.sock
and also do a keybase log send ?
Thanks.

Thank you for your rapid response. I am really delighted by the feature-set that is available with
Keybase command line client!
C:\Users\Tom>keybase pipeowner \.\pipe\kbservice\Users\Tom\AppData\Local\Keybas
e\keybased.sock
{"isOwner":false,"pipe":{"account":"Administratoren","domain":"VORDEFINIERT","ty
pe":4,"error":null},"user":{"account":"Tom","domain":"titan8080","type":1,"error
":null}}

ERROR failed to establish pipe ownership

"Administratoren" is the German name for the local "Administrators" group.
The account "Tom" is actually a member of the "Administratoren" group.
The "keybase log send" was successfully completed, but issued the following INFO message:
Continue sending logs to keybase.io? (type 'YES' to confirm): yes
Enter feedback (or ENTER to send):

INFO ignoring UI logs: GUI main process wasn't found

Success! Your log ID is:
7cb7eeb7aaccea45ceddaf1c

UGH, I thought the documentation would have mentioned if those strings were localized - that is the problem. We will have a fix shortly.

Fix for this is available in https://prerelease.keybase.io/windows/Keybase_2.1.2-20180625120550%2B836e4aeaca.386.msi, would you care to try it? Thanks.


Result of AVG is displayed as NUMBER(39, 0) on Oracle

Given the following schema and query...
CREATE TABLE foo (
    id NUMBER (19, 0) PRIMARY KEY,
    bar NUMBER(19, 0)
);

SELECT AVG(bar)
FROM foo
GROUP BY id

Mousing over the resulting column in the Result view indicates that the type of the result is NUMBER(39, 0). However, that cannot be true - the NUMBER datatype can only go up to a precision of 38 (according to the docs), and a scale of 0 would indicate that the results do not contain any decimal digits, which they do.
This might not be an issue within DBeaver, but I would nevertheless appreciate any help in understanding how this occurs.

You are right. But I don't see how can I fix this.
To view actual columns metadata you can open Metadata panel. Oracle JDBC driver doesn't provide scale/precision information for expressions (they both are equal to zero) so DBeaver uses "display size" value in such cases. Which is always 39 for NUMBERs (perhaps +1 character for sign?).

I assumed something like that - thank you for investigating! I don't think there's any improvement you can make on this.


Concurrency issues

I'm trying to upload multiple images at once but only the first one is going through, all parallel requests throw a 530 Command requires authentication.
It works if I comment out this condition: https://github.com/trs/ftp-srv/blob/master/src/commands/index.js#L56
When uploading a single file I get:
// (command.directive, commandFlags.no_auth, this.connection.authenticated)
USER true undefined
PASS true undefined
TYPE undefined true
PASV undefined true
STOR undefined true

When uploading two files I get:
// (command.directive, commandFlags.no_auth, this.connection.authenticated)
USER true undefined
PASV undefined undefined
PASS true undefined
STOR undefined true
TYPE undefined true
PASV undefined true
STOR undefined true

I guess PASV undefined undefined is throwing the 530. Should the PASV command have a no_auth: true?

Are you uploading these files using new connections each time? If so, all new connections need to be authenticated.

Thanks @trs - it works if I create one instance per upload. If I use any FTP software (ie: CyberDuck) and try to drag multiple files to upload, it will fail though. Not sure how those clients handle multiple file uploads.

Interesting, I'll take a look into that. Thanks for the heads up.

Is there any throttling in net_class_net_server? Looks like if I try to drop 6 files at once, only 5 will randomly get through.

Not that I'm aware of.
Testing this with FileZilla works just fine. I'll have to try out CyberDuck.

Just tried with FileZilla and it worked 👍

Are you using explicit AUTH TLS?

No I'm not, not sure what CyberDuck is doing differently.

Looking at FileZilla logs, I also get some errors when trying to upload multiple files at once:
Error: The data connection could not be established: ECONNREFUSED - Connection refused by server
Looks like FileZilla is smart enough to retry a failed upload though, CyberDuck isn't.

I can't seem to recreate that connection error in FileZilla. 😕

Cyberduck seems to ignore the 150 response from LIST and acts like each following response is for the next command sent. This makes the responses being processed by Cyberduck out of order, even though the server sends them in the correct order.

I'm having this happen happen as well with Transmit 5.2.1.  Glad to help test!

@erickpece Thanks for the heads up!
Can you post your ftp-srv config?

After more digging, looks like this may be a different issue.
When using PASV mode for multiple file transfers, I'm getting this error:
/Users/erick/Desktop/ftpsrv-bug/node_modules/ftp-srv/src/helpers/find-port.js:34
      const {port} = portCheckServer.address();
             ^

TypeError: Cannot destructure property `port` of 'undefined' or 'null'.

Here's my current config:
const FtpSrv = require('ftp-srv');
const ftpServer = new FtpSrv({
  url: 'ftp://<IP_ADDRESS>:2121',
  pasv_url: 'ftp://<IP_ADDRESS>:2121'
});

ftpServer.on('login', (data, resolve, reject) => {
  resolve({
    root: 'files'
  });
});

ftpServer.listen();

If I modify find-port so that the result of portCheckServer.address() is checked for null first, it seems to work:
let address = portCheckServer.address();

if (address !== null) {
  const {port} = portCheckServer.address();
  portCheckServer.close(() => resolve(port));
} else {
  portCheckServer.close(() => resolve());
}

I'm not sure this is the right fix though.

I think my pasv_url is wrong too.  Stopped getting another error after changing it to 192,168,1,203


Vite build never ends

Describe the bug
When we import vite-aliases package(v0.7.1) inside vite.config.ts - vite build never ends.
Thanks for reporting that Issue!
Vite 0.7.1/0.7.2 are still in WIP so if you need vite-aliases now, consider using 0.6.3 for the time beeing.
Other than that, the issue itself is caused by chokidar, because it runs on build to, ive already been working on a fix!
Will be included in 0.7.3

fixed in 0.8.0


Intervals too wide?

This seems to be too wide:
julia> convert(Unum22, 2.1)
UnumX.Unum{2,2,UInt16}
(2.0,3.0)

I think this should be (2.0, 2.125) (which is what I get with my code):
If fsizesize == 2, then there can be up to 4 fractional bits, so a ulp should have a relative size 2^(-4).
Since for 2.1 the exponent is 2^1, we should get an absolute width of 2^(-3).

You're right, of course. The code was mostly written with Ubounds in mind (which is still correct):
julia> convert(Ubound22, 2.1)
UnumX.Interval{UnumX.Unum{2,2,UInt16}}
(2.0,2.125)

OK, I see, thanks.

I'm not sure if there's an easy way to fix it the way I've written it, let me think about it.

This is now fixed.


interface for adding extra template context

I've been working on porting Flask's docs to be built on RTD instead of our custom builder. Our builder has a separate JSON file with metadata about versions, and inserts it into html_context by combining each project's Sphinx config with a standard config. html_context can also be set on the command line with -A key=value flags. RTD's interface doesn't allow doing this yet.
While that version information is already available from RTD and just needs to be documented (#3482), it would still be nice to be able to specify additional template context using the web interface. One option is a text box that users can paste JSON in, then add html_context.update({{ extra_html_context|tojson }}) after RTD's default html_context.

@davidism Hi! I'm about to start working on this issue and I would like to have some more feedback from your side to know if by implementing the design proposed in #3490 will fit your needings or there is something else missing from our side to achieve this issue.

That appears to be documenting RTD's internal context. It mentions adding context to conf.py, but the problem with that is discussed above. This issue is about adding a field to the RTD admin form to provide context that is independent of the version being built. The version information was an example, but this could apply to arbitrary context a project wants to add.

You primarily need this in order to get versions of particular projects correct? I believe this can be handled through the API like so:
https://readthedocs.org/api/v2/version/?project__slug=flask
That will get you all the versions and you can grab just the active ones if you want to. The active ones can be administered in the dashboard.
Let me know if this gets you were you need to be on this issue.

I don't need this anymore, although it may be useful to others. Perhaps it's more appropriate (or already present) in the YAML config?


virtctl: Native ssh client does not use supplied identity file

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
I wanted to use virtctl to ssh into a VM. I specified a private key with --identity-file.
The identity file is not used and authentication fails.
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
What you expected to happen:
The identity file is used and authentication succeeds.
How to reproduce it (as minimally and precisely as possible):
Run virtctl ssh user@vm --identity-file=/path/to/privatekey
Anything else we need to know?:
I tried it with an ed25519 and a rsa private key separately.
With the local ssh client both private keys can be used to successfully authenticate.
Environment:

KubeVirt version (use virtctl version):
Client Version: version.Info{GitVersion:"v0.49.0", GitCommit:"f8160a0b5eac2acafab74fd7916bfcaf0c39a6a3", GitTreeState:"clean", BuildDate:"2022-01-11T17:37:26Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{GitVersion:"v0.44.3-26-g08a0ea47c", GitCommit:"08a0ea47c8e883629fc6241116c1a4db4284212a", GitTreeState:"clean", BuildDate:"2021-11-26T10:05:29Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release): Fedora 35 / RHEL 8.5
Kernel (e.g. uname -a):
Install tools:
Others:

CC @rmohr

/triage accepted
Looks like the commandline is not picked up in the case of native ssh.

OS (e.g. from /etc/os-release): Fedora 35 / RHEL 8.5

@0xFelix I just see now that you use FC35, I think you are running into #6851. What is basically happening is, that you have the ssh agent running. virtctl is fetching all default keys from the agend and all fail to authenticate due to the crypto bug mentioned there. Even if you would specify the EC key on the commandline it would not necessarily ever be used because the ssh server responds with a too-many-authentication failures before the EC key would be tried.
To confirm that this is the issue, use an EC kay and prefix virtctl like this to not use the ssh agent:
SSH_AUTH_SOCK=/dev/null virtctl ssh

@rmohr I can confirm that authentication fails with ssh: handshake failed: ssh: disconnect, reason 2: Too many authentication failures when keys are loaded in my agent. But this was not my problem cause during my inital tests no keys were loaded. I think I must have missed the user or used the wrong key... it is working now.

#7071 still persists though.

@rmohr #7071 still persists though.

:+1:
And thanks for the updates.

Hi,
I succeeded to reproduce this issue.
It seems that when SSH agent is available, virtctl ignores --identity-file option, even when a key is not registered with the SSH agent.
SSH agent is not available, key is specified => Success
$ SSH_AUTH_SOCK=/dev/null ./virtctl ssh ubuntu@test -i id_ed25519_kubevirt-test
# OK

SSH agent is available, key is not registered but specified => Fail
$ printenv SSH_AUTH_SOCK
/home/my-name/.ssh/agent

$ ssh-add -T id_ed25519_kubevirt-test.pub
Agent signature failed for id_ed25519_kubevirt-test.pub: agent refused operation
# Key is not registered

$ ./virtctl ssh ubuntu@test -i id_ed25519_kubevirt-test
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

SSH agent is available, key is registered => Success
$ ssh-add -T id_ed25519_kubevirt-test.pub
# OK

$ ./virtctl ssh ubuntu@test
# OK

$ ./virtctl ssh ubuntu@test -i id_ed25519_kubevirt-test
# OK

virtctl version
Client Version: version.Info{GitVersion:"v1.2.2", GitCommit:"1466b658f78b9b8bb9517ffb6dafd4b777f33fe6", GitTreeState:"clean", BuildDate:"2024-06-06T04:42:11Z", GoVersion:"go1.21.8 X:nocoverageredesign", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{GitVersion:"v1.2.2", GitCommit:"1466b658f78b9b8bb9517ffb6dafd4b777f33fe6", GitTreeState:"clean", BuildDate:"2024-06-06T05:46:26Z", GoVersion:"go1.21.8 X:nocoverageredesign", Compiler:"gc", Platform:"linux/amd64"}

I think it comes down to the original issue where virtctl tries all other identities in the agent first and at this point retries are exhausted so it never tries the file you specified.

Ah, understood! Thank you for the explanation.
So, to prevent the issue, should virtctl try a specified identity file first before trying identities in SSH agent?
I guess the following two lines should be swapped?
https://github.com/kubevirt/kubevirt/blob/a1e9279695ff4508b3af9f3a814bfddab2670196/pkg/virtctl/ssh/native.go#L97-L98

That's a good question. Could you try what happens when swapping those lines? I'm not sure what will happen if your key is protected by a password and you added it to the agent prior. We still want it to be picked up from the agent instead of virtctl asking for the password again.

I patched virtctl to swap those lines and did some experiments.
Obtained results:

I was able to make virtctl try a specified SSH private key first.
When I registered an SSH private key with the SSH agent and I specified the key via --identity option, I needed to type the key's passphrase.

If you specify an SSH private key, you will need to type its passphrase even when the key is registered with the SSH agent.
However, this is not a problem because you can just skip specifying the key and you will be able to login.
Experiment details:
Setup
I used virtctl based on v1.3.0 with a patch to swap those lines.
$ git status
HEAD detached at v1.3.0
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   pkg/virtctl/ssh/native.go

no changes added to commit (use "git add" and/or "git commit -a")

diff --git a/pkg/virtctl/ssh/native.go b/pkg/virtctl/ssh/native.go
index 4cae1e788b..758c788813 100644
--- a/pkg/virtctl/ssh/native.go
+++ b/pkg/virtctl/ssh/native.go
@@ -94,8 +94,8 @@ func (o *NativeSSHConnection) PrepareSSHClient(kind, namespace, name string) (*s
 func (o *NativeSSHConnection) getAuthMethods(kind, namespace, name string) []ssh.AuthMethod {
 	var methods []ssh.AuthMethod

-	methods = o.trySSHAgent(methods)
 	methods = o.tryPrivateKey(methods)
+	methods = o.trySSHAgent(methods)

 	methods = append(methods, ssh.PasswordCallback(func() (secret string, err error) {
 		password, err :=<EMAIL_ADDRESS>password: ", o.Options.SSHUsername, kind, name, namespace))

I generated an SSH key pair with a passphrase.
I created a VM and registered the SSH public key with the VM's authorized keys.
Case: SSH agent is available, key is not registered but specified => Success
When I specified the SSH private key to the patched virtctl, I successfully logged in to the VM.
$ ./virtctl ssh ubuntu@test -i id_ed25519_kubevirt-test
Key id_ed25519_kubevirt-test requires a password:
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-116-generic x86_64)
...

Case: Key is registered with the SSH agent
I registered the SSH private key with the agent.
$ ssh-add id_ed25519_kubevirt-test
Enter passphrase for id_ed25519_kubevirt-test:
Identity added: id_ed25519_kubevirt-test

I was able to login to the VM without specifying the key and without typing the passphrase.
$ ./virtctl ssh ubuntu@test
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-116-generic x86_64)
...

When I specified the key to the patched virtctl, I needed to input the passphrase.
$ ./virtctl ssh ubuntu@test -i id_ed25519_kubevirt-test
Key id_ed25519_kubevirt-test requires a password:
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-116-generic x86_64)
...

Are you still seeing this on latest virtctl versions? I think the issue was that golang ssh back then did not fully support looking up offered authentication algorithms by the remote server and just tried one after the other, eventually exhausting all connection attempts. Does this still happen with latest virtctl?

Yes, the problem persists for v1.3.0 (latest released version) and current main (adb4f2cb5e020678388848fd8283098adaaad889).


fix: implement page object for vertical-navigation integration tests

fixes #176

Pull Request Test Coverage Report for Build 774

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 79.823%

Totals

Change from base Build 762:
-0.1%

Covered Lines:
431

Relevant Lines:
523

💛  - Coveralls


Suggestions for improving UI on individual Export page

As a user, I do not really care about the long string of alpha numeric characters the system uses to identify and keep track of jobs and runs, they should not be the "top", highlighted UI item.
What I as a user care about is the name of the export and the date/time of the last run so it is immediately clear to me what the "latest" run is.
I would suggest switching the data in the two fields for each info panel as marked above to highlight the most relevant, human readable information and de-emphasize the really user unfriend long alpha numeric string the system uses for tracking things.

This change is live now on export-staging.hotosm.org


Set up SonarQube for code quality

Set up SonarQube for code quality locally

This has become Landscape.io as it is easier to use and seems to offer the same amount of insight.


python311Packages.pefile: fetch from pypi

The GitHub repository contains a large chunk of unusable test fixtures and there is no point in fetching >60 MB of source, that we cannot use.
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 312697 run on x86_64-linux 1

3 packages marked as broken and skipped:

mkosi-full
mkosi-full.dist
mkosi-full.man

5 packages failed to build:

katawa-shoujo-re-engineered
python311Packages.virt-firmware
python311Packages.virt-firmware.dist
python312Packages.virt-firmware
python312Packages.virt-firmware.dist

91 packages built:

bottles
bottles-unwrapped
flare-floss
flare-floss.dist
fwupd
fwupd-efi
fwupd.debug
fwupd.dev
fwupd.devdoc
fwupd.installedTests
fwupd.lib
fwupd.man
gnome-firmware
gnome.gnome-software
kdePackages.discover
kdePackages.discover.debug
kdePackages.discover.dev
kdePackages.discover.devtools
keepwn
keepwn.dist
libsForQt5.discover (plasma5Packages.discover)
libsForQt5.kinfocenter (plasma5Packages.kinfocenter)
malwoverview
malwoverview.dist
mkosi
mkosi.dist
mkosi.man
pantheon.elementary-greeter
pantheon.elementary-onboarding
pantheon.elementary-settings-daemon
pantheon.switchboard-plug-about
pantheon.switchboard-plug-pantheon-shell
pantheon.switchboard-plug-security-privacy
pantheon.switchboard-with-plugs
pantheon.wingpanel-applications-menu
pantheon.wingpanel-with-indicators
python311Packages.angr
python311Packages.angr.dist
python311Packages.angrcli
python311Packages.angrcli.dist
python311Packages.angrop
python311Packages.angrop.dist
python311Packages.autoit-ripper
python311Packages.autoit-ripper.dist
python311Packages.cle
python311Packages.cle.dist
python311Packages.dnfile
python311Packages.dnfile.dist
python311Packages.icoextract
python311Packages.icoextract.dist
python311Packages.karton-autoit-ripper
python311Packages.karton-autoit-ripper.dist
python311Packages.karton-config-extractor
python311Packages.karton-config-extractor.dist
python311Packages.malduck
python311Packages.malduck.dist
python311Packages.pefile
python311Packages.pefile.dist
python311Packages.pyimpfuzzy
python311Packages.pyimpfuzzy.dist
python311Packages.qiling
python311Packages.qiling.dist
python311Packages.scancode-toolkit
python311Packages.scancode-toolkit.dist
python311Packages.viv-utils
python311Packages.viv-utils.dist
python312Packages.autoit-ripper
python312Packages.autoit-ripper.dist
python312Packages.cle
python312Packages.cle.dist
python312Packages.dnfile
python312Packages.dnfile.dist
python312Packages.icoextract
python312Packages.icoextract.dist
python312Packages.pefile
python312Packages.pefile.dist
python312Packages.pyimpfuzzy
python312Packages.pyimpfuzzy.dist
python312Packages.scancode-toolkit
python312Packages.scancode-toolkit.dist
python312Packages.viv-utils
python312Packages.viv-utils.dist
renpy
social-engineer-toolkit
systemdUkify
systemdUkify.dev
systemdUkify.man
volatility3
volatility3.dist
xorex
yarGen


Questions about features

Hi,
Thanks for the interesting paper and organized codes.
Could you please let me know if it is possible to run the code for the case of more than 1 feature, for univariate time series?
For example, as you have explained, UCR is a univariate time series with 1 feature.  Do you have any univariate time series with more than 1 feature among your available codes?
Many thanks in advance!
Best regards,
Manijeh

Hi. Thanks for the question. We assume number of features to be same as the number of variables.

Hi Shreshth,
Many thanks for your reply and the help. Much appreciated!
Best regards,
Manijeh


Rendering: Direct mode tweaks

Move Enable/Disable direct mode from Tools to Rendering, and rename the checkbox label to something indicating what it actually does, something like "auto-enable direct mode when the application starts", etc...

Implemented in https://github.com/OSVR/OSVR-Config/commit/67760f8df98bca25d52b43bcb68d2cb6462d6ad1


Update to newer proposals and fix tests

Summary of changes

Uses new proposal changes (updates anchor update proposal and set resource ID proposals)
Uses a call filter for set resource / execute proposal flows (still needs tests)

Companion PR: https://github.com/webb-tools/webb-rs/pull/87

Codecov Report

Merging #247 (8f5f9b9) into main (a8ef0d0) will decrease coverage by 1.32%.
The diff coverage is 79.39%.

@@            Coverage Diff             @@
##             main     #247      +/-   ##
==========================================
- Coverage   80.44%   79.11%   -1.33%
==========================================
  Files          85       79       -6
  Lines        5287     4774     -513
==========================================
- Hits         4253     3777     -476
+ Misses       1034      997      -37

Impacted Files
Coverage Δ

pallets/asset-registry/src/tests.rs
100.00% <ø> (ø)

pallets/asset-registry/src/traits.rs
0.00% <ø> (ø)

pallets/mixer/src/lib.rs
70.90% <0.00%> (ø)

pallets/token-wrapper/src/benchmarking.rs
0.00% <ø> (ø)

pallets/token-wrapper/src/mock.rs
66.66% <ø> (ø)

pallets/vanchor/src/mock.rs
68.42% <ø> (ø)

pallets/xanchor/src/lib.rs
0.00% <0.00%> (ø)

standalone/runtime/src/lib.rs
0.00% <ø> (ø)

primitives/src/utils.rs
40.62% <33.33%> (-4.83%)
:arrow_down:

pallets/signature-bridge/src/mock.rs
96.00% <50.00%> (-4.00%)
:arrow_down:

... and 19 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add message to warn user of scheduled project deletion

Acceptance Criteria:
When the automated deletion plugin is enabled and the endpoint returns the duration:

Show the following message in the project view as an infobox/banner:

"Your project and data will be automatically deleted on {projectCreatedAt + duration}. After that date, a new empty project will be created for you."

The DateTime should include the timezone (some users are located in another time zone).

Either the system timezone, or the user timezone (preferred).

The mocks should be validated with Alex.
Add the project deletion information to the tutorial.

Hey team! Please add your planning poker estimate with ZenHub @adulbrich @bogdanromanx @dhaneshnm @imsdu @nicwells @samuel-kerrien


[BEAM-6621] Basic Bigquery IO tests on Python 3 PostCommit

This change add bigquery_tornadoes_it_test to several Python 3 Jenkins builds:

Runs on DirectRunner in PreCommit and PostCommit (beam_PostCommit_Python_Verify and beam_PostCommit_Python_Verify_cron)
Runs on DataflowRunner in PostCommit (beam_PostCommit_Python_Verify)

+R: @tvalentyn @charlesccychen
+cc: @RobbeSneyders

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


Fix unit test TestOrEventChecker_SecondSuccess is unstable

Signed-off-by: denis-tingajkin<EMAIL_ADDRESS>
Description

Motivation and Context
https://github.com/networkservicemesh/networkservicemesh/issues/1596
How Has This Been Tested?

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[X] Tested locally
[ ] Have not tested

Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Since failed test are not related to changes, so merging.

Test test fail we are seeing here is due to nsm-init CrashLoopBackoff... this isn't influenced by this fix, so merging this fix to get CI back to stable.


Feature/lief15

Updated to lief 0.15.1
https://lief.re/doc/stable/changelog.html

Thanks @timmyteo. Could you do retest once more, since pushed some commits since your review.

Noticed that cdxgen sbom is missing evidence with research profile. This needs to be investigated separately.

@prabhu I retested against the main branch, which now has this feature branch merged. No issues to report and test cases passed as expected.

Thank you so much!


[FIX][#477] Methods' optional parameters are not taken into account in generated JavaScript

https://github.com/bridgedotnet/Bridge/issues/477

Vlad, the following code var s = string.Format("x"); translates to var s = Bridge.String.format("x", ); please note "x",


Bug: fixed --no-wait not being respected

Fix #98

So if i have my username declared in the cluster.yaml file, and i use the --no-wait flag, it will

try to not wait,
and then the catch that it is and error (on this line: https://github.com/Azure/thunderbolt/blob/master/dtde/config.py#L186)

is that right?

yes that is right.


Saner Jetty native WebSocket usage

Eliminate reliance on SimpleContainerScope (it is deprecated
and has already been removed in Jetty 10).
Use HttpClient properly instead of SimpleContainerScope.
SslContextFactory belongs to HttpClient.
WebSocketClient uses HttpClient (recommended if you need/want SSL).
Use WebSocket Endpoint Annotations, not Adapter (this is also Jetty 10 compatible).
Use WebSocketCreator, not raw registered classes (this is also Jetty 10 compatible).

Signed-off-by: Joakim Erdfelt<EMAIL_ADDRESS>

@kurtisvg This sample was written by @jabubake. I don't have a lot of background, if she cares to comment.


feat: allow users to specify a custom class

What: get-glamor-classname.js was modified to accept strings in the styles array and get the glamor styles for the ones that are glamor class names.

Why: This will enable css-in-js-precompiler to do its job. This is going to be awesome!

How: I'm never really sure how to answer this question TBH :) See the code changes :)
Ref #43

Codecov Report

Merging #90 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #90   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         107    119   +12
  Branches       28     31    +3
=====================================
+ Hits          107    119   +12

Impacted Files
Coverage Δ

src/get-glamor-classname.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1859ab1...7a3f29c. Read the comment docs.

We've got plenty of contributors who could review this PR, so I'm going to stop asking specific people to review things and anyone watching the repo can feel free to review :)


Feature/vast loader errors

Current coverage is 100% (diff: 100%)

Merging #21 into develop will not change coverage

@@           develop   #21   diff @@
====================================
  Files            6     6
  Lines           80    86     +6
  Methods          0     0
  Messages         0     0
  Branches         0     0
====================================
+ Hits            80    86     +6
  Misses           0     0
  Partials         0     0

Powered by Codecov. Last update c7f225b...fdea87e


请问SCheckBox下，没看到checked这个值，怎么获取是否选中的状态？我去看了源码也没发现。我把SCheckBox的height这个属性设置到80px之后，里面的SCard出现在左上角，然后SText是居中的，请问是需要设置在外部设置它们两个的对齐方式吗？感谢您的回答

It seems I forget to add example into SurrealismUI Book
you can get actived prop from SCheckbox, In SurrealismUI all check state named actived
you can see this example: https://github.com/Surrealism-All/SurrealismUI/blob/main/tests/src/checkbox.slint
and if you see the source code, you can find that SCheckbox is a line widget which means you need to make a Rectangle outside the widget and set height:
Rectangle{
   height: 60px;
   SCheckbox{}
}

我好像忘了在超现实UI书中添加示例
您可以从SCheckbox中获取“actived”道具，在SurrealsimUI中，所有名为“actived`
您可以看到以下示例：https://github.com/Surrealism-All/SurrealismUI/blob/main/tests/src/checkbox.slint
如果你看到源代码，你会发现SCheckbox是一个行小部件，这意味着你需要在小部件外部制作一个矩形并设置高度：

by the way, you can use a short title issue, and add detail information in description

Is your requirement for SCheckbox to maintain in line display or for it to occupy a certain height without displaying collapse
你的需求是为了让SCheckbox保持行内显示，还是使它可以占据一定的高度而不显示塌陷
maybe I need to make SCheckbox  height flexable

thanks for your answer，I thought active was an indication of whether SCheckBox was active or not。
Rectangle{       width: 180px;       height: 40px;       SCheckbox{           text: "L" + (i+1) + " - G"+(j+1);           actived: true;           visible: true;  }

I want Scard and SText to be centered in SCheckBox

OK I think, That is a desire to let SCheckbox can put into any layout and still hold in a line.
I will fix it in 30 minutes and republish the V0.4.2 pag

Hopefully SurrealismUI will get better and better and used by more people, there is a setting that has bothered me for a few days, please ask why SCheckbox's TouchArea is set in SCard, instead of covering the entire area like Slint's native CheckBox

I have already finish update
now you can directly use:
SCheckbox {
                height: 40px;
}

Hopefully SurrealismUI will get better and better and used by more people, there is a setting that has bothered me for a few days, please ask why SCheckbox's TouchArea is set in SCard, instead of covering the entire area like Slint's native CheckBox

The main purpose is to distinguish the click area.
actually SurrealismUI still as a low level widget, I wanna each widget can be controlled.
that means you can use SurrealismUI as a basic widget and secondary packaging your own widget lib

I have test the new version and it works fine。Thank you for your answers and for sharing the course on the Bilibili website。

I tested the new version and it works fine。Thank you for your answers and for sharing the course on the Bilibili website。


Sometimes lcurse downloads "nolib" version which means the addon needs extra libs and doesn't work

Sometimes lcurse downloads "nolib" version for some addons, which means the addon needs extra libs and doesn't work.
Some addons have two versions: one includes the libraries required for the addon to run and another version which doesn't need this. Sometimes, the "nolib" version is listed as the latest version - here's an example: http://www.curse.com/addons/wow/tradeskill-master#t1:other-downloads - and if this version is installed, it doesn't work.
One way of fixing this would be to exclude "nolib" versions automatically (but maybe implement an option to allow installing/updating such addons?).

Could you please double check with the latest version. I'm not totally satisfied with this, as you can't install "-nolib" version at all now. But I guess, that most users will install the no"-nolib" versions. So I can live with it for the time being. Until I have an idea how I want this to be solved.

It works, thanks!
I think it should allow -nolib versions if no other version is available (maybe some addons are only available as -nolib).

It just uses the next version if it is named exactly like the nolib version without the nolib part :)
So -nolib will be used in a case if there are only nolib.
But the no nolib version will always be prefered if available.
Thanks for your issue and testing!

Thanks again! You made my WoW Linux experience a lot better with this little tool (and most probably some WebUpd8 readers as well)! :)


⚠ ClamAV has degraded performance

In c03e7b7, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 205 ms

Resolved: ClamAV performance has improved in 83229ac after 13 minutes.


why cant used in file .html?

Because the parsing logic for separating HTML and scripts hasn't been implemented. This could be done as a plugin, if you want to take a shot at it, but it's out of scope for this repository.


CSRF bugfix

References

Fixes #9236
Angular side of this PR: #2838
"7_x" REST side of this PR: #9369
"7_x" Angular side of this PR: #2839

Description
This PR adds a /api/security/csrf endpoint to send POST requests to, which returns the appropriate CSRF headers/cookies, avoiding any subsequent POST request from failing before CSRF headers are set.
Instructions for Reviewers
Changes made:

A new SecurityRestController with /api/security/csrf POST endpoint
Disabled CSRF for statistics endpoints
Modified DSpaceCsrfTokenRepository to create and return CSRF tokens as header and cookie when either one of them is missing from a POST request

For testing, I'd advise setting up both Angular and REST side of this PR (note, when referring to csrf cookie, I'm talking about "DSPACE-XSRF-COOKIE"):

Load the homepage as anonymous and confirm a csrf POST request is sent to the new endpoint
Confirm the first "statistics" POST request (should be "viewevents") contains the correct CSRF cookie and header and succeeds
Confirm the same happens when logged in
Using curl or any other method (e.g. Postman), copy the statistics request from your browser (containing equal valid CSRF header and cookie) and confirm the response DOES NOT contain the header and cookie
Modify the request by removing the header, leaving only the cookie and confirm the response DOES contain the new cookie
Modify the request by removing the cookie, leaving only the header and confirm the response contains the new cookie
Modify the request by removing both cookie and header and once again, confirm it contains the new cookie
Modify the request by changing the header/cookie to be different from each other and confirm it contains the new cookie

Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[x] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

NOTE: The new CSRF code added in the attached PRs likely will be incompatible with Spring Security 6, which we are upgrading to in https://github.com/DSpace/DSpace/pull/9321 (as Spring Security 6 made some major changes in CSRF tokens). So, we will need to analyze whether this problem still exists after upgrading to Spring Security 6...and, if so, what the best solution will be.
One possible approach mentioned in the "Preparing for 6.0" Spring Security docs is to create a custom GET /csrf endpoint which will return the token whenever the client side application needs it. See https://docs.spring.io/spring-security/reference/5.8/migration/servlet/exploits.html#_i_am_using_a_single_page_application_with_httpsessioncsrftokenrepository
Overall, the approach taken here may need more detailed analysis with regards to alignment with Spring Security. The same approach may not work for both Spring Security 5 (which DSpace 7.x uses) and Spring Security 6 (which DSpace 8 will use). I plan to look at this in more detail once 8.0 stabilizes, but I wanted to make sure others were aware that this concept may require more work.

@Atmire-Kristof and @benbosman : As I alluded to in my prior comment, I've hit a similar-ish need in my update to Spring Security 6 in #9321.
An update is that I've created a new GET /api/security/csrf endpoint in #9321, as recommended by Spring Security here: https://docs.spring.io/spring-security/reference/5.8/migration/servlet/exploits.html#_i_am_using_a_single_page_application_with_httpsessioncsrftokenrepository
A REST Contract for this new endpoint is at https://github.com/DSpace/RestContract/pull/259
This new endpoint is similar to the one you've created here (I purposefully named it the same as it seems to be the same thing).  However, with a key difference:

This endpoint uses GET instead of POST in order to avoid seeing 4xx errors in your browser when the endpoint is called to generate a new CSRF token.

This usage of GET is has a few other benefits:

It is more in line with our REST Contract, as POST is used to create new resources (a CSRF token is not a resource).
Because it uses GET, it might be possible (in the future) to consider embedding this call in the initial access of the DSpace site.

Overall, the changes in #9321 seem like they would make this PR obsolete.  However, your changes to the UI (in https://github.com/DSpace/dspace-angular/pull/2838) would still be required, but would need to be updated to use GET instead of POST.
Glad to talk about this further as needed if there are questions/concerns.

@Atmire-Kristof : Similar to the frontend PR, I believe this PR is now obsolete.  The new GET /api/security/csrf endpoint is already on main (as described above) and is now used by the latest dspace-angular code (after https://github.com/DSpace/dspace-angular/pull/2886 was merged).
So, I believe this PR can be closed, but please verify.

Closing as I've tested further and verified this is fixed by #9321 and https://github.com/DSpace/dspace-angular/pull/2886


leverage multiple server config

Currently the role can handle only one configuration per server.
It would be usefull to allow the configuration of multiple config.

What would this look like? Multiple ports, protocols?

yes, the user would have to change the port.
The yaml config would become a list of server config
servers:
  - name: server1
    openvpn_port: 1194
    openvpn_proto: udp
  - name: server2
    openvpn_port: 1195
    openvpn_proto: udp

I think about that because OpenVPN seems not allow to use a double backend authentication in the same time.
So if you want to allow your users to access the network via certificate or LDAP, we need 2 servers.

What stops you from running the role multiple times in a playbook and providing a different set of parameters for each execution?
I can understand why multi-server would be useful, but I'm not sure adding extra complexity to the role is the appropriate place to go about doing it when you should be able to specify the role multiple times and rely on variable precedence to correctly execute each role.
As per https://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable, role params win over the defaults and any inventory-set vars.

I'll give a try with two play in the same playbook with different config targeting the same server. We'll see if it works.

Haven't heard back from @Sispheor, closing this for now.


added an optional initrd flag.

Add an optional initrd flag.

Otherwise looks good to me. Please fix CONTRIBUTORS/AUTORS and I will merge it.


Documentation for featured attribute incorrect

It looks like the documentation shows "feature" instead of "featured"

Ops, you're right. Fixed https://bootscore.me/documentation/bs-swiper/#WooCommerce_Products


Update to 1.10.2

Having issues with the getQuantityDroppedWithBonus due to the removed parameter from the method, will be seeing if I can fix this.

If you need a tester, it would be a pleasure. Your work get my thaumcraft more interesting, as the Nether is a flux free place.

Thanks, i just recently posted up an alpha release here and on curseforge.
Feel free to post bugs (even known ones) to that I can track them getting fixed :)

Saw it not long ago, I use curse app. Gonna get on it tonight a bit. Still gotta figure the nether spore recipe

Going to wait on the 1.9.4 upgrade until Forge is more stable.

Tinkers looks like it is stable enough to try an upgrade, will work on it this week.

There are a lot of methods around rendering marked as deprecated, need to look at these.
Additionally, the Wall issue still exists (breaking shows purple not found texture).
Other than that, most things went through fine.

Updated this task to 1.10.2.
1.9 and 1.9.4 will remain in beta state and will not be updated beyond, 1.10.2 will be the sole focus.

New blocks haven't made it into the mappings file yet, which isn't a surprise since the latest mappings are the same as the 1.9.4 mappings.

Totally forgot to checkin like most of the files for the 1.10 add, committed them here: c336a337847a6bfdcfbdeb6f4296a19b24bc528f

Must remember to do a obsfucated build when uploading...

Pushing final build now, totally forgot it was a beta...


Feature request: Show current tag on main screen

As the title says, I would appreciate if the currently selected label could be shown on the main screen. What happens fairly often right now is that I have some other label selected from previous sessions, and forget to change it when starting to work on something new. Moreover, two taps are required to check what the current label is (once to open the label chooser, once to return to the main screen).
There's probably a balance to strike here between the minimalist design and adding more content to this screen. In this case, I'd personally say that the benefit justifies the change, hopefully it can be considered. Thanks!

Hi,
The feature is already there. "View current label" in the Settings which is disabled by default.
Does this help?

Oops, yes, that's exactly what I meant :+1: Sorry for the noise here, I should definitely check out the settings in detail before requesting any other feature!


Better error for take applied to non-map

Currently
m> [:foo :bar]
mappy: Pattern match failure in do expression at src/Language/Executor.hs:55:3-17

Only happens with new sugar


Fixed failure to apply a default language after a request with specified language

Description:
This pull request addresses the issue where the application, after a request with a specified language, fails to revert to a default language when the subsequent request does not specify a language. The current behavior retains the previous language instead of falling back to a default language, eg. the one set in initOptions.lng.
Changes Made:

Code Modification:

Updated the logic in onBeforeHandle; If a language is not detected and the new useLngAsDefault option is true, it falls back to the default language specified in initOptions.lng.
// src/index.ts
.onBeforeHandle(async ctx => {
    const detectedLanguage = await options.detectLanguage(ctx)
    if (detectedLanguage) {
        await _instance.changeLanguage(detectedLanguage)
        return
    }

    const { options: { lng }, language: currentLanguage } = _instance

    if (options.useLngAsDefault && lng && currentLanguage !== lng) {
        await _instance.changeLanguage(lng)
    }
})

New Option:

Introduced a new option useLngAsDefault (defaults to true) to control whether the application should use the default language when a language is not specified/detected in a request.
const app = new Elysia()
    .use(i18next({ instance, useLngAsDefault: true }))
    .get('/', ({ t }) => t('greeting'))

Test Cases:

Added a new test case to validate that the application falls back to the default language after a request with a specified language.
Added a test case to verify that opting out from using the default language (useLngAsDefault: false) works as intended.

Documentation:

Updated the README to include information about the new option useLngAsDefault.

Thank you for reviewing this pull request!

Hey! Sorry for the wait, I'll have a look at your contribution today. I have been messing around a bit with the language (detection) and the behaviour is not yet where I want it to be, but maybe this solves those issues.

The test case you have submitted is valid, thank you for that contribution!
I'd like to go for a slightly different solution to the one that you have implemented. To ensure complete isolation from other requests, I'd like to clone a fresh instance (with configured defaults) of the library on each request.
The rationale behind it is that I could see settings persist other than the current language and that would create a whole range of settings to make sure that the defaults are restored / used on subsequent requests.
Added benefit of cloning is that I am also eyeing the use of i18n in a async context, for example, rendering translations (for the currently set language) in jsx components (https://github.com/kitajs/html/issues/31).

@eelkevdbos Do you still have plans on implementing this? Also, looking forward for #9
Please give me know if there a way to help

@eelkevdbos Do you still have plans on implementing this? Also, looking forward for #9
Please give me know if there a way to help

Sorry for the wait, I have a tentative implementation ready.


Dashboards for dimmers

I can't seem to find any appropriate way of using dimmers with the dashboard.  I could possibly add a bunch of widgets, one for toggle, one for decreasing brightness, and one for increasing brightness -- but the latter two would require that I pass data with the service and I don't see a way to do that with the dashboard configuration options.  Am I missing something?  Is there some way to do this?

No, I don't think you're missing anything. I don't have any dimmers nor have I ever considered passing additional data to a service, but this is definitely a necessary feature. Thanks for reporting it!
Unfortunately, I'm not too happy with the implementation I have mocked up so far. Making something cleaner would require some breaking changes.
Try it out in the dev branch. I used a counter helper to test on. Here's an example where I set it's maximum:
("counter.hass_counter"
 :label "Counter"
 :service "counter.configure"
 :data ,(json-encode '(("entity_id" . "counter.hass_counter")
                       ("maximum" . 5))))

Basically, I added the :data tag for the widget, which internally changes which service function it calls, which I definitely feel like can cause confusion to users.
Let me know if this is the functionality you were looking for and I'll work on it some more.

@purplg Yeah, that looks exactly like what I had in mind.  I'd be happy to contribute back but I won't have a chance to hack on it any time super soon.

Although now that I think about it, reusing a push-button widget is probably wrong.  Is it possible to use custom created widgets on the dashboard?  That's probably the right place to start here -- rather than making one widget that works for all cases, make each element use a definable widget, and provide widgets for the most common cases (for now, push buttons, and I can come back and contribute a slider when I have a chance).  Thoughts?

I had initially considered a new type of widget for this. Maybe a spinner of some sort with adjacent +/- buttons. I don't know how well a slider would work in Emacs, but I imagine if it's wide enough it could work. Or maybe SVGs could provide some level of resolution.
But yeah, I like the idea of new widget types.
In terms of the API, I suppose a new :type property could be added, width the default being the current button. Then different types could potentially support additional properties. For example, if a spinner widget type were created, | - |  255  | + |, I'd imagine the default :service would apply to the number readout, where it says 255, then there'd be the additional :service-decrement and :service-increment for the minus/plus buttons respectively.
Also, those should have derived defaults as well.
Anyway, those are my off-the-cuff thoughts.

I was thinking something along these lines:
(setq hass-dash-layout
      '((hass--group-widget "Group One"
                            ((hass--toggle-widget :entity "switch.bedroom_light")
                             (hass--toggle-widget :entity "switch.living_room_light")))
        (hass--group-widget "Group Two"
                            ((hass--group-widget "Nested Group"
                                                 ((hass--toggle-widget :entity "switch.kitchen_light")))))))

where:

hass-dash-layout simply becomes a list of widgets
hass--group-widget is a function that takes a name and a list of widgets and creates a new widget for that group
hass--toggle-widget is basically the current hass-dash--create-widget

The downside is that it's a breaking change, the upside is that it enables the widget dashboard to become a tree of groups rather than a flat list of groups, and it enables people to write arbitrary functions to create custom widgets.
Thoughts?

let me know if you like that proposal and I'll be happy to work on a PR @purplg ^

I do really like that. Much more descriptive and I think easier to work with. Yeah, go ahead. :)

@cprussin Since I recently got some new devices that support it, I've begun work on dimmer widgets. I call them "sliders" so the name applies to any kind of continuous widget.
You can check it out in dev if you'd like. You gotta bind hass-dash-slider-decrease and hass-dash-slider-increase in hass-dash-mode-map since I don't yet know sane defaults for that with vanilla Emacs keybindings (evil user). I just use h and l respectively.

ahh sweet @purplg I'll check it out and will leave some feedback when I get a chance.  Sorry I never got to wrapping this up, I'd totally intended to but got side tracked by other projects and kept putting this on the backburner.
I'm actually an evil user as well so the h and l bindings are ideal for me too.  Maybe just bind em to C-M-f and C-M-b (forward and backward by sexp) for standard emacs?

No probs @cprussin I appreciate what you've done so far anyway :) Lemme know what you think or what you think could be different


fix(Message.List): encoding errors on bullet point

Steps to Reproduce

Require semantic UI from https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.11.8/semantic.min.css
Use a Message component with a list prop to render a list

Expected
Each li element shows a bullet point "•" in ::before content
Result
Each li element shows 'â€¢' in  ::before content
Testcase
https://codepen.io/anon/pen/gXGEYp
This bug is not observable every time, and sometimes it takes a lot of tries to reproduce.
This is probably an encoding issue cause by an external tool in the browser. To fix this issue change all occurrences of li:before { content } to bullet's point utf-8 escape sequence '\2022'

At first, I thought it was a typo, but the example convinced me in the opposite.
This version of SUI isn't supported and it's not compatible with Semantic UI, please use the latest 2.2.13. However, your problem comes from CSS and can't be solved in this repo.

I have just opened an issue for this in https://github.com/Semantic-Org/Semantic-UI/issues/6867
For anyone who has this issue in their project. If you are able to override variables in your project, a fix is to change @bulletCharacter: '•'; to @bulletCharacter: '\2022'; in the default theme.


cli: remove hidden 'generate-bash-completion' command

As far as I can tell, this subcommand was only used to generate bash completion code when installing. As it duplicates the completion bash subcommand, just remove it.

This change is

test-me-please

Coverage increased (+0.01%) to 45.662% when pulling 00605bfc4db63f30796b71299c421792122284fa on pr/rolinh/remove-hidden-bash-completion-command into c5a33aa43dd47d821d4f82f97e3663a89871b1a4 on master.

test-me-please

test-me-please


Add Option to Manually Trigger Workflow

Approved. According to @jonathanmcdermid this will fix the failing pipeline.

This wont fix the failing pipeline, it will just allow us to do manual pipeline runs. The fail is some sort of new conan issue with spdlog_setup.


HTTP2 should coalesce small writes into a single DATA frame

@Scottmitch @nmittler
This is the analog of
https://github.com/netty/netty/issues/3737
but is probably more useful in general though possibly more complicated to implement. The goal is to allow for more small data writes to fit into a single DATA frame. Given that we already implement a queue of DATA & HEADER frames in the outbound flow-controller we could just merge contiguous DATA frames in writePendingBytes when flushing the channel to achieve the desired effect.
The complication is the relative ordering of non flow-controlled frames such as RST_STREAM relative to those in the flow-controller. In this case we can address by simply draining the flow-controller for the relevant stream and then writing the RST.

@louiscryan - Let me summarize the face value tradeoffs and follow up with some questions.  Feel free to elaborate.  It seems like goal is to potentially reduce the amount of data frames written (less data frame header overhead on the wire) at the cost of an extra iteration step before writing out data frames (until a different frame type, or a frame for a different stream is encountered).
Questions:

What does "small" mean?  How many "small" frames should we combine?  Is this based upon network conditions (i.e. is "small" for a cell network the same as for corp network), and/or defined by the application?
Seems like a goal is the peer will potentially generate less WINDOW_UPDATE frames to replenish bytes to flow control (as stated in #3737)?  I guess the "small" qualification is to avoid the risk of  sacrificing responsiveness for some use-cases where a WINDOW_UPDATE could be sent more immediately when we don't combine?
Would this require some sort of "look ahead" step in the flow controller to determine "if we combine this next frame, would that exceed my allotted allocation"?

In this case we can address by simply draining the flow-controller for the relevant stream and then writing the RST.

Does this mean we need to potentially be able to queue every frame type in the flow control queues? For example what if we can't "drain" the queues because we are blocked due to flow control constraints?

Thats a fair summary of the goal with the associated benefit of larger DATA frame reads on the receiving side.
I don't know that we necessarily need to 'flush' DATA for a stream if a different frame type or stream output is encountered. Enqueueing data should consume flow-control which would prevent ordering problems in the consumption of flow-control on eventual write. In the case of RST_STREAM we already discard any pending DATA waiting for flow-control so discarding any pending DATA waiting for flush would not be a significant semantic shift. The processing of a WINDOW_UPDATE after a write should similarly be consumed by the already enqueued but not written data.

I don't think we need to define 'small'. We don't actually commit anything to the wire without flushing the channel anyway.

Responsiveness is really dictated by how often the application calls 'flush' which I believe is the desired behavior.

I think this is moot given that we don't need to define small.

See note above about ordering semantics of RST, I'm not sure we actually have an issue. A RST would cause the stream to become inactive and any pending-consumed window could be returned without actually writing the bytes.

I should point out that a perfectly reasonable option is that we don't want to do any of this and applications are responsible for making their writes chunky.
See parallel discussion in GRPC about doing just that
https://github.com/grpc/grpc-java/issues/502

I think it may make sense.  Just a bunch of things to think about :)  For example does this negatively impact responsiveness (see below), is it possible users would want the different data frames (different application layer semantics), etc...  I can't think of anything but seems like you have thought about this a bit more than I have.
Does this negatively impact a lossy channel (i.e. cellular)?  For lossy channels it may be more likely to get the "smaller" chunks up to the application in a timely fashion.  However I guess having less overall data (less frames, less window updates) may be better in a lossy environment?  Maybe these endpoints are already limiting their flow control window sizes as well?

@louiscryan looking at the current API, this would be a fairly significant redesign, since FlowControllables would need to support merging. This gets a bit hairier when considering that HEADERS are FlowControllable too, and we wouldn't support merging them with other headers or with data frames. It certainly possible to do this, but I wonder what the resulting API would look like.  Any thoughts?

Something like
boolean merge(FlowControllable next)
if return is true then they were merged successfully, if false they werent and 'next' should be added to the queue

@louiscryan right, that's pretty much what my initial thought was as well. Were you thinking of cooking up a PR to see what this would look like?

I started hacking on something, primarily so I can compare the performance of implicit merging vs explicit merging at the application layer. If implicit is close then it's probably a good idea, if it's not then perhaps explicit application merging is the recommendation and Netty remains unchanged other than adding doc.

SGTM

Just an update on this. I have most of this working but at the moment it performs worse than before in GRPC. This is largely due to the fact that for each DATA write we attach a listener to the future and use that to return flow-control to the application. This causes flow-control to be returned to a stream for each small message rather than as a block for the coalesced write.
To fix this we need to be notified of how much data the flow-controller wrote when it was flushed. Ill look into that tomorrow.

OK. Fixed performance issues by allowing for more granular notifications out of the flow-controller.
In GRPC I see about a 2x throughput improvement for streams of small messages.

@Scottmitch @ejona86 @nmittler
An update on whether to support window update coalescing....
In short I'm inclined not to make the change as it only seems to help when the flow-control window is improperly sized to the network.
I've started using netem with our benchmarks so we can better simulate real network behaviors over loopback. For 1gb links we can saturate them pretty easily, for 10gb links we currently get to about 60% which isn't too shabby but we'd like to do better.
1gb link, 200us latency
sudo tc qdisc change dev lo root netem delay 0.2ms rate 1gbit
With WU coalescing 4.1B6
Benchmark                                                     (clientInboundFlowWindow)  (maxConcurrentStreams)  (responseSize)   Mode  Cnt    Score    Error  Units
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                     MEDIUM                       1           LARGE  thrpt  100  404.407 ±  3.885  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      LARGE                       1           LARGE  thrpt  100  889.155 ±  2.494  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      JUMBO                       1           LARGE  thrpt  100  949.817 ±  0.400  ops/s

Head
Benchmark                                                     (clientInboundFlowWindow)  (maxConcurrentStreams)  (responseSize)   Mode  Cnt    Score    Error  Units
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                     MEDIUM                       1           LARGE  thrpt  100  398.030 ±  3.349  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      LARGE                       1           LARGE  thrpt  100  869.634 ±  2.837  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      JUMBO                       1           LARGE  thrpt  100  950.606 ±  0.270  ops/s

10gb link
sudo tc qdisc change dev lo root netem delay 0.2ms rate 10gbit
With WU coalescing 4.1B6
Benchmark                                                     (clientInboundFlowWindow)  (maxConcurrentStreams)  (responseSize)   Mode  Cnt     Score     Error  Units
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                     MEDIUM                       1           LARGE  thrpt  100   653.040 ±   4.803  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      LARGE                       1           LARGE  thrpt  100  5337.066 ±  49.104  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      JUMBO                       1           LARGE  thrpt  100  4277.931 ± 711.438  ops/s

Master
Benchmark                                                     (clientInboundFlowWindow)  (maxConcurrentStreams)  (responseSize)   Mode  Cnt     Score      Error  Units
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                     MEDIUM                       1           LARGE  thrpt   30   489.693 ±    6.204  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      LARGE                       1           LARGE  thrpt   30  5916.676 ±  173.040  ops/s
StreamingResponseBandwidthBenchmark.stream:megabitsPerSecond                      JUMBO                       1           LARGE  thrpt   30  5048.846 ± 1229.370  ops/s

@normanmaurer - Random aside, have you seen much use of netem with Netty before? I wonder if it would be useful to specify a standard 'network' configuration that folks can use to run benchmarks with to improve comparison across environments. E..g setup a tuntap network with a well known name, apply netem to it and then detect its presence in the benchmark using java.net.NetworkInterface

@louiscryan - Thanks for the update. It seemed the PR which coalesced data was assuming this change would rectify some of the degradation it introduced for larger payload sizes. Do we need to take any follow-up action to correct this?

No, the degradation for larger payload was caused by using a payload
ByteBuf that was too large to be allocated out of the pool. I don't think
there is any followup specific to HTTP2 here. The appropraite fix has been
made in the GRPC benchmarks https://github.com/grpc/grpc-java/pull/563
On Thu, Jun 25, 2015 at 12:08 PM, Scott Mitchell<EMAIL_ADDRESS>wrote:

@louiscryan https://github.com/louiscryan - Thanks for the update. It
seemed the PR which coalesced data was assuming this change would rectify
some of the degradation it introduced for larger payload sizes. Do we need
to take any follow-up action to correct this?
—
Reply to this email directly or view it on GitHub
https://github.com/netty/netty/issues/3852#issuecomment-115365415.

@louiscryan - I'm not sure how reducing the payload size by itself would mitigate an issue, just seems like we are taking a different data point, maybe you should also add another size for what was JUMBO?  I recall you saying there was some extra copy operations going on in the benchmarks?  I could see may if the benchmarks were somehow copying the now bigger payloads that may cause some overhead in this situation.

@louiscryan - I think this is already done. Re-open if there is more work needed here.


How to use Environment Lights in java?

     sceneView.environment = HDRLoader.loadEnvironment(
            this@MainActivity,
            "evening_meadow_2k.hdr"
        )

in kotlin like this , is ok;
mARFragment.getArSceneView()._environment =HDREnvironmentKt.loadEnvironment(var5, ARFragmentActivity.this, "evening_meadow_2k.hdr", false,null);
in java like this , is error;
please tell me how to use HDRLoader in java

Use this one for Java (no coroutine)
https://github.com/ThomasGorisse/SceneformMaintained/blob/master/core/src/main/java/com/gorisse/thomas/sceneform/environment/HDREnvironment.kt#L109-L133


Running ESLint

Similar to #124, what's the expected way to run eslint?  Should there be a npm run lint?
I got it to run with the included config, but I can't imagine most users would find this:
./node_modules/react-scripts/node_modules/.bin/eslint -c ./node_modules/react-scripts/config/eslint.js src

eslint is ran with the eslint-loader, i.e. you'll get errors and warnings in your console while npm start is running.
For further discussions about moving this out for IDE support etc. see #124!


"Core language" guide references undefined function "double"

On page http://elm-lang.org/guide/core-language there is this code snippet:

List.map double numbers
[2,8,6,4]

When I try to use function double, REPL says:
Cannot find variable `double`

3|   List.map double [1,2,3,4]
              ^^^^^^

This might confuse newbies, so please define this function somewhere or make note. Thanks!

Also later the code mentions String, which is not imported by default:

goodName name =
|   if String.length name <= 20
|     then (True, "name accepted!")
|     else (False, "name was too long; please limit it to 20 characters")

Please change Number to number in the binary tree example:

https://github.com/elm-lang/elm-lang.org/blob/master/src/examples/binary-tree.elm#L90

http://elm-lang.org/blog/announce/0.12.3 shows the below instead of an actual article:
 Need to display 3D examples!

 Open the developer console for more details.

http://elm-lang.org/blog references blog-posts, however http://elm-lang.org/blog/escape-from-callback-hell is 404

The 4th point seems to be related to https://github.com/elm-lang/elm-lang.org/issues/209.
Generally, the points here are broader, and more urgent I think, than the current issue title suggests. Maybe change the title to give this issue relevant importance?

The function double is defined right before it is used. This may have been fixed after you filed the issue but it's not an issue anymore.

The example now includes "import String"

I'm not 100% on what is fixed and what is not. Many are fixed though, so I am going to close this.
If any are missing, please open them up as individual issues with a descriptive title.


Added Sktime Forecaster Based Outlier Detector

Reference Issues/PRs

Extending #1021
What does this implement/fix? Explain your changes.

As discussed with @mloning , this is an Annotator based on forecasts from Sktime Forecasters.
An Outlier Detector which detects those time points as outliers for which the values
fall outside of the Uncertainty Intervals of forecasts generated from
a Sktime Forecaster.
The Sktime Forecaster is passed as an argument.
This method is inspired from :
alibi-detect ProphetOD
Does your contribution introduce a new dependency? If yes, which one?

No
What should a reviewer concentrate their feedback on?

Do we need a better name for the class.
The structure of the implementation - the parameters to constructor/fit/predict?
Doc String
Any other issues you can spot if any.

Any other comments?

After first feedback I will add this to Unit tests.
PR checklist

For all contributions

[ ] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[ ] I've added unit tests and made sure they pass locally.

For new estimators

[ ] I've added the estimator to the online documentation.
[ ] I've updated the existing example notebooks or provided a new one to showcase how my estimator works.

@mloning, @satya-pattnaik, interesting - quick question though: should this perhaps also (not instead) be a transformer, which computes something like the residual to a predictive percentile, then you could apply cusum or another detector on top of that?

should this perhaps also (not instead) be a transformer

Yes, We can have it, I guess. Once this code refines out, I will make a similar transformer too.


X-Ray Subsegment is not sent from Lambda Custom Runtime

Hello,
I have two Lambda with same Java code for X-Ray:
AWSXRay.createSubsegment("Test Subsegment", (subsegment) -> {
            subsegment.putAnnotation("Annotation", "Test annotation");
});

Fists of this Lambdas use Java 8 Runtime and this code work properly - I see my subsegment in X-Ray traces.
Second Lambda is a Custom runtime with same Jave code compiled to  GraalVM native image executable. All another logic work properly but subsegments not appears in X-Ray traces and in logs I see next message "WARNING: _X_AMZN_TRACE_ID is missing a trace ID, parent ID, or sampling decision. Subsegment Test Subsegment discarded". In  Java 8 Runtime this message not appears.
I use: aws-xray-recorder-sdk-core version 2.3.0
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit GraalVM EE 19.2.0 (build 25.221-b11-jvmci-19.2-b02, mixed
mode)

Hi evgenvelgus,
This may be an issue with the custom runtime not quite configured to set the required X-Ray trace data.
https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html

Propagate the tracing header: Get the X-Ray tracing header from the Lambda-Runtime-Trace-Id header in the API response. Set the _X_AMZN_TRACE_ID environment variable with the same value for the X-Ray SDK to use.

I get Lambda-Runtime-Trace-Id header in format ""Root=1-5d887dcd-aec98d4e73a562e6bf8b465c;Parent=659611a64a94852d;Sampled=0" and try to set it using next approach
[(https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/lambda/AWSLambdaClient.html#updateFunctionConfiguration-com.amazonaws.services.lambda.model.UpdateFunctionConfigurationRequest-)]
Environment environment = new Environment();
environment.addVariablesEntry("_X_AMZN_TRACE_ID", "value from Lambda-Runtime-Trace-Id header" )

AWSLambda client = AWSLambdaClientBuilder.standard().build();

UpdateFunctionConfigurationRequest request = new UpdateFunctionConfigurationRequest()
    .withFunctionName("aws-lambda-example")
		...
    .withEnvironment(environment);

UpdateFunctionConfigurationResult response = client.updateFunctionConfiguration(request);

But I got validation error because environment variable can't start with "_". "The key must start with a letter and can only contain letters, numbers, and underscores."

Hi @evgenvelgus,
I have shared this issue with Lambda and am waiting to hear back from them about changing their validation code. I apologize for the frustrating fact that their documentation is not consistent with the developer experience, but hopefully this will be resolved soon.

After talking with the Lambda team, it turns out a UpdateFunctionConfigurationRequest should not be used to set environment variables in this situation. The configuration update it makes is static, meaning each invocation of the custom runtime lambda would have the same parent ID, which is not desired behavior.
Instead, it is recommended that you set the _X_AMZN_TRACE_ID environment variable from within the JVM on each invocation. This answer on StackOverflow outlines the (admittedly pretty hacky) process of mutating environment variables at runtime. You should update the environment variable after each invocation, as described at the bottom of these docs linked earlier.

An update to clarify this process is slated to be released on the custom runtimes documentation: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html
Closing this issue.


Randomize the order of unit tests with pytest-randomly

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

Please upload report for BASE (main@62d4e81). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff            @@
##             main        #9   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         6
  Lines           ?        93
  Branches        ?         0
========================================
  Hits            ?        93
  Misses          ?         0
  Partials        ?         0

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


No code

Hello, I don't see any code in this repo. Are you planning on adding some code or is this another empy repo?
Cheers!

We are just starting the project.
Regards


explicit casts for -Wconversions warnings in gcc

The current implementation complains if -Wconversions is set in gcc

Thanks!


Cannot edit at the end when content in the markdown cell are folded

#96279
Have following markdown cell

Cannot use only keyboard to add content at the end of the cell

Can you reproduce the same issue in regular editor with markdown file?

Same with markdown file

@sandy081 Can you explain how you want to add content in a markdown file if not with the keyboard?

Actually cmd+down allows me navigate to end. So closing.


data deduplication on roadmap?

data deduplication on roadmap?

We don't plan to support this feature currently.


Add MIUI music app handling

It seems that MIUI prevents MediaBrowserServices from launching, and the app UI should detect this situation and offer an explanation and actions for how to grant the Start in Background permission for each music.

It might also be helpful to add a hint to enable this permission for Connected itself


Fix doc error in flat_map

I found this small while working on #387.

😆
Thanks!

 :D


Loading audio from node's FS.readfile

Hello,
I'm trying to use Wavesurfer to display the waveform of an audio file which I read from the filesystem with fs.readfile. This file is previously recorded using the standard Web Audio API, in a .webm file.
I can't find how I'm supposed to load the file after I get the buffer from fs.readfile. I tried creating a blob and using wavesurfer.loadBlob and creating an object URL (URL.createObjectURL(myblob)) to use wavesurfer.load but nothing works. The error I get is

Uncaught (in promise) DOMException: Unable to decode audio data

By the way, I am also using the blob URL to play the sound using an Audio element and it plays fine.
How am I supposed to proceed? Thanks :)

@Je4hel can you run ffprobe on that file and paste the output here? ffprobe is part of ffmpeg.

no feedback, closing.


UGT1A1 and UGT1A8

Dear gnomAD team,
Please check the validity of the current UGT1A1 and UGT1A8 data (The UGT1A1 page might actually archive the data of UGT1A8 and vice versa).
All the best,
Jiarui

Hey @JiaruiMi01
Thanks for filing this issue. Is it possible to get a little more information on what leads you think that these two genes information is swapped?
Any other sources / details on why the information appears wrong on the two pages you mention would be very helpful for us.
Also, if it is agreeable to you, this thread might make more sense on the gnomAD forum. This github repo is primarily used to host the code for the browser of gnomAD data, the creation of the dataset itself is an effort by another team within our group, and those team members are more active on the forum.
Thanks!
Riley


CIP-???? | Cardano URIs - CIP-0019 Address Representation

CIP-13 does not have a way to simply refer to a CIP-19 standard text encoded Cardano address.
This extension adds that capability.

(latest version rendered from branch)

Other than any changes required as a result of the review process, this CIP is finalized from our perspective and ready for said review.

@stevenj I'm glad to see this, because:
* it fills out an inevitably useful part of a comprehensive URI scheme for Cardano

* the document fits very well with our past & concurrent URI scheme CIPs

* it's a guaranteed step forward for the URI scheme in general if the Catalyst team is going ahead with implementing thiis.

I'm ready to approve it as soon as answering these questions and will suggest we add a CIP number at the next meeting so you can update the corresponding changes to CPS-0016.

Agree with everything here.  We do have the use case already and we have already implemented it inside our certificate encoder/decoder logic.  Still WIP, but will be in testing in the next month or so.

Comments from CIP Editor meeting # 96:

Good to move ahead and assign number
Leaving this proposal to continue community review


Removed

See https://github.com/codeigniter4/CodeIgniter4/security/policy#reporting-a-vulnerability