About the storage-service-cxx service.sh start

Hello,
After running successfully the "auto-deploy.sh", we continue to start the service. And when running the "service.sh" in the /data/projects/fate as "bash service.sh all start" the storage-service-cxx is fail because of the
"service.sh: line 34: ./storage-service: No such file or directory"
how should I change the command or Can I just start the service in the storage-service "/data/projects/fate/storage-service/service.sh" for running the cluster deploy example?
Thank you very much!

Hi, I think the auto-deploy.sh have a certain fail to compile the “storage-service.o” and "storage-service.cc" in /data/projects/fate/storage-service-cxx/ to the executable file "storage-service-0.2".
And I didn't find any command in the auto-deploy.sh or auto-packaging.sh to make this file. Which command can generate the "storage-service-0.2" in the /data/projects/fate/storage-service-cxx/?
Thank you very much!

What are the error messages when you cd into storage-service-cxx and make?

@maxwong
When I deploy 2 parties.
The latter party always can't directly compile the "grpc" casuing a lask of the executable file "/data/projects/fate/storage-service-cxx/third_party/bin/grpc_cpp_plugin".
As a result, in the "/data/projects/fate/storage-service-cxx" when execute "make" to compile to get the "storage-service-0.2" it will always raise up the error
##########
DEPENDENCY ERROR
You don't have the grpc c++ protobuf plugin installed in your path.
Please install grpc. You can find it here:
https://github.com/grpc/grpc
Here is what I get when trying to detect if you have the plugin:
which /data/projects/fate/storage-service-cxx/third_party/bin/grpc_cpp_plugin
Makefile:107: recipe for target 'system-check' failed
make: [system-check] Error 1 (ignored)
############
While the machine of partyA is deployed and compiled successfully with the "/data/projects/fate/storage-service-cxx/third_party/bin/grpc_cpp_plugin"
Could you please tell me what can lead to the same deploy code have different compile result?

Could the difference between the version of Ubuntu in 2 machine cause this situation?

@maxwong What if I couldn't successful install the storage-service-cxx, can It be replaced by the jave version "service.sh" inside the "storage-service"?
should both party use the "storage-service"? Or can one of them start the storage-service-cxx"?
Really Thanks!!!!!!!!

@maxwong Hi
If I can just cp the successfully installed "/data/projects/fate/storage-service-cxx" into the other party?
I think all it need is the executable files which can be used independently.

grpc_cpp_plugin is necessary in Makefile to generate grpc classes. If 2 parties are using the same version of operating system (which has same versions of glibc and so on), it is possible that you can copy one into another.
grpc_cpp_plugin can be installed or be found when you have successfully made grpc (which is a third_party dependency of storage-service-cxx). You may want to use find command to locate it.
As for storage-service and storage-service-cxx, the former implementation is based on Java (using JNI). In concurrency situation it may crash. So we recommend users using the c++ implementation whenever possible.


1080p max bitrate

It looks like v0.9.0 introduced a hevc 1080p max bitrate of 12000kbps even if the target is set higher. Is there a way to override that? I think v0.8.0 and below had a max of 20000kbps?
I know I know, it's probably not necessary, but I would like to set a higher bit rate sometimes and it tops out at 12000kbps despite what I set as the target.

@vasuvasu Your are correct that version 0.9.0 of other-transcode lowered maximum video bitrates for certain resolutions and formats. This was done to increase playback compatibility with more devices and ensure consistent format level output across encoders.
Whether higher target bitrates are necessary, they're certainly not useful nor advisable for transcoded output. Any quality improvement from setting bitrate targets above the new limits is marginal at best.
Remember, the purpose of other-transcode is not to create archival copies. That's impossible anyway when transcoding is part of the pipeline. Its purpose is to transcode "into a smaller, more portable format while remaining high enough quality to be mistaken for the originals."
Anyway, I don't plan on providing a way to override the new limits because I don't want users investing time in creating incompatible and inconsistent video streams.
Does that make sense?

@donmelton yup makes sense!
Is 12Mbps the limit of an HEVC level that you're trying to stick to?

@vasuvasu Yes, HEVC Level 4 for 1080p output.


Consider ffmpeg for video-to-gif

http://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality

Added ffmpeg support


Armored Pillagers not spawning with crossbows

When spawned from a raid, armored Pillagers have no crossbow in hand causing them to aimlessly run around and do nothing.

Uploading fixed version. Check in 5 minutes.


Use column.comment from catalog/database if column.description is missing

Partially resolves #128 (see below)
Description
This will display the column description fetched from the database if there is no column description in the DBT config.
Partially resolves #128, partially because the table description is still missing.
Adding the table description would require more substantial changes, since the table description (as far as I could tell) is not found in catalog.json at the moment.
Checklist

[x] I have signed the CLA
[x] I have generated docs locally, and this change appears to resolve the stated issue
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

@emmyoop Thanks for useful feedback!
I wasn't aware that the table description was in the catalog. I think the BigQuery adapter (which I use) doesn't fetch it from the database. Anyway, I fixed the code so that we use the comment from the catalog if it is present.

Should I/we document somewhere that the descriptions are fetched from the database if not provided in the dbt config? This behavior is probably not obvious to most users.

We should definitely add some documentation around this functionality.  Good call bringing it up!  We plan to release this feature with our next minor release, 1.2.0.  Can you open up an issue over in docs.dbt.com to add documentation to the docs page.


[WIP] added nnscore featurization and nosetest

Baked in NNScore featurization as option into deepchem; added a nosetest for this featurization. This is a WIP PR as some errors remain.

This has been superseded by #57


replace todo add and todo button

