Kafka Ver. <IP_ADDRESS> uses OracleJDK

The default Kafka version <IP_ADDRESS> utilizes JAVA(TM) internally, it seems.
So, I got wondering if you have any issue with upgrading the version of Kafka, say, to 3.4.x or to 3.5.x. Because both of those docker images use OpenJDK I think no one would need to worry about the license issue.
So, my question is, in a nutshell, do I need to change the version of Kafka on my own if I want to keep it free, using Openwhisk as a whole?
$ docker exec -i kafka0 java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

I think upgrading to a more recent Kafka release (eg. 2.2.x) would be a worthwhile project.  I don't know how much or little effort this would take.  Someone would need to take a careful look at the release notes since 0.11.x and see what changes were made in the clients and in the configuration details of the docker image.

@dgrove-oss
I am in a position where I need to upgrade it to a recent release due to the license issue. Since it seems that it's me who wants this change the most why don't I have a chance to take a look at it and proceed with the upgrading process?

Sounds good; thanks @JiniousChoi!

@JiniousChoi
If you look into it, it would be greatly appreciatable.
I think a few Kafka libraries are being used in some places such as KafkaMessagingProvider and MessageFeed.
(Since I didn't look into it deeply, there can be more components which dependent on Kafka.)
We need to figure out such components are compatible with the latest Kafka.
I think we may need to upgrade those libraries as well.

Sounds good! Then I'll look into the release notes for Kafka soon

Also, I have a question. I read some hints that the team would use Vagrant for the development of Openwhisk at this README.md. It is still valid? If so, would you use it for integration tests as well? Some recommendations would be appreciated.

In the upstream Travis build, we are deploying OpenWhisk natively.

@dgrove-oss Then how about the local test? Do you use Vagrant to keep the environment the same, controlled across all the developers? Or do you just let them develop on whatever host machine they have?

Likely there are many camps on this. Some like kube some native ansible and some compose to give an idea. My suggestion: use the standalone controller it’ll be easier and faster for you. We maintain the vagrant box so infrequently. I’ve been increasingly switching from ansible to standalone and like it. https://github.com/apache/openwhisk/blob/master/core/standalone/README.md

I think Vagrant is the least used environment.  Perhaps it is time to remove it from the documentation.

less is more :)

That's what I was asking! Thanks a lot :)

And, I'd love to read through a guiding document for Openwhisk developers if there is any.
Neither CONTRIBUTING.md nor Recommended-Reading-for-OpenWhisk-Developers wiki seems comprehensive, judging by not including the local environment as you guys recommend.

I think Vagrant is the least used environment. Perhaps it is time to remove it from the documentation.

+1 on this.
And I think it would be also great to change our QuickStart guide to the one based on standalone deployment.
https://github.com/apache/openwhisk#quick-start

@rabbah
Can I use external Kafka, not the embedded one, when using standalone Openwhisk?

What happens if I run java -jar openwhisk-standalone.jar without '--kafka' switch?

Then OpenWhisk runs in lean mode (#4216) without Kafka. With --kafka it uses embedded kafka. See #4628 for details on what all was done for this mode. Note that it uses Kafka 2.1.1. So basic stuff works as expected with this Kafka version.
To make standalone connect to existing running Kafka would need some work as current approach was implemented with embedded mode and has to adapt the listeners to workaround the Docker networking. May be try launching Standalone without --kafka switch and instead set following system properties
-Dwhisk-config.kafka.hosts=localhost:9093 -Dwhisk.spi.MessagingProvider=org.apache.openwhisk.connector.kafka.KafkaMessagingProvider
-Dwhisk.spi.LoadBalancerProvider=org.apache.openwhisk.standalone.KafkaAwareLeanBalancer

Change the port as per your setup. I have not tried it so cannot comment if it works as expected!

@chetanmeh
Thanks for your detailed tips!
I'll look into the #4628 and the system.properties hack.
I'll share the result.

testSystemBasic.zip
I ran the SystemBasic test against my working system on Vagrant(Ubuntu16.04) with the following command:

./gradlew :tests:testSystemBasic -Dwhisk.auth="23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP" -Dwhisk.server=https://localhost -Dopenwhisk.home=`pwd`

And I have 2 failed tests.
Is it me doing something wrong? I'd like to know a proper test environment where I can see them all passed, 100%.
Do I need to see all-green in my test result before a PR? Please guide me on the minimum requirement for PR.

There are some tests that are known to fail sporadically. Unless you suspect your change is the reason for the failing tests, I would open the PR and let Travis determine status more thoroughly.

#4802


Day49: Reverse Linked List - Recursion

Reverse Linked List
https://leetcode.com/problems/reverse-linked-list/

Given the head of a singly linked list, reverse the list, and return the reversed list.
Example 1:
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]
Example 2:
Input: head = [1,2]
Output: [2,1]
Example 3:
Input: head = []
Output: []


simplify KafkaMessageChannelBinder ctor call

The headers are varargs anyway, so null checking in the ctor makes for less overall code.

Hi @mbenson,
Thanks - LGTM, will merge.

Rebased, merged w/https://github.com/spring-cloud/spring-cloud-stream/commit/9119e794c8fcd5d11a021af231b8b51c2956c204

sorry I forgot to rebase. Thanks for merging!

No worries - it's part of the merging process! Thanks for improving code quality :)


Add Pablo Blanc, github: pablobce, role: setter for tcap, auth: cruz

Pablo will be one of the setters for our la-tcap contest.
Thanks,
Cristian

invitation sent.


[TURN] Fix server relay UDP port not release problem.

On our servers, we found that after the TURN service runs for a long time, there will be a large number of UDP ports that are not released.
We found that the reason is that after the packet_handler task is started, if the client no longer uses the UDP connection, relay_socket.recv_from will never return. So we add a 10-second timeout here to check whether the allocation has been dropped every 10 seconds.
We think this is the solution to the issues:
https://github.com/webrtc-rs/webrtc/issues/232
https://github.com/webrtc-rs/turn/issues/13

@clia could you please add a changelog entry (CHANGELOG.md)?

Changelog entry added.

We can merge this I think, I do think using the oneshot this way is a bit weird but it'll work so 🤷🏼
Tokio's CancellationToken seems more suitabl

I just don't want to introduce another dependency library.

Hmm, good point. I thought it would already be somewhere in the dependency graph, but I guess it isn't


1.0

Extract class name for possibility of override.
Extract mapping driver factory

Overlaps with PR #60.


Update the example requests to the latest version of the API

Linked to internal JIRA issue: BACKLOG-2917

Fixed in #7


Revert "Fix inconsistent date formats in API"

This change is really problematic for all the people who consumes the Docker API.
Swarm for example is broken with this change.
Here what I would advise:

postpone this change after 1.7, the code freeze is in a week,
it's too short to fix dockerclient, swarm, etc...
do not use the same variable name

ping @crosbymichael @tianon @tiborvass @LK4D4 @jfrazelle @icecrime @calavera @unclejack

ping @aluzzardi @abronan

+1
Could we postpone this API change for right after 1.7? That will give some extra time to deal with this breaking change.
ping @docker/core-maintainers

@vieux I'm fine with this PR, but out of curiosity why is it breaking everyone? It was supposed to be in the next API version and should not impact API versions of already released Docker versions.

Design approved

LGTM

A quick summary of the issue: the API version was bumped and is correctly handled by the Engine so it's all good on that side (Swarm -> Docker 1.6 and 1.7 works).
However, the other way around (Docker CLI 1.7 -> Swarm) doesn't work since we don't return the expected information.
This is a breaking change to whatever acts as a Docker daemon (Swarm, Powerstrip, ...) and we need a little bit more time to handle backward compatibility.

Hi there,
can we just learn from the kernel community that each stable would be maintained respectively and the maintainer will ONLY backport the bugfix into the stable. So anyone who wants to use older docker version will not be affects so deeply and at the meantime the docker community can just move forward without concerning it may break his partner

Though it will not be counted, NOT LGTM

@HuKeping Docker handles backward compatibility of the API just fine. The thing is, other things have to be updated when making API changes.
The problem here is not the original PR - the problem is it got merged 8 days before the release which doesn't give enough time for all parties to make the necessary changes.
The plan would be to revert this and, as soon as 0.7.0 is released, merge the original PR back so it goes into 0.8.0 and leaves a couple of months for everyone to make the necessary changes.

While I'm always +1 for consistency, in this case IMO Unix times would be much more useful for API consumers (there's less error-prone string parsing that way), so I'm definitely +1 on the revert and +1 on a follow-up PR to convert the ones that do return a human-readable string today into returning a Unix timestamp.
If docker inspect -f doesn't have a function already to deal with Unix timestamps, we should add one (like json: https://github.com/docker/docker/blob/56847ec4d4c24535bd8f4763e895f609eec9e8cf/api/client/cli.go#L59-L64).

at this point I think this is the safest move right now then we can work on fixing the issue in the next release.
LGTM

@tianon looking for a standard, looks there are two visions; the easy parse able (timestamp), and the "most native to JSON", http://stackoverflow.com/questions/10286204/the-right-json-date-format


Reduce memory usage of butteraugli.

Remove the ImageF class and use std::vector everywhere.
This removes the need to copy back-and-forth between the two
formats and saves about 20% memory usage.
Peak memory usage of the ~1MP station.png file from the test corpus
went from 263 MiB to 210 MiB.
This commit contains some additional clean-up of the butteraugli.h
header, we now include only those functions that are needed by guetzli.

This starts to address #11


[Outlook] (autolaunch) Update manifest example

Docs Build status updates of commit 5779fef:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/autolaunch.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 829eec0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/autolaunch.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Disclaimer for removal date of deprecated fields in ControllerRegistration

How to categorize this PR?

/area open-source
/kind enhancement
What this PR does / why we need it:
Add a disclaimer with information when the deprecated fields in the ControllerRegistration resource will be deleted.
Special notes for your reviewer:
This is a prerequisite to allow end-users/project members to read ControllerRegistration resources in the garden cluster, i.e., allowing them to discover the registered extension kind/types.
Release note:

