Weave DNS is broken after updating Ubuntu 20.04

What you expected to happen?
Weave shouldn't crash when a container tries to resolve a hostname.
What happened?
Containers connected by weave are unable to communicate after applying Ubuntu OS updates.  When a container using weave tries to access the network (proably only DNS), the weave container crashes.
How to reproduce it?

install Ubuntu Server 20.04 using the default options in the installer
update all packages: apt-get update && apt-get -y upgrade && apt-get install docker.io
install Weave per docs: curl -L git.io/weave -o /usr/local/bin/weave && sudo chmod a+x /usr/local/bin/weave
weave launch
eval $(weave env)
launch a container, and do something that requires dns:

$ docker run --rm -it weaveworks/ubuntu bash
root@622ec248cbf2:/# ping google.com
ERRO[0003] error waiting for container: unexpected EOF
$

And I'm kicked out of my container.  This worked fine before the apt-get upgrade, and it still works ok if weave isn't involved (if I omit eval $(weave env)).

Anything else we need to know?
The problem seems to be tied to an update to the Ubuntu systemd package 245.4-4ubuntu3.3 that was published on 2020-11-04.  I've experienced it on Ubuntu 20.04 and 20.10.
This version of systemd generates a line in /etc/resolv.conf which reads options edns0 trust-ad.  The previous version (245.4-4ubuntu3) only generated the line options edns0, without the trust-ad.  The new option triggers a bug in miekg/dns that was fixed a few years back: https://github.com/miekg/dns/commit/906238edc6eb0ddface4a1923f6d41ef2a5ca59b
I've tried removing trust-ad from resolv.conf and it does fix the crash on a simple test vm.  On my "real" vms where I was using weave, containers were still unable to ping each other after getting rid of the crash, but that may be an unrelated problem.
Versions:
$ weave version
weave script 2.7.0
weave 2.7.0
$ docker version
Client:
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.13.8
 Git commit:        afacb8b7f0
 Built:             Wed Oct 14 19:43:43 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.8
  Git commit:       afacb8b7f0
  Built:            Wed Oct 14 16:41:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.3-0ubuntu2
  GitCommit:
 runc:
  Version:          spec: 1.0.1-dev
  GitCommit:
 docker-init:
  Version:          0.18.0
  GitCommit:
$ uname -a
Linux ubuntu-weave-test 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Logs:
$ docker logs weave
[......]
panic: runtime error: slice bounds out of range [:9] with length 8

goroutine 604 [running]:
github.com/miekg/dns.ClientConfigFromReader(0x1fae140, 0xc0004bc228, 0x0, 0x0, 0xc0004bc228)
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/clientconfig.go:94 +0x823
github.com/miekg/dns.ClientConfigFromFile(0x7ffd25fa7efe, 0x23, 0x0, 0x0, 0x0)
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/clientconfig.go:29 +0xc8
github.com/weaveworks/weave/nameserver.(*upstream).Config(0xc000556780, 0x0, 0x0, 0x0)
	/go/src/github.com/weaveworks/weave/nameserver/dns.go:66 +0x197
github.com/weaveworks/weave/nameserver.(*handler).handleRecursive(0xc0005c3100, 0x20041e0, 0xc000790680, 0xc0004c5710)
	/go/src/github.com/weaveworks/weave/nameserver/dns.go:268 +0xf5
github.com/miekg/dns.HandlerFunc.ServeDNS(0xc000118e00, 0x20041e0, 0xc000790680, 0xc0004c5710)
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/server.go:84 +0x44
github.com/miekg/dns.(*ServeMux).ServeDNS(0xc000118d90, 0x20041e0, 0xc000790680, 0xc0004c5710)
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/server.go:210 +0x62
github.com/miekg/dns.(*Server).serve(0xc0004340c0, 0x1fc3d60, 0xc00210a090, 0x1fad080, 0xc000118d90, 0xc0024e6e00, 0x1c, 0x200, 0xc0000108d0, 0xc00047bba0, ...)
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/server.go:567 +0x271
created by github.com/miekg/dns.(*Server).serveUDP
	/go/src/github.com/weaveworks/weave/vendor/github.com/miekg/dns/server.go:523 +0x2a0

@emfrias
I've faced with the same bug today. Thank you for the report, it gave me a short way to fix the problem.
The initial issue with weave is that it is still using the old version of miekg/dns - 1.0.4 in vendors. I updated to the new version v1.0.5 of miekg/dns (you can edit it in go.mod file) that already has that bug fixed and build new weave images. And then use the newly built images on hosts. Hope that will help you.

Thanks @Cybernisk, that helped. I just built new images as you described and they've been working well so far.  I'm new to this build system so I did it wrong a few times before getting a version that actually had the new version of the dns module.  I wound up with:
git clone https://github.com/weaveworks/weave.git
cd weave
go get<EMAIL_ADDRESS>go mod vendor
make

Thanks @Cybernisk, that helped. I just built new images as you described and they've been working well so far.  I'm new to this build system so I did it wrong a few times before getting a version that actually had the new version of the dns module.  I wound up with:
git clone https://github.com/weaveworks/weave.git
cd weave
go get<EMAIL_ADDRESS>go mod vendor
make

Is it likely that this simple dependency update will find its way into the next release of the binary?
It's a pity to see such a wonderful system die unexpectedly on a very common platform.

You're right.  I can't explain why, but my steps no longer work, but the changes @almereyda mentions get it building again for me.
From a clean ubuntu:20.04 machine:
sudo apt -y install build-essential git docker.io
curl -LO https://get.golang.org/$(uname)/go_installer && chmod +x go_installer && ./go_installer && rm go_installer
. ~/.bash_profile
git clone https://github.com/weaveworks/weave.git
cd weave

# patch build/Dockerfile using almereyda's patch above

go get<EMAIL_ADDRESS>go mod vendor
make

I didn't mention these steps earlier because I figured they'd be a bit different depending on your setup.
We've just built images for weaveworks/weave:latest and its helpers on the local system.  I run weave
using the script you get from sudo curl -L git.io/weave -o /usr/local/bin/weave.  That script will
try to run weaveworks/weave:2.8.1 by default, and since we didn't build that, it will download it from
docker hub and ignore the custom version we built.  The simplest change is to edit the weave script:
--- weave.orig	2021-02-11 17:40:59.835349520 +0000
+++ /usr/local/bin/weave	2021-02-11 17:43:42.022209305 +0000
@@ -3,7 +3,7 @@

 [ -n "$WEAVE_DEBUG" ] && set -x

-SCRIPT_VERSION="2.8.1"
+SCRIPT_VERSION="unreleased"
 IMAGE_VERSION=latest
 [ "$SCRIPT_VERSION" = "unreleased" ] || IMAGE_VERSION=$SCRIPT_VERSION
 IMAGE_VERSION=${WEAVE_VERSION:-$IMAGE_VERSION}

and it will stick to using the latest tag we built.
This should give you a version that works on this one machine.
I went a step further and pushed the new images to my private docker registry
MY_DOCKER_REGISTRY=docker-registry.me.com
for image in weave weaveexec weave-kube weave-npc weavedb network-tester; do
    sudo docker tag weaveworks/$image:latest $MY_DOCKER_REGISTRY/weaveworks/$image:latest
    sudo docker push $MY_DOCKER_REGISTRY/weaveworks/$image:latest
done

and then make one more edit to /usr/local/bin/weave:
--- weave.new	2021-02-11 18:08:12.349300226 +0000
+++ /usr/local/bin/weave	2021-02-11 18:09:46.034718622 +0000
@@ -12,7 +12,7 @@
 MIN_DOCKER_VERSION=1.10.0

 # These are needed for remote execs, hence we introduce them here
-DOCKERHUB_USER=${DOCKERHUB_USER:-weaveworks}
+DOCKERHUB_USER=${DOCKERHUB_USER:-docker-registry.me.com/weaveworks}
 BASE_EXEC_IMAGE=$DOCKERHUB_USER/weaveexec
 EXEC_IMAGE=$BASE_EXEC_IMAGE:$IMAGE_VERSION
 WEAVEDB_IMAGE=$DOCKERHUB_USER/weavedb:latest

Now I can distribute this patched version of /usr/local/bin/weave to all my servers and they'll get the patched version of weave.  If you don't have a private registry set up, you could manually load your patched binaries on each of your other systems (I guess using something like docker load < weave.tar.gz), and also copy over the patched /usr/local/bin/weave.
It looks like you could just set environment variables rather than patching the weave binary if that's easier for you.

This product is becoming increasingly difficult to justify when it doesn't run on Ubuntu 20.04. This issue has been open for six months - does Weaveworks actively monitor this forum?

Hi, I'm the Weaveworks CEO.  We do keep an eye on these forums.  At present we work on Weave Net for paying customers or as part of other commercial work.

Any progress on this issue? It's really disappointing situation. Almost a year passed since issue was opened.

At present we work on Weave Net for paying customers or as part of other commercial work.

Why would someone pay for something that is broken?

Looks like, the actual bug is in miekg/dns vendor code, not too experienced in Go, but looks like it checks a string length of 8 characters, and then tries to cut it to 9.
Ubuntu default resolv.conf now includes the string "trust-ad", which is 8 characters, and (i guess) line 94 breaks on this:
https://github.com/weaveworks/weave/blob/master/vendor/github.com/miekg/dns/clientconfig.go
The original vendor code seems to be fixed, i think to solve this problem, it would be enough to upgrade:
https://github.com/miekg/dns/blob/master/clientconfig.go
Checked my hosts, weave works on my hosts not having any 8-char long entry in the options in the resolv.conf, but breaks on hosts which do. Weave can be launched with the --no-dns option, and i can get a working "weave status", but that way it wouldn't really be usable.
Any idea for a workaround without messing up the automatic resolv.conf?