get rid of the add new todo and add todo button, instead replace with a plus butopn on the right end corner where a pop up will ap[p[ear in which you can add the todo, who you want to share it with what time this needs to be completed by

now with a floating action button that opens a modal (popup) to add the new todo


🔧 Fix connectivity errors not being thown on and streamed

Server errors were being swallowed when the fetch initialised from an observable query. Therefore it was not possible to act upon those errors in the UI, as indicated in issue #105.
This PR adds errors that occur during data fetching to the observable query's stream.
Breaking changes
n/a
Fixes / Enhancements

Fixed connectivity errors not being thrown and streamed. @HofmannZ

Docs
n/a

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


queryLanguages not listed in SearchOptions

According to the documentation of the queryLanguages parameter, it can be passed to the search function as so:
index.search('query string', { queryLanguages: ['en'] })
  .then(({ hits }) => {
    console.log(hits);
  });

The second parameter of search is requestOptions and is typed as RequestOptions & SearchOptions. However I don't see the queryLanguages listed in the SearchOptions type (I don't expect it to be in RequestOptions since that type is purely for configuring the request itself). Right now queryLanguages is listed in the in Settings type but I believe it could also be added to SearchOptions.
What do you guys think about adding queryLanguages to SeachOptions?

I've opened #1406 to solve this, in the mean time you can use ts-expect-error :)


haskellPackages.hfsevents: fix build

Motivation for this change
Allow stack to build on Darwin.
Things done

[ ] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

The generated expression for this Darwin-only library prevents it from
actually building on Darwin. It is a requirement for building stack.

It seems to me like this patch belongs into cabal2nix, really, to make sure the package is generated with correct dependencies in the first place.

It looks like cabal2nix ignores dependencies for packages with buildable = False. This causes issues since the expressions are generated on a linux machine https://github.com/luite/hfsevents/blob/master/hfsevents.cabal#L23

Right, cabal2nix generates what looks like an okay .nix file when I run it on Darwin. Ultimately, the dependencies have to be behind a nix conditional whose semantics match the Cabal conditional guarding the buildable setting. To catch most cases, we can generate the nix expression posing as a Linux then a Darwin machine, and put the differences behind a nix conditional.
This came up in an older Issue. Given that the tentative solution there doesn't seem to be effective yet, it would be nice to at least un-break stack installation so that nixpkgs can be used to provision a Haskell development environment on Darwin.

https://github.com/NixOS/cabal2nix/commit/aece559a12e63756680aa3d9869fb3a19f6f5596 generates the following output now:
$ cabal2nix --system=x86_64-linux cabal://hfsevents
{ mkDerivation, base, bytestring, cereal, Cocoa, CoreServices, mtl
, stdenv, text
}:
mkDerivation {
  pname = "hfsevents";
  version = "0.1.6";
  sha256 = "019zbnvfd866ch49gax0c1c93zv92142saim1hrgypz5lprz7hvl";
  libraryHaskellDepends = [ base bytestring cereal mtl text ];
  librarySystemDepends = [ Cocoa ];
  libraryToolDepends = [ CoreServices ];
  homepage = "http://github.com/luite/hfsevents";
  description = "File/folder watching for OS X";
  license = stdenv.lib.licenses.bsd3;
  platforms = [ "x86_64-darwin" ];
}

Is that correct for building on Darwin?

That looks great, even the frameworks are correct.

OK. These changes are now in the haskell-updates branch and will make it to master within the next few days.

That is great, thank you @peti!

I just had to manually add Cocoa to fsnotify to make it build on OSX on master - This should have been fixed by now by the changes discussed above, no?

@gilligan, which branch / channel do you use? The hfsevents expression in master looks correct to me.

@peti I am not talking about hfsevents - I am talking about fsnotify. I had to apply the following to get it to build (on master):
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 1cd4e15..85b6b8e 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -160,7 +160,15 @@ self: super: {
   # FSEvents API is very buggy and tests are unreliable. See
   # http://openradar.appspot.com/10207999 and similar issues.
   # https://github.com/haskell-fswatch/hfsnotify/issues/62
-  fsnotify = dontCheck super.fsnotify; # if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify;
+  fsnotify = overrideCabal super.fsnotify (drv: {
+    doCheck = false;
+    librarySystemDepends =
+      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
+    libraryHaskellDepends = drv.libraryHaskellDepends
+      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
+                            (with pkgs.darwin.apple_sdk.frameworks;
+                             [ Cocoa ]);
+  });


npm token create password (npm token)

$ npm token create --registry=http://my_registry:5000
npm password:

What is the password asking its for?

Using an older version of node via Docker is also an option, just not a great one.
$ docker run --rm -it node:9.2.0-alpine sh
/ # npm login --registry https://npm.company.com
Username: admin
Password:
Email: (this IS public<EMAIL_ADDRESS>Logged in as admin on https://npm.company.com/.
/ # cat ~/.npmrc
//npm.company.com/:_authToken=Rwl9t+GHjlgP+brFJ6WycIe1y6r3Z+ShUEqsLusmFC11w3n6ex8JdmkMoKv/0U/D
/ #

Hi, this issue is in Pick up for v4, I would love to pick it up and contribute...

@varijkapil13 sure, all yours. I can drive you along the process if you need help. Let me know what would be your action plan to make it real.

@juanpicado Thanks.  I think I will need some help getting started with the code. Regarding action plan, I will have to some research how to implement it, and understand what npm does on.
I just joined the verdaccio discord server. It will probably be better if we discuss this there.

Hi @varijkapil13 , any update? We are about to finish https://github.com/verdaccio/verdaccio/pull/1034 and the next step for me is npm create token. Can I help you with something?

Hi @juanpicado no, no updayes yet. I hadn't had that much time to invest into this. Plus I need some time getting used to express and nodejs. Feel free to take it over. I make sure to follow the progress and learn on the way.
In the meantime maybe I can help with smaller stuff, like refactoring and such.

@varijkapil13 sure, don't hesitate to contribute :) I'm here to help and provide guidance for anyone.

@juanpicado thanks! i think I'll stick to the smaller parts for now. Implementing authentication stuff would take way more time for me. Since I fail to understand the workings of npm requests and how they are handled.
I'll take care of some things from #973 .
(Will open a PR soon for
Get rid off require('../lib/logger'); in favor of ES modules import xxx from xxx.
Replace import * as Utils from '../../lib/utils'; by destructuring format import {xxx, yyy} from '../../lib/utils';)
)

I'm trying to give a bit of shape to this feature.
There are a couple of topics I'd like to describe and looking for opinions.
package manager support

npm ✅
pnpm ✅
yarn ❌

package manager support

npm ✅
pnpm ✅
yarn ❌

commands
➜ npm token --help
npm token list
npm token revoke <tokenKey>
npm token create [--read-only] [--cidr=list]

npm token list
First a bit of context how is, in the next major release, we support 2 different ways to generate tokens, one is legacy which is the currently used on latest and JWT. (for deep context https://github.com/verdaccio/verdaccio/pull/896) The idea is support both systems until legacy is being removed in future major releases.
Verdaccio does not store tokens anywhere, thus, once token is signed and delivered to the client, we lose the control of it. Without token storage, there is no way to support npm token list. I'm looking a safe way to address this process.
npm token revoke and npm token create are not hard to handle once the first subject is done.

We need this for CI/CD builds. Please add this soon.

PR are open 👍

Just wondering what these removes mean. Will this be in Verdaccio 4?

@JanneHarju no it's too big and at least I won't work on it for now.

Hi,
I have checked to implement this feature and I think it should be necessary:

implement some endpoint in src/api/endpoint/api that reply to:

GET https://example.it/-/npm/v1/tokens to get the token list
POST https://example.it/-/npm/v1/tokens to create the a token
need to find what is necessary for the revoke command

use the IStorageHandler to store these tokens (+ read-only flag + IPs cidr)
some test

@juanpicado
Do you think that it is enough or I'm missing something?
Do you know if there are some docs that explain better the endpoint to expose?
Do you think that it would be possible to release this feature in next semver-minor v3 when it will be implemented?
Thank you

hi @Eomm

implement some endpoint in src/api/endpoint/api that reply to:

yes, following the same structure would be located there eg: token.js

GET https://example.it/-/npm/v1/tokens to get the token list
POST https://example.it/-/npm/v1/tokens to create the a token
need to find what is necessary for the revoke command

I'm not 100% sure, but I'll check that as well.

use the IStorageHandler to store these tokens (+ read-only flag + IPs cidr)

Yes, here is the tricky part. We clearly need to modify the IStorageManager and the local-storage, so, the plugin IMHO should hold the responsibility for handle persistence of tokens. This will impact current plugins so we need to be flexible there, plugins depend on external developers and it will take time until they align with our new API. About security wise, well, I'd love to store tokens in a safe way, let me know if you have ideas in this area.

Do you think that it is enough or I'm missing something?

Not 100% sure, but, we will figure out :-)

Do you know if there are some docs that explain better the endpoint to expose?

Unfortunately no, npmjs is a closed API, so, reverse engineering is required here. My approach is just check the npm client code, all is there.

Do you think that it would be possible to release this feature in next semver-minor v3 when it will be implemented?

I'm not accepting features on v3 anymore, only bug fixing. My reasons are, 1. the stability of the product, 2. people using storage plugins will want to use it and as I said above, I cannot force storage plugins to align to this, but, those plugins are under our control, yes we can. v4 is not that far away to be launched, so, I think to make sense to included it on v4 instead.
You can find me in our chat if you need more ideas or guidance in a quick way.

the plugin IMHO should hold the responsibility for handle persistence of tokens.

Sorry, I don't understand this part: do you suggest to build some plugins to archive this feature?
Because the hard part I see is sync all these steps:

one auth plugin: to read and validate tokens on actions
one storage plugin: to add the new functions to store the tokens
one middlewere: to expose the endpoints

About security wise, well, I'd love to store tokens in a safe way, let me know if you have ideas in this area.

The simplest pattern I would approach in first place would be to add a setting for the master-password and then store the token as encrypted strings. If I will use standard Node.js API, it would require Node.js >= 10.5.0. Here I did some experiment in this way. Could be good for you this requirement?

v4 is not that far away to be launched

Clear, I was thinking to build this feature in a fastest way because my company need it.
But I think I could archive the quick-and-dirty part with a auth plugin and some const 😅
Meanwhile building better version of this "must-have" feature 👍

Hi @juanpicado
I build verdaccio-static-token plugin for now that fit my needs and maybe could be useful to others that are watching this issue.
Implementing that plugin I notice how I should implement the complete feature, I'll hope to start soon to write some code 👍

@Eomm nice job ! I'll check in detail your implementation, I just quickly overseen a bit looks interesting.

You can do it right now following these steps.. ( i think this might be the old way, but it is working for me on NPMJS)

Your project will have this .npmrc file, you can also store it on git repo (i am doing it, i am not sure if it is wrong, anyway, it only has the repo url, it is locally and the repos are user-specific locked)

#.npmrc
registry = http://<IP_ADDRESS>:4873`

Generate a encoded token by username:password

#auth can be generate by username:password
echo -n 'usernm:passwd' | openssl base64
#output YWRtaW46YWRtaW4xMjN=

Store this string on a environment variable like depending your CI/CD.
On CI/CD when you compile.

docker build -t verdaccio --build-arg NPMTOKEN=$NPMTOKEN .

RUN [[ -z "$NPMTOKEN" ]] && exit 1 || echo "_auth=${NPMTOKEN}" >> .npmrc
RUN npm ci

This will be able to download the private ones..

:)

If you want to try a PoC, feel free to share feedback.
npm i -g verdaccio@feat-token --registry https://registry.verdaccio.org

If you want to try a PoC, feel free to share feedback.
npm i -g verdaccio@feat-token --registry https://registry.verdaccio.org

How to use it?

@carlosen14 https://docs.npmjs.com/cli/token.html

If you want to try a PoC, feel free to share feedback.
npm i -g verdaccio@feat-token --registry https://registry.verdaccio.org

You want me to install this on verdaccio directly? i'm using verdaccion on docker

You want me to install this on verdaccio directly? i'm using verdaccio on docker.
I installed on local machine but continues asking for password and returns 404.

Docker image for testing is not available yet, but it will. I'll let you know @carlosen14 in the next week.

ok, i did npm login --registry verdaccio.localhost:1234 and this saved a token on /root/.npmrc
So, there is a token, i copied from there!
example:
(REAL TOKEN IS WAY MUCH LONGER THAN EXAMPLE)
//verdaccio.localhost:1234/:_authToken=eyJh.TY0N.xZik8GL

On CICD i put it using
echo '//verdaccio.localhost:1234/:_authToken=eyJh.TY0N.xZik8GL"' >> `npm config get userconfig`

You want me to install this on verdaccio directly? i'm using verdaccio on docker.
I installed on local machine but continues asking for password and returns 404.

Docker image for testing is not available yet, but it will. I'll let you know @carlosen14 in the next week.

@juanpicado  is this released on 4.3?


fix(EMI-1224): Update ACH/SEPA form style

The type of this PR is: Fix
⚠ This PR is to be merged to review-app-new-input ⚠

This PR solves EMI-1224
Description
This PR updates the label style in the Stripe forms to be above the input field instead of inside
Screenshots

Method
Before
After

SEPA

ACH

@MrSltun not sure why that shipping test is failing. I ran the tests locally and they are passing 🤔

@rquartararo It's weird, it was failing for me locally as well, I'm not sure how or why it works on main, but I had to add await page.update() to the test for it to work 🤷


Comment status check

To avoid the appearance of duplicate comments on blogs that are not moderated, Slate should be taking advantage of comment.status.
Related issue: https://github.com/Shopify/shopify-themes/issues/3516#issuecomment-278696450
I'll also try to improve our docs about this at the same time.  📚

Fixed by https://github.com/Shopify/slate/issues/100


Add feature flag doc

This PR https://github.com/rancher/docs/pull/1817 has merge conflicts so this PR follows up on it, including the same changes.
This PR addresses this issue: https://github.com/rancher/docs/issues/1773

I'm going to respond to Denise's feedback on https://github.com/rancher/docs/pull/1817 on this PR


"Error: EOF" when using "lxc exec ...."

Issue description
Hello, github newbie here!
I'm getting the same behavior as issue #5188. It occurs some time after the container has been running (after several hours?).
I am using projects, the container in question is not in the default project.
Running
lxc exec <container> -- /bin/bash
returns
'Error: EOF
This also occurs when using --project flag to execute in the non-current project.
For this container's use case, I would prefer not to restart the instance to do exec commands, so the restart container fix does not work for me. Restarting the container does fix the error temporarily, it does come back after some time though.
Steps to reproduce

Create lxd project
Create container  inside that project
Wait some amount of time (<=8 hours, tried at night, worked, tried in morning, errored).
execute 'lxc exec  -- /bin/bash
(other lxc exec commands also fail)

Required information

Distribution: Ubuntu

Distribution version: 18.04
uname -a ' : Linux borderbound3 5.0.0-37-generic #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

The output of "lxc info" or if that fails:
config:
core.https_address: '[::]:8443'
core.trust_password: true
api_extensions:

storage_zfs_remove_snapshots
container_host_shutdown_timeout
container_stop_priority
container_syscall_filtering
auth_pki
container_last_used_at
etag
patch
usb_devices
https_allowed_credentials
image_compression_algorithm
directory_manipulation
container_cpu_time
storage_zfs_use_refquota
storage_lvm_mount_options
network
profile_usedby
container_push
container_exec_recording
certificate_update
container_exec_signal_handling
gpu_devices
container_image_properties
migration_progress
id_map
network_firewall_filtering
network_routes
storage
file_delete
file_append
network_dhcp_expiry
storage_lvm_vg_rename
storage_lvm_thinpool_rename
network_vlan
image_create_aliases
container_stateless_copy
container_only_migration
storage_zfs_clone_copy
unix_device_rename
storage_lvm_use_thinpool
storage_rsync_bwlimit
network_vxlan_interface
storage_btrfs_mount_options
entity_description
image_force_refresh
storage_lvm_lv_resizing
id_map_base
file_symlinks
container_push_target
network_vlan_physical
storage_images_delete
container_edit_metadata
container_snapshot_stateful_migration
storage_driver_ceph
storage_ceph_user_name
resource_limits
storage_volatile_initial_source
storage_ceph_force_osd_reuse
storage_block_filesystem_btrfs
resources
kernel_limits
storage_api_volume_rename
macaroon_authentication
network_sriov
console
restrict_devlxd
migration_pre_copy
infiniband
maas_network
devlxd_events
proxy
network_dhcp_gateway
file_get_symlink
network_leases
unix_device_hotplug
storage_api_local_volume_handling
operation_description
clustering
event_lifecycle
storage_api_remote_volume_handling
nvidia_runtime
container_mount_propagation
container_backup
devlxd_images
container_local_cross_pool_handling
proxy_unix
proxy_udp
clustering_join
proxy_tcp_udp_multi_port_handling
network_state
proxy_unix_dac_properties
container_protection_delete
unix_priv_drop
pprof_http
proxy_haproxy_protocol
network_hwaddr
proxy_nat
network_nat_order
container_full
candid_authentication
backup_compression
candid_config
nvidia_runtime_config
storage_api_volume_snapshots
storage_unmapped
projects
candid_config_key
network_vxlan_ttl
container_incremental_copy
usb_optional_vendorid
snapshot_scheduling
container_copy_project
clustering_server_address
clustering_image_replication
container_protection_shift
snapshot_expiry
container_backup_override_pool
snapshot_expiry_creation
network_leases_location
resources_cpu_socket
resources_gpu
resources_numa
kernel_features
id_map_current
event_location
storage_api_remote_volume_snapshots
network_nat_address
container_nic_routes
rbac
cluster_internal_copy
seccomp_notify
lxc_features
container_nic_ipvlan
network_vlan_sriov
storage_cephfs
container_nic_ipfilter
resources_v2
container_exec_user_group_cwd
container_syscall_intercept
container_disk_shift
storage_shifted
resources_infiniband
daemon_storage
instances
image_types
resources_disk_sata
clustering_roles
images_expiry
resources_network_firmware
backup_compression_algorithm
ceph_data_pool_name
container_syscall_intercept_mount
compression_squashfs
container_raw_mount
container_nic_routed
container_syscall_intercept_mount_fuse
container_disk_ceph
virtual-machines
image_profiles
clustering_architecture
resources_disk_id
storage_lvm_stripes
vm_boot_priority
unix_hotplug_devices
api_filtering
instance_nic_network
clustering_sizing
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
tls
environment:
addresses:

<IP_ADDRESS>:8443
<IP_ADDRESS>:8443
<IP_ADDRESS>:8443
architectures:
x86_64
i686
certificate: |
-----BEGIN CERTIFICATE-----
MIICFjCCAZygAwIBAgIRALm5CN9+hyWR6rny6B3ZhLkwCgYIKoZIzj0EAwMwOjEc
MBoGA1UEChMTbGludXhjb250YWluZXJzLm9yZzEaMBgGA1UEAwwRcm9vdEBib3Jk
ZXJib3VuZDMwHhcNMjAwMjA2MjE1MjQ1WhcNMzAwMjAzMjE1MjQ1WjA6MRwwGgYD
VQQKExNsaW51eGNvbnRhaW5lcnMub3JnMRowGAYDVQQDDBFyb290QGJvcmRlcmJv
dW5kMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABHbtkzLoxV9GrxlkeqrGSn7pvQHC
OoGe2X+y3+a7arli8HvgY2iskSKZGv2d7Yc2pydYs67TzLwBo6A1Yf2+lq5t0Cd8
8KST+3KUdy+uSQCXYdsdWSXHRwnb8UZ9yxRwXqNmMGQwDgYDVR0PAQH/BAQDAgWg
MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwLwYDVR0RBCgwJoIM
Ym9yZGVyYm91bmQzhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMAoGCCqGSM49BAMD
A2gAMGUCMCBn6vvsEbJvvD5MLQv8O2v+sNufj8MGVgQb6pEFpoxcMBGGY6iMz34W
6rs2BP0LigIxAJMCORmlveSWWHGtdzjNOsO2JwopnLv+cpbUs8nUyCfRqHkMW1xv
0Q0ZO5iuJVHnoQ==
-----END CERTIFICATE-----
certificate_fingerprint: caba0295930e718cabc54f2a8751ec98325af8e849c561ccc8015e7cbcebd03e
driver: lxc
driver_version: 3.2.1
kernel: Linux
kernel_architecture: x86_64
kernel_features:
netnsid_getifaddrs: "true"
seccomp_listener: "true"
seccomp_listener_continue: "true"
shiftfs: "false"
uevent_injection: "true"
unpriv_fscaps: "true"
kernel_version: 5.0.0-37-generic
lxc_features:
cgroup2: "false"
mount_injection_file: "true"
network_gateway_device_route: "true"
network_ipvlan: "true"
network_l2proxy: "true"
network_phys_macvlan_mtu: "true"
network_veth_router: "true"
seccomp_notify: "true"
project: client-minecraft
server: lxd
server_clustered: false
server_name: borderbound3
server_pid: 11576
server_version: "3.21"
storage: zfs
storage_version: 0.7.12-1ubuntu5

Information to attach

[ ] Any relevant kernel output (dmesg)

[ ] Container log (lxc info NAME --show-log)
(log is empty)
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/02/16 03:22 UTC
Status: Running
Type: container
Profiles: default
Pid: 22572
Ips:
eth0: inet    <IP_ADDRESS>   veth358d0327
eth0: inet6   fe80::216:3eff:feaa:abd2        veth358d0327
lo:   inet    <IP_ADDRESS>
lo:   inet6   ::1
Resources:
Processes: 100
Disk usage:
root: 332.97MB
CPU usage:
CPU usage (in seconds): 40805
Memory usage:
Memory (current): 3.22GB
Network usage:
lo:
Bytes received: 73.66MB
Bytes sent: 73.66MB
Packets received: 543277
Packets sent: 543277
eth0:
Bytes received: 81.45MB
Bytes sent: 1.56MB
Packets received: 37081
Packets sent: 21979

[ ] Container configuration (lxc config show NAME --expanded)

architecture: x86_64
config:
image.architecture: amd64
image.description: ubuntu 18.04 LTS amd64 (release) (20200129.1)
image.label: release
image.os: ubuntu
image.release: bionic
image.serial: "20200129.1"
image.type: squashfs
image.version: "18.04"
volatile.base_image: 9e7158fc0683d41f7f692ce8b17598716d7eee925c6a593432df59488bf4131f
volatile.eth0.host_name: veth358d0327
volatile.eth0.hwaddr: 00:16:3e:aa:ab:d2
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.last_state.power: RUNNING
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
myport13579:
connect: tcp:<IP_ADDRESS>:13579
listen: tcp:<IP_ADDRESS>:13579
type: proxy
root:
path: /
pool: default
type: disk
ephemeral: false
profiles:

default
stateful: false
description: ""

[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)

(I'm a little new to this, I think this is the relevant part of the log?)
t=2020-02-20T10:52:53-0500 lvl=warn msg="Detected poll(POLLNVAL) event."
t=2020-02-20T11:11:23-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:11:47-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:14:00-0500 lvl=warn msg="Detected poll(POLLNVAL) event: exiting."
t=2020-02-20T11:14:59-0500 lvl=info msg="Pruning expired container backups"
t=2020-02-20T11:14:59-0500 lvl=info msg="Done pruning expired container backups"
t=2020-02-20T11:15:15-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:19:01-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:33:42-0500 lvl=warn msg="Detected poll(POLLNVAL) event."
t=2020-02-20T11:35:12-0500 lvl=warn msg="Detected poll(POLLNVAL) event."
t=2020-02-20T11:36:51-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:36:54-0500 lvl=warn msg="Detected poll(POLLNVAL) event: exiting."
t=2020-02-20T11:42:26-0500 lvl=eror msg="Failed to retrieve PID of executing child process: EOF"
t=2020-02-20T11:42:33-0500 lvl=warn msg="Detected poll(POLLNVAL) event: exiting."

[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

@66hades does restarting LXD itself help (systemctl reload snap.lxd.daemon)?
If not, can you show:

/var/snap/lxd/common/lxd/logs/PROJECT_CONTAINER/lxc.conf
/var/snap/lxd/common/lxd/logs/PROJECT_CONTAINER/lxc.log

And do you have that same container name in multiple projects?

Restarting LXD did not fix the issue.
`gardener6@borderbound3:/var/snap/lxd/common/lxd/containers$ systemctl reload snap.lxd.daemon
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to reload 'snap.lxd.daemon.service'.
Multiple identities can be used for authentication:

gardener6,,, (gardener6)
Michael Lohrer,,, (mflohrer)
Choose identity to authenticate as (1-2): 1
Password:
==== AUTHENTICATION COMPLETE ===
gardener6@borderbound3:/var/snap/lxd/common/lxd/containers$ lxc exec mc-server-1dot15 -- /bin/bash
Error: EOF
`

All project and container names are unique.
root@borderbound3:/var/snap/lxd/common/lxd/logs/client-minecraft_mc-server-1dot15# ll total 16 drwxr-xr-x 2 root root 4096 Feb 20 14:24 ./ drwx------ 5 root root 4096 Feb 20 14:09 ../ -rw-r--r-- 1 root root   89 Feb 20 14:18 forkexec.log -rw-r----- 1 root root  511 Feb 20 14:24 lxc.log
lxc.log file was empty
lxc.conf file did not exist
there was a file "forkexec.log" but opening it will less results in
Error: Error opening startup config file: "loading config file for the container failed"

Ok, so the missing lxc.conf is the issue, though the question is why is this missing :)

Does it have to do with how projects react with pruning expired container backups or updating images? These are the entries from the log between when it worked and when it didn't work. It updated images only once, but pruned backups several times.
t=2020-02-20T05:14:59-0500 lvl=info msg="Pruning expired container backups"
t=2020-02-20T05:14:59-0500 lvl=info msg="Done pruning expired container backups"
t=2020-02-20T06:14:59-0500 lvl=info msg="Updating images"
t=2020-02-20T06:14:59-0500 lvl=info msg="Done updating images"

The container that was restarted, and lxc exec command works on has this folder structure. Both containers have proxy devices.
root@borderbound3:/var/snap/lxd/common/lxd/logs/client-rumblepack_OBS-rumblepack# ll
total 84
drwxr-xr-x 2 root root  4096 Feb 20 10:44 ./
drwx------ 5 root root  4096 Feb 20 15:11 ../
-rw------- 1 root root 51357 Feb 20 10:46 console.log
-rw-r--r-- 1 root root    89 Feb 20 01:15 forkexec.log
-rw-r--r-- 1 root root     0 Feb 20 10:44 forkstart.log
-rw-r----- 1 root root  2219 Feb 20 10:44 lxc.conf
-rw-r----- 1 root root   252 Feb 20 10:44 lxc.log
-rw-r----- 1 root root   252 Feb 20 10:42 lxc.log.old
-rw------- 1 root root   800 Feb 20 02:04 proxy.proxyport13578.log
-rw------- 1 root root   206 Feb 20 10:44 proxy.proxyport22.log

Ok, can you try copying the lxc.conf from the working one to the non-working one and just replace all mention of the name in there by the correct one?

Ok, can you try copying the lxc.conf from the working one to the non-working one and just replace all mention of the name in there by the correct one?
That should get you back online.

@stgraber I've got some profiles set up, and browsing through the .conf file it appears that there are some references to them. Would copying the lxc.conf file from one container to another that has different profiles set up cause conflicts?

For exec purpose, relatively little of that file is likely to be used, so it not being perfect should be fine.

For exec purpose, relatively little of that file is likely to be used, so it not being perfect should be fine.

Understood, thanks!


[Distributed] Add deinit test, checking we dont deinit remote actor

Just another test for deinits -- making sure a deinit does not run for a remote distributed actor.
We have already deinit tests but this one is more explicitly about this specific property, rather than the resignID calls.
https://forums.swift.org/t/pitch-distributed-actor-runtime/54045/15

@swift-ci please smoke test and merge


Java Console Reconfiguration

java.console = ### ext/

@Frank97Tyler Is it the accurate description of the issue you wish to report? It would be beneficial to include the correct details here. Currently, it appears to resemble spam.
/triage needs-information

(ext)


Not exit when the ctx cancel for stream read

ctx1, cancel := context.WithCancel(ctx)
go func() {
	time.Sleep(3 * time.Second)
	cancel()
}()

xReadGroup = c.XReadGroup(ctx1, XReadGroupArgs{
	Group:    "group",
	Consumer: "consumer",
	Streams:  []string{key, ">"},
	Count:    1,
	Block:    0,
})

ctx1, cancel := context.WithCancel(ctx)
go func() {
time.Sleep(3 * time.Second)
cancel()
}()
xReadGroup = c.XReadGroup(ctx1, XReadGroupArgs{
Group:    "group",
Consumer: "consumer",
Streams:  []string{key, ">"},
Count:    1,
Block:    0,
})

Hi @lenonqing,
Currently, this behavior is intended. Please set your timeout to the Block field of XReadGroupArgs instead.

If set timeout, I need to wait for the timeout time when I want to exit.This is different from go-redis.

Yes, you have to set the Block field and wait, otherwise the connection will block forever and cannot be reuse.
Or yo could take a dedicated connection from Dedicated() and still issue an infinite block command but call Close() on that dedicated connection explicitly when you want to exit early.

OK,close the dedicated connection when i want to exit, good idea!Thanks!

Or you could take a dedicated connection from Dedicated() and still issue an infinite block command but call Close() on that dedicated connection explicitly when you want to exit early.

Hi @lenonqing,
I have found a way to do this automatically. You can keep your original approach in the next version:
ctx1, cancel := context.WithCancel(ctx)
go func() {
	time.Sleep(3 * time.Second)
	cancel()
}()

OK, Thanks!

Hi @lenonqing, v0.0.72 is released. Please try if it works.

OK
发自我的iPhone
------------------ Original ------------------
From: Rueian @.>
Date: Thu,Aug 25,2022 10:09 PM
To: rueian/rueidis @.>
Cc: lenonqing @.>, Mention @.>
Subject: Re: [rueian/rueidis] Not exit when the ctx cancel for stream read(Issue #84)
Hi @lenonqing, v0.0.72 is released. Please try if it works.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I try it,but it don't work when read block stream.

Hi @lenonqing, Sorry that I missed one part that caused it still hangs. It should work now in v.0.0.73.

work good👍,Thanks!

You can also use https://pkg.go.dev/time#AfterFunc to avoid spawning a new goroutine unnecessarily.


Indentation conversion

Check for existing issues

[X] Completed

Describe the feature
Hello,
It would be nice to have options to convert spaces to tabs and tabs to spaces (in the selection or whole file if no selection).
For instance, in the command palette:

editor: convert tabs to spaces
editor: convert spaces to tabs

Thanks for your consideration and your work!
If applicable, add mockups / screenshots to help present your vision of the feature
No response

If I'm not mistaken, this is similar to #1301.


Allow using DummyCache together with Cachalot

Allowing DummyCache can be useful for testing.

Please, add also django_elasticache.memcached.ElastiCache to VALID_CACHE_BACKENDS

@JockeTF: I’m not 100% sure if that’s good to add it. Because of course, there is no problem if you use django-cachalot with DummyCache, no query will be cached, and that’s all, no possible problem. But I’m afraid some newbies will think that cachalot works with DummyCache, and they’ll complain that their website is still slow, etc. I already got 2 private reports from users that configured a memcached connection without actually having memcached installed and running…
So I merge this change and it’ll be in version 1.2.0, but if 2 or more people send reports about that, I’ll remove it.
@sorlandet: No, since it’s not supported and will never be. Use SILENCED_SYSTEM_CHECKS if you want to use it anyway, at your own risks.

Makes sense, thanks!

django_elasticache uses PyLibMCCache which is in VALID_CACHE_BACKENDS
so "will never be" looks little bit strange from your side:-)
looks like its better to check subclass of a valid classes (using issubclass assertion) in that case even commonly used django_elasticache backend can pass check without SILENCED_SYSTEM_CHECKS

@sorlandet I stand by what I said, django-elasticache will never be supported since it connects to a proprietary service which therefore:

can’t be tested (unless someone pays an access for django-cachalot for the years to come)
is not open source, so we don’t know how it works and when & how its behaviour changes

@BertrandBordage okay, i think i'll continue using PyLibMCCache backend as you think that django-elasticache is untested and relay on aws (not open source). thank you.


How to change default port 3000 ?

Screen shots looking nice and I would like to try this in my RaspPi-4
My flask app is already running on port 3000, which I can't change.
How to change this grafana default port 3000 to something else?
Thanks in advance !

You just have to change the port in the docker-compose.yml file.
The example below will use port 8000 instead of 3000.
From:
    ports:
      - "3000:3000"

To:
    ports:
      - "8000:3000"

The example below will use port 8000 instead of 3000.

Thank you so much oijkn.
I will try this.

You are welcome, can I close this issue?


Make isZtunnelPod's kubeclient error a global variable to further simplify isZtunnelPod

Please provide a description of this PR:
A follow-up PR to address @wulianglongrd's comment here  around how we store the error for a failed kube client initialization when calling isZtunnelPod. Making the error from a failed kube client initialization global instead of local within the isZtunnelPod func simplifies it a bit, bringing isZtunnelPod back to returning just one value as opposed to the two return values I just added in that recent PR to improve logging.
P.S. This pattern of memoizing the error is similar to what we're currently doing with isZtunnelPodKubeClient.

Hi @MorrisLaw. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Update nvidia support package

Replaced the deprecated nvidia package with the new nvidia-container-utils as mentioned in the official documentation

@aliabbasjaffri, can you please update also golden tests with go test iterative -update? 🙏🏼

Sorry for asking the dumb question here, but i'm new to this. How would i update the golden tests?

By running go test ./iterative -update as stated on https://github.com/iterative/terraform-provider-iterative/pull/688#issuecomment-1271417049

@0x2b3bfa0 golden tests generated and updated!

Thank you very much, @aliabbasjaffri! 🙏🏼

@0x2b3bfa0 Seems like auto-merge didn't work! :(


After a temporary loss of connection ("This socket has been ended by the other party") sonoff adapter receives data from sonoff but does not send anymore to sonoff

ioBroker Sonoff adapter loses ability to control sonoff when connection is lost. This state continues also after connection is re-established.

ioBroker Sonoff adapter loses ability to control sonoff when connection is lost. This state continues also after connection is resumed.
ioBroker sonoff adapter continues to receive sonoffs states after connection is resumed. The states are shown properly in ioBroker object list. But a change in the object list is not transferred to sonoff

possible "simple" countermeasure of mitigation: after sonoff adapter detects "This socket has been ended by the other party" it tries to reconnect at latest when receiving a new transmission from sooff device

My setup is a bit special but I am convinced that the same result can be achived ba a simpler and relates to similar complains written in the ioBroker forum setup.
Setup
Fritzbox_1:
-ioBroker on LAN

sonoff adapter 1.0.0
-computer on WLAN
VPN to Fritzbox_2

Fritzbox_2

SonoffS20-01 on WLAN
Tasmota 	5.11.1
VPN to Fritzbox_1

during daily reconection of DSL the connection is lost and resumed after a while. Corresponding log of Sonoff:
23:29:28 MQT: Connect failed to <IP_ADDRESS>:1500, rc -2. Retry in 10 sec
23:29:39 MQT: Attempting connection...
23:29:45 MQT: Connect failed to <IP_ADDRESS>:1500, rc -2. Retry in 10 sec
23:29:56 MQT: Attempting connection...
23:29:58 MQT: Connected
23:29:58 MQT: tele/sonoff/LWT = Online (retained)
23:29:58 MQT: cmnd/sonoff/POWER =
23:34:14 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:34:14","Uptime":282,"Vcc":3.210,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
23:39:14 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:39:14","Uptime":282,"Vcc":3.209,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
23:44:14 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:44:14","Uptime":282,"Vcc":3.210,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
23:49:14 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:49:14","Uptime":282,"Vcc":3.210,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
23:54:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:54:14","Uptime":282,"Vcc":3.208,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
23:59:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-09T23:59:15","Uptime":282,"Vcc":3.210,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
00:02:00 MQT: tele/sonoff/UPTIME = {"Time":"2018-03-10T00:02:00","Uptime":283}
00:04:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:04:15","Uptime":283,"Vcc":3.209,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":82,"APMac":"xxx"}}
00:09:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:09:15","Uptime":283,"Vcc":3.209,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
00:14:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:14:15","Uptime":283,"Vcc":3.210,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
00:19:15 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:19:15","Uptime":283,"Vcc":3.209,"POWER":"ON","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
00:21:58 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
00:21:58 MQT: stat/sonoff/POWER = OFF
sonoff continues sending cyclic states as configured in sonoff's config and sonoff can be controlled by it's website
00:24:24 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:24:24","Uptime":283,"Vcc":3.210,"POWER":"OFF","Wifi":{"AP":2,"SSId":"xxx","RSSI":80,"APMac":"xxx"}}
00:29:24 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:29:24","Uptime":283,"Vcc":3.210,"POWER":"OFF","Wifi":{"AP":2,"SSId":"xxx","RSSI":78,"APMac":"xxx"}}
Try to switch sonoff ON via ioBroker object after connection is resumed and proven working by using sonoff's website.
ioBroker says "true" in red.
sonoff does not react (shown in sonoff's website.
after some minutes sonoff sends (unchnaged) status back to ioBroker.
00:34:29 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:34:29","Uptime":283,"Vcc":3.208,"POWER":"OFF","Wifi":{"AP":2,"SSId":"xxx","RSSI":78,"APMac":"xxx"}}
now ioBroker shows "false" in red and later on in black.
found ioBroker Log
sonoff.0	2018-03-09 23:29:58.537	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
sonoff.0	2018-03-09 23:29:58.536	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
sonoff.0	2018-03-09 23:29:58.535	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
sonoff.0	2018-03-09 23:29:58.534	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
sonoff.0	2018-03-09 23:29:58.532	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
sonoff.0	2018-03-09 23:29:58.530	warn	Client error [SonoffS20-01]: Error: This socket has been ended by the other party
...
sonoff.0	2018-03-10 00:33:19.232	warn	Client "SonoffS20-01" not connected
..
most probably because connection was lost during reconection of Fritzbox to internet
log Fritzbox_1 (ioBroker running on this LAN, Computer on this WLAN)
09.03.18
23:29:57
VPN-Verbindung zu Fritzbox_2 wurde erfolgreich hergestellt.
23:28:50
VPN-Verbindung zu Fritzbox_2 wurde getrennt. Ursache: 3 IKE server
09.03.18
23:28:50
Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: XXXX, DNS-Server: XX und XXX, Gateway: XX, Breitband-PoP: ETLJ00
09.03.18
23:28:40
Internetverbindung wurde getrennt.
09.03.18
23:28:40
Die Internetverbindung wird kurz unterbrochen, um der Zwangstrennung durch den Anbieter zuvorzukommen.
related log Fritzbox_2 (sonoff running on this WLAN)
09.03.18
23:29:57
VPN-Verbindung zu Fritzbox_1 wurde erfolgreich hergestellt.
09.03.18
23:29:25
VPN-Fehler: Fritzbox_1, IKE-Error 0x2027
09.03.18
23:28:50
VPN-Verbindung zu Fritzbox_1 wurde getrennt. Ursache: 3 IKE server
Then I performed a manual restart of ioBroker sonoff adapter
sonoff.0	2018-03-10 00:51:43.958	info	Client [SonoffS20-01] connected
sonoff.0	2018-03-10 00:51:43.285	info	Client [TestSonPow] connected
sonoff.0	2018-03-10 00:51:37.651	info	Starting MQTT authenticated server on port 1500
sonoff.0	2018-03-10 00:51:37.485	info	starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.sonoff, node: v6.13.1
host.orangepiplus2e	2018-03-10 00:51:34.010	info	instance system.adapter.sonoff.0 started with pid 11255
host.orangepiplus2e	2018-03-10 00:51:31.596	info	instance system.adapter.sonoff.0 terminated with code 0 (OK)
sonoff.0	2018-03-10 00:51:31.485	info	Client [SonoffS20-01] closed
host.orangepiplus2e	2018-03-10 00:51:31.436	info	stopInstance system.adapter.sonoff.0 killing pid 26882
host.orangepiplus2e	2018-03-10 00:51:31.434	info	stopInstance system.adapter.sonoff.0
host.orangepiplus2e	2018-03-10 00:51:31.407	info	object change system.adapter.sonoff.0
10.03.18 00:58:
try to turn on Sonoff via ioBroker object: works, sonoff switches on. is shown on sonoffs website
Sonoff log for these actions:
00:50:26 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:50:26","Uptime":283,"Vcc":3.208,"POWER":"OFF","Wifi":{"AP":2,"SSId":"xxx","RSSI":78,"APMac":"xxx"}}
00:51:31 MQT: Attempting connection...
00:51:31 MQT: Connect failed to <IP_ADDRESS>:1500, rc -2. Retry in 10 sec
00:51:43 MQT: Attempting connection...
00:51:43 MQT: Connected
00:51:43 MQT: tele/sonoff/LWT = Online (retained)
00:51:43 MQT: cmnd/sonoff/POWER =
00:55:45 MQT: tele/sonoff/STATE = {"Time":"2018-03-10T00:55:45","Uptime":283,"Vcc":3.209,"POWER":"OFF","Wifi":{"AP":2,"SSId":"xxx","RSSI":78,"APMac":"xxx"}}
00:57:58 MQT: stat/sonoff/RESULT = {"POWER":"ON"}
00:57:58 MQT: stat/sonoff/POWER = ON
additional check  to switch off vio ioBroker object. works
01:06:48 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
01:06:48 MQT: stat/sonoff/POWER = OFF

See also my last post in iobroker forum:
https://forum.iobroker.net/viewtopic.php?f=36&t=8295&start=400#p133103

i traced this error with wireshark, at 13:38 the first other party errors occur. attached is the wireshark log. after a new start of the sonoff adapter it takes up to several hours until the first error occurs, but after the first instance the errors occurs  frequently as can be seen in the wireshark log.
otherparty.pcapng.zip

2018-03-16 14:08 GMT+01:00 gemu<EMAIL_ADDRESS>
i traced this error with wireshark, at 13:38 the first other party errors
occur. attached is the wireshark log. after a new start of the sonoff
adapter it takes up to several hours until the first error occurs, but
after the first instance the errors occurs frequently as can be seen in the
wireshark log.
otherparty.pcapng.zip
https://github.com/ioBroker/ioBroker.sonoff/files/1819252/otherparty.pcapng.zip
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ioBroker/ioBroker.sonoff/issues/28#issuecomment-373707824,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEXqgPWu1_vpCV-PPRJjBwYW6H0fhblMks5te7k9gaJpZM4SlEas
.

Should (hopefuly) be solved with my pull request.

your attempt looks very promising! we definitely MUST get rid of this bug.

Am 18.03.2018 um 12:27 schrieb modmax<EMAIL_ADDRESS><EMAIL_ADDRESS>Should (hopefuly) be solved with my pull request.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ioBroker/ioBroker.sonoff/issues/28#issuecomment-373990676, or mute the thread https://github.com/notifications/unsubscribe-auth/ALG4Y9AACDijyYUPvD6hV3CKd9CFWxh5ks5tfkSpgaJpZM4SlEas.

Can we close that?

OK, i have not seen "other party" errors since v2
however some tasmotas still not reachable after some time
not fixed for me, sorry

Am 19.03.2018 um 13:57 schrieb Bluefox<EMAIL_ADDRESS><EMAIL_ADDRESS>Can we close that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ioBroker/ioBroker.sonoff/issues/28#issuecomment-374202285, or mute the thread https://github.com/notifications/unsubscribe-auth/ALG4Y2iDsBHrQiLk2lsXemcG_mhLQwE5ks5tf6s_gaJpZM4SlEas.

how is the error if they are not reachable?
which tasmota version do you use?
latest github release of sonoff adapter?
are there any hints in the serial log files of the not reachable sonoffs?

OK, i use Tasmota 5.12.0e partly with sleep enable (50 ms) and iobroker sonoff 2.02
The error is the same as before, i get teleperiod messages every 5 minutes but can not switch the actors.
If i trigger the actor via web UI tasmota reconnects for a short time, i can trigger from vis a view seconds then it disconnects again.
as before no problems with sensor devices, MQTT tele gets through always.
client disappears from client list as before, however the other party error is gone.

Am 19.03.2018 um 19:39 schrieb modmax<EMAIL_ADDRESS><EMAIL_ADDRESS>how is the error if they are not reachable?
which tasmota version do you use?
latest github release of sonoff adapter?
are there any hints in the serial log files of the not reachable sonoffs?
—
You are receiving this because you commented.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ioBroker/ioBroker.sonoff/issues/28#issuecomment-374321006, or mute the thread https://github.com/notifications/unsubscribe-auth/ALG4Y2V2IfBI6L7V9hkPCfPoT-SxjIgdks5tf_thgaJpZM4SlEas.

@gemu2015
I've also noticed more Wifi-Reconnects with 5.12.0g .. which starts with 5.12.0d, where the Wifi-Handling has been changed in the Tasmota Firmware. Thererfore some more reconnects are done. That is something which I cannot fix, cause it's a firmware issue. Perhaps closed in final firmware.
Also the MQTT-Handling seems to be more restrictive with 5.12.0e and upwards. So my advice would be to use atmost the 5.12.0d until a final Tasmota firmware is released. With the upcoming 5.12.x or 5.13.0 release of Tasmota some bugs should be fixed.
Also its okay, if the Sleep-Time is et to 50ms. But then it may happen, that the firmware itself corrupts the mqtt-connections and closes them in order to establish a new mqtt connection. This can only be changed with Sleep 0 .. and it is independent of the MQTT server .. also appears with other mqtt servers like mosquito. Is also a firmware features, cause a Sleep delay of 50ms is very much in near real time handling. This may lead to results, that the sonoff is not reachable for several milliseconds.
In those cases you must decide between energy saving or stable mqtt connections. Cannot give another advice at this point. Most of the users will not recognize something, cause the default setting in the firmware is "Sleep 0". And most people will not reset those values.
I also change the Sleep to 50, which leads to 2 or 3 restarts within an hour; but nor as much as you have.
Would be nice to hear from you again; if your nest try ist better; also with Sleep of 50ms.

Hi gemu2015,
is the latest version now working for you?

Hi modmax
I have still some issues. do you mind discussing the details with pn?

Am 22.03.2018 um 09:58 schrieb modmax<EMAIL_ADDRESS><EMAIL_ADDRESS>Hi gemu2015,
is the latest version now working for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ioBroker/ioBroker.sonoff/issues/28#issuecomment-375223773, or mute the thread https://github.com/notifications/unsubscribe-auth/ALG4Y8-GEzWK6Kq9OT6NJCT_CaSsemcWks5tg2fEgaJpZM4SlEas.

Yes ... you can write me per PN ... also in german ... :-)