The `.spec.deployment.{type,providerConfig}` fields in the `ControllerRegistration` resource (deprecated since `v1.23`) will be removed from the API starting with `v1.32`. Please consider adapting to `ControllerDeployment`s now (see https://github.com/gardener/gardener/blob/master/docs/extensions/controllerregistration.md and  https://github.com/gardener/gardener/pull/3995).

Good idea, thanks! However, for this change, I'd propose to go forward as is as these fields are already deprecated since long and we didn't have these warnings before either. Though, let's definitely consider them when we deprecate fields/resources next time!


uxn: 1.0-unstable-2024-06-05 -> 1.0-unstable-2024-06-14

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for uxn is: Assembler and emulator for the Uxn stack machine
meta.homepage for uxn is: https://wiki.xxiivv.com/site/uxn.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0-unstable-2024-06-14 in filename of file in /nix/store/h7kj25f84036mlfxh2hwv7pyvrhrzkn3-uxn-1.0-unstable-2024-06-14

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

uxn

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h7kj25f84036mlfxh2hwv7pyvrhrzkn3-uxn-1.0-unstable-2024-06-14 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A uxn https://github.com/r-ryantm/nixpkgs/archive/b33daa31f2043794280f0301bd8d16593c96cd57.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/b33daa31f2043794280f0301bd8d16593c96cd57#uxn

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h7kj25f84036mlfxh2hwv7pyvrhrzkn3-uxn-1.0-unstable-2024-06-14
ls -la /nix/store/h7kj25f84036mlfxh2hwv7pyvrhrzkn3-uxn-1.0-unstable-2024-06-14/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

uxn
uxn.projects

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge


XGBoost crashes in Windows 10 due to incompatible DLL dependencies

In https://discuss.xgboost.ai/t/xgboost-crash-on-windows-10/984?u=hcho3, a user reports that the official Python distribution of XGBoost crashes on Windows 10 Pro. Currently, we only test XGBoost against Windows Server editions.
@trivialfis @RAMitchell @rongou @sriramch Have you ever run into issues when installing XGBoost on Windows using pip install xgboost?
~TODO: Add Windows 10 Pro to Jenkins CI. Since AWS only provides Server editions of Windows, we'll need to use VirtualBox.~

Haven't encountered this myself but haven't been doing a lot of work on Windows lately.

Update: I did not manage to reproduce the issue. Here are the steps I took:

Make a fresh installation of Windows 10 Education Edition inside VirtualBox.
Install Miniconda.
Activate the conda environment and install NumPy and SciPy:

conda activate
conda install numpy scipy

Install XGBoost.

pip install xgboost

Run the following script:

import xgboost

dtrain = xgboost.DMatrix('agaricus.txt.train')
dtest = xgboost.DMatrix('agaricus.txt.test')

params = {'booster': 'gbtree', 'objective': 'binary:logistic',
          'learning_rate': 1.0, 'gamma': 1.0, 'min_child_weight': 1.0,
          'max_depth': 3, 'eval_metric': 'auc'}

bst = xgboost.train(params, dtrain, num_boost_round=10,
                    evals=[(dtrain, 'train'), (dtest, 'test')])

print(bst.predict(dtest))

The script managed to run without crashing.

Closing for now.


integrate gaia to persistent store

What do these changes do?

jna start gaia
Related issue number

#439

Its fine to get it landed, I'm not sure why the CLA check is stuck.


Test macOS installation

Created another pull request for #6231 after we reverted it due to broken docs.
This PR adds logic to test the python installation guide for MacOS CPU on Travis. We test the installation instructions in a clean environment via pip, virtualenv, and from source.
There are two tasks that I've added to Travis as shown in the .travis.yml file:

installation_packaged_test

Tests instructions for installing MXNet via either 1) virtualenv 2) pip
Runs a simple Python sanity test (create NDArray)
Takes 2 minutes

installation_source_test

Tests instructions for installing MXNet from source
Runs a simple Python sanity test (create NDArray)
Takes 16 minutes
Needed to be put in a second task because it needs a clean environment

Note:

I added logic to run installation tasks only if the diff between this branch and the mxnet's master branch contains install.md.
The installation_source_test task fails in Travis because my changes to install-mxnet-osx-python.sh needs to be merged.
The motivation behind this PR is to test the installation _guide_ rather than the package.
I've built the docs and manually checked that the docs page looks okay.

closed due to inactivity. Please reopen if necessary


Sort by filename

First, this is the best plugin I have ever been missing. I migrated from Roam Research, and I always heard that Obsidian does not return the backlinks as Roam due to its nature. Roam's structure is a "blocks" concept, while Obsidian"s structure is a "page markdown."
Then Logseq appears. Logseq accesses the same database as Obsidian and can return the information from the backlinks exactly as Roam Research. I have been using both for this reason.
And now, by chance, I found this awesome plugin. Thank you very much.
My only request is the ability to sort the results by filename since Obsidian does not recognize dates. Sorting by filename, like 2022-10-20, I can have the results sorted by date.  😀😀😀

Thanks so much! Feature should be present in the upcoming release.

Fantastic!!!!!!! Thank you very much!!!!!


 Pretty nice! And because the command invocation uses the bxl// cell to locate top.bxl, the bxl command can work in any repository that defines that cell, and the files can be located anywhere.

So my question is: could something like this be supported in a better way? The reason is pretty simple: it's just a lot easier to type and remember!
Perhaps the best prior art here I can think of is git, which allows git foobar to invoke the separate git-foobar binary, assuming it's in $PATH and has an executable bit set. We don't need to copy this exactly 1-to-1, but it's a generalized solution to this problem, and in fact it's arguable that being able to do a buck2 foobar subcommand is useful for the same reasons. So maybe that's a better place to start, and the bxl scripts could be a more specialized case of this.

It's great that Bxl is turning out to be so useful. Having top.bxl be hardcoded to being special seems unfortunate, and I'm not a huge fan of looking up things on the $PATH. But you could imagine adding entries to .buckconfig:
[commands]
bxlrun = "buck2 bxl bxl//top.bxl:$1 $*"

Or something of that form - so you can essentially introduce top-level command aliases to buck2. I could imagine defining fasttargets as an alias for targets --streaming --keep-going --no-cache --inputs (which is a command I do quite frequently).

Yes, I think that something like that is the right way forward, but I didn't want to get too far ahead of myself!
A big advantage of having it in the .buckconfig file rather than being implicit is that it's per project. In git, to invoke git foobar it needs to be in $PATH while buck bxlrun (in your example) is localized to the repository in an easy to understand form that can be immediately looked up and referenced. That would make discoverability much better. (Another advantage is that you can rule out name conflicts between commands, but in practice in the git ecosystem this never seems to have been a problem after many years.)

Here's something I just thought of: if a command is exposed as a buck2 subcommand, what about UX considerations like the help system? Like, if the set of commands is configured in .buckconfig somehow, in whatever way — I think it might be reasonable to expect the UX to reflect that. So buck2 help should also show bxlrun too, right? And it's arguments if it takes some.
I think this is highlighting is that the [commands] example before might better be thought of as an alias. But a real "subcommand" might be thought of as being semantically different and having a different set of UX expectations. Both are useful, I think.
I point this out because I think part of the build system is having a great UX. git's way of doing things doesn't really have any way of enforcing this, which is arguably fine, but there's no reason to copy that. So thinking this through a little, it might be better to do it "the harder way", which would probably be to support a more programmatic design.

Here's a more worked example of what I'm thinking of. Let's say .buckconfig looks like this:
[repositories]
bxl = path/to/bxl/dir

[aliases]
fasttargets = "targets --streaming --keep-going --no-cache --inputs $*"
brun-less = "bxl bxl//$1.bxl:$1 -- ${*:2}"

[commands]
brun-more = bxl//brun.bxl

Then, path/to/bxl/dir/brun.bxl could be:

"""A command that runs bxl scripts, conveniently"""

def _impl(ctx):
    # NOTE: execute `buck2 bxl bxl//${target}.bxl:${target} -- ...` similar to the alias

_args = {
  "target": cli_args.option(cli_args.target_label())
}

main = bxl(impl = _impl, args = _args) # for `[commands]` stanza
brun = bxl(impl = _impl, args = _args) # for `brun-less` to work

All of the following commands now work:

buck2 fasttargets //..., which works "as expected"
buck2 brun-less foo --cool_beans 123, which similarly works as expected; to be clear it effectively translated to buck2 bxl bxl//foo.bxl:foo -- --cool_beans 123, assuming bxl//foo.bxl exists and has a top-level foo = bxl() export.
buck2 brun-more --target foo -- --cool_beans 123 would also work assuming brun.bxl was implemented appropriately and just executed the expected buck commands
buck2 brun-less brun --target foo -- --cool_beans 123, which runs the alias to run the command to run another command!

This is a contrived example but I think you see what I'm getting at. Some notes:

Aliases do not mention buck2 as the command itself; it's always implied as the first "word" of the command to invoke — this keeps aliases more focused and specific as shorthands for existing buck2 features, while commands can be "do any arbitrary thing and invoke arbitrary executables"; but this is just a minor nit/aesthetic point; feel free to disagree.
Note the usage of ${*:2} in the [aliases], which is a kind of "array slice" similar to the bash version, because we need to split the parameters appropriately. Something like this needs to be worked out.
There is no reason that the BXL API can't support multiple subcommands of its own commands either, but it would need to be worked out. This is why I left the details mostly abstract

So then we can have buck2 foobar subcmd1 --flag2 true --flag3 false defined by foobar.bxl or whatever

At this point if this could work, the rest mostly falls into place. buck2 help could then show more detailed programmatic output for all [command] stanza entries, and it could even show a "The following aliases are also currently defined:" as well in the help output for the simpler case, too.
Final notes:

The [command] part is reasonably heavy enough to probably require some kind of RFC

Mostly, a BXL API will need to be thought up.

The [aliases] part is probably a much simpler, easier win

The slicing syntax does need to be figured out

None of this is required, because the workarounds can be done in my case, but I think it's nice. :)

Cool, I'll raise this and #85 with the larger team internally and encourage people to comment here.

Was there any commentary from the internal team on this feature? As discussed in #263 we are running into some real world use cases where this could be a nice addition.

@ndmitchell Has anything come out of those internal discussions? Would you accept a patch that would add support for aliases, at least as a first step?


test: updated js helper method with ts helper method

Summary by CodeRabbit

Bug Fixes

Improved the Git import flow by updating the merge operation to ensure more reliable interactions with the master branch.
Enhanced the commit and push functionality to include additional assertions, ensuring the commit process is more robust.

Tests