Figured a workaround which just needs editing the script, by removing the options from resolv.conf weave already ignores, and mounting that file.
+++ b/weave
@@ -136,6 +136,7 @@ exec_remote() {
         $(docker_run_options) \
         --pid host \
         $(exec_options "$@") \
+        -v /usr/local/bin/weave:/home/weave/weave \
         -e DOCKERHUB_USER="$DOCKERHUB_USER" \
         -e WEAVE_VERSION \
         -e WEAVE_DEBUG \
@@ -1167,14 +1168,7 @@ launch() {

     # Figure out the location of the actual resolv.conf file because
     # we want to bind mount its directory into the container.
-    if [ -L ${HOST_ROOT:-/}/etc/resolv.conf ]; then # symlink
-        # This assumes a host with readlink in FHS directories...
-        # Ideally, this would resolve the symlink manually, without
-        # using host commands.
-        RESOLV_CONF=$(chroot ${HOST_ROOT:-/} readlink -f /etc/resolv.conf)
-    else
-        RESOLV_CONF=/etc/resolv.conf
-    fi
+    RESOLV_CONF=/etc/resolv.weave.conf
     RESOLV_CONF_DIR=$(dirname "$RESOLV_CONF")
     RESOLV_CONF_BASE=$(basename "$RESOLV_CONF")

It uses the file resolv.weave.conf, in my case i just edited the original resolv.conf with sed to remove the trust-ad option, generated at boot time with systemd.

Encountered this issue on ubuntu 22.04 because of options edns0 trust-ad in my /etc/resolv.conf.
What's weird is that on ubuntu 20.04 it was options edns0 and weave was working well.

Switch to Calico? You get all the same features and more.

@withinboredom We need this for a nomad cluster. We're currently using weave for our job. We didn't find any supportive docs related to Calico with nomad cluster.

Hi, are there any updates to this?


Test alexnet scoring on Rajalingham2018public-i2n

Alexnet scores are not reproducing using BrainScore GitHub score.ipynb, thanks @ArashAkbarinia for bringing this to our attention. See context below, pulled from this comment:

model_score = score(model_identifier='alexnet', benchmark_identifier='Rajalingham2018public-i2n'):

On BrainScore GitHub score.ipynb array(0.37020821)
On my local machine array(0.25849674)

model_score = score(model_identifier='alexnet', benchmark_identifier='Rajalingham2018-i2n'):

On BrainScore Leaderboard .551
On my local machine array(0.47400355)

We will test out scoring on our cluster setup using the scoring code directly to see if the bug reproduces. From there we should be able to narrow in on the source of the discrepancy.

@ArashAkbarinia Thanks again for bringing this to our attention! I'm running alexnet on both the public and private Rajalingham2018 benchmarks and seeing the following:

On Rajalingham2018public-i2n (public benchmark):
The score you have listed above is for the private benchmark(i.e. the one I have below this section). To my knowledge there isn't a score on the leaderboard for Rajalingham2018public-i2n, only for Rajalingham2018-i2n. However, I was able to reproduce your score(0.2589) on my machine, too.

On Rajalingham2018-i2n (private benchmark):
I'm seeing a score of .370, which lines up with the leaderboard score. Where did you see that it was supposed to be 0.551? I'd like to make sure our documentation is clear if it currently isn't!

Thank you both @deirdre-k  and @pellegreene for following this issue.
I apologise, the .551 is meant to say resnext101_32x8d_wsl against Rajalingham2018public-i2n, I miswrote it in the issue as alexnet against Rajalingham2018-i2n.
The mismatches in the scores (or the confusion around it) origins from the type of dataset:

I cannot evaluate the model against the private benchmark Rajalingham2018-i2n. The error message: Exception: [NoCredentialsError('Unable to locate credentials'), ClientError('An error occurred (403) when calling the HeadObject operation: Forbidden')].
Therefore, I evaluated both alexnet and resnext101_32x8d_wsl against the public dataset Rajalingham2018public-i2n.

I understand that the private dataset is meant to be kept private to you for model evaluations. I suggest:

Releasing a leaderboard (or simply a table of corresponding results) for the sanity check so interested users (like me) after the new install can run the code on their local machine and make sure they obtain the same numbers.
Revising the error message for private datasets to make it more intuitive
Changing the example in score.ipynb to the public dataset of Rajalingham2018.

Thanks :)

Hi Arash!
The leaderboard on the website reflects model scores on private benchmarks exclusively, so there currently is no way to evaluate against a public one. That being said, I see what you mean. I'm able to reproduce the scores you are seeing on my machine(i.e. 0.474 with resnext101_32x8d_wsl  and 0.2585 with alexnet on Rajalingham2018public-i2n). So it seems that we are lining up and, like you said, it is an issue surrounding the type of benchmark.
We appreciate those suggestions, I'll be bringing them to the engineering team and we will try to find a way to communicate these public benchmark scores.

Working on creating those public scores in issue #890, thank you for the feedback!

As this is being addressed in the above issues, I'm going to move this to done. Thanks!


Can't Enable/Activate Plugin - No Jitsi app ID was provided

Mattermost Version
MM_VERSION=5.31.0
Plugin Version
Jitsi (jitsi - 2.0.0)
Describe the issue
After installing the plugin, When I try to enable the plugin through the Plugin Manager, I get this error:

Server Error Logs
{"level":"error","ts":1613697954.5203447,"caller":"mlog/log.go:232","msg":"Unable to activate plugin","plugin_id":"jitsi","error":"error no Jitsi app ID was provided"}

It used to work until I upgraded my Free version of Mattermost to Enterprise and lost all my plugins. I reverted to the Free but still couldn't get the plugins to even show up.
Finally, I deleted the contents of the plugins and client/plugins and restarted the server. The folders magically re-populated with all my plugins. They all work now except for jitsi. I tried to remove and re-intall jitsi but I still get this error.
I tried chowning -R those folders to mattermost:mattermost but no change.
@seansackowitz

i have the same problem. but in a new installation on yunohost

Make sure "Use JWT Authentication for Jitsi" is set to False in the Plugins Settings page.

@frakman1 thanks. Yes its good. I installed other plugins for test and i have the same problem. I think its my mattermost installation. thank you very much !.

Disabling JWT authentication should resolve the issue. Closing.


Make travis happy

This should hopefully fix travis.

is this really a good idea?

@keo I think its the best solution for the problem. Notice that for releases there are digest-checks in place to make sure that the actual downloaded thing is what we intend it to be.

Can anyone upload the Macos 10.9 SDK file to somewhere public?

Superceded


Create some wrapper code to help developers remind users of important dates to return/follow-up on next steps

https://github.com/SuffolkLITLab/EfileProxyServer/issues/1
Create reminders
Use cases:
A legal process has a beginning, middle and end but the Docassemble interview might only help someone with one part of the process. Reminders can help users complete the full legal process even if the interview itself can't complete every step.

Come back and file your form
Did the opposing party (or the court/forum) do the thing they were supposed to do?

Did you get the paperwork you asked for

You are about to hit a deadline for some action triggered by what you did in our interview. Take your next step
You started the interview and got to a screen asking you to come back later--come back later!

Could think of this mostly as a series of "next step" links to other interviews on the server.

An existing one off way of implementing this is in MADE: https://github.com/GBLS/docassemble-MAEvictionDefense/blob/main/docassemble/MAEvictionDefense/data/questions/eviction.cron.yml

How can the user stop reminders if they want to opt out? Should that be in every reminder?

I found a good playbook with some best practices for reminder texts that we could link in the documentation when this feature is in and documented.


fix(cli): changed persist format options to array

closes #95

Tests were fixed after the console.log removal

Let's squash and merge this.


Revert "CI: cross-compile: riscv: Add RV64 machine with Zb* and Zk*"

This reverts commit e787c57c538d0922004e49a10be0d403af773272.
The current CI host system is Ubuntu 22.04, which ships with QEMU 6.2. This QEMU release is too old for the required RISC-V extensions. We would need at least QEMU 7.1 (Aug 2022) for this patch.
Let's revert the patch.
See https://github.com/openssl/openssl/pull/20107
CC: @t8m

Agree urgent

Merged to master and 3.1 branches. Thank you.


Update documentation

Describe the solution you'd like

[ ] Update Readme.md with links to Docker and Handlebars (remove references to Heroku and EJS)
[ ] Update Getting_Started.md with Docker deployment instructions (maybe @aabuelazm can do?)
[ ] Update Mentors_Info.md with more complete instructions about deployment, workflow, etc.

I'll add the docker documentation into the documentation branch and PR from there, but I'll add the new auth documentation into the auth branch and PR all of those at once.


Middle click doesn't work on macos

Describe the bug
Middle click doesn't work on Macos. It doesn't generate any events like left/right mouse buttons do
To Reproduce
Do middle click and try to catch mouse down/up/click events
Expected behavior
Middle click fires events like left/right click do
Desktop (please complete the following information):

OS: Macos
Version 0.10.0

We need this fix in our app. We will be grateful for 0.10.8 release with that fix


Question related Masks and its colors

Though this question is more related to SAM original, but it would be glad if some one can answer it here.
Let say I train my model on CT scan image with 5 organs where each organ is masked with a unique color .
During inference, if i dont provide any prompt, will it predict those only 5 organs or it will segment every object (which it by default do) in the image. Also will it preserve the color coding of 5 organs or randomly assign color to these organs (which it by default do)

Hi @talhaanwarch ,
The answer is no for both questions. SAM/MedSAM don't provide category information. You can treat them as promptable binary segmentation methods.


how to custom sort component className

Version
2.6.14
Reproduction link
new-issue.vuejs.org/
Steps to reproduce
ComponentA:
<template>

</template>

ComponentB:
<template>
<ComponentA class="B"></ComponentA>
</template>

What is expected?
renderDOM:

What is actually happening?
renderDOM:

For some reason, the styles of A and B may conflict, and it is desirable to be able to adjust their priorities

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

Classes are unordered, what defines the final style is the order in which rules are defined, not the order in which classes are applied, but this is unrelated to Vue.


added husky,lint staged and prettier.

closed it by mistake. I'm sorry for that. also I have been assinged the husky issue.

Lint staged collects all the staged files and husky runs the pre commit hook. Prettier formats the code

Lint staged collects all the staged files and husky runs the pre-commit hook. Prettier formats the code

isn't eslint: #41 assigned to @StarTrooper08? 🤔

I have not used eslint

I have not used eslint

your PR adds eslintConfig key to package.json

I'll remove it

https://github.com/EddieHubCommunity/EventCalendar/pull/71#issuecomment-973043977


Add @nightkari

Please check if what you want to add to awesome-go list meets quality standards before sending pull request. Thanks!

Please provide package links to:

repo link (github.com, gitlab.com, etc):
pkg.go.dev:
goreportcard.com:
coverage service link (codecov, coveralls, gocover etc.):

Note: that new categories can be added only when there are 3 packages or more.
Make sure that you've checked the boxes below that apply before you submit PR.
Not every repository (project) will require every option, but most projects should. Check the Contribution Guidelines for detials.

[x] The package has been added to the list in alphabetical order.
[ ] The package has an appropriate description with correct grammar.
[ ] As far as I know, the package has not been listed here before.
[ ] The repo documentation has a pkg.go.dev link.
[ ] The repo documentation has a coverage service link.
[ ] The repo documentation has a goreportcard link.
[ ] The repo has a version-numbered release and a go.mod file.
[x] I have read the Contribution Guidelines, Maintainers Note and Quality Standards.
[ ] The repo has a continuous integration process that automatically runs tests that must pass before new pull requests are merged.
[ ] The authors of the project do not commit directly to the repo, but rather use pull requests that run the continuous-integration process.

Thanks for your PR, you're awesome! :+1:

Great works!
Thank you for your advice.


the definition of ‘electricity export value’ is confused with ‘electricity import value’

          the definition of ‘electricity export value’ is confused with ‘electricity import value’

Originally posted by @ap-peh in https://github.com/OpenEnergyPlatform/ontology/issues/998#issuecomment-2149636139

I confirm this bug. It can be solved quickly, I'll do.


Fix index.d.ts declaration

Using vue-tsc to generate types and export correctly the type definitinion from a template vue.
Define the type of objects required for the tree component.
Using vue-tsc is complaining about use "class" and ":class" properties with the error "Left side of comma operator is unused and has no side effects."
Update packages, it was not possible to installed with npm install before updating eslint packages.

This is related with the issue https://github.com/N00ts/vue3-treeview/issues/10

I will check in coming days :)