hi modmax,
i can confirm that after your latest fixes my tasmotas run much more stable, even with sleep enabled.

Close?

Can be closed; had no such issues anymore.


feat: add useCookies with reactive methods

Just like https://github.com/reactivestack/cookies/tree/master/packages/react-cookie but in Vue style
I already wrote a composition-api wrapper for universal-cookie module in my work project and want to add pull request to vueuse with this wrapper
But it would require universal-cookie  as peerDependency
@antfu what do you think about third party library?

While I stil what to keep the main library dependencies free, but I do understand something it's better to introduce some dependencies that can handle the jobs better. So I guess we can have another package, maybe @vueuse/libs or @vueuse/integrations to put popular packages wrapper that users can opt-in. What do you think? If it's good, I can make the setup so you can better contribute. Thanks!

@antfu
I think this naming won't be intuitive for other developers, who, for example look for in google: "vue composition-api cookies".
I think it should be separated package like a @vueuse/cookie or @vueuse/universal-cookie
But I checked @vueuse/firebase and @vueuse/rxjs and there are no package.json file (where we could add peerDependencies) and it confuses me

Is it okay if I will provide PR for @vueuse/cookie?

Well, it's probably okay. But my main concern is that cookie is kinda a small utility, making it a separate package meaning we are likely to have a lot of @vueuse/xxx for just simple wrappers. My idea of @vueuse/integrations is like a collection of libraries wrappers (with optional deps and tree-shaking) and add some guide to install corresponding libraries (universal-cookie in this case) if they would need some of the wrappers. Or think it of @vueuse/core but with deps version.