Updated Git import test scenarios to reflect the new method calls and control flows.
Added more thorough checks in the commit process to verify the commit comment input visibility and accuracy.

/ci-test-limit

/ci-test-limit runId=9714554374

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit runId=9743181100

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit runId=9789176073

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit runId=9906282969

/ci-test-limit

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280

/ci-test-limit runId=9934393280


Best practice to register Twig extensions from an extension

What is the best practice to register a Twig extension from a Silex extension ? I see 2 solutions with the current code:
Using twig.configure
I could overwrite twig.configure (as it is a place meant to do such things) but using it in extensions means that every people using it would have to write it in a way avoiding to delete previous changes:
<?php
// in the extension register method

$oldconfigure = isset($app['twig.configure']) ? $app['twig.configure']: function(){};
$app['twig.configure'] = $app->protect(function($twig) use ($oldConfigure, $app) {
    $oldConfigure($twig);
    $twig->addExtension($app['my_extension'])
});

And note that the TwigExtension would need to be changed too to avoid overwriting it if it already exists (so that extensions modifying it can be registered before the TwigExtension too).
The drawback is that every user would have to use this way, including the end-user (thus making it less user-friendly)
Overwritting the definition
I could also do it by changing the definition of the Twig environment:
<?php
// in the extension register method

if (isset($app['twig'])) {
    $oldTwig = $app->raw('twig');
    $app['twig'] = $app->share(function($c) use ($oldTwig) {
        $twig = $oldTwig($c);
        $twig->addExtension($c['my_extension']);

        return $twig;
    });
}

Advantage: The end-user can use twig.configure in the simple way, without having to take care to keep previous changes.
Drawback: The extension must now be registered after the Twig extension otherwise the Twig integration is ignored. This could potentially lead to a circular dependency for the registration order (which would not work) but it is likely to be an edge case
Improving the current code to create a clean way to do it
The idea here would be to have a way to let the TwigExtension know that some services should be registered in the environment (what is achieved using tags in Symfony2). But this may be overkill for Pimple.
What do you think about it ?

I think we ought to just improve the TwigServiceProvider to allow instantiated Twig extensions to be fed into it from the configuration array. In my case, I forked TwigServiceProvider and renamed it to Twig2ServiceProvider and hardcoded the Twig extension I needed as a quick fix. Submitting a patch for TwigServiceProvider is is my to do list, soon...I hope.

a) If you don't need it, just do not load it :) Or am I missing something?
b) it's assumed to be called from an extension, which will configure the needed stuff.
Correct me if I'm wrong

@stof
Thanks for the explanation!
"Now I see the sun.." (C) :)


Merge from OddBird fork.