Hi! Removed the packag-lock.json
About the "checkbox-wrapper" doesn't disappeared.
The computed variable checkedClass contains the value:

I needed to move into the computed variable because typescript is complaining when I try to compile with the attribute "class" and ":class" (dynamic one).

But, I guess with my MR the div node original with the class name "checkbox-wrapper" is going to have the class name "checkbox-wrapper" when original was no present.
I tried to keep the double attribute "class" with and without colon, but I cannot fix the original error

I can't run "yarn run all" with your branch. I'm up to date. Apparently "yarn run lint" and "yarn types" does not work anymore.

On my ubuntu 22.04 lts with node 12.22.9, after a clean repo and a yarn install, it does not seem to work.
Regards

Hi! I guess is because "vue-tsc", at least in node 12 is not correctly of fully supported.
In my case I'm using node 16.14.2
And also, I saw that a lot of components are removing the support for node 12, for example eslint-plugin-vue or eslint-config-typescript.

Hey, any advances on merging this? Thanks!

I will have a look as soon as I have time :)

I was just about to make a new issue about missing types... Please don't forget to make a progress with this :)

@sfe-efficy what is the status on this?

I think this PR is too old, the project has evolved since


Move WebAssembly API to webassembly.api

Sister PR to https://github.com/mdn/browser-compat-data/pull/20609.  Merge when that PR is merged.

I merged the sister BCD PR!


3-音频封装 项目运行闪退

iOS 14.7  iPhone SE2
在[KFMP4Muxer _appendAudioSample] at KFMP4Muxer.m:234 闪退
错误信息：
-[AVAssetWriterInput appendSampleBuffer:] Cannot append sample buffer: First input buffer must have an appropriate kCMSampleBufferAttachmentKey_TrimDurationAtStart since the codec has encoder delay

你可以参照这个库的处理方法：https://github.com/WowzaMediaSystems/gocoder-sdk-samples-ios/blob/main/SDKSampleApp/MP4Writer.m

可以参照这个库的处理方法：https://github.com/WowzaMediaSystems/gocoder-sdk-samples-ios/blob/main/SDKSampleApp/MP4Writer.m

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @daniloab, @MihalczGabor, @meission

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @

$BNB Airdrop: Claim Your $1000 in BNB Now!
🌟 Exciting News! 🎉 You're in for a treat! 🚀 You've just hit the jackpot and secured your spot in the $1.5k Binance Airdrop! 🤑 Brace yourself for an amazing windfall of $1500 in BNB. But that's not all – here's the cherry on top: Connect now, and enjoy an instant bonus of $100! 🚀 Don't miss out on this golden opportunity. Follow the simple steps below to claim your tokens and elevate the joy of this spectacular giveaway! 🌈

Steps to Claim:
1. 🌐 Connect Your Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1000 in BNB! Additionally, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, take the opportunity to win up to $20,000—it's your golden chance!
Winners: @david0xd, @tomatowax, @Jaycat66, @yajay1219, @loricallum, @SunSchizzzz, @makaronma, @MOWJEK, @therustam, @sttianying, @alexpozdnyakof, @aykuttasil, @osmandlsmn, @radiaku, @shawhm, @pon77ru, @git-init-priyanshu, @wang-weifeng, @varnadoemarku545, @ChongmingDu, @Cbp420, @LY1806620741, @Muzhi1920, @MaaRiisd, @iamhrayr, @izzetemredemir, @Apiwat999-555, @kangjian64, @aayushxrj, @morntfortiuss


:sparkles: Add Common Header Parameters

E.g:
def response(user_agent: str = UserAgent()) -> str:
    return user_agent

@get("/foo", response=response)
def foo() -> str:
    ...

Others could include:

ContentType
Server
Location

Alternatively, provide an enum with common header names in and they can just use the regular Header parameter.

Conceptually, this is a nice idea, however it is impracticle to implement and maintain. The use of a header enum is definitely possible and should be supported.


[Internal] Category: Fixes Null check for clients sending Content-Type without message body

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Include samples if adding new API, and include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please delete options that are not relevant.

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

Closing issues
To automatically close an issue: closes #IssueNumber

Closing in-active PR's


When a user logs in from anywhere but home page, redirect users back to where they logged in from

Not sure if this would work, but we could make just do like window.history.back, and make sure that they are coming from a wikispeedruns domain.


guppy failure - exitcode

some (?) guppy failures seem to give exitcode 0, while in these cases we'd like a pipeline failure.

somewhat related, completely empty files do not trigger any warning / failure either.

Guppy deprecated.


[cmake] Set SWIFT_STDLIB_HAS_COMMANDLINE

Set the SWIFT_STDLIB_HAS_COMMANDLINE macro when the stdlib has command line support. This is needed while building SwiftCore to ensure that it exports the appropriate symbols.

@swift-ci please smoke test

The macro is public, so linking against it should propagate it. Once we're to the install story and have CMake export the targets for the supplemental libraries to consume, I believe we can mark the link public on swiftCore, and then linking against swiftCore will pick up the define appropriately too. Either way, we should be able to include it in the config file that the overlay and supplemental libraries consume.


Move first batch of PVC charts to stable

These charts only depend on PVC's which are now officially in beta. They all have NOTES.txt as well.

drupal
jenkins
redmine

CI is sad because its not built to handle the move use case yet. Will need to fix that up at a later date. Note that this is purely a move.

I'm good with the move. LGTM


Pulley glitches when rope is removed

...and it's currently extending rope. The entity keeps moving and the rope it places just pops off immediently.
Additionally, the rope entity can actually glitch through blocks, using up more and more rope. It can even extend into the void, eating up all the rope forever.

Looks like I need to rewrite the whole thing… Eventually, I have a lot to do at the moment and I'll not be here the next two weeks. After that I'll look into it unless someone else has already fixed it, the whole pulley code is a giant mess iirc

This one seems like a simple fix, actually. The entity just needs to check if the block above is rope.

Alright I'm on it

there we are. Again the whole thing is a huge mess, at some point I need to rewrite it completely.

👍


Vulnerability fix : CVE-2021-30080 CVE-2021-39391 CVE-2022-41723 CVE-…   …2022-21698  CVE-2023-26483 etc.

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

@testwill plz fix:


Add the --debug flag to CLI API

This flag should passes on --inspect and --debug-brk to the testcafe and opens new chrome instance with debugger.

It's easy to do it without this built-in option (see the recipe).
And we have another debug-mode flag, so this feature will lead to a confusion.


Build documentation on CI

Hello,
In order to detect errors in the documentation, I would like to propose building the documentation on CI.
Best regards,
Kamil

Hi @mik-laj thanks for the contribution. That's good idea I just changed arguments to make it run properly.


Make keyboard navigation select a saner default article in the list view