Ok, let's try @vueuse/integrations, could you setup it?

Sure

Done. And I think I should switch to monorepo instead of this magic things, I will do that later :p

solved by https://github.com/antfu/vueuse/pull/150


Redundant if loop

The same code is executed whether the following condition is true or false.
if (!TEST_ptr(pkey))
goto err;
err:
CLA: trivial

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

TEST_ptr has a side affect of printing information about the failed check in the test output - so your change is not completely equivalent.

@mattcaswell its not entirely equivalent, no, but there are only two call sites for load_pkey_asn1:

add_keybag, which also test for pkey being NULL (which is redundant to the test in load_pkey_asn1)
check_keybag, which test the pkey for equivalence to ref_pkey, which should also error if NULL is returned

So, IMHO the removal is reasonable, as the test checks are still covered.  Not sure what that does to the CLA:trivial label though

@shashankmca80 Could you correct the PR title and the commit message: "if" is not a looping keyword

Done. Please review the changes again.


Feature logger

Fully customizable logger structure added.

Cool @akdilsiz, thanks! I see that John already reviewed the code, I'll take a look as soon as I get some time and we will merge this probably this weekend

@Streppel Actually, it's better. We can work on a separate branch to further develop.

@akdilsiz merged on feature/job-logger. sorry for the long time it took, been pretty busy this beginning of the year. I'll make some commits to this branch as soon as I get some time to invest here!