Allow converting a Task Scratch Org into a Dev Org or new Task (https://github.com/oddbird/Metecho/pull/1192)

@davisagli Unless something else comes up, I think this is the final merge before the June sprint. 👍


update to ondatra/gnoi api

Pull Request Functional Test Report for #2265 / 74737059d593b56eba14fc9ecdd2aa2f156794f3
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
6ea75e9f
Log

Cisco 8000E

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
d2e28562
Log

Cisco XRd

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
bc779dc6
Log

Juniper cPTX

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
86163b87
Log

Juniper ncPTX

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
edce5e6c
Log

Nokia SR Linux

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
5979c67f
Log

Openconfig Lemming

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover
785e1717
Log

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover

Cisco 8808

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover

Juniper PTX10008

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover

Nokia 7250 IXR-10e

TE-13.2: gRIBI route DELETE during FailoverP4RT-1.2: P4RT Daemon FailureTE-8.2: Supervisor FailureTE-8.1: DUT Daemon FailureTE-13.1: gRIBI route ADD during Failover

Help


Unable to set property 'language' to 'en' on org.asteriskjava.manager.event.AgiExecEndEvent

Asterisk 17.4.0
org.asteriskjava.manager.internal.EventBuilderImpl - Unable to set property 'language' to 'en' on org.asteriskjava.manager.event.AgiExecEndEvent: no setter.

Will add by myself.


implement JsonDecodeError

What does this pull request do?
includes https://github.com/purescript-contrib/purescript-argonaut-codecs/pull/72
implements typed error messages just like in https://github.com/garyb/purescript-codec-argonaut/blob/93265396a942ee322047bb31400e1ca9c16e0e3a/src/Data/Codec/Argonaut.purs#L60-L66
breaking change

I’m not sure I’m in favor of changing the error type, as this change will break pretty much all code using this library (all functions handling the result of decoding) and it isn’t clear to me that the error sum type is worth the change.
I’m open to hearing other opinions, but at the moment I would prefer not to merge this particular change.

That's why I never made this change when I was the primary maintainer on this library too. It's unfortunate.
Working on how the error messages are generated could probably result in much better errors though, if they're done carefully this library should be able to produce errors that look like the pretty-printed version of JsonDecodeError.

so, the only reason is that this is a breaking change?
I personally think typed errors are better

Yes, I agree that typed errors are nicer, but I'm not sure that the benefit of introducing them is worth breaking code across the ecosystem. Argonaut is the main way folks work with JSON in PureScript, and that includes a bunch of libraries as well as internal codebases.
In order for me to merge a change to the library that would force every user to update their code I would need it to be a really compelling improvement, and I'm just not sure that introducing typed errors is sufficient. If you have some examples that demonstrate a major improvement with the typed errors that would save folks enough time and energy to justify the breaking change then I will definitely re-consider, but at the moment I would prefer not to introduce the change.

@thomashoneyman rebased typed errors
could you please add documentation, since I don't know how it should look like)

Sure, that's fine

:clap:


Permissions error with automatic installation

Run the auto install as suggested in the docs:
curl -sSL https://get.keygen.sh/keygen/latest/install.sh | sh

Returns this on my M1 MacBook Pro:
[info] successfully downloaded v2.2.0 for darwin/arm64: /tmp/keygen.GXM5QkpWJx/keygen
mv: rename /tmp/keygen.GXM5QkpWJx/keygen to /usr/local/bin/keygen: Permission denied
[error] failed to installed v2.2.0 for darwin/arm64 (please install manually via https://keygen.sh/docs/cli/)

No worries, I can run a manual installation but still have to sudo mv to get things in place. Once that's all done, the first time I try to run the command I get a scary notice from Apple saying they can't scan this for viruses and won't run the script. Not my first rodeo, so I go into Privacy & Security settings and explicitly allow it and Apple finally lets it run.
Is my system being wonky, or is this expected behavior? I wish I had screenshot the Apple warning message, because it was slightly different than the normal one and it mentioned to contact the developer.

You shouldn't need to run sudo to move something to /usr/local/bin. Sounds like your permissions are wonky.

Once I get home I'll try it on my wife's Mac and see if I still get the same error-- I'm sure she wouldn't have messed with her permissions the same way I may have done in the past.

Everything worked as expected on my coworker's Mac (13.31), but on mine and my wife's (13.4) we get blocked. Still can't say for sure it's related to the MacOS version though.
I'll close this for now since it's trivial to work around.


Improve Code style tooling configuration and workflows

With PR 282 the issue #199 was addressed, the following points for a consistent codestyle are not yet fulfilled.

[x] Fixed dependencies of the style tools to simplify installation and prevent style conflicts due to different versions.

[x] Description of setup and usage of all codestyle relevant tools (black, flake8, pydocstyle, mypy, isort) and how to ignore them (if necessary).

[x] Local enforcing via git commit hooks (describe in documentation) on all added files as well as CI tests (CI test on everything except mypy, if this is possible on only the added files).

[x] Implementation or reworking of the configuration of the tools in setup.cfg or pyproject.toml.

I've implemented the changes in the branch LG_286_code_style. However, I didn't implement any CI-tests because it is difficult to check just the files or line of code you have changed since the creation of a branch or after a merge from another branch. And checking the whole repository using a CI-job is kind of pointless at the moment because the errors might come from somewhere else and trying to fix it could become chaotic and trigger work, which is completely independent of your own problem.
However, once the repository is stable against these tools, I think it makes sense to include CI-checks for them. So I think it should be a dedicated issue to adapt the repository to pass the checks of the tools and then implement the according CI-checks.
Low-hanging fruits are:

black (already done by PR PR 282)
isort
flake8

The checks which need more work are:

pydocstyle
mypy (I don't think mypy-ci tests on each push are useful because the test might take a while. maybe on PR? or just leave it a convention?)

I have written the setup and the use of the tools in the dev-documentation. If there are any ambiguities, bugs or suggestions for improvement, don't hesitate to discuss them. I will present the tools in the next meeting and hope that they will be used as intended in the future.


TextureAtlasBuilder does not preserve order of inserted textures leading to incorrect animations

Bevy version
0.5.0
Operating system & version
Windows 10, Ubuntu 20.04
What you did
Built a TextureAtlas using TextureAtlasBuilder
Used the TextureAtlas to animate a Sprite by incrementing the index
What you expected to happen
The Textures would play in the order inserted as the index is incremented
What actually happened
The Textures play in an arbitrary order determined seemingly at runtime (different runs of the game have different frame orders)
Additional information
None

This imo is intended and means incorrect usage of the tilemap. You need to keep track of which index it gets mapped to. I had a similar issue but getting rid of the HashSet (iirc that was what was being used) inside will only provide a negative impact on texture storage.

Hey, Thanks for the reply!
I'm not using a tilemap, I am adding individual textures to the builder using add_texture() and then building the texture atlas with finish(). I don't see a way to get the internal index of each texture in the TextureAtlas, could you elaborate?

get_index_texture lets you get the index for the texture.


:true-value="0" :false-value="" is not working like expected

I have the following form binding:
<input type="checkbox" v-model="filter.level" :true-value="0" :false-value="">

The request params are directly bound to the Vue's data model. Thus I expect the following
?level=1 (not checked)
?level=0 (checked)
(no param) (not checked)
?level= (not checked)

==> This is not the case. So an empty string will lead to a false positive here
Tested against VueJS 1.0.28

I am looking into this.

See http://vuejs.org/guide/migration.html#Truthiness-Falsiness-with-v-bind

But i'm not using 2.0 yet. Besides the fact that i'm curious about how to solve my problem under this circumstances...

You should have :false-value="''" or false-value="". Providing a repro makes it easier for us to check and is actually required for a bug report

Closing due to inactivity.

this worked for me
:false-value="0" :true-value="1"


QR code generated without amount

https://banano.site/pay/
The placeholder text for the Amount form is "100".
If user clicks "Pay" without entering an amount, QR code without Amount will be generated.
Suggest changing placeholder text to "Enter amount" in order to prompt user to enter amount.
I´m going to change and create PR for this change.

This is not a bug, but a feature. Sometimes people just need an address QR code. They can enter amount in Kalium manually.


Adds example for deploying applications on KinD cluster

What does this PR do?
This change adds documentation for deploying some demo applications
after a Conjur OSS has been deployed via Helm on a
Kubernetes-in-Docker (KinD) cluster.
What ticket does this PR close?
Resolves #76
Checklists
Change log

[ ] The CHANGELOG has been updated, or
[x] This PR does not include user-facing changes and doesn't require a CHANGELOG update

Test coverage

[ ] This PR includes new unit and integration tests to go with the code changes, or
[x] The changes in this PR do not require tests

Documentation

[x] Docs (e.g. READMEs) were updated in this PR, and/or there is a follow-on issue to update docs, or
[ ] This PR does not require updating any documentation

@kumbi, thanks for the review. I just fixed up a securit misspelling, and also made a small change to the 1_deploy_demo_apps.sh so that it doesn't try to do another git clone ... if the target directory already exists.

@kumbi, @BradleyBoutcher thank you for the reviews!
This PR is ready for review. The automation is much more comprehensive now, and it's a complete E2E workflow.
The scripts now include:

Creation of a KinD cluster if needed
Helm install of Conjur OSS, or if Conjur is already deployed, a Helm upgrade
Loading of application-specific Conjur policy
Deployment of applications (with secretless, authn-k8s client sidecar, authn-k8s client init container)


Refactor search field

Refactor search field for desktop to be in header:

Zeplin: https://zpl.io/V1qE7ZJ

duplicated issue https://github.com/kiwicom/smart-faq/issues/558


Feature/mr fixit/swift support

convert demo app classes to Swift
tweak the RZTransitions headers for Swift compatibility

(includes the branch that fixes issue 33)

@arrouse @dostrander @nbonatsakis @markpragma @ateliercw I'd appreciate it if someone with Swift chops would look this.  Thanks!

@mr-fixit code looks fine.  Can we have travis also build the swift target as well as the objC one?


[Feature] Support DeepSeek-V2 Model

Motivation
@lvhan028 @grimoire @lzhangzz Do you have plan to support DeepSeek-V2 Model?
Related resources
No response
Additional context
No response

Support of Deepseek v2 might take long time.

MoE model has not been optimized. I am working on a fused kernel like vllm
The model has so many weights, that loading the model and distributing it to ranks takes too much time. I need to find a new way to load tp model. That might lead to another refactor.

Support of Deepseek v2 might take long time.

In addition, DeepSeek V2 uses MLA(Multi-head Latent Attention) instead of traditional MHA or GQA. To achieve the best performance, it will also take some time.

Hi Genius Li @lzhangzz Due to its excellent performance and effectiveness, DeepSeek V2 has become a new round of SOTA model. Does TurboMind have plans to support it? I know that supporting this on TurboMind is far more complex than PyTorch, but if possible, the performance would be very impressive.

Mark!
I am looking forward to integrating the deepseek-v2 model into the turbomind engine.
The performance of deepseek-v2 is excellent!

@Vincent131499  We conducted an internal survey on MLA. Implementing it according to the method in the paper requires modifications to the kernel, which involves a significant amount of engineering work. If interested, you can refer to the blog for the derivation process.


a niche problem -- crashes client

While sitting on a chair/bench, using a macro to swap classes that includes an emote from the mogstation:
An unexpected error has occurred. Exiting FINAL FANTASY XIV.
2021-07-14_13:11
KERNELBASE.dll +34ED9
clr.dll +1 BF0B1
clr.dll +1F9DOD
clr.dll +1F9DB3
clr.dll +1F9DCO
clr.dll +6466D1
clr.dll +39ECFO
mscorlib.ni.dll +59D884
I've only been able to get this to happen when sitting in a chair and use any of my combat gearswap macros.
/snap <wait.1>
/gs change 10
/micon GNB classjob
The hand/land macros have not had any issues--even though their sit poses are mapped. I tried using /wave in place of snap, but it wouldn't crash at all. When I swapped it for /eureka, it did crash.
Sometimes the game client hard-crashes, sometimes it throws that error message (without crashing the client, but if I okay the error message the client kills itself), but sometimes it just works correctly w/ no issues.
It's only ever hard-crashed when I'm in Limsa, could have something to do with the amount of models. Maybe a memory issue or a problem with the client that's only triggered by the simultaneous emote + /cpose?
It's also very repeatable. https://i.imgur.com/TViV2Q2.png

Can you show me your AutoVisor settings, too?

https://i.imgur.com/9n2Ms6J.png

Could reproduce and was a pretty weird crash, I assume due to simultaneous access to certain memory regions by multiple threads, because your current state was wrongly interpreted due to the active emote.
I found a way to change the check for the current state independently of current emote (another byte in a very different location) and now your stand/sit/groundsit/doze state should be interpreted correctly even when doing other emotes, this seems to have fixed the crashes for me.


ontrack: add transceiver

adds a transceiver along the lines of
https://github.com/webrtc/adapter/pull/647

Codecov Report

Merging #12 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
+ Coverage   91.74%   91.75%   +0.01%
==========================================
  Files           1        1
  Lines         763      764       +1
==========================================
+ Hits          700      701       +1
  Misses         63       63

Impacted Files
Coverage Δ

rtcpeerconnection.js
91.75% <100%> (+0.01%)
: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 79683ae...d48ff2e. Read the comment docs.


feat(onyx-636): temporary design for partner offer created notifications

This PR resolves ONYX-636
Description
Temporary design for partner offer notifications:

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[x] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Temporary design for partner offer notifications - @nickskalkin

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (Temporary design for partner offer notifications - @nickskalkin)

  Generated by :no_entry_sign: dangerJS against 0eef0fabec4df675bebac5fc3fa6a998affe99c2


Rename Github Org Release-2.2

This will need to be reopened as a non-forked PR

Reopened here - https://github.com/stolostron/multiclusterhub-operator/pull/716


Update addAll() to reflect new behavior

Make addAll() fail on responses other than OK in Firefox < 46 and Chrome < 50.
Also, if addAll() had to be fixed even though native exists--polyfill add()
method too. More details at slightlyoff/ServiceWorker#823
Also bumped version to 4.0.0 since it's kind of breaking change. Let me know if this PR seems messy for you, because I have a bit of such feeling (e.g. userAgent checks),

Not sure if Github sends notifications for new commits, so pinging, just in case.

LGTM, thanks!


Feature: Scaling property

Hi Maurizio,
I added a scaling property to the component. This provides a smoother mouse experience if used in scaled containers (e.g. transform:scale). It's used by default in the element move and resize calculations and has the default value of 1.0.
Maybe you find it useful too.
Kind regards,
Birger

See #190


feat(jwt): Use Signed Cookie in JWT Middleware

Continuing from #2403 & fixing for #2398 where there was no update, and slightly fixed the use/non-use of prefixOptions
The author should do the following, if applicable

[x] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[x] Add TSDoc/JSDoc to document the code

HI @newarifrh
Thank you for the PR. Could you add tests not to take down the test coverage?

HI @newarifrh
Thank you for the PR. Could you add tests not to take down the test coverage?

Hi @yusukebe,
I just added a few tests for codes that have not been covered

@newarifrh
Looks good to me! I'll merge this into the next branch for the next minor version, v4.5.0 now. It will be released during July. Thank you!


Please release

Hello,
Last windows-tools release (v68) is more than half a year old. I can see that there have been automatic bumps of golang since then but we (CF Garden) cannot make use of them. Could you please pull a release for us?
Thank you!

Hi @danail-branekov.
We released v69 of the Windows Tools Release today.
Thanks!
Malini

@danail-branekov Forgive me, but I have to wonder why you're relying on this release for Golang updates. A better source of truth would be bosh-packages/golang-release.
https://github.com/bosh-packages/golang-release

Hey @aemengo
We use the windows-tools-release in the windows worker of our concourse CI. When we bump golang in Garden, we want to make sure that all Garden binaries can be compiled and work correctly with the Golang version we bump to, that is why we need that Golang version on the windows worker. To put it in other way, this is not a compile-time dependency of ours, we just want to have that golang version available on the worker so that the worker compiles the Garden binaries with it.
Our CI configuration is in a private repo but here is how we configure the golang version:
- type: replace
  path: /instance_groups/name=windows-worker/jobs/-
  value:
    name: golang-1-windows
    release: windows-tools

We have been been getting windows golang updates like that for ages, if using the bosh-packages/golang-release is the proper way to do that, we would be happy to switch. I will file a chore in our backlog to look into that.
Thanks!


keyword "super" is not effective on ie9&ie10, how to solve it?

Version
3.0.5
Node and OS info
yarn 1.10.1
Steps to reproduce
class Parent{
constructor(data){
this.title = data.title || ""; //标题
}
}
class Child extends Parent{
constructor(data){
super(data);
}
}
var obj = {title: "title"};
var  child = new Child(data);
console.log(child.title); //undifined
What is expected?
console.log(child.title); //"title"
What is actually happening?
console.log(child.title); //undifined

I think maybe "babel" in vue-cli has some problem

This is not related to vue-cli


chore: automated PR to update ReleaseNotes for 202307.03.0 VHD

This is an automated PR to bump ReleaseNotes for the VHD release with image version 202307.03.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall First build on releaseNotes/202307.03.0 at 61.489%

Totals

Change from base Build<PHONE_NUMBER>:
61.5%

Covered Lines:
2561

Relevant Lines:
4165

💛  - Coveralls


Filling BFArray via buffer argument does not consistently work

In the current version of test_udp_io.py in the ibverbs-support branch, we fill bfarrays like so:
final = bf.ndarray(shape=(final.shape[0],4,4096), dtype='ci4', buffer=final.ctypes.data)
This method produces a bfarray that occasionally does not contain the correct data. It's possible this is platform dependent as these tests tend to not fail on Mac.
This following method seems to work consistently:
final = bf.ndarray(final,dtype='ci4')
Attached is a test in which the first method fails on our local Ubuntu based machine while the second method passes. redo_test_udp_io.py.txt

@dentalfloss1 One thing I noticed when looking into this was that AccumulateOp is directly saving the ring's contents to final, i.e., https://github.com/ledatelescope/bifrost/blob/ibverb-support/test/test_udp_io.py#L184  That's probably a bad idea since the ring's data could be getting overwritten or destroyed when the pipeline finishes.  It would probably be better save a copy of idata instead.  I don't think that this is the root cause of this issue but it could be a contributing factor.

I'm thinking through this some more.  For the first part in AccumulateOp we have something like:
import numpy as np
final = []
for i in range(100):
    final.append( np.random.rand(500) )

for f in final:
    print(f.__array_interface__['data'][0])

On my Ubuntu desktop the values printed out increment by 4016 while on my Mac it's 4096.  For reference the default Bifrost alignment is 4096.
For the next part in the test suite we do something like:
f = np.array(final)
print(f.__array_interface__['data'][0]

On my desktop I get something that is aligned at 16 while my Mac still goes to an alignment of 4096.
Then we do a transpose (which is probably in place) and a copy:
g = f.transpose(1,0).copy()
print(g.__array_interface__['data'][0]

This time on my desktop I get something aligned at 32 while the Mac still ends up at 4096.
My guess is that using bf.ndarray(buffer=...) is sensitive to how the provided buffer is aligned.  I'm not really sure what the mechanism would be, though.  I just don't see something like that in the code.
If you build Bifrost with an alignment of 16 instead of 4096 do these failures disappear?

I tried the test suggested above and it does... something.    That's believable if you assume some packets are getting dropped for whatever reason.
I'm still not convinced that I'm seeing the whole picture.

And why are all of the self-hosted tests failing now with
checking for valid CUDA architectures... found: 50 52 53 60 61 62 70 72 75 80 86 87 89 90
configure: error: failed to find any
checking which CUDA architectures to target...
Error: Process completed with exit code 1.

?

Maybe this was all a problem with how we were directly saving the ring's contents rather than a copy.  After refactoring the disk and UDP I/O tests in ibverb-support the problem seems to have largely gone away.  I do occasionally see a test failure but it looks like it's comparing zeros (dropped packets) against real data.


funcs.md: Fix mistakes and add example.

Thank you for making this tool! I don't remember any other documentation issues but I did run into some issues with the generated code that I worked around by modifying it after generation completed:

it crashes when graphqlrc is missing extensions.turms for any project, not just the one I asked it to generate
it can't continue if any fragment is unused
default values for global kwargs keep the type they have in the YAML file, making it impossible to use a non-trivial default value (e.g. setting default: utils.Unset results in python some_arg: SomeType = "utils.Unset", resulting in a string instead of the value of the UNSET constant)
imports needed to provide the default value of a kwarg aren't added automatically
imports for complex types don't work (e.g. using type: dict[str, Any] results in invalid imports)
having a scalar definition with python type None results in invalid syntax None | None (TypeError: unsupported operand type(s) for |: 'NoneType' and 'NoneType')

And some feature requests:

I would like to have an option to generate one file for each input graphql that defines operations, e.g. foo/SomeOperation.graphql -> foo/SomeOperation.py or even better foo/some_operation.generated.py - I'm used to having this from the codegen we use for TypeScript
ruff support as an alternative to black


Use yarn link for better imports in sample code

The existing sample code (in /documentation/(examples|snippets) imports from index.ts and has to comment out the real import to @codahq/packs-sdk:
import * as coda from '../../../index';

// BEGIN
// **This import statement gives you access to all parts of the Coda Packs SDK. Uncomment to start!**
// import * as coda from '@codahq/packs-sdk';

The // BEGIN comment and related logic helped hide the local import in the Web IDE, but can't be leveraged by MkDocs when including sample code in the documentation (example). This setup also relies on the developer noticing the import is commented out and remembering to uncomment it.
This PR uses yarn link to provide @codahq/packs-sdk via a symlink to itself, allowing us to write sample code that can be used as-is by developers and which compiles against local code. I also added a Make rule that compiles the sample code to make sure it is working correctly.

It might make sense to consolidate the repos, but I'm much more likely to include these small example snippets in the docs then the full, multi-file samples.  I wouldn't prioritize it I guess.
I thought about removing all of the // BEGIN markers, but we'd certainly want them in the snippets (don't want to inject another import) and there may be some examples where it makes sense too. The comment isn't ideal, but isn't that bad either.


Support web

Bringing your (already existing) JavaScript SDK into the Flutter SDK would be a great addition, as I'm planning to release web in the near future. Thanks.

Hi @Jethro87,
Me again from the Product team:)
Taking a look at your note here and just wanted to get some more context on your use case so I can properly document this internally on my end.
Couple of questions for you, if you don't mind:

Are you able to use our Web SDK (JavaScript) on it's own?
Can you provide details of what brining our Web SDK into the Flutter SDK will provide to you?

Any other info you want to provide will be helpful as we make note of your request.
Thanks!
Stephanie


Provide a way to allow blocklisted HTTP2 ciphers for client

Motivation:
A client fails to connect to a server using HTTPS if the server does not support modern cipher suites.
Because Armeria does not allow to use HTTP/2 cipher suite blacklist if a protocol is not H1.
https://github.com/line/armeria/blob/9e0a4c02fdeeb276602c05992396605848d8f843/core/src/main/java/com/linecorp/armeria/internal/common/util/SslContextUtil.java#L133-L135
Modifications:

Add tlsAllowUnsafeCiphers options to ClientFactoryBuilder and Flags
for disabling the cipher suites validation.

Result:

You can now use [https://tools.ietf.org/html/rfc7540#appendix-A](TLS 1.2 Cipher Suite Block List) for TLS Handshake.
Fixes #3157

/cc @techno


frontend: Fix incorrect GraphQL query for default benchmark

75c2bef360ab23d5480c4a1f10f1a8e5e890bd91 changed the default benchmark to have
a name instead of being NULL to be able to use Postgres's unique
constraints. But, the PR didn't fix the GraphQL queries correctly, which caused
the metrics to not be displayed in the UI, incorrectly.

Good catch! We should redeploy asap :)

The build failures on this PR are due to the lint job failing because of some dune issues. Should we merge and deploy this, @art-w ?


Feature/django compressor webpack

I updated the README to provide instructions on how to run webpack which does the vue compilation. The base.py settings is already configured for everything to work.

Pull Request Test Coverage Report for Build 100

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 28.024%

Files with Coverage Reduction
New Missed Lines
%

.tox/py36/lib/python3.6/site-packages/django/db/migrations/graph.py
1
53.18%

Totals

Change from base Build 90:
0.2%

Covered Lines:
66176

Relevant Lines:
236138

💛  - Coveralls


Enhancement: Add FTS search functionality to Gradio UI for searching across SQLite DB

As a user, I would like to be able to search across information I have acquired and stored.
Further, I would like to be able to search across the titles, content and keywords of information I have stored in my DB.
I should also be able to specify the page return count(with a default set), so as to limit potential impact of extensive searches.
This feature currently exists but is not fully implemented.

Done.


Use Honda's HUD for OP's LDW. Use ldw from VisualAlert instead of steer_required.

What's new:

Change OP's ldw alert to use the ldw value from VisualAlert in cereal. This minor change affects all car makes.
Use the "Lane Departure" stock hud warning on Hondas for OP's lane departure alert instead of Steering Required.

Requires: https://github.com/commaai/opendbc/pull/252
Todo:

[x] Remove submodule edit
[x] Final test on Nidec
[x] Final test on Bosch
[ ] Ensure tests pass (DBC PR required)

Any update on this? It's been a draft for almost 5 months

Yes. I've been driving on this for several weeks and am going to make a few changes. Will take it out of draft once I get a confirmed good drive on Nidec with the upcoming changes.

Any update? These changes should be pretty straightforward

Any update? These changes should be pretty straightforward

Just got a good test back from a Nidec Civic this morning. Will update and rebase this so we can close this out. Thanks!

Ready to go. Tests should pass after the DBC merge. Not passing through the stock system anymore, as it's of poor quality.

RDM can brake and steer. How did you verify that these changes don't cause any slight actuation?

On Bosch, 0xe5 is now static, so the system cannot influence steer torque or braking during RDM events.
On Nidec, I haven't yet seen or heard about an RDM event (with braking) with openpilot. I suspect it would be done inside of BRAKE_COMMAND. My test user hasn't reported any unusual steering or braking activity over the several trials we've done. Looking at their test drive, there is no influence on steer angle during OP's lane departure alert or the stock system's RDM events which had corrective torque on 0xe4 (which we don't forward to the EPS). @ ~460 seconds > nidec cabana drive
If you're wanting more testing on Nidec for this, our test user is happy to take care of that.

Would be great if this could be merged before 0.8. Thanks a lot!

Closing due to inactivity. Most of this PR was implemented in a Subaru version of this PR (7458e143e3c0123a95680b0b2db6c7a1f94405fa), so now we only need the honda part.


UART boot

Приветствую!
Did you think about UART booting to reduce wear of SD card, and overall development speedup, at least for development/debugging period?
When some new lessons will delight us?

@T-Duke I experimented with UART boot and found c3r3s which is a great little serial bootloader with a much more robust protocol than raspbootin64. Unfortunately the included command line tool didn't work for me, so I quickly coded one in Kotlin.
You can find my tool and an explanation on how to set everything up here:
https://github.com/Benjoyo/c3r3s4j

Hi all,
I decided to give this issue a try. I ended up using the kernel to copy over the newly compiled kernel over UART. The thing I like about this is that I can copy experiment with the kernel by loading it over UART whenever I want, and I also can copy it to the SD card to make the changes more permanent.
I also created a Python client that handles the copying of the kernel as well as the command line interface afterward (screen was not working very well for me).
There are a few assumptions that I made (for example that the kernel would never be larger than 16KB) but overall it's been working for me.
You can find the code here:

https://github.com/nicolasmesa/PiOS/tree/f7242800951836c60d2a65c13fb7ebda5847feda
Python client: https://github.com/nicolasmesa/PiOS/blob/f7242800951836c60d2a65c13fb7ebda5847feda/boot_client/boot_send.py
Kernel: https://github.com/nicolasmesa/PiOS/blob/f7242800951836c60d2a65c13fb7ebda5847feda/src/kernel.c#L38

Also, @s-matyukevich, thanks for these tutorials! I've learned a lot!

Thanks a lot, @nicolasmesa,  this looks awesome!
I'll update the tutorial and add the link to your project with some explanations.

@T-Duke, you are right that it won't adjust all addresses, so we need to fix that by making sure that the kernel uses relative addresses instead of absolute. This can be done with a two line change in the Makefile (basically, add the -fPIC flag. See this StackOverflow post to understand how the flag works.
I hope it works after you do this :)
I'm planning to write a blog post about it, but haven't had time to do it yet. Anyway, let me know if you have any other questions.


Hold Two Point in a Chart and See Percent Change between Them

Hey there.
First of all, great work on the library! Wonderful library.
I have a question, how do I go about if I want to hold two points between a chart (line or area), and I'll see the percent change between them? Like if you were to type a stock in google finance, and hold two points together, you'll see what I mean. Below are two images, one from Google Finance, and the other from Apple Stocks. I believe the Apple Stocks one (second image) does the effect better.
Thanks.

This question is also in a discussion: #309

Heya @Manas-Nagelia thank you for stating this idea. This would be a neat feature for our line/area chart. Definitely, being considered in our next roadmap planning.

Thanks! Could you tell me an estimated time frame for when the feature could be implemented?

I know that this feature isn't implemented yet (in the issue they said they have it on their roadmap), but is there any way to manually code this feature? Thanks!

@Manas-Nagelia unfortunately there's no straight-forward way to do this with tremor at the moment. I am afraid you will need to resort to a more low-level chart library like recharts for now.

Ok, thanks though

Is there any update on this? It has been a couple of months and versions v2.0.0 and v3.0.0 have been released but this feature hasn't been implemented yet. Thanks!


⚠ Processors has degraded performance

In b7c711f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 114 ms

Resolved: Processors performance has improved in 2c5b0ca.


Enable file drop operation for loading it.

This patch enabled Jadx-gui to accept files via drag & drop from external applications (e.g. file explorer). The dropped file will be loaded.

Ok. Thank you.
Sadly, your solution not work on Linux with Java 6 but work on Java 7 and later,
workaround can be found here: http://stackoverflow.com/questions/811248/how-can-i-use-drag-and-drop-in-swing-to-get-file-path , but I don't like this tricky code, so I will leave jadx without drag and drop support on Linux with Java 6 :)


Any type support in Last and First operator

Coverage increased (+0.06%) to 50.926% when pulling 3c4d49e2112b9b9eb99b822317ec5e4c6bcfe0e1 on compae:feature/any-type-last-value into ecbd9bd83203dc3339d5e355164b687034471dcd on Stratio:master.


passwordless possible?

Is this library compatible with passwordless?  i might be missing something in the code, but i can't see any references to it.

@dbinetti Yes, it is. You can access VerifyCode, etc from it.

any possibility to get an answer on that?
Guess we need to write our own wrapper, right?

No, this is not for passwordless login.  But you may use it as an example to create your on authorizer for ember-simple-auth, using passwordless login.

Hey @dbinetti  and @deepflame  ! Sorry for such delay in answering. We're currently working on creating a sustainable OSS ecosystem inside our auth0-community repos so that they can provide all the developers contributing with better experience.
Your question is probably not a thing anymore but @fredguth was right. Sorry for that inconvenience one more time doing our best to provide you with better experience in near future!


Outgoing text is rendered as Markdown

Hi,
in my node.js bot I provide a simple builder.Prompts.text to ask the user for a date (I know that Prompts.time exists but since it does not seem to work with German dates yet I use Prompts.text for now and parse the date with the datejs module).
The problem is that if the user enters the date in a German format (e.g. "12. Februar 2017") and presses enter he sees "1. Februar 2017" as his input. The same is true for other dates (e.g. "20. August 2016") which are printed in a similar way like "1. August 2016". This also happens when I provide a date with a dot as an input to any other type of prompt.
Somehow the dot seems to be the problem here, 12 Februar 2017 works just fine (as does 12.2.2017). This problem seems to be only affecting the Emulator and the WebChat, on Skype and Facebook Messenger everything seems to be fine.
The funny thing is also that internally the right date is saved (even in the Emulator and WebChat), e.g. 12. Februar 2017 even if 1. Februar 2017 is printed (I save the input in session.userData). So it seems the problem is just the way the input is printed.
Any clue what is happening here?
Originally posted at https://github.com/Microsoft/BotBuilder/issues/2409 but moved to WebChat

Weird. This has nothing to do with Prompts - it happens whenever you enter text in any context. I have changed the title of this issue accordingly.
This is almost certainly a bug in our Markdown parser.

I realized what is happening. Markdown considers any text of the form "number. text" to be a numbered list. It will actually ignore the number and just start a
.
I think this means we need to treat outgoing text as plain text, but we should run this up the flagpole.

Let's treat outgoing text as plain text. We could certainly add textFormat as a prop to Chat, defaulting to 'plain', but I would hate to add a proliferation of options when no one is asking for it.

Fixed by https://github.com/Microsoft/BotFramework-WebChat/pull/377

I am using latest botchat CDN but unable to render HTML with iFrame in output. Example: Expected output is "Domestic travel related document"
But it is getting converted to "Domestic travel related document
".
Any help would be much appreciated. Thanks in advance.


Material datepicker throws circular ref errors when converted to json

Material datepicker throws circular ref errors when attempting to JSON.stringify() a FormlyFieldConfig containing this control. Easiest way to reproduce is to simply put {{fields|json}} to output current fields obj.
Error Demo

Angular version: 12.2.2
Formly version: 5.12.0

ERROR
Error: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'element' -> object with constructor 'Object'
| property 'publicProviders' -> object with constructor 'Object'
| property 'MatFormFieldControl_137' -> object with constructor 'Object'
--- property 'parent' closes the circle

Can I ask why you're trying to serialize the fields object?
In the process of initializing the fields, formly adds many properties to each FormlyFieldConfig, including FormControls which are definitely not serializable. So it's expected that your code would throw an error.
If you want to display the config as you pass it into <formly-form>, I would reccomend deep copying it and displaying that copy, which should be serializable in most cases.

If you want to display the config as you pass it into <formly-form>, I would reccomend deep copying it and displaying that copy, which should be serializable in most cases.

or enable immutable mode:
@NgModule({
  imports: [
    FormlyModule.forRoot({
+     extras: { immutable: true }
    }),
  ],
})


API Keys & ShareX Integration

With popular demand for this feature, ShareX support will require some additional API functionality since PocketBase uses limited duration JWTs for authentication.
This will also allow users to create and manage API keys, with variable expiration.
Tasks

[x] Add database table to store hashed keys with revoked field.
[x] Implement API endpoint to generate keys.
[x] Implement API endpoint to revoke keys.
[x] Implement API endpoint to create a post with file upload support for ShareX.

Closed by #27.


與IDM的Socks5代理搭配存在問題

你正在使用哪个版本的 V2Ray？
Windows x64 v4.45.2

你的使用场景是什么？
搭配IDM進行下載

你看到的异常现象是什么？
下載https鏈接文件時IDM報錯 SSL_connect error 1

请附上你的配置

配置：
{
    "log": {
            "loglevel": "debug"
    },
    "inbounds": [
        {
            "listen": "::",
            "port": 16001,
            "protocol": "socks",
            "settings": {
                "auth": "noauth",
                "ip": "<IP_ADDRESS>",
                "udp": true
            },
            "tag": "socks_IN_1"
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": {
            },
            "tag": "direct_OUT"
        }
    ]
}

请附上出错时软件输出的错误日志

日志：
V2Ray 4.45.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.18.3 windows/amd64)
A unified platform for anti-censorship.
2022/07/19 21:18:27 Using default config:  D:\config.json
2022/07/19 21:18:27 [Info] main/jsonem: Reading config: D:\config.json
2022/07/19 21:18:27 [Debug] app/log: Logger started
2022/07/19 21:18:27 [Debug] app/proxyman/inbound: creating stream worker on [::]:16002
2022/07/19 21:18:27 [Info] transport/internet/tcp: listening TCP on [::]:16002
2022/07/19 21:18:27 [Info] transport/internet/udp: listening UDP on [::]:16002
2022/07/19 21:18:27 [Warning] V2Ray 4.45.2 started
2022/07/19 21:19:06 [Info] [2967667901] proxy/socks: TCP Connect request to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2967667901] app/dispatcher: default route for tcp:example.com:443
2022/07/19 21:19:06 [Info] [2967667901] proxy/freedom: opening connection to tcp:example.com:443
2022/07/19 21:19:06 tcp:<IP_ADDRESS>:37800 accepted tcp:example.com:443 [direct_OUT]
2022/07/19 21:19:06 [Info] [2967667901] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [4134907833] proxy/socks: TCP Connect request to tcp:example.com:443
2022/07/19 21:19:06 [Info] [4134907833] app/dispatcher: default route for tcp:example.com:443
2022/07/19 21:19:06 [Info] [4134907833] proxy/freedom: opening connection to tcp:example.com:443
2022/07/19 21:19:06 [Info] [4134907833] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 tcp:<IP_ADDRESS>:37801 accepted tcp:example.com:443 [direct_OUT]
2022/07/19 21:19:06 [Info] [2414260291] proxy/socks: TCP Connect request to tcp:example.com:443
2022/07/19 21:19:06 tcp:<IP_ADDRESS>:37804 accepted tcp:example.com:443 [direct_OUT]
2022/07/19 21:19:06 [Info] [2414260291] app/dispatcher: default route for tcp:example.com:443
2022/07/19 21:19:06 [Info] [2414260291] proxy/freedom: opening connection to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2414260291] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] proxy/socks: TCP Connect request to tcp:example.com:443
2022/07/19 21:19:06 tcp:<IP_ADDRESS>:37806 accepted tcp:example.com:443 [direct_OUT]
2022/07/19 21:19:06 [Info] [2866043153] app/dispatcher: default route for tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] proxy/freedom: opening connection to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] app/proxyman/inbound: connection ends > proxy/socks: connection ends > proxy/socks: failed to transport all TCP request > read tcp <IP_ADDRESS>:16002-><IP_ADDRESS>:37806: wsarecv: An existing connection was forcibly closed by the remote host.
2022/07/19 21:19:06 [Info] [2866043153] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [2866043153] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:06 [Info] [4134907833] app/proxyman/inbound: connection ends > proxy/socks: connection ends > proxy/socks: failed to transport all TCP response > write tcp <IP_ADDRESS>:16002-><IP_ADDRESS>:37801: wsasend: An established connection was aborted by the software in your host machine.
2022/07/19 21:19:06 [Info] [4134907833] app/proxyman/outbound: failed to process outbound traffic > proxy/freedom: connection ends > context canceled
2022/07/19 21:19:06 [Info] [2414260291] app/proxyman/inbound: connection ends > proxy/socks: connection ends > proxy/socks: failed to transport all TCP response > write tcp <IP_ADDRESS>:16002-><IP_ADDRESS>:37804: wsasend: An established connection was aborted by the software in your host machine.
2022/07/19 21:19:06 [Info] [2414260291] app/proxyman/outbound: failed to process outbound traffic > proxy/freedom: connection ends > context canceled
2022/07/19 21:19:06 [Info] [2967667901] app/proxyman/inbound: connection ends > proxy/socks: connection ends > proxy/socks: failed to transport all TCP response > write tcp <IP_ADDRESS>:16002-><IP_ADDRESS>:37800: wsasend: An established connection was aborted by the software in your host machine.
2022/07/19 21:19:06 [Info] [2967667901] app/proxyman/outbound: failed to process outbound traffic > proxy/freedom: connection ends > context canceled
2022/07/19 21:19:07 [Info] [2866043153] transport/internet/tcp: dialing TCP to tcp:example.com:443
2022/07/19 21:19:07 [Info] [2866043153] app/proxyman/outbound: failed to process outbound traffic > proxy/freedom: failed to open connection to tcp:example.com:443 > common/retry: [dial tcp <IP_ADDRESS>:443: operation was canceled dial tcp: lookup example.com: operation was canceled] > common/retry: all retry attempts failed