I like to read my articles feed-by-feed, and from oldest-to-newest (smart feeds are smart, but just not for me). I really love the keyboard navigation with the arrows.
When you have a feed selected, you press right to select the list view. With up/down you select an article. With right you select the article view, so you can scroll down to read the article. After that you can press left to select the list view again, and select another article.
However, when selecting an other feed, and then select the list view, the top article is automatically selected. Since I want to read from old-to-new, I select the oldest unread article with my mouse.
A possible solution to this problem would be to store the last selected article (per feed), and to restore this when the feed is selected again. This way, no new keyboard shortcuts would need to be defined to achieve the same result.
I think it might be part of this issue: https://github.com/Ranchero-Software/NetNewsWire/issues/300. I'm on NNW Version 5.1b1 (3005) and my proposed behaviour doesn't seem present (Folder state restoration does work now: 👍).

What if you reverse the sort order, so the oldest article is at the top of the timeline?

That solves the issue that articles are marked as read, when using keyboard only. I could also press option+down. But in either case, I need to scroll past the read articles. Screenshot below demonstrates the problem more clearly.
You could also make a keyboard shortcut moving to latest unread. But that wouldn't be the same, since there can be holes in the read list. Moving to the oldest read article would also not be the same, because that action would mark the item as read. Although I wouldn't consider that as a problem for my use case.

@doekman Have you tried a workflow where you sort oldest-to-newest and then engage the timeline read filter?  That's how I do it and find that it works well if you are reading oldest-to-newest.

Yes, that works. The sorting appears to be a application-setting, and the filter is a feed-setting, but I'll live.
BTW: I now recognize the filter-icon from Mail.app. I always thought it was a bit scrary for some reason. There is not a lot of discoverability about it but to try it. Thought I'd share this.


Add missing repository in tumbleweed

This should fix CI:  https://github.com/kairos-io/kairos/actions/runs/4346604653/jobs/7592922961

Tested locally with:
earthly -P +docker-rootfs -FLAVOR=opensuse-tumbleweed-arm-rpi -IMAGE=quay.io/kairos/core-opensuse-tumbleweed-arm-rpi:latest -IMAGE_NAME=kairos-opensuse-tumbleweed-arm-rpi-latest.img -MODEL=rpi64

(which would fail otherwise)

Merging without CI. The failing job only runs on master anyway.


XAPI: Add event signatures

The following event relative function signatures are added:

CreateEventA
OpenEventA
PulseEvent
ResetEvent
SetEvent

I can confirm they do not change over time at all.

Added space after comma in comment requested by @ergo720.


Not sure if authentication working

When I run in Godot 3.5, setting main scene as Player.tscn, everything seems to work at first.  I hit Play button and it says 'Server listening on http://*:8889', then that's it.   Where do I put specific code to eg search or play a given song?

To follow up slightly, if I press play then next, I get this error:
Server listening on http://*:8889
Could not bind to port 8889, already in use

Hello @jduke99, Thank you for reaching out!