How is this one coming? Made progress towards getting it into master?

This is still not ready @JohnRoesler, there are some things that could be improved here and there about both implementation and design and some testing as well.


NeodigmParallax | Allow for a random selection of more than one background image

The data attrib that provides the image path for the parallax background may be provided as a single string or an array of strings. If it is an array choose one at random. Below is the framework guidance on random behavior, but may not be applicable, because, unlike themes, the image paths are implementation specific.
The ARRAY option will choose one of the provided themes at random, however the RANDOM option will display one from ALL available themes (except disabled).

This is a UX enhancement, wherein conduit imagery can be augmented based on the number of times the page is visited.

This is complete in v2.6. This is a non-breaking change. I will create a wiki recipe, but I will not update the landing page roller.
<neodigm-parallax data-n55-parallax="https://www.thescottkrause.com/emerging_tech/neodigm55_UX_library_tn.webp"
data-n55-parallax-size="small">

        QQQQ

</neodigm-parallax>

<neodigm-parallax data-n55-parallax='["https://www.thescottkrause.com/emerging_tech/curated-wasm-links_tn.webp", "https://www.thescottkrause.com/emerging_tech/neodigm55_UX_library_tn.webp"]'
data-n55-parallax-size="small">

        QQQQ

</neodigm-parallax>