另 我嘗試聯係過IDM, 對方似乎認爲是這邊的配置問題

把"ip": "<IP_ADDRESS>",这一行删除试试

我自己试了一下，inbound listen是<IP_ADDRESS> protocol socks5，outbound是freedom.
IDM下载https图片。
结果是可以下载。
proxy/socks: failed to read request > read tcp <IP_ADDRESS>:1090-><IP_ADDRESS>:59869: wsarecv: An existing connection was forcibly closed by the remote host.
这一句会出现，但是不影响实际连接/下载成功。
会不会跟你监听本地ipv6地址有关？试一试监听本体ipv4的<IP_ADDRESS>？

我自己试了一下，inbound listen是<IP_ADDRESS> protocol socks5，outbound是freedom. IDM下载https图片。 结果是可以下载。 proxy/socks: failed to read request > read tcp <IP_ADDRESS>:1090-><IP_ADDRESS>:59869: wsarecv: An existing connection was forcibly closed by the remote host. 这一句会出现，但是不影响实际连接/下载成功。 会不会跟你监听本地ipv6地址有关？试一试监听本体ipv4的<IP_ADDRESS>？

好像有效欸, 這是什麽玄學Bug

我自己试了一下，inbound listen是<IP_ADDRESS> protocol socks5，outbound是freedom. IDM下载https图片。 结果是可以下载。 proxy/socks: failed to read request > read tcp <IP_ADDRESS>:1090-><IP_ADDRESS>:59869: wsarecv: An existing connection was forcibly closed by the remote host. 这一句会出现，但是不影响实际连接/下载成功。 会不会跟你监听本地ipv6地址有关？试一试监听本体ipv4的<IP_ADDRESS>？

