'Bunching' of network results after consolidating intersections

As shown below the function seems to create some interesting bunching, with many lines going to a few selected nodes.

OK actually yes this is pretty cool: the bunching is useful, should be easy to merge the new parallels that all go to these consolidated junctions right @martinfleis ?

You get closer with this, yes. In the ideal case, two parallel lines should now start from the same node and and in the same node. You could match them based on that, filter out edge cases (there are situations when you don't want to merge) and get some form of an average line. It gets trickier when they do share a node on one and but not the other and when there are more than 2 parallel lines.

Sounds good, that was my thinking, many thanks for ideas bouncing on this! Functions that eventually package this should have a way to specify which aggregating function to apply to each variable, e.g.
nm.netmerge(net, tol = 10, ..., aggregations=['bike=sum(bike)', 'car=sum(car)', 'gradient=mean(gradient)'])

If that makes any sense?

Yes, a way of specification how to aggregate data would be nice. I would suggest to mimic pandas groupby API and pass a dict but that is just a minor detail. It is also a question what should happen with edges that collapse to a node.
So far, I was interested only in geometries :).


Trying to add to HACS but getting error message about repository

When I add a custom repository for this to HACS, I get the following error message and can't proceed.
<Integration zaknye/xcel_itron2mqtt> Repository structure for main is not compliant

This repo was never meant to be integrated into the HACS environment. It is meant to be run as a microservice separate from your Homeassistant installation as a docker container.
To run this you need an MQTT broker setup then to run this as a container pointed towards that broker.

OK. Thank you for the clarification.
On Thu, Nov 9, 2023 at 9:55 AM Zak Nye @.***> wrote:

This repo was never meant to be integrated into the HACS environment. It
is meant to be run as a microservice separate from your Homeassistant
installation as a docker container.
To run this you need an MQTT broker setup then to run this as a container
pointed towards that broker.
—
Reply to this email directly, view it on GitHub
https://github.com/zaknye/xcel_itron2mqtt/issues/21#issuecomment-1804096541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHQRJEMDYHVKQD54BVCP2LYDT4GHAVCNFSM6AAAAAA7DQRFDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUGA4TMNJUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add organization to PermissionManagerGUI

Permissions should be sorted by plugin. There should be dividers for readability. Current behavior requires a lot of needless hovering over items:

As part of this I think it'd also be good to use an item to visualize each option and enchant the item if that group has that permission. Don't put too much effort into the GUI of this branch though, as all of that is getting rewritten anyway.


[Doc] Wrong hint about Symfony 3.3

The README.md file states:
Note for Symfony >=3.3 users

If you use Symfony at version 3.3 or superior, you do not need to use this bundle
as all the features were ported in Symfony. You can learn more about it in the
Symfony blog or in the Symfony documentation.

However, I find this not to be true. When upgrading to Sf3.3 and removing this bundle, any actions I have defined now stopped working, even with autowiring enabled. The root cause is that no services are passed to the class constructors anymore, whilst with this bundle, they do.
Unfortunately, both the blog and documentation links in that section do not provide information on how to upgrade.
I have 2 questions:

Does Sf3.3 completely implement the features of this bundle?
If so, what is the upgrade procedure?

Hi @felicitus,
SF 3.3 implements autowiring from the work that has been done on  DunglasActionBundle. This means it should do exactly what you expect: having services injected into class constructors, without having to define them.
However, DunglasActionBundle was not imported as-is, thus the configuration node dunglas_action in config.yml becomes irrelevant.
To configure which directories should be included or excluded from autowiring, everything is now in your new services.yml.
If you already had a running app under SF <= 3.3 and then upgraded to 3.3, your app/config/services.yml has not been overwritten (of course). When you download or clone a fresh SF 3.3 install, the default app/config/services.yml is now full of comments on how the new DI works.
You should better have a look at The new Symfony 3.3 Service Configuration Changes Explained, which shows a new app/config/services.yml sample.
Personnally, autowiring now totally works on my app without DunglasActionBundle. the most touchy part was about services that are now private by default.
However, I'm poking @dunglas now because there's still something missing in the port: with DunglasActionBundle, one could associate a specific interface or base class to a set of tags:
# app/config/config.yml
dunglas_action:
    directories: ...
    tags:
        'My\Custom\Interface\To\Auto\Tag':
            - 'my_custom.tag'
            - [ 'my_custom.tag_with_attributes', { attribute: 'value' } ]

How can we now achieve this without the bundle? SF docs correctly mention auto-tagging for built-in tags (console.command, kernel.event_subscriber, etc) but nothing for custom ones. Any ideas?
Thanks,
Ben

@bpolaszek you can use the autoconfigure feature: https://symfony.com/blog/new-in-symfony-3-3-service-autoconfiguration

Magical. :tada: :confetti_ball: :thumbsup:


Fix error handling in regex_* functions

Fixes : https://github.com/facebookincubator/velox/issues/3683
Depends on : https://github.com/facebookincubator/velox/pull/3708
Make sure to report errors via EvalCtx::setError instead of throwing exceptions.

@kgpai Krishna, thank you for fixing this issue. Does this PR need to depend on #3708? It feel like this fix can be standalone. There are CI failures. Would you take a look?


Homepage redirect no longer working

Homepage redirect no longer working since the homepage gets a default _locale since #43.
Possible duplicate content issue since the same page will happily display on both / and /{default_locale_here} (with different canonicals).
Details

Translate Version: master
Install type: Extension Repository
Bolt Version: master

I should have known this, I encountered the same bug before in my early attempt to port the extension to bolt 3.0. The best solution is to remove the default _locale, and to make sure that the _locale parameter is always set in the url_generator's context, since that was the main reason to put a default value. I'll post a pull request in a minute.


@conda-forge-admin, rerender

[ ] I read the conda-forge documentation and could not find the solution for my problem there.

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/normaliz-feedstock#31.


[WIP] my collection page

This PR creates the "My Collections" page.  This page displays all collections that a user has write access to, both public and private.

QA Steps:

Authenticate yourself using @tihuan 's methodology in #712
Navigate to /my-collections
Create a new collection using the dialog

#650

Populating the metadata fields per collection row will be done in #737

Let's use this one instead! Thank you!
https://github.com/chanzuckerberg/corpora-data-portal/pull/746


Autoimports mangles yaml file

When using the action for adding missing imports it mangles the formatting of yaml files and removes any comments:
Original:
name:                test
version:             <IP_ADDRESS>
github:              "meck/test"
license:             BSD3
author:              "Johan Eklund"

extra-source-files:
- README.md
- ChangeLog.md

# Metadata used when publishing your package
# synopsis:            Short description of your package
# category:            Web

dependencies:
- base >= 4.7 && < 5

library:
  source-dirs: src

executables:
  test-exe:
    main:                Main.hs
    source-dirs:         app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - test

tests:
  test-test:
    main:                Spec.hs
    source-dirs:         test
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - test

After auto importing HTTP:
library:
  source-dirs: src
tests:
  test-test:
    source-dirs: test
    main: Spec.hs
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - test
dependencies:
- HTTP
- base >= 4.7 && < 5
name: test
version: <IP_ADDRESS>
extra-source-files:
- README.md
- ChangeLog.md
author: Johan Eklund
github: meck/test
license: BSD3
executables:
  test-exe:
    source-dirs: app
    main: Main.hs
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - test

It would also be nice if it did a stack install package and the equivalent for cabal in order for the error to clear, otherwise it stays around and you can redo the action and add the package multiple times.
Maybe save the file as well, but saving a file might not be in  the purview of an LSP server?

There was a GSOC project for format preserving YAML, but it unfortunately did not complete.
Without that kind of support we cannot do anything, and this is why the file is not saved. It is a suggestion, if you are happy with it, you can use it, else hit undo.

Yes, this issue pretty much prevents me from using the "add  as dependency" IDE action and I always have to resort to manually editing the package.yaml file.
Maybe if we restrict ourselves to modifying only the top-level dependencies: list maybe this part of the yaml file could be identified and updated with minimal parsing (without using Yaml library altogether) -> just split by lines, identify the next span of lines starting with "-" and insert the new dependency at the correct position (ideally in alphabetic order). I think this best-effort approach would be immediately useful and cover majority of cases (more than is the case today).
Alternatively one could consider replacing the yaml library with http://hackage.haskell.org/package/HsYAML-<IP_ADDRESS>/docs/Data-YAML-Event.html which promises an event-stream oriented YAML parsing with the ability of preserving comments and format. But unfortunately my googling didn't find any examples / projects using this library so I'm not sure how hard it would be to integrate into HIE.


How to download kinetics dataset ?

Dear all,
We would like to run experiment similar to ViViT and token learner on kinetics dataset. How can we download the kinetics dataset and create the corresponding TFRecords. We could not find any documentation on this.


encoding/binary: handle unexported fields more gracefully

What version of Go are you using (go version)?
go version go1.8 linux/amd64
What did you do?
https://play.golang.org/p/gcvrJJD1uS
What did you expect to see?
Either an error to be returned, or the unexported fields to be skipped.
What did you see instead?
panic: reflect: reflect.Value.SetUint using value obtained using unexported field

goroutine 1 [running]:
reflect.flag.mustBeAssignable(0x1a8, 0x0)
	/usr/local/go/src/reflect/value.go:225 +0x1c0
reflect.Value.SetUint(0xf1e00, 0x1040a0d9, 0x1a8, 0x1ce2, 0x78, 0x0)
	/usr/local/go/src/reflect/value.go:1493 +0x40