[Run][Web Search] Support keywords for search on different Search Engine like Amazon store, Github.

Description of the new feature / enhancement
Currently PowerToys Run -> Web Search will use default search engine of browser.
Most browser like Edge/Chrome support keywords for different search engine, so I can input something on the URL bar, and use keyword bing to search something in Bing, mstc to search O365 problem in MS Tech Community.
In current version(v0.53.3) of PowerToys Run, if I use keywords like ??mstc Teams error 80080300, Web Search plugin will open my Edge and search Teams error 80080300 in Bing(my default search engine), rather than search Teams error 80080300 in Tech Community.
If I can use search engine keywords in PowerToys Run Web Search, maybe configure in PowerToys, or just pass whole keywords to browser, just like directly input on URL bar, that would be very useful!
Scenario when this would be used?
To search things in different Search Engine for different scope.
For example:

Run -> ??as Surface Book --> Search Surface Book on Amazon store,.
Run -> ??mstc Teams error 80080300 --> Search Teams error 80080300 on Microsoft Tech Community.

Supporting information
No response

/dup #3600


Create Cloud-watch monitoring dashboard and alarms in PROD

Describe the task
Create a cloudwatch dashboard similar to the dashboard in Dev to support uptime monitoring.
Dashboard should include metrics on the following:

Lambda Errors

API gateway 400 & 500 errors

Lambda Invocations

-Latency

RDS CPU usage and

Concurrent Executions

Acceptance Criteria

[ ]Dashboard should be similar to dashboard created in Dev
[ ] Alarms should be sent to the fingerprint distribution mailbox.
[ ] third

Additional context

See details of CloudWatch monitoring here: https://apps.nrs.gov.bc.ca/int/confluence/display/FSAST1/FAM+Operations#FAMOperations-MonitoringDashboard
Or here

@ArogeG I suggest someone else on the team make the prod dashboard as a learning opportunity, based on the specification I created on the FAM Operations confluence page.

I reviewed prod and it looks good now. This can be closed.


-mode sys <-- App crasy on Windows XP

if you need run on XP
have to -mode package...
Thanks for your project ^^

Thanks for the report!
Please use new version 1.1; just rolled out https://github.com/3F/netfx4sdk/releases/latest
Or build and use from source:
build & bin\Release\raw\netfx4sdk -help


Granular permissions on organisations, projects and events

Currently organisations do not have any control over who can/cant edit billing info. This means that any user who is a member of the organisation can view payment info and could alter the tier of their service.
I think a nice solution would be to have three roles. User, admin and billing admin.
Billing admin only role that can manage payment but an admin can make people billing admins. This allows a reasonable amount of control without having too much over complication

Yeah, it would be nice to have Read, User, and Admin roles.

"It would be great to restrict access to specific projects by user in an organization. We have different teams and the global access to all projects is not ideal for security reasons.
I'd see it that you would have users at the organization scope to then select which projects in that organization the user has access to." @meharhay

@JamieRushton commented on Jul 10, 2015
Being able to share an exception with somebody outside of my organisation who may not have access to our Exceptionless account - I found a scenario today where a share option would have been awesome!
In an ideal world you'd forward a URL over to the user and have be able to look over the exception in all it's glorious icky detail (maybe even make comments?)

I'd like to see a standard user:

Can View/Search Exceptions and Logs
Can mark exception as ignored or low priority
CAN NOT Add/Remove Users
CAN NOT Add/Edit/Remove Projects
CAN NOT See API Keys


(MAIN PAGE-PRODUCT'S CATALOG) Filter Reset and Badge Display

Implement a reset of all filters via a "Reset" button.
Set up the display of badges for selected filters according to what is chosen in the sidebar.

Tested
The test is not currently developed


Upload windows docker images docs

Changes

Added a page with docker-windows images documentations to the Docker section of docs

https://github.com/game-ci/docker/issues/157
Checklist

[x] Read the contribution guide and accept the code of conduct

Thanks again!


df_partitions as list of df partitions

Allow df_partitions kw argument of the compute and pre_binning methods of the processor to accept also lists/slices of dataframe partition ids, instead of just a number with the number of df partitions to use

This has been working all-along. PR #298 adds some unification to the type hints.


Remove preview feature flags from BDT tasks

Changes : Removed preview feature flags from the 4 BDT tasks.
Testing Done :
Manual : Without preview featureflags, our tasks are being visible, ensured that I can add them to a build defn. and save.
Automation : None.

looks fine.

looks good


Unable to editor.GetValue() with more than ~500 lines of code

Hello, I'm using a ref to my editor to get the value and then copy it to the clipboard, but this seems to fail when there is more than 500-600 lines of code. I get a task cancelled exception on the GetValue() call

async void CopyToClipboard()
{
var scriptToCopy = await _editor.GetValue();
await ClipboardService.CopyToClipboard(scriptToCopy);
var msg = new NotificationMessage
{
Summary = "Copied!",
Detail = "Copied AOR script to clipboard",
Severity = NotificationSeverity.Info,
Duration = 4000
};
notificationService.Notify(msg);
}
Has anyone else experienced this or know of a way around this? Thank you

This turns out was a duplicate of #109 , adding:
 builder.Services.AddSignalR(e => {
    e.MaximumReceiveMessageSize = 1024 * 1024 * 100;
});

worked!


[Feature Request] Crop to square thumbnail when embedding in MP3s

Checklist

[x] I'm reporting a feature request
[x] I've verified that I'm running yt-dlp version 2021.06.09
[x] I've searched the bugtracker for similar feature requests including closed ones

Description

Music thumbnails from YouTube are always in 16:9 format, but the album art pictured is always 1:1. As a result, embedded thumbnails are letterboxed and get distorted in music players. Youtube-DL has an identitical issue at ytdl-org/youtube-dl#20011, but it and its respective pull request has since been ignored; I'm hoping this fork will be more receptive.
A pull request already exists for Youtube-DL to do this (ytdl-org/youtube-dl#20022,) and it turns out that it's a pretty simple adjustment to the embed_thumbnail postprocessor to filter the thumbnail.

You can already do this using --ppa.
Just put this in your config file:
--ppa '''EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop="'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'"'''

Eg:
$ yt-dlp -x --audio-format mp3 "3_Nn1Ihr1jI" --embed-thumbnail -v --convert-thumbnail jpg --ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\"" --exec ffprobe
[debug] Command-line config: ['-x', '--audio-format', 'mp3', '3_Nn1Ihr1jI', '--embed-thumbnail', '-v', '--convert-thumbnail', 'jpg', '--ppa', 'EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop="\'if(gt(ih,iw),iw,ih)\':\'if(gt(iw,ih),ih,iw)\'"', '--exec', 'ffprobe']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.06.09 (source)
[debug] Plugin Extractors: ['SamplePlugin']
[debug] Git HEAD: 4c7853de14
[debug] Python version 3.9.5 (CPython 64bit) - Windows-10-10.0.19043-SP0
[debug] exe versions: ffmpeg 2021-04-11-git-309e3cc15c-full_build-www.gyan.dev, ffprobe 2021-04-11-git-309e3cc15c-full_build-www.gyan.dev, phantomjs 2.1.1
[debug] Proxy map: {}
[debug] [youtube] Extracting URL: 3_Nn1Ihr1jI
[youtube] 3_Nn1Ihr1jI: Downloading webpage
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] 3_Nn1Ihr1jI: Downloading 1 format(s): 251
[youtube] 3_Nn1Ihr1jI: Downloading thumbnail  ...
[youtube] 3_Nn1Ihr1jI: Writing thumbnail to: Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].webp
[ThumbnailsConvertor] Converting thumbnail "Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].webp" to jpg
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -f image2 -pattern_type none -i "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].webp" "-bsf:v" mjpeg2jpeg "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].jpg"
Deleting original file Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].webp (pass -k to keep)
[download] Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3 has already been downloaded
[debug] ffmpeg command line: ffprobe -show_streams "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3"
[ExtractAudio] Post-process file Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3 exists, skipping
[EmbedThumbnail] ffmpeg: Adding thumbnail to "Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3" -i "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].jpg" -c copy -map "0:0" -map "1:0" -id3v2_version 3 "-metadata:s:v" "title=\"Album cover\"" "-metadata:s:v" "comment=\"Cover (front)\"" "-c:v" mjpeg -vf "crop='if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'" "file:Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].temp.mp3"
Deleting original file Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].jpg (pass -k to keep)
[Exec] Executing command: ffprobe "D:\AKJ\Progs\yt-dlc\Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3"
ffprobe version 2021-04-11-git-309e3cc15c-full_build-www.gyan.dev Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 72.100 / 56. 72.100
  libavcodec     58.136.101 / 58.136.101
  libavformat    58. 78.100 / 58. 78.100
  libavdevice    58. 14.100 / 58. 14.100
  libavfilter     7.111.100 /  7.111.100
  libswscale      5. 10.100 /  5. 10.100
  libswresample   3. 10.100 /  3. 10.100
  libpostproc    55. 10.100 / 55. 10.100