好像有效欸, 這是什麽玄學Bug

因为你从本地ipv6出发的数据包目的地需要是ipv6，按照ipv6格式封装；本地ipv4出发的数据包目的地需要是ipv4，按照ipv4格式封装。除非你的网络服务商有4to6/6to4的dns服务，否则不能混着用。从你的log里可以看到你的数据包目的地是ipv4地址，所以需要从本地ipv4出发。

我個人不是很瞭解這塊 但是IDM的Socks4+[::], 瀏覽器的Socks5+[::], ss+IDM+[::] 都無此問題


register 1.1

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/16144
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.1.0 -m "<description of version>" 8b592099f50cae68275f7e32ff2c663b494ff566
git push origin v1.1.0


[CryptoAuthLib provider] PsaRawKeyAgreement operation implementation

PsaRawKeyAgreement operation implementation.
Adapted implementation for key agreement e2e tests.
Fixed error type for PsaImportKey operation.
Signed-off-by: artur.kazimierski<EMAIL_ADDRESS>

A more generic question: we're planning to release version 1.0.0 of the Parsec service soon, would you like/need this patch to go in before that release? If not, it would go out in 1.1.0, though I'm not certain when that would be, as the roadmap for that release has not been drawn.

A more generic question: we're planning to release version 1.0.0 of the Parsec service soon, would you like/need this patch to go in before that release? If not, it would go out in 1.1.0, though I'm not certain when that would be, as the roadmap for that release has not been drawn.