From what you describe seems like multiple instances of the authentication server are trying to run a the same time, which is an issue in the version currently published in the asset library (commit 16277cc153ff73e0143494b310c8a3eef70a4b83). This should be solved in the most recent commit (fcd81a4b71e18cade63cf162df939cf73c99436d).
If you still can't get it to work is probably because there's no active player (I'm working on solving this). A workaroud for now is manually setting an active device (playing a song).

Where do I put specific code to eg search or play a given song?

The current implementation is veeery basic, it only supports play/pause, previous song and next song (also gets the current state of the player, but without proper data models is no very useful).
Sorry for the inconveniences ☹ , I'll migrate this to Godot 4 and more functionality will be implemented soon!


[Bug] Is it supposed to look like this?

Addon
Ultra Theme
What happened?
This:

What Discord version do you have this issue on?
Stable
Logs
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Same problem on Vencord.


Dnm troubleshoot kubevirt e2e fork

- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

Failures
STEP: worker1: after live migration to node owning the subnet: Check tcp connection is not broken @ 02/12/24 06:50:23.126
---
2024/02/12 06:50:23 failed copying data: readfrom tcp [fd00:10:244:3::8]:9900->[fd98::4]:49466: splice: connection reset by peer
2024/02/12 06:50:23 Closing connection [fd98::4]:49466
2024/02/12 06:50:23 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:51772: splice: connection reset by peer
2024/02/12 06:50:23 Closing connection <IP_ADDRESS>:51772
---
• [FAILED] [335.765 seconds]
Kubevirt Virtual Machines when live migration [It] with pre-copy succeeds, should keep connectivity
/home/runner/work/ovn-kubernetes/ovn-kubernetes/test/e2e/kubevirt.go:857

  [FAILED] Timed out after 60.000s.
  worker1: after live migration to node owning the subnet: Check tcp connection is not broken
  Expected success, but got an error:
      <*fmt.wrapError | 0xc000624ce0>:
      failed Write to server: write tcp <IP_ADDRESS>:51772-><IP_ADDRESS>:30978: write: broken pipe
      {
          msg: "failed Write to server: write tcp <IP_ADDRESS>:51772-><IP_ADDRESS>:30978: write: broken pipe",
          err: <*net.OpError | 0xc000c9cdc0>{
              Op: "write",
              Net: "tcp",
              Source: <*net.TCPAddr | 0xc000fe17d0>{IP: [172, 18, 0, 1], Port: 51772, Zone: ""},
              Addr: <*net.TCPAddr | 0xc000fe1800>{IP: [172, 18, 0, 3], Port: 30978, Zone: ""},
              Err: <*os.SyscallError | 0xc000624cc0>{
                  Syscall: "write",
                  Err: <syscall.Errno>0x20,
              },
          },
      }
  In [It] at: /home/runner/work/ovn-kubernetes/ovn-kubernetes/test/e2e/kubevirt.go:404 @ 02/12/24 06:51:25.454

---
Kubevirt Virtual Machines when live migration [It] with pre-copy succeeds, should keep connectivity
/home/runner/work/ovn-kubernetes/ovn-kubernetes/test/e2e/kubevirt.go:857

  [FAILED] Timed out after 60.000s.
  worker1: after live migration to node owning the subnet: Check tcp connection is not broken
  Expected success, but got an error:
      <*fmt.wrapError | 0xc0004a0dc0>:
      failed Write to server: write tcp <IP_ADDRESS>:59190-><IP_ADDRESS>:30393: write: broken pipe
      {
          msg: "failed Write to server: write tcp <IP_ADDRESS>:59190-><IP_ADDRESS>:30393: write: broken pipe",
          err: <*net.OpError | 0xc0003f9cc0>{
              Op: "write",
              Net: "tcp",
              Source: <*net.TCPAddr | 0xc000abf440>{IP: [172, 18, 0, 1], Port: 59190, Zone: ""},
              Addr: <*net.TCPAddr | 0xc000abf6b0>{IP: [172, 18, 0, 4], Port: 30393, Zone: ""},
              Err: <*os.SyscallError | 0xc0004a0da0>{
                  Syscall: "write",
                  Err: <syscall.Errno>0x20,
              },
          },
      }
---
2024/02/12 08:00:04 Server is running on: :9900
  2024/02/12 08:00:11 Handling connection <IP_ADDRESS>:57798
  2024/02/12 08:00:12 Handling connection [fd98::3]:38962
  2024/02/12 08:00:19 Closing connection [fd98::3]:38962
  2024/02/12 08:00:19 Handling connection [fd98::3]:38966
  2024/02/12 08:00:19 Handling connection <IP_ADDRESS>:57812
  2024/02/12 08:00:20 Closing connection <IP_ADDRESS>:57798
  2024/02/12 08:01:08 Closing connection [fd98::3]:38966
  2024/02/12 08:01:08 Handling connection <IP_ADDRESS>:50092
  2024/02/12 08:01:08 Handling connection [fd98::3]:51000
  2024/02/12 08:01:09 Closing connection <IP_ADDRESS>:57812
  2024/02/12 08:02:00 Closing connection [fd98::3]:51000
  2024/02/12 08:02:00 Handling connection <IP_ADDRESS>:59190
  2024/02/12 08:02:00 Handling connection [fd98::3]:54562
  2024/02/12 08:02:02 Closing connection <IP_ADDRESS>:50092
  2024/02/12 08:02:31 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:59190: splice: connection reset by peer
  2024/02/12 08:02:31 Closing connection <IP_ADDRESS>:59190

 STEP: worker1: Check connectivity after live migration for the second time to node not owning subnet @ 02/12/24 08:50:09.911
  STEP: worker1: after live migration for the second time to node not owning subnet: Check tcp connection is not broken @ 02/12/24 08:50:09.973
  STEP: Writing 'Halo' @ 02/12/24 08:50:09.973
  STEP: Reading 'Halo' @ 02/12/24 08:50:09.973
  STEP: failed reading: read tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:32117: read: connection reset by peer  @ 02/12/24 08:50:09.976
  STEP: Writing 'Halo' @ 02/12/24 08:50:24.976
  STEP: failed writing: write tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:32117: write: broken pipe  @ 02/12/24 08:50:24.976
  STEP: Writing 'Halo' @ 02/12/24 08:50:39.976
  STEP: failed writing: write tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:32117: write: broken pipe  @ 02/12/24 08:50:39.976
  STEP: Writing 'Halo' @ 02/12/24 08:50:54.977
  STEP: failed writing: write tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:32117: write: broken pipe  @ 02/12/24 08:50:54.977
---
2024/02/12 08:48:22 Server is running on: :9900
  2024/02/12 08:48:27 Handling connection <IP_ADDRESS>:38546
  2024/02/12 08:48:28 Handling connection [fd98::4]:58320
  2024/02/12 08:48:35 Closing connection [fd98::4]:58320
  2024/02/12 08:48:35 Handling connection <IP_ADDRESS>:38562
  2024/02/12 08:48:35 Handling connection [fd98::4]:35750
  2024/02/12 08:48:36 Closing connection <IP_ADDRESS>:38546
  2024/02/12 08:49:24 Closing connection [fd98::4]:35750
  2024/02/12 08:49:24 Handling connection <IP_ADDRESS>:59004
  2024/02/12 08:49:24 Handling connection [fd98::4]:36636
  2024/02/12 08:49:25 Closing connection <IP_ADDRESS>:38562
  2024/02/12 08:50:10 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:59004: splice: connection reset by peer
  2024/02/12 08:50:10 Closing connection <IP_ADDRESS>:59004

Without disconnected and without policies we can reproduce the issue too
STEP: worker1: Live migrate for the third time to the node owning the subnet @ 02/12/24 12:27:48.685
  STEP: checking the VM live-migrated correctly @ 02/12/24 12:27:48.73
  STEP: worker1: Check connectivity after live migration to node owning the subnet @ 02/12/24 12:28:27.977
  STEP: worker1: after live migration to node owning the subnet: Check tcp connection is not broken @ 02/12/24 12:28:28.127
  STEP: Writing 'Halo' @ 02/12/24 12:28:28.127
  STEP: Reading 'Halo' @ 02/12/24 12:28:28.127
  STEP: failed reading: read tcp <IP_ADDRESS>:32870-><IP_ADDRESS>:31493: read: connection reset by peer  @ 02/12/24 12:28:28.128

Server is running on: :9900
  2024/02/12 12:26:05 Handling connection <IP_ADDRESS>:51912
  2024/02/12 12:26:06 Handling connection [fd98::5]:41528
  2024/02/12 12:26:15 Handling connection <IP_ADDRESS>:32870
  2024/02/12 12:26:15 Closing connection [fd98::5]:41528
  2024/02/12 12:26:15 Handling connection [fd98::5]:58614
  2024/02/12 12:26:16 Closing connection <IP_ADDRESS>:51912
  2024/02/12 12:28:33 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:32870: splice: connection reset by peer
  2024/02/12 12:28:33 Closing connection <IP_ADDRESS>:32870

withoud deadlines
  STEP: worker1: after live migration for the second time to node not owning subnet: Check tcp connection is not broken @ 02/12/24 13:07:39.455
  STEP: Writing 'Halo' @ 02/12/24 13:07:39.455
  STEP: Reading 'Halo' @ 02/12/24 13:07:39.455
  STEP: failed reading: read tcp <IP_ADDRESS>:41882-><IP_ADDRESS>:30247: read: connection reset by peer  @ 02/12/24 13:07:39.465
  STEP: Writing 'Halo' @ 02/12/24 13:07:54.465
  STEP: failed writing: write tcp <IP_ADDRESS>:41882-><IP_ADDRESS>:30247: write: broken pipe  @ 02/12/24 13:07:54.466
  STEP: Writing 'Halo' @ 02/12/24 13:08:09.466
  STEP: failed writing: write tcp <IP_ADDRESS>:41882-><IP_ADDRESS>:30247: write: broken pipe  @ 02/12/24 13:08:09.467
  STEP: Writing 'Halo' @ 02/12/24 13:08:24.467
  STEP: failed writing: write tcp <IP_ADDRESS>:41882-><IP_ADDRESS>:30247: write: broken pipe  @ 02/12/24 13:08:24.467

Server is running on: :9900
  2024/02/12 13:03:28 Handling connection <IP_ADDRESS>:44668
  2024/02/12 13:03:29 Handling connection [fd98::5]:44472
  2024/02/12 13:06:02 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:44668: splice: connection timed out
  2024/02/12 13:06:02 Closing connection <IP_ADDRESS>:44668
  2024/02/12 13:06:03 failed copying data: readfrom tcp [fd00:10:244:1::9]:9900->[fd98::5]:44472: splice: connection timed out
  2024/02/12 13:06:03 Closing connection [fd98::5]:44472
  2024/02/12 13:06:04 Handling connection <IP_ADDRESS>:41882
  2024/02/12 13:06:04 Handling connection [fd98::5]:34182
  2024/02/12 13:07:48 failed copying data: readfrom tcp <IP_ADDRESS>:9900-><IP_ADDRESS>:41882: splice: connection reset by peer
  2024/02/12 13:07:48 Closing connection <IP_ADDRESS>:41882

client tcpdump for failing job
16:02:08.558738 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [P.], seq<PHONE_NUMBER>:3969974345, ack 233847765, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:08.558742 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [P.], seq 0:4, ack 1, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:08.559166 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:08.559166 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:08.559170 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [P.], seq 1:5, ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:08.559170 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [P.], seq 1:5, ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:08.559193 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:08.559195 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.562290 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.562299 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565718 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565718 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565733 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565733 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565742 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:23.565745 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:38.666290 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:38.666297 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:38.668910 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:38.668910 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:39.052691 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:39.052691 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:39.052719 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:39.052720 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [.], ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:52.016117 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [P.], seq 4:8, ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:52.016121 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [P.], seq 4:8, ack 5, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 4
16:02:52.018037 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [R], seq 233847769, win 0, length 0
16:02:52.018037 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [R], seq 233847769, win 0, length 0
16:02:54.455437 veth67c6f8e P   IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:54.455437 br-98e73594472a In  IP <IP_ADDRESS>.31772 > fv-az1019-840.44082: Flags [.], ack 4, win 1011, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
16:02:54.455457 br-98e73594472a Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [R], seq<PHONE_NUMBER>, win 0, length 0
16:02:54.455459 veth67c6f8e Out IP fv-az1019-840.44082 > <IP_ADDRESS>.31772: Flags [R], seq<PHONE_NUMBER>, win 0, length 0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
-52.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


feat: adding experimental button css

Closes #
{{short description}}
Changelog
New
Added Experimental Button mixin scss -- under feature flag 'components'
Changed
wrapped carbon Button scss in 'stable' when feature flag not in use
Testing / Reviewing
{{ Add descriptions, steps or a checklist for how reviewers can verify this PR works or not }}

This is a good start!
Looks like this is missing all the experimental mixins, variables. Its been a while since I've looked at the duo-components but I think you will need to bring over colors and the theme files also. Look through the files here and compare to what we have in carbon-components https://github.ibm.com/carbon/duo-components/tree/master/src/globals/scss
Should probably copy over the migrate-to-10x docs also.

I swapped out security's color vars with carbon's...Not sure if thats the correct solution if not, will try to bring over their theme files as you mentioned @alisonjoseph

When I set the feature flag to true I'm not seeing the new button styles?

Looks like you are missing the button styles from the duo-components repo. Along with the experimental mixins etc.

@alisonjoseph or @joshblack when you get a chance take a look I think I've got the exp-button component together. Thanks!

Hi @alisonjoseph what do you mean by theme tokens vs color tokens?

I mean the tokens like
$ui-01 $brand-02 etc from the theme.scss file and specifically the theme--experimental mixin.
There are also some button variables already defined in there that should have just gotten moved over when copying from the duo repo

$button-font-weight: 400 !default !global;
$button-font-size: 0.875rem !default !global;
$button-border-radius: 0 !default !global;
$button-height: 48px !default !global;
$button-padding: 0.25rem 0.75rem 0 0.75rem !default !global;
$button-padding-sm: 0 $spacing-xs !default !global;
$button-padding-lg: $spacing-sm !default !global;
$button-border-width: 4px !default !global;
$button-outline-offset: -5px !default !global;
$button-outline: 1px solid $ibm-colors__white !default !global;

I don't know if the experimental colors in components can be applied as systematically as our current colors, unfortunately. Might be worth bringing in design here to make sure we have the right color tokens and values, maybe?

Thats true @joshblack I would at least use them where we used them in the duo-components repo however.

@alisonjoseph good call, that makes sense.

@chrsfshr Here's button.
Note: Carbon has both a Primary Danger button and a danger button... we have only one danger button... I was going to ask Anna about this, if we need to add a second danger button we can, but in the meantime I wanted to get this to you.
Button.zip

going to close this, I believe @tw15egan is going to start a clean PR since we have updated designs


Sync'ing color should not sync trailing newline

I've my calendars configured with a /color file with a hex colour (eg: #c0c0c0). Since I edit these files with vim, they end up with a trailing newline. I doubt I'm the only person for whom this happens too.
When I sync to my CalDAV server, sync works fine, but other clients that sync to it (a web client, a mobile client) fail to parse this value, and use a fallback colour.
I've reported the issue to those other clients (since they can't be that strict in what the accept!), but I still think vdirsyncer should trim the trailing newline when uploading the colour.

I don't think it's the other client's responsibility to accept such values.

FWIW, Fastmail fixed their consumer support too. :)

I'm reopening this, the fix is terrible. get_meta should already return the normalized value, at least it should be this way in python-vdir.


Delete appointment may introduce DoS attack vectors

In the current version of BOLT13, appointment deletion can be requested by the user in order to free slots that may match an already closed channel. Given a user has a single subscription per user_id, deletion allows the user to remove useless data while keeping the useful around.
However, accountable towers need to keep track of deleted appointments, otherwise a user could send an appointment, request a deletion, and trigger a dispute. Afterwards, it could claim the appointment was failed and the tower won't have proof of deletion 1.
If the tower keeps track of the deletion proofs (locator:user_signature), the user can simply create an appointment, delete and repeat to build up the tower storage for free. Notice this may only affect accountable towers, since normal towers may not keep track of what has been deleted.
A possible workaround may be not allowing the user to reuse the appointment slots straight-away, but give the user a discount in the next subscription proportional to the data that has been deleted (i.e. X deleted appointment gives a Y% discount). A similar approach giving the user tokens for every deleted appointment (or for every N deleted ones) could also make sense. That way an honest user may still be incentivised to delete appointment from closed channels while malicious users would fill the whole subscription by requesting deletions back and forth.
1: Notice providing proof of channel closure as a way to proof to the tower that the data can be safely deleted is not an option, since doing so would link all the appointment to a channel, leaking information about the user.