Input #0, mp3, from 'D:\AKJ\Progs\yt-dlc\Don't Worry About Me - Episode 29 [3_Nn1Ihr1jI].mp3':
  Metadata:
    encoder         : Lavf58.78.100
  Duration: 00:40:07.63, start: 0.023021, bitrate: 69 kb/s
  Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 69 kb/s
    Metadata:
      encoder         : Lavc58.13
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 720x720, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      title           : "Album cover"
      comment         : Other

This looks super useful; thanks! I appear to be getting some conversion errors with the way I'm using it, but I think it's simply some shell oddities with nested quotes; I'll close this since it looks like it works in a normal context.

The tricky part is escaping the quotes. I already gave example for config file and Windows. On UNIX, it becomes:
--ppa 'EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop="'"'"'if(gt(ih,iw),iw,ih)'"':'"'if(gt(iw,ih),ih,iw)'"'"'"'

Yeah, the quotes are totally driving me nuts. Both Powershell, Python, and ffmpeg all seem to take issue with the variations I'm trying on Windows. Using the config option in the first block you gave, ffmpeg gives [AVFilterGraph @ 000001a0f312b3c0] No such filter: 'iw)'. When I copy the options from the Command-line config: line, Python SyntaxErrors when it encounters the parentheses, which doesn't seem to be able to be fixed by adding ` or \.

ah, sorry. I was thinking of python strings and not posix when writing that. What you need to put in config is same as the UNIX one I gave above.

When I copy the options from the Command-line config: line, Python SyntaxErrors when it encounters the parentheses, which doesn't seem to be able to be fixed by adding ` or .

Don't do that. That string has already been interpreted by cmd and then escaped by python. Use exactly what I am passing in the cmd
--ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

That works perfectly. Thanks so much.

For me it worked on Linux but only with png as thumbnail format:
--ppa "EmbedThumbnail+ffmpeg_o:-c:v png -vf crop="'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'""

Sorry I copy pasted the setting you get but still have a 1270x720 thumb
here are my configs actually 'cause no one hve worked
#Video Format Options
--check-formats
-f bestaudio -S "proto:https,acodec,+asr:44100" --audio-quality 0

#Subtitle Options

#Authentication
-n
--netrc-location "D:\Launcher\YTMusicDownloader\yt-dlp"

#Post-Processing Options
--ffmpeg-location "D:\Launcher\YTMusicDownloader\yt-dlp"
-x
--audio-format wav
--add-metadata

#SponsorBlock Options
--sponsorblock-mark all
--sponsorblock-remove sponsor,selfpromo

#Extractor Options
--extractor-args "youtube:player-client=android_music;include_live_dash"
--extractor-retries 15
--allow-dynamic-mpd

After a few tries, I was able to create a script to automatically download the music with its metadata and crop thumbnail.
Tested with music.youtube.com url and 2022.07.18 version of yt-dlp.
@echo off