No, it's not needed for release. Full functionality is already there. I need to fix this CI issue only and it is ready for release.

@ionut-arm Hi, I just want to let you know that our team is ending this project assignment with the end of January so if you want any changes to the code from us please make comments before Monday.

@ionut-arm Hi, I just want to let you know that our team is ending this project assignment with the end of January so if you want any changes to the code from us please make comments before Monday.

Hi, thanks for the heads-up, I've looked through the code once, will review again today and see if there's anything sticking out, otherwise I'll merge.


Each time a tab is entered, the previous string is copied while referencing a variable

Describe the bug

Steps to reproduce

Create a variable.
Create a service and reference the variable.

Result

Each time a tab is entered, the previous string is copied

Expected behavior

Do not copy the string.

Environment

Walrus version: main 5cf1d9ef1dcb6bd27a686a24454d760fdc19ec22
UI version: dev-2c89dfb- Walrus version:

Additional context
Add any other context about the problem here.

Environment

Walrus version: main 5cf1d9ef1dcb6bd27a686a24454d760fdc19ec22
UI version: dev-5cf1d9e

Test Result: pass


Update datanode spec to define the 3 default modes

In the data nodes it is possible to set data retention policies. During a recent session on the length of the data relention it was discussed that we are likely to have 3 base default types of data node retention policies. These will be defined in the code and be able to be used as defaults to initialise a data node from the CLI:

lite (retain very little data e.g. days)
standard (retain some data e.g. months)
archival (retain all data)

This issue is to decide on the details around these modes and detail where applicable the information in the spec.
If content is added ACs to cover should also be added

Mention (if not already in the spec):

[ ] Data node must support storing all data
[ ] Data node can be configurable to retain less that all data for use cases outside or archive notes


KBFS mounts at /keybase on OSX+Linux now

@MarcoPolo

This is fixed here: https://github.com/keybase/client/pull/1555 (along with other things)


Suggestion on adding another way to post metrics using the Client Library

Currently, this is an example of how we post metrics to UpGrade.
const upClient = new UpgradeClient(studentId, hostUrl);
const metrics = [{
    timestamp: new Date().toISOString(),
    metrics: {
        attributes: {
            durationSeconds: session.durationSeconds,
            percentCorrect: session.numCorrect / session.numAnswered * 100
        }
    }
}];

await upClient.log(metrics);

I think problems with this approach are that 1) it's difficult for developers to remember this data structure 2) and they might use incorrect property names by mistake and don't get any errors, 3) If we change any properties/data structure in the future, it will be difficult for them to update the code.
While we can still leave the log() function as it is, I would like to suggest another way to post metrics which is like the following:
const upClient = new UpgradeClient(studentId, hostUrl);
const attributes = {
    durationSeconds: session.durationSeconds,
    percentCorrect: session.numCorrect / session.numAnswered * 100
};
upClient.addMetrics(attributes);
await upClient.postMetrics(); // timestamp will be added internally in the postMetrics() function.

And if we also use the grouped metrics, it can be done like the following:
const upClient = new UpgradeClient(studentId, hostUrl);
const attributes = {
    durationSeconds: session.durationSeconds,
    percentCorrect: session.numCorrect / session.numAnswered * 100
};
upClient.addMetrics(attributes);
const groupClass = "masteryWorkspace";
const groupKey = "calculating_area_various_figures";
const groupAttributes = {
    timeSeconds: 246,
    hintCount: 25,
    errorCount: 48,
    problemsCompleted: 12
};
upClient.addGroupedMetrics(groupClass, groupKey, groupAttributes);
await upClient.postMetrics(); // timestamp and groupUniquifier will be added internally in the postMetrics() function.

We can implement this by adding something like attributes = {} and groupedMetrics = [] member variables in the UpgradeClient class and add/push values to them whenever the addMetrics() or addGroupedMetrics() functions are called. And postMetrics() will internally structure the data using these variables and call the log() function, and then empty the variables.
Please let me know if my suggestion makes sense, and/or if you have a better one.
You can check out this document to learn about the metrics data structure we use.

Doesn't TypeScript give you compile-time errors that help with all three of the issues you mentioned?

@jerith666 I'm using the UpGrade client library in JavaScript, and it seems the log() function only checks metrics and attributes properties. For example, the following code worked without an error although timestamp and groupMetrics were incorrectly used.
const metrics = [{
    timestamp2: new Date().toISOString(),
    metrics: {
        attributes: {
            durationSeconds: session.durationSeconds,
            percentCorrect: session.numCorrect / session.numAnswered * 100
        },
        groupedMetrics2: {
            groupClass: "masteryWorkspace",
            groupKey: "calculating_area_various_figures"
        }
    }
}];
await upClient.log(metrics);

But changing metrics or attributes to something else produced a 500 (Internal Server Error) when the log() function is called.
Anyways, even if TypeScript is able to detect mistakes in compile-time, some of our users might not use TypeScript and I don't think it solves the first issue that is "difficult for developers to remember/write the data structure".
When I first tried to post metrics, it took me a while to find out what the metrics argument should be like, but even after writing the above code, I had some questions like "why do we need to pass the timestamp?" and "why does it expect an array?" I later learned why they're needed so it makes sense to leave the API as it is, but I think the point of providing such a library is to hide the complexity and allow the user to write more simple and understandable code.

You shouldn't be able to produce a 500 error by sending bad data to the server (even independent of the official client lib) -- the server should be robust to that and produce a 400 Bad Request instead.  So I'd open a separate issue for that.
If timestamp and groupMetrics are indeed optional, it's okay if the server doesn't complain when they're missing.  But it probably should also throw a 400 when extra properties are present, to prevent these kinds of mistakes.
I think UpGrade's docs should strongly recommend that users use TypeScript, but you're right that we can't force that on our users.
Anyway, I don't object to making the API simpler in general!  Just want to make sure that we're taking as much advantage of type-checking as we possibly can.  :)