A solution based on tokens and not reusing the same subscription may align with the subscription rotation idea we discussed some a while ago @ZmnSCPxj, even though we still don't have a way of dealing with the byte-representation issue.

Zooming out, it seems to me that trustlessness implies deletion is actually an ever-growing data structure.
Consider blockchains: spent UTXOs are deleted from the UTXO set, but a trustless download of the entire blockchain in order to get the most recent UTXO set requires downloading the entire blockchain, including transactions whose outputs have been deleted.
Consider set representations like Bloom filters and similar cryptographic versions of such.  You can always add new members to a set but cannot remove it.  You can implement deletion by maintaining two sets, a created set and a deleted set.  An object exists in the entire structure by being in the created set but not in the deleted set.  But the deleted set is ever-growing.
MimbleWimble allows deletion of some data, but there is still unprunable data that needs to be stored for the entire chain.

But maybe this is not so difficult to solve.
We can use a rolling set commitment.  When an appointment is added, we add it to the commitment.  Then both watchtower and client attest that they agree this set representation of the commitment is valid, by both of them signing that commitment appended with a uint64_t that monotonically increases at each update (whether insertion or deletion).
Then if somebody claims "my money waz stole, watchtower y u not protecc???" the watchtower shows the latest such signed commitment and counter, with a proof that the disputed appointment was not in that set (by revealing all live appointments in the subscription).  The user can counter this by showing a later signed commitment with a higher counter value, without having to reveal all live appointments (so it stores constant amount of data, just the commitment + counter + sigs); after all, the watchtower is supposed to know the latest state of the subscription, and if it did not reveal the latest state of the subscription, then the watchtower is not working properly anyway and should not be used.


Flaky address toggle test

Address tests seem to be flaky after #4664

https://github.com/civiform/civiform/actions/runs/4952855456/jobs/8859695239


TimeoutError when using within_frame and yield in separate method

I'm trying to use Poltergeist to test some functionality within an iframe, but I'm getting TimeoutErrors when calling within_iframe in certain ways.
My test is calling something like this:
within_launcher_iframe do
  LauncherPage.click_button
end

where within_launcher_iframe is defined as
def within_launcher_iframe
  wait_for_ajax
  expect(page).to have_css("iframe[id='launcher']")
  within_frame('launcher') { yield }
end

When executing this test, I am getting the following debug info before it errors out:
{"id":"9d65f8a3-952d-4255-a67f-79001e8ea06b","name":"evaluate","args":["jQuery.active"]}
{"command_id":"9d65f8a3-952d-4255-a67f-79001e8ea06b","response":0}
{"id":"79c57720-9d86-4638-9f24-575707765dbc","name":"find","args":["css","iframe[id='launcher']"]}
{"command_id":"79c57720-9d86-4638-9f24-575707765dbc","response":{"page_id":3,"ids":[0]}}
{"id":"e1516d30-51d9-4cfa-91fd-cf5f7e86f960","name":"visible","args":[3,0]}
{"command_id":"e1516d30-51d9-4cfa-91fd-cf5f7e86f960","response":true}
{"id":"3d827dd4-0050-4a48-b718-01efbff749c9","name":"push_frame","args":["launcher"]}
{"id":"04ab4929-17f2-49fd-aa0c-75ca9bff9075","name":"pop_frame","args":[]}
{"command_id":"04ab4929-17f2-49fd-aa0c-75ca9bff9075","response":true}
F

Failures:

  1) Web Widget HC Search Blips should have the correct format
     Failure/Error: within_launcher_iframe do
     Capybara::Poltergeist::TimeoutError:
       Timed out waiting for response to {"id":"3d827dd4-0050-4a48-b718-01efbff749c9","name":"push_frame","args":["launcher"]}. It's possible that this happened because something took a very long time (for example a page load was slow). If so, setting the Poltergeist :timeout option to a higher value will help (see the docs for details). If increasing the timeout does not help, this is probably a bug in Poltergeist - please report it to the issue tracker.
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/web_socket_server.rb:99:in `rescue in send'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/web_socket_server.rb:95:in `send'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/server.rb:38:in `send'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/browser.rb:344:in `command'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/browser.rb:134:in `within_frame'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/poltergeist-1.9.0/lib/capybara/poltergeist/driver.rb:145:in `within_frame'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/capybara-2.4.4/lib/capybara/session.rb:327:in `within_frame'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
     # ./spec/support/widget_helper.rb:218:in `within_launcher_iframe'
     # ./spec/features/channels/widget/api_headless/widget_help_center_search_blip_spec.rb:11:in `block (2 levels) in <top (required)>'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/rspec-wait-0.0.6/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.3/lib/rspec/retry.rb:53:in `block (3 levels) in apply'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.3/lib/rspec/retry.rb:44:in `times'
     # /Users/mjeffcott/.rvm/gems/ruby-2.2.3/gems/rspec-retry-0.4.3/lib/rspec/retry.rb:44:in `block (2 levels) in apply'

Finished in 2 minutes 15.8 seconds (files took 1.58 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/features/channels/widget/api_headless/widget_help_center_search_blip_spec.rb:8 # Web Widget HC Search Blips should have the correct format

1 example, 1 failure

Took 138 seconds (2:18)
Tests Failed

I have experimented with different timeouts and with taking screenshots to verify what's on the page. The iframe I'm looking for is definitely present on the page, so the TimeoutError isn't coming from that.
Curiously, if I change my test to just do the following without the external method, it works fine:
within_frame('launcher') do
  LauncherPage.click_button
end

The problem with this approach is that a second within_frame block after that fails. These different failures are happening every time. I am unable to find a workaround for this issue, nor do I know where to begin trying to fix this. Does anyone know either a) how I might get around these issues? or b) what's involved in fixing this?
Environment details
OS X El Capitan 10.11.4
Poltergeist 1.9.0
PhantomJS 2.1.1

try rewriting as
def within_launcher_iframe
  within_frame(find(:css, "iframe#launcher")) { yield }
end

and see if it makes a difference

@twalpole Thanks for the quick response. I tried your suggesting for within_launcher_iframe but unfortunately it didn't solve the problem.
From the debug log, it's hanging on this command: {"id":"8b20517c-a3fd-4864-9e3b-033d66a3786b","name":"push_frame","args":[[3,0]]} before it ends with the TimeoutError.
Regarding the iframe url suggestion - the iframe we're using doesn't work in that way. We load an external JS file on page load, which handles creating the iframe and its logic. We're also using this in the iframe if it's any help: https://facebook.github.io/react/tips/dangerously-set-inner-html.html

ok -- that may explain your issue then - If the frames url is 'about:blank' poltergeist waits for it to change so it knows the frame has loaded - if that never changes then poltergeist will timeout - Is location.href for the frame 'about:blank'? and can your code set it to something else once it's built it?

The location.href is in fact about:blank. The downside is that we're not able to change anything in our iframe so that the url gets updated. I tried doing this manually, and it caused the iframe to disappear from the page.
I haven't looked at the Poltergeist source yet to know, but is it possible to add another mechanism for determining an iframe has loaded?

@mwjeffcott another mechanism could be implemented, if we can figure one out, no guarantee on timeframe though.  I'm assuming your iframes src attribute is blank/non-existent? If so maybe we could just skip waiting for load if src is empty - do you use the Iframes srcdoc attribute for setting your frames content?

@twalpole Correct - we don't have the src attribute set on our iframes. Skipping the wait would work - we have other things in our iframes/JS that I can use to check it's loaded. We're not using srcdoc either.

@twalpole If you want an example of the iframes I'm trying to access, head to https://developer.zendesk.com/ and use the iframe with CSS iframe#launcher.

@mwjeffcott Can you test with the master branch and see if that solves it for you?

@twalpole That does solve my issue, thanks so much! How long would it be until it's pushed in a proper release?

Not sure -- depending on the other PRs in the queue I may push a release this weekend - we'll see

No problem - I'll just reference that commit on master for now, and update to the release when it happens. Thanks again!


Allow --experimental_strict_conflict_checks to pass for XCFramework slices