encoding/binary.(*decoder).value(0x10429f5c, 0xf1e00, 0x1040a0d9, 0x1a8)
	/usr/local/go/src/encoding/binary/binary.go:546 +0xac0
encoding/binary.(*decoder).value(0x10429f5c, 0xf4760, 0x1040a0d9, 0x199)
	/usr/local/go/src/encoding/binary/binary.go:521 +0x320
encoding/binary.Read(0x170630, 0x10440240, 0x1714c0, 0x1931c8, 0xe89a0, 0x1040a0d9, 0x0, 0x2)
	/usr/local/go/src/encoding/binary/binary.go:247 +0x1360
main.main()
	/tmp/sandbox482800808/main.go:16 +0x120

The documentation for Read says:

When reading into a struct, all non-blank fields must be exported.

That seems to me to indicate that the panic is expected (although that could be made more clear: "~ or Read may panic").


Add sample sheet to prep

This PR is based on https://github.com/qiita-spots/qiita/pull/3287 so review/merge that one first.

Coverage: 92.928% (-0.008%) from 92.935% when pulling 2627c1d68366292d28bdf8b669d33803837f7d74 on antgonza:add-sample-sheet-to-prep into 79c4e722814585ae378cc9fb3154817213acf594 on qiita-spots:dev.

coverage: 92.928% (-0.007%) from 92.935%
when pulling 9b18ea59a2bd2969058e08eaaabf33ebdb7ff47d on antgonza:add-sample-sheet-to-prep
into 79c4e722814585ae378cc9fb3154817213acf594 on qiita-spots:dev.


Powershell Terminal part of the line disappear.

VSCode Version: 1.16
OS Version: Win2K12 R2

I was trouble reproducing this issue on Win10 but what I can confirm this is issue with Active TAB in Powershell Terminal and it only appears in VSCode. When I run my window maximize the terminal output looks good but if I resize the window the the output is cut and no longer available for copy. And this apply's only to visible part of active TAB.

example line

Resize

maximize window again

What is also strange this effect only apply to visible lines. Lines in buffer are intact as you can see the line UI. The other problem that might or might not be connected sometimes I'm missing scroll bar in Terminal and just need to use arrow (minimize maximize panel size) and scroll bar is back.

My college replicated this issue on Windows 2k12 R2. Running VSCode 1.15.1 with Powershell Plugin only. Also I did try to reinstalling and deleting %appdata%\Code folder with no success of resolving the issue. I did also try to use older vscode 1.12 but issue still exist.

What I'm guessing is happening is when I resize the window the buffersize is changing and is cutting the output. What is double strange that although  I set high buffer to 7000 I’m not able to display in vscode 3339 lines.

Looks like there is no possibility to set fix buffer width size and vscode adjust the width buffer automatically according  to current window size
Looks like also vscode is not using buffer at all. As if I set high buffer to 200 I still can see way more lines than 200.

This is an issue with the backend library we use on Windows winpty, it doesn't track where lines wrap or retain data that is resized out.


Project Overlord

Well done in general on this one. Some minor things to improve on in the future, but as long as @djkotowski thinks its good, I dont see a reason to resubmit. Only other comment I have is it would be better for you to commit more.  IMO you should commit early and often

These are all valuable comments. I will definitely get more commits while
doing my cyoa.
Thanks
On Tue, Apr 7, 2015 at 10:05 AM, Zach Bright<EMAIL_ADDRESS>wrote:

Well done in general on this one. Some minor things to improve on in the
future, but as long as @djkotowski https://github.com/djkotowski thinks
its good, I dont see a reason to resubmit. Only other comment I have is it
would be better for you to commit more.  IMO you should commit early and often
—
Reply to this email directly or view it on GitHub
https://github.com/jmmastey/level_up_exercises/pull/594#issuecomment-90601599
.

This is looking good.  Take a look at the comments and refactor a bit.  No need for resubmission.


Protobuf erorr when starting main

Environment

OS Version: Ubuntu 20.04 --> rolling
Source or binary build?
source, main --> https://github.com/ignitionrobotics/ign_ros2_control/commit/2214047e95fac1cf3c70a4b7650e1612efa02bf7

[ign gazebo-1] [libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: ignition/msgs/actor.proto
[ign gazebo-1] [libprotobuf FATAL google/protobuf/descriptor.cc:1358] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] terminate called after throwing an instance of 'google::protobuf::FatalException'
[ign gazebo-1]   what():  CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] Stack trace (most recent call last):
[ign gazebo-1] #31   Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so", at 0x7f10e0e023e9, in ignition::gazebo::v5::systems::CreateCommand::Execute()
[ign gazebo-1] #30   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc17fb1, in ignition::gazebo::v5::SdfEntityCreator::CreateEntities(sdf::v11::Model const*)
[ign gazebo-1] #29   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc28c80, in void ignition::gazebo::v5::EventManager::Emit<ignition::common::EventT<void (unsigned long, std::shared_ptr<sdf::v11::Element>), ignition::gazebo::v5::events::LoadPluginsTag>, unsigned long const&, std::shared_ptr<sdf::v11::Element> const&>(unsigned long const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #28   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc537a9, in ignition::gazebo::v5::SimulationRunner::LoadPlugins(unsigned long, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #27   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc526fb, in ignition::gazebo::v5::SimulationRunner::LoadPlugin(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #26   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc636a8, in ignition::gazebo::v5::SystemLoader::LoadPlugin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #25   Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc63fbc, in
[ign gazebo-1] #24   Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f110b2d7670, in ignition::plugin::Loader::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #23   Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f110b2d6a7d, in ignition::plugin::Loader::Implementation::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #22   Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9c3d9, in dlopen
[ign gazebo-1] #21   Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9cb58, in
[ign gazebo-1] #20   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb6982, in _dl_catch_error
[ign gazebo-1] #19   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb68b7, in _dl_catch_exception
[ign gazebo-1] #18   Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9c34b, in
[ign gazebo-1] #17   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f11131055f9, in
[ign gazebo-1] #16   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb68b7, in _dl_catch_exception
[ign gazebo-1] #15   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f11131060be, in
[ign gazebo-1] #14   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb6914, in _dl_catch_exception
[ign gazebo-1] #13   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f1113101c90, in
[ign gazebo-1] #12   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f1113101b89, in
[ign gazebo-1] #11   Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f10deddf768, in void std::call_once<void (&)()>(std::once_flag&, void (&)())
[ign gazebo-1] #10   Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7f1112b4247e, in
[ign gazebo-1] #9    Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f10dedda3ed, in protobuf_ignition_2fmsgs_2factor_2eproto::AddDescriptorsImpl()
[ign gazebo-1] #8    Object "/lib/x86_64-linux-gnu/libprotobuf.so.17", at 0x7f110d03087d, in
[ign gazebo-1] #7    Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f110e8c35a9, in _Unwind_Resume
[ign gazebo-1] #6    Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f110e8c2bee, in
[ign gazebo-1] #5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e976d20, in __gxx_personality_v0
[ign gazebo-1] #4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e976368, in
[ign gazebo-1] #3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e97738b, in
[ign gazebo-1] #2    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e96b910, in
[ign gazebo-1] #1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112b78858, in abort
[ign gazebo-1] #0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112b9918b, in gsignal
[ign gazebo-1] Aborted (Signal sent by tkill()<PHONE_NUMBER>)

Description

Expected behavior: simulator should load plugin and start
Actual behavior: error when loading plugin and therefore GUI not starting

Steps to reproduce

Please check the setup from here
Use debugging-ignition branch on ros2_control_demos repository
Use main branch on ign_ros2_control

This is caused by mixing up multiple Ignition version install on my computer.
Solution is simple: have only one Ignition version installed :)

I can't fix it, even if I remove the ignition I install manually, and only use rosdep to install it as dependencies.

I think I figure out what causes this bug. This repository relay on ros_ign_gazebo and ign_ros2_control. By default, for ros2 foxy, ros_ign_gazebo relay on ignition citedal, and ign_ros2_control relayu on ignition fortress. So if use rosdep to install the dependencies, it will install two ignition of different versions.


Ionic2: how to stop ion-content scroll?