echo Downloading: %1=%2
echo(

REM Download the music
yt-dlp.exe %1=%2^
 --extract-audio^
 --audio-format mp3^
 --audio-quality 0^
 --add-metadata^
 --ffmpeg-location ..\FFMpeg\bin^
 --embed-thumbnail^
 --ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

echo(
echo Done!
REM 4s pause
ping <IP_ADDRESS> > nul

@Tom60chat Thank You!
I was frustrated by this for so long but when I pasted the arg you have in your script into my config file, all my thumbnails are nice squares now!
--ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop="'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'""

Someone know how to do that on Windows?

dropping in here to hopefully help some googlers, as of the current version, it seems you need to set the ppa for ThumbnailConvertor, not EmbedThumbnail, here's a full example I use:
yt-dlp "https://music.youtube.com/watch?v=Oncu0bgdcXU" --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\"" --extract-audio --embed-thumbnail --audio-format opus

For me works for png with:
--embed-thumbnail --convert-thumb png --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

Maybe works also with jpeg with:
--embed-thumbnail --convert-thumb jpg --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

...I dont know

dropping in here to hopefully help some googlers, as of at most 2023.03.04, it seems you need to set the ppa for ThumbnailConvertor, not EmbedThumbnail, here's a full example I use:
yt-dlp "https://music.youtube.com/watch?v=Oncu0bgdcXU" --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\"" --extract-audio --embed-thumbnail --audio-format opus

--ppa formating: no escaped character/no closing quotation on all of these different solutions I tried

Powershell has different quoting rules.

For me, --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop='ih'" --embed-thumbnail worked good enough for me plus it doesn't require escaping character.
Bonus: But, if you insist, instead of \ you can actually escape quote on PowerShell with `. Using examples from above: --embed-thumbnail --convert-thumb png --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop="'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'""
(That said, I still get error from the commands above AND apparently the error literally has NO solution online, if anyone know anything about ffmpeg's ERROR: Postprocessing: Filter not found I'd appreciate an explanation for it.)

Is your version of yt-dlp outdated?
On Sat, Jul 22, 2023, 6:33 AM Gary Lim @.***> wrote:

For me, --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop='ih'"
--embed-thumbnail worked good enough for me plus it doesn't require
escaping character.
Bonus: But, if you insist, instead of \ you can actually escape quote on
PowerShell with `. Using examples from above: --embed-thumbnail
--convert-thumb png --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop=
"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'""
(That said, I still get error from the commands above AND apparently the
error literally has NO solution online, if anyone know anything about
ffmpeg's ERROR: Postprocessing: Filter not found I'd appreciate an
explanation for it.)
—
Reply to this email directly, view it on GitHub
https://github.com/yt-dlp/yt-dlp/issues/429#issuecomment-1646553095, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AGI56LKENFWKVYKUU3YRIKLXROT7JANCNFSM47COU3RA
.
You are receiving this because you commented.Message ID:
@.***>

pretty sure ive updated it yesterday

For me, --ppa "ThumbnailsConvertor+ffmpeg_o:-c:v png -vf crop='ih'" --embed-thumbnail worked good enough for me plus it doesn't require escaping character.
Bonus: But, if you insist, instead of \ you can actually escape quote on PowerShell with `.
(That said, I still get error from the commands above AND apparently the error literally has NO solution online, if anyone know anything about ffmpeg's ERROR: Postprocessing: Filter not found I'd appreciate an explanation for it.)
PS: Author can you please integrate this feature request into yt-dlp? (Or at least provide example on README) tq.

Thank you so much, was hard to find this

Anyone know how do this with the yt-dlp library?

Anyone know how do this with the yt-dlp library?

use https://github.com/yt-dlp/yt-dlp/blob/master/devscripts/cli_to_api.py

Anyone know how do this with the yt-dlp library?

use https://github.com/yt-dlp/yt-dlp/blob/master/devscripts/cli_to_api.py

Oh yeah, thanks so much!

Could you post here how to do it please :) ?
I didn't manage to use the cli_to_api script... 😢

@Rikiub Could you post here how to do it please :) ? I didn't manage to use the cli_to_api script... 😢

Just download the script and execute as main:
python -m cli-to-api
And then add your options:
python -m cli-to-api -x --flat-playlist --skip-downloads
You will get a dict with the options.

There's an error i'm getting:
ERROR: Preprocessing: Error opening output files: Filter not found
...
ERROR: Postprocessing: Error opening output files: Filter not found

Here's the command I'm using: yt-dlp -x --audio-format flac --audio-quality 0 --embed-metadata --embed-thumbnail --convert-thumbnail jpg --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

update: it works fine if I call it directly but if I make it a function in ~/.zshrc it doesn't work
might just be me being stupid you can probably ignore this

ah, sorry. I was thinking of python strings and not posix when writing that. What you need to put in config is same as the UNIX one I gave above.

When I copy the options from the Command-line config: line, Python SyntaxErrors when it encounters the parentheses, which doesn't seem to be able to be fixed by adding ` or .

Don't do that. That string has already been interpreted by cmd and then escaped by python. Use exactly what I am passing in the cmd
--ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""

@pukkandan Hello, how are you? I'm new to yt-dlp, so I just copied and inserted this:
yt-dlp -x --audio-format m4a "I3oUsW9bXvQ" --embed-thumbnail -v --convert-thumbnail j pg --ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop="'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""
And as a result I got the audio file but without the cropped cover art and no metadata, not even the artist name. So I wanted to see if you could help me maybe, it would be of great help.

Would love if this got an option --square-thumb to tidy up the messy command.

@AzureArmageddon you can do it yourself by adding this line to your configuration file:
--alias square-thumb '--embed-metadata --embed-thumbnail --convert-thumbnail jpg --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v mjpeg -vf crop=\"'"'"'if(gt(ih,iw),iw,ih)'"'"':'"'"'if(gt(iw,ih),ih,iw)'"'"'\""'

Looks like to me thumbnail convertor is skipped when the thumbnail is yet in output format
ie:

[ThumbnailsConvertor] Not converting thumbnail "thumb_filename.jpg"; already is in target format jpg

there is a way to force it?

you could change jpg to png , e.g.
--alias square-thumb '--embed-thumbnail --convert-thumbnail png --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v png -vf crop=\"'"'"'if(gt(ih,iw),iw,ih)'"'"':'"'"'if(gt(iw,ih),ih,iw)'"'"'\""'

you could change jpg to png , e.g.
--alias square-thumb '--embed-thumbnail --convert-thumbnail png --ppa "ThumbnailsConvertor+FFmpeg_o:-c:v png -vf crop=\"'"'"'if(gt(ih,iw),iw,ih)'"'"':'"'"'if(gt(iw,ih),ih,iw)'"'"'\""'

But this way I'll get png thumbnails. 😟

Looks like to me thumbnail convertor is skipped when the downloaded thumbnail is in output format ie:

[ThumbnailsConvertor] Not converting thumbnail "thumb_filename.jpg"; already is in target format jpg

there is a way to force it?

Try using mjpeg.


Improving stability

Does it make sense for pierce to incorporate the interleaved channel table config from https://github.com/mattdibi/redox-w-firmware/pull/7/files ?

I considered a similar feature, but never had any problems without it, so I never got around to implement it.
I guess in theory it should be beneficial though.


Week numbers wrong when used in format.

Thanks for a great date picker 💯. We are starting to use this in a project now.
Describe the bug
Week number off by +1 week when using in format. When selecting sundays, its off by +2 weeks (even though start day is monday).
Inside the calender the week numbers are correct.
To Reproduce
Steps to reproduce the behavior:

Go to https://stackblitz.com/edit/vuepic-vue-datepicker-vcsjpr?file=src%2Fcomponents%2FPlayground.vue
Select any day - notice the week number.
Notice that the week number both in the preview and the input field is wrong.

@hrosb  Thanks, the datepicker uses ISO week numbering. To correctly show the numbering, just replace the format with I instead of w, here is the demo

Thank you @Jasenkoo
Maybe consider linking to https://date-fns.org/v2.16.1/docs/format instead of unicode.org in the docs.
The date-fns docs has helpfulp information about ISO weeks and about escaping characters in the format string.


Mobile first

-New elements like the form.
-New styles in CSS of the already mention it form.
-And this are connected with "formspree"

hi @SaveryIV the activity´ status has been updated now and you can request another review request once you are ready.
Thank you and apologies for any inconvenience caused.


Terminal scrolling using trackpad on Surface Book is unpredictable

VSCode Version: Code - Insiders 1.17.0-insider (a5210bcbda97166904ce4c08ee296cb98fccfcd9, 2017-09-26T05:24:48.911Z)
OS Version: Windows_NT x64 10.0.16362
Extensions: none

Steps to Reproduce:

Open the terminal (use Powershell inside the terminal)
run commands that produce reasonable output
scroll using the trackpad
-> sometimes no scrolling, sometimes line by line scrolling, sometimes scrolling of multiple lines at once

After further testing: This seems to be a more general issue. I also see scrolling issues in the editor and in the file explorer tree. Same behavior. Some gestures have no affect others do. I played around with the sensitivity settings of the touch pad but there is no difference.
I now believe that this is an electron issue. I installed slack from the windows app store (version 2.8.0 64bit) and see similar issues when scrolling.

Could it be related to (or maybe even a dupe of) #34865?
I experienced the same and came here lurking and a quick resize of the window fixed the issue in my case (leading me to believe this could be the same issue).

Any updates on this?

/duplicate of #13612


Upgrade to version 0.0.2-alpha

upgraded lifecycle dependencies to alpha5

Codecov Report

Merging #6 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master      #6   +/-   ##
======================================
  Coverage    22.4%   22.4%
======================================
  Files          32      32
  Lines         366     366
  Branches       14      14
======================================
  Hits           82      82
  Misses        279     279
  Partials        5       5

Continue to review full report at Codecov.

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


max_trigger=None in eudaq_ex_trigger.py won't work?

015-09-12 14:35:32,088 - root - [ERROR   ] (RunThread ) Unexpected exception during run 9: Traceback (most recent call last):
File "/home/user/workspace/pyBAR_roi/branches/development/pybar/run_manager.py", line 121, in run
self.do_run()
File "/home/user/workspace/pyBAR_roi/branches/development/pybar/fei4_run_base.py", line 345, in do_run
self.scan()
File "eudaq_ext_trigger.py", line 54, in scan
with self.readout(**self.scan_parameters._asdict()):
File "/home/user/anaconda/lib/python2.7/contextlib.py", line 17, in enter
return self.gen.next()
File "/home/user/workspace/pyBAR_roi/branches/development/pybar/fei4_run_base.py", line 459, in readout
self.start_readout(*args, **kwargs)
File "/home/user/workspace/pyBAR_roi/branches/development/pybar/scans/scan_ext_trigger.py", line 117, in start_readout
self.dut['TLU']['MAX_TRIGGERS'] = self.max_triggers
File "/home/user/workspace/basil_itk/branches/development/host/basil/HL/RegisterHardwareLayer.py", line 244, in setitem
return self._set(name, value)
File "/home/user/workspace/basil_itk/branches/development/host/basil/HL/RegisterHardwareLayer.py", line 234, in _set
self.set_value(value, **descr)
File "/home/user/workspace/basil_itk/branches/development/host/basil/HL/RegisterHardwareLayer.py", line 93, in set_value
reg[size + offset - 1:offset] = value
File "/home/user/workspace/basil_itk/branches/development/host/basil/utils/BitLogic.py", line 97, in setitem
bitarray.setitem(self, slc, item)
IndexError: bitarray or bool expected for slice assignment

do you use basil development (v2.1.2)? MAX_TRIGGERS is supported from v2.1.2.

Use MAX_TRIGGERS = 0 if you do not want to use that feature.


Update ThetanArenaEnv.py

move the  determination part to the right place to finish the following part
Determine if the Tutorial has started
Determine if the Tutorial has finished

#9


Expanded code to process Metric and Kelvin from the OWM api

Expanded base python code to allow the choice between selecting the type of units to display.  This allows the user to change the units returned from the OWM api to either; metric, imperial, or kelvin(standard)
https://openweathermap.org/api/one-call-api#data

bad pr


Update spec grammar to more closely match open soruce p4c implementation

In particular, to match the changes made to the p4c implementation with this commit:
https://github.com/p4lang/p4c/commit/64683c958b64b15a5a20c04c5c793a25b6fdb748

@jonathan-dilorenzo I do not know why, but when I click on the reviewers to try to add jonathan-dilorenzo to the list of reviewers, it does not let me add that user name, so pinging you in a comment instead for your review, if you have time.

This looks good to me. Let me review it carefully though.

A couple of scripts in the p4-spec repo described in this README.md file can help do a diff between the p4c grammar and the spec grammar file: https://github.com/p4lang/p4-spec/blob/main/p4-16/spec/scripts/README.md
Those are the steps I use to find such differences and make the grammars closer to each other.  They are not identical, but they are fairly close to each other.

Looks like it matches the p4c grammar to me. I don't see anywhere we'd actually want to allow PRIORITY as a nonTypeName, but maybe it exists?

For the nonterminals like nonTypeName and what they can expand to, I honestly do not understand the issues involved.  @mhaibudiu probably does, as I am simply copying what he did from the p4c implementation when he made some changes.  My understanding is that somehow those most recent changes enabled priority to be used as a P4-developer-chosen identifier name in at least some contexts where the previous grammar and p4c implementation prevented that.

Ah, that would make sense. And I suppose one might want that.

Alright. Seeing consensus I will merge this.


Broken Link

Please replace Nasir Hussain entry with https://nasirhm.github.io/posts/getting-started-with-nix-introduction/

fixed in 83c5cf2af25a3b63959d42da54f9eb3e5ce85e9a


Ruby group capstone: set up your Kanban board

Kanban Board

We finished our kanban board
We are 3 people in the team.
@MMGGYY66 is the Team Member 1
@PabloEGonz is the Team Member 2
@alvaroiporre is the Team Member 3

Hi @Team👋🏼👋🏼👋🏼,

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights✅✅✅

[x] Points are fairly distributed amongst team members👍🏼.
[x] A link to the github project has been provided👍🏼.
[x] Each card has a descriptive title, number of points and task description👍🏼.
[x] All cards are assigned to a team member👍🏼.
[x] All requirements has been captured in the various cards👍🏼.

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Add support for streams that anyone with a specific role can subscribe to

In our organization we have a large number of streams that only moderators and/or administrators should have access to, but most moderators only need to be subscribed to a small handful of those streams. Many of the streams are old streams that are kept active so that new moderators can search their content. Currently all these moderators are subscribed to all theses streams which clutters up their sidebar with irrelevant streams and makes managing actually important streams less convenient.
It would be very useful if there was a stream privacy setting that allowed creating streams that anyone that has a specific role can subscribe to. This would be a convenient option for streams that need to be accessible to certain people without forcing them to be subscribed.

@FeldrinH - Thanks for the feedback!
I'm pretty sure that support for this will be possible as part of the project for expanding the permissions model for user groups in Zulip (#19525), see the New stream settings section at the end of the main implementation/design comment, specifically...

Group that can see the stream's existence when not subscribed (effectively "public stream" is "all members", private stream is "administrator role" today).

We're actively working on that project, but as you can see is a big project :)

For a more immediate work-around, would encouraging moderators and admins to use the pin a stream feature to keep the active, important streams at the top of the list possbily help? I find that to be a really useful feature personally.
And in that vein, #10552 might be another solution where individual users could group their subscribed streams in the left sidebar. The left sidebar is part of the UI redesign project. Here's a link to the current discussion in the Zulip development community, which includes grouping streams as a new feature.

Closing this issue in favor of a more specific design in #32747. Thanks fro the feedback, @FeldrinH !
Note also that we've improved how archived channels work. Moderators can search / access messages in archived channels if they could see the messages before the channel was archived: https://zulip.com/help/archive-a-channel.


Improve tooltips logic for compose-closed UI

Following https://github.com/zulip/zulip/pull/27046, there's a couple open issues highlighted in https://github.com/zulip/zulip/pull/27046#issuecomment-1751446385:

Some sort of caching/live-update issue can result in stale tooltips; reported in https://github.com/zulip/zulip/pull/27046#issuecomment-1750057856
The "new topic (C)" tooltip text on the "Start new conversation" button probably needs adjustment to align with the new language.

Edit: Decided the second item does not require changes.

What did you have in mind for the tooltip? It seems fine to me -- a topic is a specific type of conversation.

I'm not sure how to adjust it, either. While shorter and a single word, "New topic" does parallel the noun phrases "New stream message" and "New direct message."

Started a debugging thread for the part we still want to fix here.