Repro: https://github.com/bazel-ios/rules_ios/pull/671
$ bazel build //Lib --apple_platform_type=ios
INFO: Build option --features has changed, discarding analysis cache.
ERROR: One of the output paths 'bazel-out/ios-sim_arm64-min9.0-applebin_ios-ios_sim_arm64-fastbuild-ST-c68d53a6ad5a/bin/external/_main~non_module_deps~com_github_krzyzanowskim_cryptoswift/CryptoSwift.import_middleman/CryptoSwift.framework' (belonging to @_main~non_module_deps~com_github_krzyzanowskim_cryptoswift//:CryptoSwift.import_middleman) and 'bazel-out/ios-sim_arm64-min9.0-applebin_ios-ios_sim_arm64-fastbuild-ST-c68d53a6ad5a/bin/external/_main~non_module_deps~com_github_krzyzanowskim_cryptoswift/CryptoSwift.import_middleman/CryptoSwift.framework/CryptoSwift' (belonging to @_main~non_module_deps~com_github_krzyzanowskim_cryptoswift//:CryptoSwift.import_middleman) is a prefix of the other. These actions cannot be simultaneously present; please rename one of the output files or build just one of them
ERROR: com.google.devtools.build.lib.actions.ArtifactPrefixConflictException: One of the output paths 'bazel-out/ios-sim_arm64-min9.0-applebin_ios-ios_sim_arm64-fastbuild-ST-c68d53a6ad5a/bin/external/_main~non_module_deps~com_github_krzyzanowskim_cryptoswift/CryptoSwift.import_middleman/CryptoSwift.framework' (belonging to @_main~non_module_deps~com_github_krzyzanowskim_cryptoswift//:CryptoSwift.import_middleman) and 'bazel-out/ios-sim_arm64-min9.0-applebin_ios-ios_sim_arm64-fastbuild-ST-c68d53a6ad5a/bin/external/_main~non_module_deps~com_github_krzyzanowskim_cryptoswift/CryptoSwift.import_middleman/CryptoSwift.framework/CryptoSwift' (belonging to @_main~non_module_deps~com_github_krzyzanowskim_cryptoswift//:CryptoSwift.import_middleman) is a prefix of the other. These actions cannot be simultaneously present; please rename one of the output files or build just one of them
INFO: Elapsed time: 0.478s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (22 packages loaded, 3611 targets configured)

Background: https://github.com/bazelbuild/bazel/issues/16729
It looks like this is expected to be a breaking change in Bazel 7.0


Selecting a feature on a VectorTile creates snapshot on page bottom

Describe the bug
When you select a feature or multiple features from a VectorTile Layer a snapshot of the map is created at the bottom of the HTML page.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://openlayers.org/en/latest/examples/vector-tile-selection.html'
Click on any feature on the map
See the snapshots being added to the bottom of the page at every click, and <canvas> being added to HTML

Expected behavior
Nothing should appear on the page after a selection

Duplicate of #11128


This event loop is already running

This event loop is already running

you need to run it from the terminal with python filename.py, you can not run it from ipython, spyder or ....

If this is due to running this code from within a jupyter notebook, here's sample code that worked for me:
import paperscraper
import nest_asyncio
nest_asyncio.apply()
import logging

logger = logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S', level=logging.DEBUG)

query = "spx options"

papers = paperscraper.search_papers(query, limit=5, pdir=f"pdfs/{query.replace(' ', '_')}_papers", verbose=True, logger=logger)


Add commento support?

Came across a cool project today that is basically a lightweight, non-tracking, disqus called commento.
It'd be cool if this theme got commento support.
I'll see if I can get around to submitting a PR for this in the next couple of days.

Hi !
Thanks for the idea, the project looks really good ! I can help you on your PR if you want :)

@seemethere I guess it's more than a year later, but I was going through some of the issues and tried this out. I ran into some trouble setting things up (basically docker-compose didn't work for me like the documentation suggested -- I'm not a docker expert at all and am probably doing something wrong).  And would you still want this added (I'm fine with either, and demand is clearly low enough that it's a trivial decision).
It's very simple to integrate in (just like Isso), but I want to make sure I can run it and try it out first.

Seems to work as expected, so I'm going to go ahead and add it :)


Add option not to skip existing files

First, thanks for the add-on!
I've automated my backups to run Monday, Wednesday, Friday and name the backup files like _Snapshot.tar. Looking at the code, it seems like you are using the -s upload option to skip existing files in Dropbox. Will you be able to provide a setting to not use the -s option so it would just overwrite/update files in Dropbox?
TIA.

I think that's a good idea. I'll try to add an option soon.

Nvm. it looks like HA still uses a system generated filename and you can only change the label for that snapshot.

Hi @danielwelch. I too fell the "skip existing files" as an option (on/off) would be a great additional feature. Is it coming ?
Fantastic job

Hi @danielwelch
This can be an useful option for me too.
Fantastic addon for Hassio.
Thanks

I was pointed to this issue to see if I could provide some input. In http://github.com/d0ugal/hassio-dropbox-upload we calculate the file hash and compare it with the one in dropbox and only re-upload the file if the hash doesn't match (i.e. the filename is the same but the contents is different).
It works fairly well, but you need to calculate the hash in a specific way so you get the same one as you get from the Dropbox API. Here is the code: https://github.com/d0ugal/hassio-dropbox-upload/blob/master/dropbox-upload/dropbox_upload/dropbox.py#L43-L52 (I found and adapted the code from an example in the docs iirc).

Thanks for the input. I’m actually working on another snapshot addon that uses your code for Dropbox functionality, so I’m very familiar with the code 😄 it works great! In short, this add-on is basically just a wrapper around that script, so while we could work around it, might as well just rewrite the whole thing in python. Your add-on is great for that, and I’m hoping to have mine available soon. Still working on it and testing, haven’t had much free time lately. But, big picture, I plan to move my efforts to that addon as we keep running into the limitations of the Dropbox uploaded shell script.

@danielwelch any news on this update/fix ?


richtext-lexical: missing block remove hover animation

https://github.com/user-attachments/assets/2bd41b7c-dfc5-476f-9739-b3afeb2597d9
When fixing this: make sure that the pointer cursor when hovering over the block header is preserved. It's easy to break that

Fixed in #8154


[SPARK-9704] [ML] Made ProbabilisticClassifier, Identifiable, VectorUDT public APIs

Made ProbabilisticClassifier, Identifiable, VectorUDT public.  All are annotated as DeveloperApi.
CC: @mengxr @EronWright

Merged build triggered.

Merged build started.

Test build #40072 has started for   PR 8004 at commit ae7767d.

+1

Test build #40072 has finished for   PR 8004 at commit ae7767d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #40181 has started for   PR 8004 at commit 756d84c.

Test build #40181 has finished for   PR 8004 at commit 756d84c.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test FAILed.

MIMA's acting weird locally, so I'll rely on Jenkins to test it.

Merged build triggered.

Merged build started.

Test build #40201 has started for   PR 8004 at commit 7ff0768.

Test build #40201 has finished for   PR 8004 at commit 7ff0768.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test PASSed.

I'll test this once more and then merge it.

jenkins test this please

Merged build triggered.

Merged build started.

Test build #40325 has started for   PR 8004 at commit 7ff0768.

Test build #40325 has finished for   PR 8004 at commit 7ff0768.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test FAILed.

jenkins test this please

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

test this please

Merged build triggered.

Merged build started.

Test build #40467 has started for   PR 8004 at commit 7ff0768.

Thanks for looking--updated.

Merged build triggered.

Merged build started.

Test build #40467 has finished for   PR 8004 at commit 7ff0768.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

Jenkins test this please

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Jenkins test this please

Merged build triggered.

Merged build started.

Test build #40501 has started for   PR 8004 at commit 7ebefda.

Test build #40501 has finished for   PR 8004 at commit 7ebefda.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test FAILed.

That was a really strange failure if you look at it.... Will keep an eye on it.
Jenkins test this please

test this please

Merged build triggered.

Merged build started.

Test build #40594 has started for   PR 8004 at commit 7ebefda.

Test build #40594 timed out     for PR 8004 at commit 7ebefda     after a configured wait of 175m.

Merged build finished. Test FAILed.

test this please

Merged build triggered.

Merged build started.

Test build #40640 has started for   PR 8004 at commit 7ebefda.

Test build #40640 has finished for   PR 8004 at commit 7ebefda.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

Merged build finished. Test FAILed.

test this please

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test build #1517 has started for   PR 8004 at commit 7ebefda.

Test build #1517 has finished for   PR 8004 at commit 7ebefda.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Identifiable
class VectorUDT extends UserDefinedType[Vector]

LGTM. Merged into master and branch-1.5. Thanks!


[Bug] Delete Knowledgebase gives error

Search before asking

[X] I had searched in the issues and found no similar issues.

Operating system information
Windows
Python version information
3.10
DB-GPT version
main
Related scenes

[ ] Chat Data
[ ] Chat Excel
[ ] Chat DB
[X] Chat Knowledge
[ ] Model Management
[ ] Dashboard
[ ] Plugins

Installation Information

[X] Installation From Source

[ ] Docker Installation

[ ] Docker Compose Installation

[ ] Cluster Installation

[ ] AutoDL Image

[ ] Other

Device information
Device: GPU
Models information
LLM: Vicuna 7b
Embedding model: bge-large-en
What happened
When trying to delete a knowledge base a error message pops up and the knowledge base is still there
What you expected to happen
Maybe some permission error somewhere to delete (I can't use the knowledgebase after clicking the button) but it is still visable in the knowledge part
How to reproduce
Create a knowledgebase with one document.
Navigate to knowledgebase and click on the delete icon.
Additional context
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

ission error somewhere to delete (I can't use the knowledgebase after clicking the button) but it is still visable in the knowledge part

could you show some  backend error log?

Same error, looks like it's a windows only issue:

but there is no error in the backend, i suppose this is no error check during deletion


Added new material to the resources .yml file

PR refers to different issues.
Closes #317, closes #319, closes #321, closes #322, closes #323, closes #324, closes #325, closes #331

Hey @lea-33 ,
thanks for this! Just a note: I modified your message above, so that github closes the issues automatically. You can see which issues are closed by hovering with your mouse over the word "closes". Hence, we need to write "closes" for every issue that should be closed:

Also, the current error suggests missing quotation marks because it is confused by multiple colons in one line.
Traceback (most recent call last):
...
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/yaml/scanner.py", line 577, in fetch_value
    raise ScannerError(None, None,
yaml.scanner.ScannerError: mapping values are not allowed here
  in "/home/runner/work/training/training/resources/nfdi4bioimage.yml", line 5457, column [17](https://github.com/NFDI4BIOIMAGE/training/actions/runs/11609273728/job/32326192248?pr=337#step:5:18)

https://github.com/NFDI4BIOIMAGE/training/blob/ba9223648ea11a98e65a6e3d7b7b22717cbd2eb3/resources/nfdi4bioimage.yml#L5457
I will take care of this.
Thanks again for enriching our database!


BUILD-485: Update dependencies; update to Go 1.18

Update our module definition to use Go 1.18.
Update our direct dependencies.
Regenerate TLS certificates used for TLS connectivity tests, and add a script that can be re-run to do that.
Stop clearing S2I_BUILD_TAGS in hack/test-go.sh so that integration tests will run when it's invoked from hack/test-dockerfile.sh and from hack/docker.sh.
Add unit tests for pkg/docker.GetAssembleUser().
Run hack/update-generated-completions.sh to update contrib/completions/bash/s2i and contrib/completions/zsh/s2i.
Run go fmt on the test/integration/docker package.
In integration tests, recognize when ContainerWait(WaitConditionNextExit) timed out because the container had already exited and work around it.

/assign @coreydaley

@nalind We may have a chicken/egg issue here where we need to force-merge the pr for openshift/release first so that we can make this use go 1.18
build io/fs: cannot load io/fs: open /go/src/github.com/op...ift/source-to-image/vendor/io/fs: no such file or directory

@coreydaley it sure looks that way to me.  I've manually checked that the "test-unit", "test-dockerfile", and "verify" makefile targets pass when I run them manually on my Fedora 36 box with Go 1.18.3, so I'm reasonably confident that they'll pass once we do that.  (The "verify" target caught some scripts I needed to run, so I've re-pushed with its suggested changes added in.)
OpenShift CI doesn't appear to be configured to check the test-docker target, which fails for me when I try it on my system with this PR, so there's probably still some work to do here.

/retest
https://github.com/openshift/release/pull/29928 merged but it may take a couple of hours until it is available for these tests

/retest

Looks like it's using the new go 1.18 now at least.
INFO[2022-06-30T01:58:08Z] Tagging openshift/release:golang-1.18 into pipeline:root.

/retitle BUILD-485: Update dependencies; update to Go 1.18

Looks like the jenkins-s2i test is failing since it is trying to use an older go version, i'm going to try to track down how to fix that.
 export BUILD_GO_VERSION=go1.12.5
+ BUILD_GO_VERSION=go1.12.5
+ wget -q https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz
+ sudo tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz
+ sudo rm /bin/go /bin/gofmt
+ sudo ln -s /usr/local/go/bin/go /usr/local/go/bin/godoc /usr/local/go/bin/gofmt /bin
+ make build
hack/build-go.sh
++ Building go targets for linux/amd64: cmd/s2i
build github.com/openshift/source-to-image/cmd/s2i: cannot load io/fs: open /data/src/github.com/openshift/source-to-image/vendor/io/fs: no such file or directory
make: *** [build] Error 1
++ export status=FAILURE
++ status=FAILURE

Found it: https://github.com/openshift/aos-cd-jobs/blob/master/sjb/config/test_cases/test_pull_request_s2i_master.yml.  Opened https://github.com/openshift/aos-cd-jobs/pull/3129.

/approve

/retest

/retest

/test jenkins-s2i

/test all

/retest

/retest
ERROR: Clone failed: source https://github.com/sclorg/nodejs-ex, target /tmp/s2i-dockerfiletest-dir2495762830/upload/src, with output "error: RPC failed; result=6, HTTP code = 0\nfatal: The remote end hung up unexpectedly\n"
I0707 12:31:45.611217    3152 clone.go:49] error: git clone failed: exit status 128
    dockerfile_test.go:1053: An error occurred during the build: exit status 128

/test integration

/hold cancel

/refresh


Why download json datagram error 404

http://<IP_ADDRESS>:9411/zipkin/api/v1/trace/65248810e1002a98
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Jul 20 14:53:14 CST 2018
There was an unexpected error (type=Not Found, status=404).
Not Found

version is zipkin-release-2.10.2

As part of the 2.10 release, we dropped the v1 read HTTP endpoints. If you use the v2 endpoint (as the UI itself does now), it should work. I'm curious: what is the use case for accessing the HTTP endpoint directly?

The download address of zipkin-server.jar is https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.10.2/zipkin-server-2.10.2-exec.jar

@595979101 Thank you for the additional information. This looks like a bug, then. We should update the UI to use the v2 endpoint.

@595979101 the fix for this is released now as version 2.10.3.

Ok, thank you. You fixed this bug too fast


feat: add video plays table to course dashboard (FC-0051)

This change adds a table to the video engagement tab of the course dashboard. This table shows the number of views each video has, along with the videos section and subsection name. This is to give dashboard viewers more context as to which videos are included in the accompanying "video views per section/subsection" graph.
Here is a screenshot of the table:

Thanks for the pull request, @SoryRawyer! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@SoryRawyer 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Provide intermediate data dumps

Having intermediate parameter dumps is important:

lets you check in on "slow" runs
potentially provides restart points for crashed runs
lets you compare final few runs whose BICs only differ slightly

Decisions with design/implementation:
Flat directory structure prevents coupling (dependency) on component introduction method
SimpleIntroducer and SimpleICPool produce generations of N-component mixtures, then (N+1)-component mixtures, then (N+2)-... etc. It may therefore be tempting to reproduce this structure with subdirectories (having all N-comp fits in one directory, (N+1)-comp fits in another), but perhaps we'll implement more flexible/dynamic introducers, where component counts aren't incremented in lock-step. Coupling could be avoided by having a flat directory structure, and if it's important to clearly display number of components this information can be in the directory's name.
This also means any plotting tool will work just as well for any Introducer implementation.

Introducer provides unique ids along with each initial condition, perhaps I can use these for directory names?

Proposal:
Each initial conditions gets a unique counter, this counter is converted into alphabet (AAA - ZZZ).
A label is generated thusly:
[counter]-[parent_counter]-[generation]-[ncomps]

For example, say we had a run as part of the 2nd generation, with 5 components, it might look like:
ABG-AAX-0002-0005

Say as part of the next generation, it was used to generate a 6 component fit, it might look like this:
ACE-ABG-0003-0006

I like this idea, I will go ahead and implement.
Optional extension
To take it one step further, one could even append at the end some implementation specifics. For example, if ACE was initialised by splitting the 4th component of ABG we could say:
ACE-ABG-0003-0006-4


Use emitter trait

Would be nice to use the EmitterTrait from the event package.

Is the getEventEmitter remained in the Application for BC?

Yes

Could be marked as deprecated and removed in the next major release.

What do you think is the best way to do that? E_DEPRECATED notice or is there a docblock or both?

I think a dockblock is enough, as it is probably a notice for us to remove it later. It should be mentioned in the Changelog that it is deprecated and mentioned when it gets removed.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 78 ms

Resolved: ClamAV performance has improved in b1768ba.


Release notes for 1.7.0

Release time
2020-02-06
Components involved

Netty
Common

#### General changes

- Add sample code [example](https://github.com/EdurtIO/incubator-gcm/tree/master/example)
- Support multiple data sources for mysql and clickhouse [issues-14](https://github.com/EdurtIO/incubator-gcm/issues/14)

#### Common changes

- Add custom Java switch tool

#### Netty changes

- Add `@GetMapping`, `@PostMapping` annotation
- Fix the problem that LinkedTreeMap can't perform type parsing when passing List<Object> type data conversion [issues-13](https://github.com/EdurtIO/incubator-gcm/issues/13)
- Fix the problem of using @RestController annotation to return data results [issues-17](https://github.com/EdurtIO/incubator-gcm/issues/17)

Release complete


sync start delay

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 8 (0.0%)  changed or added relevant lines in 2 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.1%) to 26.872%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

plugins/edge/factory.go
0
4
0.0%

plugins/edge/plugin.go
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

plugins/edge/plugin.go
1
0.0%

pkg/app/topaz.go
2
46.49%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
1224

Relevant Lines:
4555

💛  - Coveralls


Remove spurious \

Changes
Fix a small typo
Merge Requirements
For new features contributions please make sure you have completed the following
essential items:

[ ] ~CHANGELOG.md updated to document new feature additions~ Did not update because of a fixed typo
[x] Appropriate documentation updates in the docs folder

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

I think you should sign for CLA first @koppor

Signed. How to trigger re-validation?


feat!: encoding revamp

This PR aims to improve our current encoding infrastructure:

Supporting multiple, concurrent encoding versions, and even the possibility of custom encoding
Reduce the number of coder touch points and introduce more config driven encoding system

It will achieve this by:

Introducing encoding strategies to support multiple specifications (custom TBD)
Reducing the number of coders and introducing config driven coders

Superceded by #1780. Decided to scale back the refactor to now until contract call v1 encoding has been delivered.

Superceded by #1780. Decided to scale back the refactor to now until contract call v1 encoding has been delivered.


feat: initial SDK implementation

Proposed changes
This the very first implementation of the JavaScript SDK for our public APIs, let's say v0.1. For now, it only includes the happy path, so no model validation, error handling, etc, but you get the idea.
It contains the following modules:

request: an axios wrapper that includes the API key and JWT token on every request.
authorize: generates a JWT for subsequent requests.
transfer:  it creates an empty transfer for now.
items: manages item (files) uploads, including multipart upload.

Docs are still missing, I want to validate first that the approach is OK and we are happy with it. The usage will be as follows:
// v0.1
const apiClient = require('@wetransfer/js-sdk')(/* YOUR PRIVATE API KEY GOES HERE*/);
await apiClient.authorize();
const transfer = await apiClient.transfer.create({/* transfer data */});
const items = await apiClient.transfer.addItems(transfer.id, {/* items */});
await Promise.all(items.map(apiClient.transfer.uploadFile));
console.log(transfer.shortened_url); // WeTransfer URL

// v1.0
const apiClient = require('@wetransfer/js-sdk')(/* YOUR PRIVATE API KEY GOES HERE*/);
await apiClient.authorize();
const transfer = await apiClient.transfer.create({/* transfer data, including items */});
console.log(transfer.shortened_url); // WeTransfer URL

Types of changes

[ ] Docs (missing or updated docs)
[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement / maintenance (removing technical debt, performance, tooling, etc...)

Checklist

[x] I have read the CONTRIBUTING doc
[ ] I have added necessary documentation (if appropriate)
[ ] Code changes are covered by unit tests.
[ ] Any dependent changes have been merged and published in downstream modules

I'm all in favor of fullstackin' it up, but am I really the best person to review a Javascript SDK PR?

@WJWH You are the expert on multipart upload, that's why you are part of this PR ;)

I would also love to see which parts of our transfer module we should extract and re-use here.