@zackcl Do you think this is something we still need to do or shall we close it?

Yes, I think we can close this for now but I might reopen this or suggest something similar in the future.


wavesurfer.exportPCM, great - now what?

Hi, I'm using wavesurfer quite nicely to achieve what I want - I can record from the Mic using MediaRecorder, or Uploading from my PC... all good.
Now its time to upload the "previewed" audio that wavesurfer has, so I found exportPCM(length, accuracy, noWindow, start), and im pretty sure I can figure out what to supply in length, accuracy, noWindow and start, but want I cant figure out, is: Now what?
 OK, but how does that become a WAV format.
MediaRecorder only supports either webm or Ogg, and I get that wavesurfer is (probably) RAW PCM - and that's great, because I can use something to convert it from RAW PCM (like SOX). But how do I get it into Blob or Binary as base64?
My intention is to post this to the server (probably base64 in ajax)

exportPCM only exports the peaks
to export the audio have a look at https://stackoverflow.com/questions/22560413/html5-web-audio-convert-audio-buffer-into-wav-file
HTH


Unable to Create a New Drupal 9 Project with MySQL

Describe the bug
When starting a new Drupal 9 project, if you specify to use MySQL, you're given the error failed to validate config: both mariadb_version (10.3) and mysql_version (8.0) are set, but they are mutually exclusive.
Creating a new Drupal 9 project without specifying to use MySQL using ddev config --project-type=drupal9 --docroot=web --create-docroot, and then trying to change it afterwards using ddev config --mysql-version=8.0 results in the error failed to validate config: both mariadb_version (10.3) and mysql_version (8.0) are set, but they are mutually exclusive
To Reproduce
Run the command ddev config --mysql-version=8.0 --project-type=drupal9 --docroot=web --create-docroot. The project type drupal8 isn't affected by this issue, only drupal9.
Expected behavior
A new Drupal 9 project should be created configured to use MySQL 8.0.
Screenshots
Trying to start a new Drupal 9 project with MySQL (notice that the Drupal 8 project is created without any errors):

Trying to switch from MariaDB to MySQL immediately after starting Drupal 9 project:

Version and configuration information (please complete the following information):

Host computer OS and version: macOS Catalina
Docker Desktop version: <IP_ADDRESS> (46911)
ddev version information: 1.15.3

Yeah, you have to turn off mariadb_version to be able to use mysql_version, there's mutually exclusive.
You'll need to either edit the .ddev/config.yaml to use one or the other, or use a command like
ddev config --project-type=drupal9 --mariadb-version="" --mysql-version=8.0 --docroot=web --create-docroot

Why is that a requirement for Drupal 9, but not for Drupal 8? I just tested creating two Drupal 8 projects in separate directories, one using
ddev config --mysql-version=8.0 --project-type=drupal8 --docroot=web --create-docroot
and one using
ddev config --mariadb-version=10.4 --project-type=drupal8 --docroot=web --create-docroot
Both created a Drupal 8 project without issues, and both config.yaml files have either only mariadb_version or mysql_version, not both.

Drupal 9 requires a minimum of MariaDB 10.3, and the default is 10.2. So on a Drupal 8 project, 10.2, the default, is fine, and it's not specified in the config.yaml. When you create a Drupal 9 project though, ddev specified the db type as mariadb 10.3, so then you have a conflict.

Hoping this makes sense, happy to continue the conversation here or elsewhere. Closing for now.


Disable flaky windows visdiff for now

:eyeglasses: @keybase/react-hackers
Is approach acceptable vs. commenting out / deleting?

works for me, but please leave a comment explaining the situation

👍


fontawesome icon support

Hi,
Thanks for the great job.
Any plan for support fontawesome icons in tabbar and navbar please?
https://github.com/oblador/react-native-vector-icons
I tried but this didn't work.
Thanks.

@JO-WTF there was already a discussion on the react-native-navigation forums on this. It's been solved just on the JS side, for reference:
https://github.com/wix/react-native-navigation/issues/43
Thanks to contributors, I'm using the following code:
appIcons.js file
const Ionicons = require('react-native-vector-icons/Ionicons');
const Evilicons = require('react-native-vector-icons/EvilIcons');

const icons = {
  "ios-add": [Ionicons, 30, '#FFFFFF'],
  "user":  [Evilicons, 30, '#FFFFFF'],
  "gear":  [Evilicons, 30, '#FFFFFF'],
  "ios-navigate-outline":  [Ionicons, 30, '#FFFFFF'],
  "heart":  [Evilicons, 30, '#FFFFFF'],

};

let iconsMap = {};
let iconsLoaded = new Promise((resolve, reject) => {
  new Promise.all(
    Object.keys(icons).map(iconName =>
      icons[iconName][0].getImageSource(
        iconName,
        icons[iconName][1],
        icons[iconName][2]
      ))
  ).then(sources => {
    Object.keys(icons)
      .forEach((iconName, idx) => iconsMap[iconName] = sources[idx]);
    resolve(true);
  })
});

export {
  iconsMap,
  iconsLoaded
};

Then use it in your tab/navs as follows:
app.js file

     import {iconsMap, iconsLoaded} from './helpers/appIcons';
     ........

     case 'home':
        Navigation.startTabBasedApp({
          tabs: [
            {
              screen: 'myScreen',
              icon: iconsMap['ios-navigate-outline'],
              selectedIcon: iconsMap['ios-navigate-outline'],
              title: 'My screen'
            },

          ],
          tabsStyle: {
            tabBarButtonColor: '#000000',
            tabBarSelectedButtonColor: '#D8765A',
            tabBarBackgroundColor: '#FFFFFF',
            drawUnderTabBar: true
          },
          passProps: {},
          animationType: 'fade'
        });

And you should now see something like this:

I realise that this is purely a react-native-navigation solution, but it'll probably give you some ideas on how to get it going with pure controllers.
Cheers

hi all.
yet another example.
@willks correct me if anything wrong :)
cheers, and can't wait to see the package work with react-native-30+ :)
app.js
import { Navigation } from 'react-native-navigation';
import { registerScreens } from '../screens';
import { iconsMap, iconsLoaded } from '../helpers/icons-loader';

registerScreens(); // this is where you register all of your app's screens
let personIcon;
export default class App {

  constructor(){
    iconsLoaded.then(() => {
      personIcon = iconsMap['ios-person']
      this.startApp();
    });

  }

// start the app
 startApp() {
   Navigation.startTabBasedApp({
     tabs: [
       {
         label: 'One',
         screen: 'screenNameSpace.DealsScreen', // this is a registered name for a screen
         icon: personIcon,
         title: 'Screen One'
       },
       {
         label: 'Two',
         screen: 'screenNameSpace.EventScreen',
         title: 'Screen Two'
       }
     ],
     drawer: {
         type: 'MMDrawer',
         animationType: 'slide',
         left: {
             screen: 'screenNameSpace.SideMenu'
         }
     }
   });
 }
 };

@willks how did you manage to remove the label and align the icons to the center height-wise?
Thank you so much for your solutions!

Actually it was a hack in ObjC of the original code. I found a better pull request for this, after I submitted one (though no more pull requests accepted).
This is the one I recommend:
https://github.com/wix/react-native-controllers/pull/62
This is mine: (I'm not an ObjC guy!)
https://github.com/wix/react-native-controllers/pull/75
Hope this gets merged one day :) I maintain my own version in a fork and merge latest changes as I get around to it.
Cheers

Can this be merged into the react-native-navigation for this issue https://github.com/wix/react-native-navigation/issues/269  in order to use only icons and align them height-wise?


Refactor bundle

Rename Bundle class to AggregatedPayload.

Extract and rename static classes in AggregatedPayload
-- extract classes to com.rackspacecloud.blueflood.types
-- extract class Counter
-- extract class Gauge
-- extract class Percentile
-- extract class Timer
-- Rename and extract class Set to AggregatedSet
-- Rename class SetRollup to AggregatedSetRollup

@tilogaat @GeorgeJahad please review.
PR for story https://jira.rax.io/browse/CMD-697

@VinnyQ
Changes look good. I would love it if you renamed the classes to BluefloodSet, BluefloodGauge etc to make it clear that these types are specifically in the context of Blueflood.

@tilogaat @GeorgeJahad
Are you guys ok with the name "AggregatedPayload" for the Bundle class to be renamed to?
And also, do you want the extracted to be called BluefloodSet, BluefloodGauge, BluefloodCounter, BluefloodEnum, etc?  Or maybe a shorter version of "BfSet", "BfGauge", "BfCounter", "BfEnum", etc?

I am ok with the names suggested. BluefloodSet seems better :)

Header added.  @GeorgeJahad @tilogaat please review and merge if all good.


feat: support any shim version in shim_main

This PR adds a shim_version parameter to shim_main macro to relex the version for shim implementations.

This is an improvement (because it unblocks things), but I don't think the original logic is very good here.


Can you help me with this problem?

What method do you use to extend the Type-C interface in the part circled in the picture?

It’s just a 3D printed shroud, I’ve attached a CAD picture that shows it (hopefully).


Correct argument order in 'Failed to create installer pod for revision'

In SNO kube-apiserver operator pog logs, saw many:
2021-09-03T02:22:58.369647152Z I0903 02:22:58.369501       1 event.go:282] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-apiserver-operator", Name:"kube-apiserver-operator", UID:"2ed1e3f1-3ea4-407c-b072-b14daeb11140", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Warning' reason: 'InstallerPodFailed' Failed to create installer pod for revision 11 count %!d(string=xxia0902epic-gqg7k-master-0.c.openshift-qe.internal) on node '\x00': Get "https://<IP_ADDRESS>:443/api/v1/namespaces/openshift-kube-apiserver/pods/installer-11-xxia0902epic-gqg7k-master-0.c.openshift-qe.internal": dial tcp <IP_ADDRESS>:443: connect: connection refused

Note: Failed to create installer pod for revision 11 count %!d(string=xxia0902epic-gqg7k-master-0.c.openshift-qe.internal) on node '\x00' . Checked the code, found the 2nd and 3rd arguments order is wrong.

@sttts , @soltysh , help review when free, thanks

/lgtm
/approve