Ionic2:
How to at once stop content`s scroll?

@wilhantian Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Try:
<ion-content no-bounce></ion-content>


accepts_nested_attributes_for and lopsided has_and_belongs_to_many issue

I've run into an issue that I think I've tracked down to accepts_nested_attributes_for and a lopsided has_and_belongs_to_many.
has_and_belongs_to_many :attendees, :class_name => 'Attendee', :inverse_of => nil
accepts_nested_attributes_for :attendees, :allow_destroy => true

It seems like this find query:
def process_attributes(parent, attrs)
  return if reject?(parent, attrs)
  if id = attrs.extract_id
    first = existing.first
    converted = first ? convert_id(first.class, id) : id
    doc = existing.find(converted) # <============================================
    if destroyable?(attrs)
      destroy(parent, existing, doc)
    else
      update_document(doc, attrs)
    end
  else
    existing.push(Factory.build(metadata.klass, attrs)) unless destroyable?(attrs)
  end
end

https://github.com/mongoid/mongoid/blob/master/lib/mongoid/relations/builders/nested_attributes/many.rb#L102
is translated into this:
QUERY collection=attendees selector={"$and"=>[{"_id"=>{"$in"=>["5315f25c166093b274000001", "5315f25c166093b274000002"]}}], "_id"=>"5314ba811660930c03000002"}

where the two other ids are for the two other models in the relation. The query will never match anything, since it basically where id == 1 && id == 2.
A wild guess is that normally the query would be scoped based on the association, e.g. "parent_id" => {"$in"... but because of the lopsided HABTM-relation that does not happen and this query is run instead.
I understand that this issue would be more complete with a test-case, but unfortunately I cannot provide that right now. Feel free to close this issue without action if you find it insufficient, but hopefully it's still somewhat useful (and perhaps someone else with a similar issue can chime in).

cc @adammeghji


add hobu as a maintainer

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Hey @ocefpaf, can you merge this so I can get it in shape?

Ouch! I missed that entirely! Sorry!!


Clean up uses of IoErrorPtr for less repetition

Commit Message: Clean up uses of IoErrorPtr for less repetition.
Additional Description: Originally tried switching it for a shared_ptr so the "don't delete" instances could be managed by standard library behaviors. Benchmarking revealed this was probably too expensive (it was a small improvement on the no-error path, but a big cost on the EAGAIN path).
As part of that process, I found that the code changes got everywhere and it's a massive unpleasant mess. This change centralizes the implementations of ErrorPtr construction making all the use sites much cleaner, and any future attempt to optimize the underlying implementation should require much smaller change-scope.
The original idea was to try to eliminate a set of NOLINT tags. I think centralizing the implementation might also make it possible to put fewer NOLINTs near the actual source of the warning, rather than NOLINTs scattered at the use-sites.
This also fixes a potential bug that hadn't been revealed - getIoSocketEbadfInstance returned a singleton but deleteIoError didn't have a guard against deleting that one. getIoSocketEbadfInstance was only called in integration tests in a way that happened to not delete it.
Risk Level: Very low, should be essentially a no-op (though I did make the error types that didn't need to be shared not be shared, so there is some behavior change)
Testing: Covered by existing tests.
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

Did some benchmarking, it turns out using a shared_ptr to represent a reusable static resource is remarkably terrible, and still pretty bad even if it's thread local.
shared_ptr
-------------------------------------------------------------------------
Benchmark                               Time             CPU   Iterations
-------------------------------------------------------------------------
BM_InstantiateError/threads:16       3.76 ns         39.6 ns     19778128
BM_ReuseError/threads:16             21.8 ns          238 ns      3038912
BM_NoError/threads:16               0.109 ns         1.21 ns    607199136

old
-------------------------------------------------------------------------
Benchmark                               Time             CPU   Iterations
-------------------------------------------------------------------------
BM_InstantiateError/threads:16       4.61 ns         28.8 ns     18067376
BM_ReuseError/threads:16            0.683 ns         4.71 ns    163234272
BM_NoError/threads:16               0.139 ns         1.15 ns    642334128

shared_ptr with thread_local shared_ptrs for the reused ones
-------------------------------------------------------------------------
Benchmark                               Time             CPU   Iterations
-------------------------------------------------------------------------
BM_InstantiateError/threads:16       4.73 ns         45.0 ns     19619744
BM_ReuseError/threads:16             3.86 ns         41.8 ns     16000000
BM_NoError/threads:16               0.125 ns         1.23 ns    590425888

Even though I'm still pushing little fixes, I think this is ready for review in that the overall concept is the main thing that needs approval. At this point any additional changes are mechanical.

Merged because apparently the failing examples requires it.

Thanks, this is much cleaner! Surprised a bit by the poor performance of shared_ptr ..

In part this may be because I intentionally aimed to disadvantage my change; 16 threads tight-loop wrangling the same shared_ptr probably doesn't really reflect the real world performance. I should probably have tried it single-threaded too to provide a range.


Improve/project structure

Dropped Example project
Moved Example files to Pod project

@3lvis: I've made some changes to your structure update. Please review them and merge (unless you want to do more changes).

Ready!

:+1:


Can't get file on http://microsoft.com/team/sitename

[Enter feedback here]
I have tried the following step to get sharepoint files, and got the files under http://microsoftapc.sharepoint.com/teams/sitename successfully. But when I try to get files from http://microsoft.com/team/sitename its return 401.
HTTP linked service:
Base URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Replace the site URL and relative path to file. Sample relative path to file as /sites/site2/Shared Documents/TestBook.xlsx.
Authentication type: Anonymous (to use the Bearer token configured in copy activity source later)
Dataset: choose the format you want. To copy file as-is, select "Binary" type.
Copy activity source:
Request method: GET
Additional header: use the following expression@{concat('Authorization: Bearer ', activity('').output.access_token)}, which uses the Bearer token generated by the upstream Web activity as authorization header. Replace the Web activity name.
Configure the copy activity sink as usual.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8d9fd1db-042c-5f44-ee84-f1a9386fb3e3
Version Independent ID: 81cb2e37-a80c-a48a-68bd-1a03499119a7
Content: Copy data from SharePoint Online List by using Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/connector-sharepoint-online-list.md
Service: data-factory
GitHub Login: @linda33wj
Microsoft Alias: jingwang

@ouyangfangxin11 - Thanks for posting the query. It seems "http://microsoft.com/team/sitename" is not available, please suggest if this is related to documentation referred.

@ouyangfangxin11 - I will proceed with closing the issue now. Please feel free to share additional information for further queries.

How we can set the mapping if source is Excel over SharePoint and Sink is Azure SQL Database? Is there any Video content available ?


Update to the CKAN support doc

Added more clarification on cancelling a harvest job which came out of our recent 2ndline shift.

@thomasleese sorry I pressed a button by mistake there


Touch support

Using tdo on a phone is difficult and some actions are unusable (e.g. Double click on a section heading). Perhaps, enable long pressing or expose an alternative ui control for touch users?

Yes, touch support is missing. For a start, I would like to add a pen icon for editing lists and hide the top bar under a hamburger menu.

With an external keyboard on the iPad Pro, tdo is usable :) but I think those small affordances will make all the difference on touch only platforms.
Perhaps when in editing mode, a sort/drag icon to the side of each task would be useful to help rearrange tasks without a physical keyboard.

I made the changes as described above. I like the menu. I'm not sure if pencil icons should be visible or not on desktops, so I'll leave them for now.
Drag & drop would be nice, but it'is not possible at the moment. The underlying front-end library (Cx) doesn't support it yet.


Show seed phrase - create screens

Add item menu "Show seed phrase" on screen Settings/Privacy -  https://zpl.io/blkg88X
Next open screen with face/touch id and then password - https://zpl.io/awgN9RN https://zpl.io/VKQO5e6 https://zpl.io/2Zm68ew
Next show screen with seed phrase https://zpl.io/2j7geAp

This option should be available only if the user has not completed verification.
after a verification or if the user restore the wallet, this options should be hidden

Bug.
Balance<PHONE_NUMBER>9 B and the option "completed verification" is available.
Str:

On the main screen tap "Completed verification" button.
Use your Touch ID\Face ID.
Enter your password.
Confirm seed phrase.
Expected: verification completed.
Actual: Сrash of the wallet.
Note: After the crash of the wallet option "completed verification" isn't available(in Settings and the main screen).

Requests to complete the verification,  although I restore the wallet.

checked


Question: Clang compiler warnings

Just curious on this one:
Building monosat on OSX with clang, I get thousands upon thousands of compiler warnings.  Most are not so disturbing, but some are a little scary, e.g.
/usr/local/monosat/src/monosat/core/Solver.h:262:142: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                        printf("swapping counter clears/total, max swapping counter value:     %ld/%ld, %ld\n",stats_max_swap_count,stats_swapping_conflict_count,stats_swapping_resets);

Are compiler warnings something that you'd like to eliminate eventually, or will they permanently be there?

The thousands of warnings were almost exclusively due to two pervasive issues:

Missing (but optional) override annotations.
Differences between how Linux and OSX deal with 'long' vs fixed-width types (in particular, "%ld" will safely print int64_t on Linux, but is incorrect on OSX).

The missing override annotations were a long standing irritation (but not a correctness problem), and your comments pushed me to finally take the time to deal with it. That should now be fixed.
Issue number 2 was indeed a correctness error for OSX. I've addressed this by standardizing on int64_t everywhere in the codebase (that was already mostly the case), and replacing "%ld" with the portable fixed width format specifiers from C++11's .
There are likely still some subtle portability issues with OSX - but I hope to deal with them as they come up.
Compiling with g++-5, g++-7, and clang-5.0 on 64 bit Linux (Ubuntu 16.04), as well as with clang-700.0.72 on OSX 10.11.6, should come up completely warning free now (modulo some intentionally suppressed warnings about signedness and unused variables).

Wow, that has got to be a record turnaround time for fixing compiler warnings.  Thanks!


Update README.md

Added Python for beginners Sololearn course

it also includes certificate

@avinash201199 kindly look into this. 🙂


FAI-3278: [airbyte-connectors] Remove FK constraints from Hasura Database

Description
Update feeds-sdk to v0.13.8
Type of change

[ ] Bug fix
[X] New feature
[ ] Breaking change

why no package.json was changed?

fixed


Prometheus.yml error when stating docker

I get this error msg so prometheus docker instance refuse to start
level=error ts=2022-10-14T19:50:24.590Z caller=main.go:333 msg="Error loading config (--config.file=/etc/prometheus/prometheus.yml)" err="parsing YAML file /etc/prometheus/prometheus.yml: yaml: line 53: did not find expected key"

Sorry about that! Just fixed in #450, since a previous commit broke the YAML spacing.

My bad! I tested it in my local setup (which has a few changes) but didn't test the change in your repo so I missed that.


README.md: Update "Docker Compose" => "fig"

This is going in the wrong direction. Fig is being renaming to docker compose.

He has a point... people are landing on this page for documentation expecting it to be Fig. /cc @aanand

This was the first of me hearing of the fig to Docker Compose name change so that's why I was confused.  But I had looked at fig a long time ago and just recently remembered it and starting looking at using it. So I'm:

Coming with prior memory of the "fig" name.
Not following mailing lists and such

Like any name change, it may cause a bit of confusion and then it will work itself out.

Perhaps we should temporarily add a "(previously known as Fig)" note to the README.


Suggestion: Graphs

Personal graphs.
XP over time.
Gain over time.
Raids completed over time (not currently tracked)
Gyms held over time (not currently tracked)

Given up LOL


[Search] Remove all instances of [IgnoreOnNet5]

/azp run net - search - tests

fixes #16963

Can you remove the attribute as well? I don't think anyone else used it.

Can you remove the attribute as well? I don't think anyone else used it.

It is also being used in [KV].


Fix exception policy

Fix discriminator for ReclassifyExceptionAction and add tests
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


CupertinoTextField unfocusable after swipe back

Steps to Reproduce

https://gist.github.com/spfannemueller/1000505a9728fba014635d51f43f9971

Create an app with a CupertinoTabScaffold on top und a CupertinoTextField inside of one of its CupertinoTabView(s). On start of the app the textfield is focusable and the keyboard appears as expected.
Navigate to a second page via CupertinoPageRoute. Navigate back to the root page with a swipe gesture.
The textfield becomes unresponsive and the keyboard won't appear. If you navigate back via the back icon, everything works as expected.

On Flutter v1.9.1+hotfix.6 this behavior does not appear.

Target Platform:iOS
Target OS version/browser:13.2
Devices:iPhone/iPad
Logs

Analyzing flutter_app...
No issues found! (ran in 2.2s)

[✓] Flutter (Channel beta, v1.10.7, on Mac OS X 10.14.6 18G95, locale de-DE)
    • Flutter version 1.10.7 at /Users/simon/flutter
    • Framework revision e70236e36c (5 weeks ago), 2019-10-02 09:32:30 -0700
    • Engine revision 9e6314d348
    • Dart version 2.6.0 (build 2.6.0-dev.0.0<PHONE_NUMBER>)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/simon/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
    • Xcode at /Applications/Xcode_11_1.app/Contents/Developer
    • Xcode 11.1, Build version 11A1027
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 41.0.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

Got the same issue here, also on flutter beta. And the error also occurs when using a "regular" TextField inside CupertinoTabScaffold.

It is fixed in 1.14.3, but starting from 1.15.3 the behaviour came back

How it looks with flutter dev 1.15.3

Duplicate of #44441
I have tested and verified it works, check my comment and also this comment
if you're still experiencing this problem, please create a new issue and provide the information required in
the template.
Thank you

Tested this on latest beta on iPhone 6+ (iOS 12.4.5) and confirmed that the navigation using swipe works well. The textfield is responsive and keyboard opens properly upon textfield tap after coming back from previous page.
RPReplay-Final1600695284.MP4.zip

flutter doctor -v
[✓] Flutter (Channel beta, 1.22.0-12.1.pre, on Mac OS X 10.15.4 19E2269, locale
    en-IN)
    • Flutter version 1.22.0-12.1.pre at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 8b3760638a (6 days ago), 2020-09-15 17:47:13 -0700
    • Engine revision 4654fc6cf6
    • Dart version 2.10.0 (build 2.10.0-110.3.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (3 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm    • Android 8.1.0 (API
      27)
    • Web Server (web)  • web-server       • web-javascript • Flutter Tools
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      85.0.4183.102

• No issues found!

I am going ahead and closing this as fixed. If you think this was closed by mistake or should kept open, please write in comments and I'll reopen.
Thanks.


Cannot create Android 28 emulator

Describe the bug
Cannot create Android 28 emulator.
Area for Triage:
Android
Question, Bug, or Feature?:
Bug
Virtual environments affected

[X] macOS 10.15
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Expected behavior
I expect Android 28 to be supported per: https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md#android-sdk-platforms
Actual behavior
Envoy Mobile's CI is unable to start an Android 28 Emulator using these steps. As seen in this CI run. The same problem was reported on azure pipelines: https://github.com/microsoft/azure-pipelines-agent/issues/2962.

Hello!
Actually, we don't pre-install emulators on images. Please see details in #663 .
So you have to install simulator in runtime,
Also you can use android-emulator-runner action to configure simulator

@junr03 looks like you've specified the wrong image 'system-images;android-28;google_apis;x86', there are 4 of them available

"system-images;android-28;google_apis_playstore;x86_64"
"system-images;android-28;google_ndk;x86"
"system-images;android-28;default;x86"
"system-images;android-28;default;x86_64"

I'm going to close the issue, but feel free to ping me if you have any concerns and I'll reopen it.
Thank you!

This has been working up until a few days ago. We have had this working in our script for the last 6 months or more.
'system-images;android-28;google_apis;x86'

@mortenholmgaard looks like this image has been deprecated, we didn't make any changes on the VM and it also doesn't work on my local mac
./sdkmanager --install "system-images;android-28;google_apis;x86"
Warning: Failed to find package system-images;android-28;google_apis;x86

@miketimofeev I also encounter the same problem.
./sdkmanager --install "system-images;android-28;google_apis;x86"
Warning: Failed to find package system-images;android-28;google_apis;x86
But as you said tried running with system-images;android-28;google_ndk;x86 works. I am using azure hosted agent.
The issue with this image is the app UI crashes when trying to  switch context to native and capture the alert message.
App goes into error UI not responding.
Works fine with android 27 and 29 google_apis images. So seems like issue is with ndk image.
Also tried with x86_64 googe_apis image. Start emulator always fails for this image in the hosted agent.
Could i get any lights on this?

@DSK1990-sam could you please open a new issue with the details?


README.md reorg

Description
README.md reorg
Type of change

Documentation update

Testing steps
N/A
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #147 (ed72944) into master (20e2bfe) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #147   +/-   ##
=======================================
  Coverage   57.93%   57.93%
=======================================
  Files           7        7
  Lines         851      851
=======================================
  Hits          493      493
  Misses        320      320
  Partials       38       38

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 20e2bfe...ed72944. Read the comment docs.


Reduce false positives on comparing unrelated types

scala> BigDecimal(5) == 0
val res0: Boolean = false

scala> BigDecimal(0) == 0
val res1: Boolean = true

Scapegoat still seem to get the Literal instead of the boxed variants which I observed in bytecode after diagnosing a violation in my codebases. This special clause will handle these cases.

Codecov Report
Base: 87.11% // Head: 87.19% // Increases project coverage by +0.08% :tada:

Coverage data is based on head (970327b) compared to base (7407ec6).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #710      +/-   ##
==========================================
+ Coverage   87.11%   87.19%   +0.08%
==========================================
  Files         141      141
  Lines        1521     1523       +2
  Branches      221      221
==========================================
+ Hits         1325     1328       +3
+ Misses        196      195       -1

Impacted Files
Coverage Δ

...inspections/equality/ComparingUnrelatedTypes.scala
96.00% <100.00%> (+4.69%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


NIFI-4481: Visualize Processors Running on Primary Node

NIFI-4481:

Adding support for visualizing if a component is scheduled for primary node only.

Visualization should only be available in cluster mode where the Execution Node configuration is available. In cluster mode, the nodes on the canvas should show the (P) icon when configured for Execution Node: Primary. Like Run Status, this indication will be available regardless of permission for the component. Additionally, this indication is available in the Summary Table.

Reviewing...

All looks good to me code-wise. Tested and everything works as expected. Definitely a welcome improvement to the UI! Thanks for updating that. +1 merged to master.


kernel/os: Fix semaphore release hazard

Context switch is performed in low priority interrupt.
If higher priority interrupt code releases semaphore
BEFORE g_current_task is updated in context switch,
os_sem_release() function can see that task
that entered os_sem_pend() and initiated context switch
is still running and there is no need to switch tasks.
As a result task is marked as ready.
Then high priority interrupt ends and context switch is
finished leaving lower priority task running.
When this happens and current task is idle it may take
a while till reschedule is done again leaving task that
should be running in ready state.
To prevent this, condition to reschedule is now changed
so that if current task is same as task that should be woken
context switch is also initiated just in case switching
already started and g_current_task was not updated.

this is alternative solution to #2650

I did try out this one and seems to be working fine.

I prefer this one since it's simpler, fixes problem for all archs and does not have overhead on context switch.

While both solutions work fine. I prefer this one.


Implement 1PW for passwords

This is all ✂/🍝 , fyi.

My one question around this would be is there a way we can specify some of these things without needing to be so explicit - for example, a cli call or published action that gets a specific "group" of credentials as we've defined in 1password, without needing to list each one in the github action like we're doing here

@fvankrieken That's a great question - explicit listing was just what I'd seen in the docs, but there are Secure Notes on 1PW, which we could retrieve via the 1PW CLI, and pipe into the environment 🤔
The docs I was looking at are here.

@fvankrieken There's also an intriguing option around using environment files. Probably wouldn't use the 1pw published action in that case, and would hook something up manually. But we could just list a group of secrets together, and resolve them in one call.


Peer id policy

Most private trackers have a client whitelist that helps to dissuade people from using known bad clients. In order to be placed on the whitelist however, a client needs to uniquely identify itself in its peer id. From a brief glance at the source code, it appears that picotorrent by default presents itself using libtorrent's client ID, and only presents itself as picotorrent if an option is changed.
The ideal case here would be for picotorrent to only ever present itself as picotorrent, so staff of private trackers can whitelist it. Otherwise, picotorrent's client ID is likely to not be whitelisted, which would discourage some potential users from switching to it.
Additionally, it would be nice if the client ID was listed in the readme or the docs so that staff searching for the ID for whitelisting purposes can find it without pouring through the code.

Hi! Yes, I agree that we should permanently change to always use the PicoTorrent peer ID. However, in doing so, the trackers that actually whitelist the libtorrent default ID will not be accessible.
Perhaps we need to do it anyway - I have no problem with doing so, but others might.
Looking for input on this one, @zp, @patriksvensson, @enr00ted, @VoodaGod, @DoumanAsh, @kosmodrey, and many others.

As far as I'm aware, most private trackers do not whitelist libtorrent's ID, as it's a library and not a client per say.
Getting tracker staff to add the ID of a compliant client is very simple and common, while getting them to add libtorrent's ID will probably be met in outright refusal.
I don't think you'll actually run into any instances of dropping libtorrent's ID leading to you no longer being whitelisted, but if you're still concerned about that, a good compromise might be setting picotorrent's ID as the default for a while, and then remove the option to switch to libtorrent's ID later. This would allow staff to start whitelisting the client and allow your users to switch to a fallback ID during the transition if necessary.

I believe user should have right to hide its client's id.

I don't think you'll actually run into any instances of dropping libtorrent's ID leading to you no longer being whitelisted,

I don't believe getting unique ID will have any effects too ;)
Regardless it seems t be a minor thing to me as long as user is able to retain control of its client ID

I believe user should have right to hide its client's id.
They do so long as the client remains open source. Hard coding IDs at build time is just a general policy that goes hand in hand with whitelisting that discourages non-savvy users from using clients meant for cheating or that are a danger to the swarm.
I don't believe getting unique ID will have any effects too ;)
You believe incorrectly. Defaulting to libtorrent's ID and allowing a switch to picotorrent's ID will result in neither being whitelisted and the client being unusable on most private trackers. Defaulting and sticking to picotorrent's ID allows for that ID to be whitelisted, making the client actually usable.

Additionally, if "retaining control over its client ID" refers to setting it arbitrarily at runtime, then picotorrent is already incapable of this as far as I can tell. If it refers to setting it arbitrarily at build time, then nothing will be different after this change. If your definition of "retaining control of its client ID" refers very specifically to having an option of picking between exactly two predetermined IDs at runtime, then I think you should justify why that's at all significant a little further.

Is peer ID set at compile time? I didin't look much into code but i thought it has been done during initialization and because of that i believe it could be part of settings?
But if i'm wrong then sorry

You believe incorrectly. Defaulting to libtorrent's ID and allowing a switch to picotorrent's ID will result in neither being whitelisted and the client being unusable on most private trackers. Defaulting and sticking to picotorrent's ID allows for that ID to be whitelisted, making the client actually usable.

And why do you need whitelist?
It is not like they would ban you if you is not in it?

@DoumanAsh There is an option in libtorrent to use anonymous mode, which randomizes the peer ID and other things.
Trackers wouldn't ban a client not in the whitelist, but we wouldn't be able to announce to them which means no peers, which in turn means no downloading 😄
I'll let this issue sit here for a few days to let people voice their opinions, but I'm leaning towards changing the peer ID to our own and removing the libtorrent one.

@DoumanAsh

And why do you need whitelist?

I'm not sure if you're asking why trackers need whitelists, or why users' clients need to be on the whitelist. Private trackers use them because they've been shown to significantly decrease stat cheating, even if they aren't a perfect solution. Clients need to be on the whitelist because the tracker will refuse to communicate with them if they aren't, and the user will switch to a different client.

It is not like they would ban you if you is not in it?

Your account won't be banned, but not being on the whitelist is effectively a ban on the use of the client.
@vktr

There is an option in libtorrent to use anonymous mode, which randomizes the peer ID and other things.

Does picotorrent use this? I have not delved deeply into the code, but I thought picotorrent defaults to libtorrent's normal -LT-* ID, and has a single toggleable option to switch to picotorrent's -PI-* ID

@spaghetti2514 Yes, that is correct.
We do not use the anonymous flag, but it's something I would want to add to the configuration.


Docker build utilities

Hey @fonsp! I built an image for this repo the other day for deployment and thought it might be worthwhile to put the Dockerfile I used in this repo for others' convenience. It's nothing too special, but I figured it would be good to at least include an example of containerized deployment configuration for those confused by the warning message:
Warning: Make sure that you run this slider server inside a containerized environment

Thoughts on this?

This is cool, I would not have been able to write the dockerfile myself! but I am worried that our setup instructions are already too complicated?
So if we add the dockerfile, we need to clearly explain why it is there, who should use it, and how it relates to the setup instructions in the README.

Closing this in favor of https://github.com/JuliaPluto/docker-compose-slider-server! That repo includes docker compose configurations for a best-practices slider server deployment (slider server + reverse proxy + SSL/TLS)


Makefile: add nostril secp256k1 websocat

I added secp256k1 to the build here: https://github.com/jb55/nostril/commit/e8fd862590410e9392279721d243148279c02efa

I don't really want to bundle websocat into nostril in any way, that is just one way to relay messages. nostril is just for creating messages.

I just added a build for websocat... it isn't available thru package managers on many platforms...
any way... looks like you got it...


Another bug

When filetote finishes, the empty directories are not deleted:
running beet imp . from dir below
dir
 |   -> sub-dir1
 		-> file.mp3
 		-> file.lrc
|   -> sub-dir2
		-> file2.mp3

leaves the following:
dir
 |   -> sub-dir1

@arogl Pruning (the delete of the empty folder(s)) is in v0.4.6 and should work as expected!

Tested and worked


Update Sitemap Page Design

Fix #1049

This looks gr8!

Thank you @26samaahmed and @tylermlui for helping on this page!


content/_index: Add small text from 2022-march

Sync March's improvements back to the template.  While not perfect,
at least this much shouldn't be lost.
Review: general check

This adds the "partners" section and pre-lists Aalto in a rather generic way - which is probably safe.  At least it is useful for the upcoming workshop, and I guess could be updated/removed from the template later.
Everything else about the template seemed good to me.  "credits" were not there but that can be re-added later.

Thanks!


crypto/tls: add fields to ClientHelloInfo

ClientHelloInfo is how callbacks make decisions on how to treat an incoming connection, which is becoming very powerful with https://golang.org/cl/30790/
As mentioned in https://github.com/golang/go/issues/16066#issuecomment-250608294 it would be useful to have some more information in there.
The Cloudflare fork exposes Version, SignatureSchemes and LocalAddr. RemoteAddr seems fitting for completeness. ALPNProtocols as asked in #16066.
Looking at clientHelloMsg, only session resumption information, ocspStapling and scts are left, for which I can't think of a use case.

Looking at clientHelloMsg, only session resumption information, ocspStapling and scts are left, for which I can't think of a use case.

It would be useful to have access to all of the information provided in the ClientHello to collect statistics on handshakes.

@titanous Something we did again in the Cloudflare fork is expose the serialized CH in the ConnectionState, but I don't think anything that low-level fits in the standard library. Or did you have anything else in mind?

Something we did again in the Cloudflare fork is expose the serialized CH in the ConnectionState, but I don't think anything that low-level fits in the standard library. Or did you have anything else in mind?

 Another option would be exposing all parameters/extensions that the package is aware of and then using a single field for all unknown extensions.

True, but then I would go for having a high-level CHI, and a RawClientHello, rather than polluting CHI with sort-of-raw fields. Opinions on whether it should go on CHI or on ConnState? We wanted it in ConnState so we could observe it from a http.Handler. Maybe ConnectionState should expose a CHI?
Also, in 1.3 a CH might be a significant chunk of memory to keep around.

Here is my patch on top of https://golang.org/cl/30790/, which I can't submit yet because the Go Gerrit does not seem to support CL with dependencies on CLs by other authors.
SupportedVersions is terrible, but needed to be forward-compatible with the TLS 1.3 extension-based version negotiation. The SignatureSchemes term is stolen from 1.3 and is uint16 to be forward-compatible.
/cc @agl
commit 3166b277d4be70a0b0f9864a0751a757cea7761b
Author: Filippo Valsorda<EMAIL_ADDRESS>Date:   Thu Oct 13 15:46:06 2016 +0100

    crypto/tls: expand ClientHelloInfo

    Fixes #17430

    Change-Id: Ia1c25363d64e3091455ce00644438715aff30a0d

diff --git a/src/crypto/tls/common.go b/src/crypto/tls/common.go
index f20fb1b..9507c92 100644
--- a/src/crypto/tls/common.go
+++ b/src/crypto/tls/common.go
@@ -14,6 +14,7 @@ import (
 	"fmt"
 	"io"
 	"math/big"
+	"net"
 	"strings"
 	"sync"
 	"time"
@@ -217,6 +218,11 @@ type ClientSessionCache interface {
 // ClientHelloInfo contains information from a ClientHello message in order to
 // guide certificate selection in the GetCertificate callback.
 type ClientHelloInfo struct {
+	// SupportedVersions lists the TLS versions supported by the client.
+	// In current TLS this is extrapolated from the max version advertised by
+	// the client, so values that are not the highest might be rejected if used.
+	SupportedVersions []uint16
+
 	// CipherSuites lists the CipherSuites supported by the client (e.g.
 	// TLS_RSA_WITH_RC4_128_SHA).
 	CipherSuites []uint16
@@ -238,6 +244,26 @@ type ClientHelloInfo struct {
 	// is being used (see
 	// http://tools.ietf.org/html/rfc4492#section-5.1.2).
 	SupportedPoints []uint8
+
+	// SignatureSchemes lists the signature and hash schemes that the client
+	// is willing to verify. SignatureSchemes is set only if the Signature
+	// Algorithms Extension is being used (see
+	// https://tools.ietf.org/html/rfc5246#section-<IP_ADDRESS>.1).
+	SignatureSchemes []uint16
+
+	// SupportedProtos lists the application protocols supported by the client.
+	// SupportedPoints is set only if the Application-Layer Protocol
+	// Negotiation Extension is being used (see
+	// https://tools.ietf.org/html/rfc7301#section-3.1).
+	//
+	// Servers can select a protocol by setting Client.NextProtos in a
+	// GetConfigForClient return value.
+	SupportedProtos []string
+
+	// LocalAddr is the address on which the connection was accepted.
+	LocalAddr net.Addr
+	// RemoteAddr is the client address.
+	RemoteAddr net.Addr
 }

 // RenegotiationSupport enumerates the different levels of support for TLS
diff --git a/src/crypto/tls/handshake_server.go b/src/crypto/tls/handshake_server.go
index 52d7de9..571f5c0 100644
--- a/src/crypto/tls/handshake_server.go
+++ b/src/crypto/tls/handshake_server.go
@@ -124,11 +124,28 @@ func (hs *serverHandshakeState) readClientHello() (isResume bool, err error) {
 		return false, unexpectedMessageError(hs.clientHello, msg)
 	}

+	supportedVersions := []uint16{}
+	for _, v := range []uint16{VersionSSL30, VersionTLS10, VersionTLS11, VersionTLS12} {
+		if v <= hs.clientHello.vers {
+			supportedVersions = append(supportedVersions, v)
+		} else {
+			break
+		}
+	}
+	var signatureSchemes []uint16
+	for _, sah := range hs.clientHello.signatureAndHashes {
+		signatureSchemes = append(signatureSchemes, uint16(sah.hash)<<8+uint16(sah.signature))
+	}
 	clientHelloInfo := &ClientHelloInfo{
-		CipherSuites:    hs.clientHello.cipherSuites,
-		ServerName:      hs.clientHello.serverName,
-		SupportedCurves: hs.clientHello.supportedCurves,
-		SupportedPoints: hs.clientHello.supportedPoints,
+		SupportedVersions: supportedVersions,
+		CipherSuites:      hs.clientHello.cipherSuites,
+		ServerName:        hs.clientHello.serverName,
+		SupportedCurves:   hs.clientHello.supportedCurves,
+		SupportedPoints:   hs.clientHello.supportedPoints,
+		SignatureSchemes:  signatureSchemes,
+		SupportedProtos:   hs.clientHello.alpnProtocols,
+		LocalAddr:         hs.c.LocalAddr(),
+		RemoteAddr:        hs.c.RemoteAddr(),
 	}

 	if config.GetConfigForClient != nil {

@agl, decision?


Ensure company name is string in meal outlier classifier

What is the purpose of this Pull Request?
To address the bug discussed in #506
What was done to achieve this purpose?
Before using a string method within the classifier, I used Pandas fillna  to replace np.nan (a float) by an empty string.
How to test if it really works?
I added an empty value as a feature, so python rosie.py test chamber_of_deputies is an option. But fully running Rosie with python rosie.py run chamber_of_deputies is also advised.
Who can help reviewing it?
@sergiomario @luizfzs

Regarding the safety-ci having failed, is that check strictly mandatory?

is that check strictly mandatory?

They are important, but (IMHO) in the context of #503, for example — they are not the scope og this change proposed here ; )
Anyway, @sergiomario has the final call : )


Draft channel indicator to ignore message with whitespaces only

Summary
The draft indicator should not be present if the draft only contains whitespaces
Ticket Link
https://mattermost.atlassian.net/browse/MM-12337

Any way to add unit test coverage?

@saturninoabril will be creating a ticket so tests are added for the whole component

Cherry-picked for 1.13


Incorrect import paths for icon sets

I have the following configuration in my nuxt.config.js file
    ['nuxt-fontawesome', {
      component: 'fa',
      imports: [
        {
          set: '@fortawesome/free-solid-svg-icons',
          icons: ['phone', 'at', 'envelope']
        },
        {
          set: '@fortawesome/free-brands-svg-icons',
          icons: ['facebook', 'twitter', 'instagram']
        }
      ]
    }],

But started getting the following errors
friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'at' (imported as 'fortawesomefreesolidsvgicons_at') was not found in '@fortawesome/free-solid-svg-icons'
friendly-errors 19:06:58

friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'envelope' (imported as 'fortawesomefreesolidsvgicons_envelope') was not found in '@fortawesome/free-solid-svg-icons'
friendly-errors 19:06:58

friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'facebook' (imported as 'fortawesomefreebrandssvgicons_facebook') was not found in '@fortawesome/free-brands-svg-icons'
friendly-errors 19:06:58

friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'instagram' (imported as 'fortawesomefreebrandssvgicons_instagram') was not found in '@fortawesome/free-brands-svg-icons'
friendly-errors 19:06:58

friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'phone' (imported as 'fortawesomefreesolidsvgicons_phone') was not found in '@fortawesome/free-solid-svg-icons'
friendly-errors 19:06:58

friendly-errors 19:06:58  WARN  in ./.nuxt/templates.plugin.012189c0.js

friendly-errors 19:06:58 "export 'twitter' (imported as 'fortawesomefreebrandssvgicons_twitter') was not found in '@fortawesome/free-brands-svg-icons'
friendly-errors 19:06:58

In the generated file mentioned, the imports looked like
    import  { phone as fortawesomefreesolidsvgicons_phone } from '@fortawesome/free-solid-svg-icons'
    library.add(fortawesomefreesolidsvgicons_phone)

    import  { at as fortawesomefreesolidsvgicons_at } from '@fortawesome/free-solid-svg-icons'
    library.add(fortawesomefreesolidsvgicons_at)

    import  { envelope as fortawesomefreesolidsvgicons_envelope } from '@fortawesome/free-solid-svg-icons'
    library.add(fortawesomefreesolidsvgicons_envelope)

    import  { facebook as fortawesomefreebrandssvgicons_facebook } from '@fortawesome/free-brands-svg-icons'
    library.add(fortawesomefreebrandssvgicons_facebook)

    import  { twitter as fortawesomefreebrandssvgicons_twitter } from '@fortawesome/free-brands-svg-icons'
    library.add(fortawesomefreebrandssvgicons_twitter)

    import  { instagram as fortawesomefreebrandssvgicons_instagram } from '@fortawesome/free-brands-svg-icons'
    library.add(fortawesomefreebrandssvgicons_instagram)

This seems to be throwing errors because it's looking for the node_modules directory but since we're in the .nuxt/ directory, it can't find it.
I tried a workaround by changing the sets to use relative paths set: '../@fortawesome/free-solid-svg-icons'. But now I get
friendly-errors 19:09:45 * ../@fortawesome/free-brands-svg-icons in ./.nuxt/templates.plugin.012189c0.js
friendly-errors 19:09:45 * ../@fortawesome/free-solid-svg-icons in ./.nuxt/templates.plugin.012189c0.js

Hi!
Thanks for using my module! Sadly, your problem has nothing to do with it, just read the docs carefully.
When you see the message
"export 'at' (imported as 'fortawesomefreesolidsvgicons_at') was not found in '@fortawesome/free-solid-svg-icons'

that's just because such import is not there - you can open library's sources and check. All icons are named as faPhone, not phone.
So, in your case, working config is:
 modules: [
    ['nuxt-fontawesome', {
      component: 'fa',
      imports: [
        {
          set: '@fortawesome/free-solid-svg-icons',
          icons: ['faPhone', 'faAt', 'faEnvelope']
        },
        {
          set: '@fortawesome/free-brands-svg-icons',
          icons: ['faFacebook', 'faTwitter', 'faInstagram']
        }
      ]
    }],
  ],

Hope this helps, cheers:)

Thanks, that's exactly what my problem was. Somehow I was able to get icons loading with icons: ['faPhone', 'faAt', 'faEnvelope'] but it stopped working when I added the brands icons.


The 'Console' operation is not disabled for a headless VM

In case of a running headless VM (i.e. a VM configured to run without a graphical console device), the "Console" button in VM dashboard is not disabled/greyed out although clicking on it does nothing.

would you maybe try to take a look at this one too, @mouracamila?


Error when changing motion detection mode, automation stopped

Description
I have an automation which enable and disable the camera alarm by proximity. The automation was triggered but when I tried to change the motion detection selector to “off” the error ocurred:
Error: 'utf-8' codec can't decode byte 0xa7 in position 0: invalid start byte
Resultado:
params:
domain: select
service: select_option
service_data:
option: 'off'
entity_id:
- select.cam_salon_motion_detection
target:
entity_id:
- select.cam_salon_motion_detection
running_script: false
Reproduction Steps
Change motion detection mode by automation
Expected behavior
Continue with the rest of automation or try again in a few seconds if error
If applicable, add error logs.
Error: 'utf-8' codec can't decode byte 0xa7 in position 0: invalid start byte
Resultado:
params:
domain: select
service: select_option
service_data:
option: 'off'
entity_id:
- select.cam_salon_motion_detection
target:
entity_id:
- select.cam_salon_motion_detection
running_script: false
Device Firmware
1.3.11 Build 231121 Rel.39429n(4555)
Integration Version
5.4.17
Using stream component
No
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
Yes
HASS Environment
Docker
Search for similar issues
Yes
Additional information
No response

https://www.home-assistant.io/docs/scripts/#continuing-on-error

Error: 'utf-8' codec can't decode byte 0xa7 in position 0: invalid start byte

This error sometimes happens when camera is responding incorrectly, or when overloaded. Not much we can do, there are already retries built in to eliminate this as much as possible.


micromamba: 0.14.1 -> 0.15.0

Motivation for this change
Haven't been able to update further that 0.15.0 for now, getting a compile-time error apparently caused by https://github.com/mamba-org/mamba/commit/ba6e2d9a994f6b21026edd1f70a433860c35c3aa
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 135329 run on x86_64-darwin 1

Result of nixpkgs-review pr 135329 at d2ed5031 run on x86_64-linux 1

1 package built successfully:

micromamba

3 suggestions:

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/tools/package-management/micromamba/default.nix:16:7:
   |
16 |       (fetchpatch {
   |       ^

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/tools/package-management/micromamba/default.nix:12:7:
   |
12 |       (fetchpatch {
   |       ^

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/tools/package-management/micromamba/default.nix:20:7:
   |
20 |       (fetchpatch {
   |       ^


cogvideo base model

This foundation model doesn't use  (https://github.com/THUDM/CogVideo)   fine-tuned model?

Yep, all controlnet models were trained only for cogvideox 1.0

Yep, all controlnet models were trained only for cogvideox 1.0

It's a great project.  Can the code load the fine-tuned 5b model? (CogVideoX-5b-sat/transformer/1/mp_rank_00_model_states.pt)? The fine-tuned model and the 1.0 model operators have different names


Local network access doesn't work properly.

Steps to reproduce
Download an apk of a Wi-Fi analyzer app from F-Droid or backup a wifi analyzer app in your Android phone then transfer it to your PC.
Turn on Developer mode in WSA, connect with "adb connect 'ip address:port'", then install the wifi analyzer apk with "adb install 'path'"
Turn on local network access in the experimental features.
open the wifi analyzer app you will see VirtWifi and you won't see any other Wi-Fi networks in your area.
✔ Expected Behavior
This should be happening.

you can see the Wi-Fi network you are connected to and the other Wi-Fi access points in your area. I got this result with WSA version 2305.40000.6.0 with Advanced Networking Turned on.
❌ Actual Behavior
This is what happens with the latest version.

You see 'VirtWifi" and the other wifi networks aren't showing.
Other Software
WIFIAnalyzer from F-Droid.
Please specify the version of Windows Subsystem for Android
2306.40000.4.0

Unfortunately this was a feature in the previous implementation of "Advanced networking" that has not been included in the latest iteration of this preview feature as it gets closer to being production ready.
Android itself, due to privacy concerns, continues to add more restrictions to apps accessing to wifi scanning and adapter management so the added complexity of mirroring network interfaces themselves into WSA is not a scenario we intent to support as the local network access feature rolls out.

Any chance we can get this on the backlog for a future iteration please @nieubank ?
I'm trying to run the Android Naim app for my Hi-Fi system and it simply wont work the current network implementation. Bluetooth support would be helpful too...


Supportauth

A (nice-ish) parse error is raised if the hash is not one of those in mirage-crypto. Furthermore, is_valid_config checks that only auth sha1 may be present for now.

fixes #82

Now rebased on main and ready for review / merge.


Power Virtual Agents - Permanently remove the authentication configuration

According to the documentation, the authentication configuration for Power VA needs to be
deleted from Bot Services in Azure too.
This seems a bit strange to me and I can't see any connection there.
Is this information correct?
Shouldn't this section describe the deletion of the App Registration? I can't think of any way how Power VA authentication is related to anything in a specific Azure Subscription.

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

ID: 8f11f0ed-eec4-dfbc-4498-87690a569091
Version Independent ID: 7c3ba7b6-5874-2cbb-0aef-aef24489d0b0
Content: Configure user authentication - Power Virtual Agents
Content Source: power-virtual-agents/configuration-end-user-authentication.md
Service: dynamics-365-ai
GitHub Login: @iaanw
Microsoft Alias: iawilt

OK after discussing with the product team, we've decided to remove this section from the docs as it's misleading and not necessarily appropriate. For more information or to discuss this further with our product team, please submit a question at the Power Virtual Agents forum at https://powerusers.microsoft.com/t5/Forums/ct-p/pva_forums.
Thanks for your feedback and sorry for the delay on this one.


Add a WaitCursor

What happened:
I opened an other directory, seven bee-icons(?) were displayed and vkdt did not react anymore. After a while when I clicked on the close "X", a message was displayed "vktd reagiert nicht." with buttons "warten" and "beenden".
i killed vkdt, started it again, opened the same directory: same procedure.
To get a new logfile, I started again and now seven images were displayed.
In this directory are 7 mp4 files, which I think caused the problem. vkdt was working (what ever) in the background on these mp4 (to create these images?) and could not react to any input from the user.
It would be nice, if there was something like a "WaitCursor" or another info, so that the user is informed, that vkdt is still alive.
PS: crtl-q doesn't work (minor issue)
OS Manjaro 23.1 Cinnamon
Kernel 6.7.0-0
CPU AMD Ryzen 7 5800H
Gra Geforce RTX 3050

re: bee: you apparently never used an atari computer.
re: ctrl-q: it's ctrl-x on a qwerty keyboard
waiticon: whaaaat? certainly not. if stuff is so slow that it would keep me waiting the code needs to be fixed. i'd be interested to find out what it was doing on the mp4.

a: no, never. I used a PDP-11/73 with RSX11M+
b: i have a qwertz keyboard. but ctrl-x doesn't work either
c: i didn't mean to imply that your code is so slow that it needs to be fixed.

i may have a problem with an infinite loop in some cases.. investigating..

PDP-11/73: brilliant :D
no idea about ctrl-x.. works here (tm)
can you try again with the deadlock? i think i might have fixed an infinite
loop. if this persists, let me know.. somehow we'll think of a way for me
to reproduce (or maybe you can run gdb and kill it to find out what's it
doing)
On Tue, Jan 30, 2024 at 11:28 AM Heddesdorfer @.***>
wrote:

a: no, never. I used a PDP-11/73 with RSX11M+
b: i have a qwertz keyboard. but ctrl-x doesn't work either
c: i didn't mean to imply that your code is so slow that it needs to be
fixed.
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1916537522, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKNENT6GSR7GFTDSOPDYRDDNFAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJWGUZTONJSGI
.
You are receiving this because you commented.Message ID:
@.***>

Öha!
To reproduce the problem I deleted ~/cache and the vkdt.db files.
The problem with the mp4 seems to be solved, the referring images were displayed in a few seconds.
But for the other folder, containing about 260 images (cr3), it needed about 98 minutes.
Attached the log
vkdtlog.txt
and the log from compiling, because there were warnings
debug.txt
I know, a warning is not an error, but better more than less information.

oh wow. i mean the thumbnail processing is on the slow side but the raw loading takes 2 seconds per image which is really remarkable. is this a slow hard drive and super highres images? there is also at least one terrible outlier at like 30sec load time (the first.. harddrive spinning up?)
i'll try to reproduce.. maybe the thumbnail threads aren't waking up fast enough in the background there.
re: out of memory: and it works fine without the CR3? i'd suspect the video code path to be less stable..

Hard drive is a SSD. No other disk connected
Images: from R3mk2, 24MP sensor, about 34MB each
out of memory: I tried again and it worked. yesterday I opened that file right after the thumbnail thing - perhaps the memory wasn't cleared then (I didn't have the nerves for more tests yesterday and wanted ad least to pin the error.
I first read the download directory (with the 7 mp4: movies, 17GB at all) and then my normal working directory for images.
I could try the other way to see if it makes any difference.

I used the working directory first,  the download second: it took about 45min.
Some observations:

vkdt seems to work on groups of two images
works on two up to 5 groups, then pause between 30sec and several minutes
thumbnails of movies much faster than thumbnails of images
cpu .25%, only on 4-5% when thumbnails are displayed (I think we expected that)
only when thumbnails are displayed, the amount of disk reads increases (because of the size it must have been the images)

..does it go any faster if you move the mouse to highlight images in
lighttable mode?
On Wed, Jan 31, 2024 at 10:13 AM Heddesdorfer @.***>
wrote:

I used the working directory first, the download second: it took about
45min.
Some observations:

vkdt seems to work on groups of two images
works on two up to 5 groups, then pause between 30sec and several
minutes
thumbnails of movies much faster than thumbnails of images
cpu .25%, only on 4-5% when thumbnails are displayed (I think we
expected that)
only when thumbnails are displayed, the amount of disk reads
increases (because of the size it must have been the images)

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1918689259, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKJESKGKALARKQSBMQLYRIDMTAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYGY4DSMRVHE
.
You are receiving this because you commented.Message ID:
@.***>

ehm...yes...now it took 5min
I'd really like to the reason, Never ever heard of that!

my hypothesis is.. that it's a bs thing with how threading works in vulkan.
since you need to synchronise your access to a VkQueue (submit workloads to
the gpu), i used to put a mutex around it. some more recent nvidia drivers
didn't like this pattern, maybe probably they do something thread local? in
any case i decided to do whatever everybody else seems to be doing in their
game engines, have one single thread dedicated to calling all
vkQueueSubmit. that means the worker threads (thumbnail rendering) need to
submit their work not to the gpu, but to this thread, and make sure it
wakes up to process their request. now this waking up is a bit tricky
because it's different between cli and gui operation.. so it apparently
just doesn't work. waking up the gui thread at least is easy (move mouse)..
(but should be straight forward to fix this)
On Wed, Jan 31, 2024 at 10:35 AM Heddesdorfer @.***>
wrote:

ehm...yes...now it took 5min
I'd really like to the reason, Never ever heard of that!
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1918727001, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKIMP56E4MAIG4WW6Y3YRIF6NAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYG4ZDOMBQGE
.
You are receiving this because you commented.Message ID:
@.***>

I just compiled the daily:
I needed 5 min again (about 1 image / sec), but without mouse moves!

i suppose that's good news. really sad that your raws take so long to
decode. my fuji raws are decoded by rawspeed in 20ms, quite a difference.
On Thu, Feb 1, 2024 at 8:22 PM Heddesdorfer @.***>
wrote:

I just compiled the daily:
I needed 5 min again (about 1 image / sec), but without mouse moves!
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1922062574, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKJA6NXRDKLBMUKYX6LYRPTPNAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRSGA3DENJXGQ
.
You are receiving this because you commented.Message ID:
@.***>

Is this the difference between rawspeed and rawler?
I could not compile rawspeed on my machine...
johannes hanika @.***> schrieb am Fr., 2. Feb. 2024,
08:29:

i suppose that's good news. really sad that your raws take so long to
decode. my fuji raws are decoded by rawspeed in 20ms, quite a difference.
On Thu, Feb 1, 2024 at 8:22 PM Heddesdorfer @.***>
wrote:

I just compiled the daily:
I needed 5 min again (about 1 image / sec), but without mouse moves!
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1922062574,
or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAMAKKJA6NXRDKLBMUKYX6LYRPTPNAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRSGA3DENJXGQ>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923200690, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVZP4GHAX6SSTYUJRICQWBTYRSIV7AVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGIYDANRZGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

i think is a difference between how well some raw formats are suitable for
parallel decoding.
On Fri, Feb 2, 2024 at 11:08 AM Heddesdorfer @.***>
wrote:

Is this the difference between rawspeed and rawler?
I could not compile rawspeed on my machine...
johannes hanika @.***> schrieb am Fr., 2. Feb. 2024,
08:29:

i suppose that's good news. really sad that your raws take so long to
decode. my fuji raws are decoded by rawspeed in 20ms, quite a
difference.
On Thu, Feb 1, 2024 at 8:22 PM Heddesdorfer @.***>
wrote:

I just compiled the daily:
I needed 5 min again (about 1 image / sec), but without mouse moves!
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1922062574,
or
unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAMAKKJA6NXRDKLBMUKYX6LYRPTPNAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRSGA3DENJXGQ>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923200690,
or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AVZP4GHAX6SSTYUJRICQWBTYRSIV7AVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGIYDANRZGA>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923481760, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKNFYMEPYJ5XXCDJMGDYRS3J7AVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGQ4DCNZWGA
.
You are receiving this because you commented.Message ID:
@.***>

OK, before bying the next camera I will look for tests of parallel decoding
of raw formats :) everything else are minor issues.
johannes hanika @.***> schrieb am Fr., 2. Feb. 2024,
11:33:

i think is a difference between how well some raw formats are suitable for
parallel decoding.
On Fri, Feb 2, 2024 at 11:08 AM Heddesdorfer @.***>
wrote:

Is this the difference between rawspeed and rawler?
I could not compile rawspeed on my machine...
johannes hanika @.***> schrieb am Fr., 2. Feb. 2024,
08:29:

i suppose that's good news. really sad that your raws take so long to
decode. my fuji raws are decoded by rawspeed in 20ms, quite a
difference.
On Thu, Feb 1, 2024 at 8:22 PM Heddesdorfer @.***>
wrote:

I just compiled the daily:
I needed 5 min again (about 1 image / sec), but without mouse moves!
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1922062574,

or

unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAMAKKJA6NXRDKLBMUKYX6LYRPTPNAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRSGA3DENJXGQ>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923200690,
or
unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AVZP4GHAX6SSTYUJRICQWBTYRSIV7AVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGIYDANRZGA>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923481760,
or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAMAKKNFYMEPYJ5XXCDJMGDYRS3J7AVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGQ4DCNZWGA>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1923525955, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVZP4GHSTFYGWMUW6EOUSG3YRS6GHAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGUZDKOJVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

I couldn't resist:
I compiled vkdt with rawspeed (3 warnings, but working).
this time vkdt has been very fast...in displaying the bomb for each image.
From the log:
...J12A0440.CR3) virtual void rawspeed::Cr3Decoder::checkSupportInternal(const CameraMetaData *), line 603: CR3 compressor version (CNCV: CanonCR3_001/00.11.00/00.00.00) is not supported

sigh thanks for trying. i guess you're saying it's time to abandon my cr3
rawspeed branch because it's incomplete anyways and go back to vanilla
rawspeed completely without cr3 support.
On Fri, Feb 2, 2024 at 5:13 PM Heddesdorfer @.***>
wrote:

I couldn't resist:
I compiled vkdt with rawspeed (3 warnings, but working).
this time vkdt has been very fast...in displaying the bomb for each image.
From the log:
...J12A0440.CR3) virtual void
rawspeed::Cr3Decoder::checkSupportInternal(const CameraMetaData *), line
603: CR3 compressor version (CNCV: CanonCR3_001/00.11.00/00.00.00) is not
supported
—
Reply to this email directly, view it on GitHub
https://github.com/hanatos/vkdt/issues/108#issuecomment-1924187744, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMAKKPC3QONJXRG4XOW5DTYRUGCPAVCNFSM6AAAAABCQ5UBJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGE4DONZUGQ
.
You are receiving this because you commented.Message ID:
@.***>

sob no rawspeed for cr3 users...

right. fwiw i don't think rawler is much slower, if at all. some raw formats it supports better from what i can tell. the difference between CR2 and (uncompressed) RAF is really the file format itself.
thanks for all the observations here. i think i'll close this as resolved now, please feel free to reopen/open another with any more issues you might encounter.

ok.
imho i think you could communicate, that cr3 support for "new" cameras like r6m2, r8 or r3 doesn't work  with rawspeed, whereas  rawler does. otherwise it could prevent someone from using vkdt. one has just to choose the right library.


Perf improvements

Use custom string wrapper instead new String(),  https://jsperf.com/object-assign-property (yields about 15% perf improvement in benchmarking)

WIP 👷

Coverage decreased (-1.3%) to 96.429% when pulling 46cbd2772c2e01ec2d8557bd4b78365e943bf98c on perf-improvements into ecc5b8e2671c6d8c3a562eb78d4ceee82eb6605f on master.


AzureAD Federated Identity - Pod Identity

Adding the IaC config and sample app configuration to demonstrate this AKS preview feature.

[ ] Configure the cluster to issue tokens.
[ ] Configure app deployments to use Kubernetes service accounts to get Kubernetes tokens.
[ ] Configure Azure AD applications to trust the Kubernetes tokens

Additional context
https://docs.microsoft.com/en-us/azure/aks/cluster-configuration#create-an-aks-cluster-with-oidc-issuer
https://blog.identitydigest.com/azuread-federate-k8s/

Here's what we need to add to the cluster properties to complete step 1
    oidcIssuerProfile: {
      enabled: true
    }


Type inconsistency in an if block at DicomUltrasoundPlugin.py

Hi,
I've found a bug that causes loading a Philips affinity 3d ultrasound file without considering voxel spacing data.
The fix is quite easy. In the if block below there is a comparison between data_element.value.rstrip() and privateCreator values but data_element.value is a bytes object and privateCreator is a string.
My fix:
I've fixed the if block by encoding privateCreator value. privateCreator.encode()
Regards.
def findPrivateTag(ds, group, element, privateCreator):
  """Helper function to get private tag from private creator name"""
  for tag, data_element in ds.items():
    if (tag.group == group) and (tag.element < 0x0100) and (data_element.value.rstrip() == privateCreator):
      return dicom.tag.Tag(group, (tag.element << 8) + element)
  return None

Thank you! Is this fix for Slicer-4.10 (Python2) or Slicer-4.11 (Python3)?
Can you share a small sample data set that I can test on?
@fedorov can you have a look at this, too?

Hi @lassoan ,
I was working with Slicer-4.11 when i had this issue. I grabbed the image from here.
I've checked this for Slicer-4.10 but i got a different error below. I might have installed it incorrectly or need to install pydicom package for Python2 maybe even Python2.
I don't have time to chase it today but if same thing occurs in Slicer-4.10 i think it will solve the issue for both versions.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:/Users/gregor/AppData/Roaming/NA-MIC/Extensions-28257/SlicerHeart/lib/Slicer-4.10/qt-scripted-modules/DicomUltrasoundPlugin.py", line 6, in <module>
    import pydicom as dicom
ImportError: No module named pydicom

pydicom package was called just dicom earlier. A try/except block would need to be added to support both dicom and pydicom names.

I agree with @lassoan - would be best if you could share a sample dataset to test, since this code is indeed working for other datasets. At lest perhaps you could do dcmdump for the file where you experience this issue, and share the private creator field? Is it that your dataset private creator has some non-ASCII characters?

I've fixed this by adding:
  if type(data_element.value) == bytes:
    data_element_value = data_element_value.decode()

This makes the function work with both bytes and string type data_element.value.