Fix for device side log for EnhancedHue attribute under color control cluster.

Problem

Device log displays the old value of Hue attribute when the commands for EnhancedHue attributes are used.
Controller command

chip-device-ctrl > zcl ColorControl EnhancedMoveHue 12344321 1 0 moveMode=0 rate=100 optionsMask=0 optionsOverride=0

Device side log

I (5656383) chip[ZCL]: Hue 171 Saturation 254 endpoint 1

Change overview

Added the fix for the display log.

Testing

Build, flash and commissioned all-clusters-app
Sent EnhancedHue commands
Observed the logs
Device log

I (124713) chip[ZCL]: Enhanced Hue 910 Saturation 0 endpoint 1

This is required for TE4.

@cjandhyala @andy31415 Can we please cherry-pick this ESP32 specific minor change on TE4 branch that just corrects the log? This will avoid the confusion in the color control tests for TE4.

Raised the PR against master branch #8723.


python3Packages.slack-sdk: 3.15.0 -> 3.15.1

Motivation for this change
https://github.com/slackapi/python-slack-sdk/releases/tag/v3.15.1
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, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

3 packages built:

ntfy
python310Packages.slack-sdk
python39Packages.slack-sdk

@ofborg eval


[1842] Update end-of-cycle banner content and conditions for rendering

Context
The End-of-cycle gets underway on the 1 July. The first thing is that candidates with unsuccessful applications will see this banner on their application dashboard and candidate details page.
Changes proposed in this pull request
We are very soon going to do away with the apply_1 and apply_2 distinctions. But because of the time sensitivity with this ticket,  we have had to work within the existing structure, using the apply_2 deadline as the apply_deadline.
I have deleted all the 'phase' related queries as phase is now irrelevant.

Before
After

Guidance to review
The preview is at /view_components/candidate_interface/summer_recruitment_banner_component/twenty_twenty_four
locally
Link to Trello card
https://trello.com/c/OHHgoRn8
Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[x] API release notes have been updated if necessary
[x] If it adds a significant user-facing change, is it documented in the CHANGELOG?
[x] Required environment variables have been updated added to the Azure KeyVault

 Update Summer Recruitment Banner Text


"IF / Else" does not support null on secondary input in workflow builder GUI

Describe the bug
you cannot use an if/else block to do a null object check.
To Reproduce
Steps to reproduce the behavior:

Create a find incident block (look for something that returns null?)
Link it to a if option
In an if statement set param 1 as object, and param 2 null cannot be specified for 'Equals to' and not

Expected behavior
Should be able to check for null.
Screenshots

Desktop (please complete the following information):

Browser chrome, chromium, firefox-sre
Version what ever is on debian sid.

Deployment Type
tested on self hosted
Additional context
see slack for info.

We would be very interested in this too

This should now work. Please let me know if this helps!


Zabbix+Grafana+400 hosts=Connection error

Hello. I'm using Grafana 4.3.2, Zabbix plugin 3.4.0, Zabbix 3.2.2, nginx+php-fpm, RHEL.
I am trying to draw graph with several specific metrics from 400 hosts to aggregate all timeserieses for 3 hours. But I got error "Zabbix API Error. Connection error.".
What reason could be?

Seems, not enough memory for php at Zabbix frontend server. Try to check web server logs (php logs).


Question : artifact of hunted, how to add huntress survival into the spawn list?

How to add huntress survival into the spawn list?

List of bodies to be added. Format is BodyName separated by comma. To specify custom stats, do BodyName:Cost:HPMult(float):DamageMult(float)
Setting type: String
Default value: CommandoBody, Bandit2Body, ToolbotBody, MercBody, MageBody, LoaderBody, CrocoBody, RailgunnerBody, RocketSurvivorBody, CHEF, SniperClassicBody, MinerBody, HANDOverclockedBody, RobPaladinBody, SS2UChirrBody, SS2UCyborgBody, SS2UExecutionerBody, SS2UPyroBody, SS2UNemmandoBody, RobDriverBody, DeputyBody
Spawnlist = CommandoBody, Bandit2Body, ToolbotBody, MercBody, MageBody, LoaderBody, CrocoBody, RailgunnerBody, RocketSurvivorBody, CHEF, SniperClassicBody, MinerBody, HANDOverclockedBody, RobPaladinBody, SS2UChirrBody, SS2UCyborgBody, SS2UExecutionerBody, SS2UPyroBody, SS2UNemmandoBody, RobDriverBody, DeputyBody

I assume is by adding "HuntressBody"?

Yeah, that's correct.
For a full list of available bodies, install DebugToolkit and type body_list in console (Ctrl + Alt + ~).
This list will include both enemies and survivors.

Thank you very much for your kind response.
What does this section actually does in the config file?
Based on my understanding, it's probably referring to "spawn all character I have or added into the game"; or does it does it spawn other characterBody that I haven't yet added into the game? (￣▽￣;)

Allow all survivors to spawn, even if not listed in the Spawnlist.
Setting type: Boolean
Default value: false
All Survivors = false

If my understanding is correct, Then the Main Original Post of the config file code is for pointing out which specific character body is allowed to spawn.
If I am not wrong, the debugtoolkit is the one that pop-up when I attempt to lunch the game.
I'll test out the command as well.
Thank you so much for your guide. It really helps. + Your mod is super fun. ~ (･∀･)/　ﾊｰｲ

All Survivors = false: Only survivors listed in the config will spawn.
All Survivors = true: All survivors in the in-game character select screen will spawn.
The pop-up window when booting up the game is something else.
DebugToolkit commands are run via the in-game console, which requires the previously mentioned key combination (Ctrl + Alt + ~ or ` depending on your keyboard) to open.
Glad to hear you're having fun with the mod!

Fully noted on your kind reply.
My doubt or questions just saw the light of the day.
Thank you very much ~ ''`ｨ(´∀｀∩

All Survivors = false: Only survivors listed in the config will spawn. All Survivors = true: All survivors in the in-game character select screen will spawn.
The pop-up window when booting up the game is something else. DebugToolkit commands are run via the in-game console, which requires the previously mentioned key combination (Ctrl + Alt + ~ or ` depending on your keyboard) to open.


From() should also take channel as input

Instead of taking an array / a slice as input, From() should also take a channel as input. It would provide far more flexibility.
For example,
import . "github.com/ahmetalpbalkan/go-linq"

type Student struct {
    id, age int
    name string
}

func example_usage() {
    ch := make(<-chan Student)
    DBStudentToChan(ch) // some function that outputs to the channel

    over18Names, err := From(ch)
        .Where(func (s T) (bool,error){
            return s.(*Student).age >= 18, nil
        })
        .Select(func (s T) (T,error){
            return s.(*Student).name, nil
        }).Results()
}

@yookoala this essentially changes the entire design of the library. Although this library is called LINQ, it's not actually LINQ as in .NET sense (which does iterators/generators –similar to channels). This library is just a slice/map manipulation utility today.
It's in a corner of my mind to create a “v2” of this library that works entirely with channels. That way we could potentially enable “data pipelines” and that would very likely enable reactive programming paradigm (Rx) in Go.
So for now I'd like to call it “wontfix” but we may, someday. I'm open to contributions to redo the library with this idea as well.

@yookoala we recently merged a v2.0 and it accepts channels.


Agent will not reconnect after network interruption

On OSX if you have the agent running interactively and the network connection is interrupted, the agent will never reconnect.  You have to kill the process an restart it.

That's not the case and I just reverified.
The agent opens an http long poll with the server listening for build messages.  It keeps looping and steps off 15 seconds at a time reconnecting.  Today I verified with disconnecting the network cables, closing the laptop, putting it to sleep etc...  Once it connected back up it started listening again.
A specific build can get interupted but the agent session will reconnect and listen for more messages.
If you have more details and trace logs (_diag folder under the agent) then reactivate.


FlowViz Efficiency potentially duplicating day count between old and columns

Describe the bug
Hi Nick,
I noticed 2 columns showing the same number of calendar days within the FlowViz Efficiency Time in Column Bar Chart. Upon drilling down into the data it appears that the time in column is duplicated. Note that In SA Design was the old name of the column, unfortunately I cannot remember precisely when I changed it.
Would it be safe then to simply ignore any data in 'old columns', knowing that it is simply a duplication ? Is there anyway to remove the 'old columns' from the data to avoid confusion?

If there is data for that column name there must be a board somewhere that
has/had that value, it might be a case of area paths spanning multiple
boards but it's hard for me to replicate that setup with the projects I
have :/
Assuming that you are filtering by team in the first instance?
On Tue, Jan 9, 2024 at 10:56 AM jenniferrosemitchell21 <
@.***> wrote:

Describe the bug
Hi Nick,
I noticed 2 columns showing the same number of calendar days within the
FlowViz Efficiency Time in Column Bar Chart. Upon drilling down into the
data it appears that the time in column is duplicated. Note that In SA
Design was the old name of the column, unfortunately I cannot remember
precisely when I changed it.
Would it be safe then to simply ignore any data in 'old columns', knowing
that it is simply a duplication ? Is there anyway to remove the 'old
columns' from the data to avoid confusion?
image.png (view on web)
https://github.com/nbrown02/FlowViz/assets/134519976/3d2b99e9-79c6-425b-9801-473b55a64b90
image.png (view on web)
https://github.com/nbrown02/FlowViz/assets/134519976/d7776a1c-4371-4b3b-a52d-2cca59777b86
image.png (view on web)
https://github.com/nbrown02/FlowViz/assets/134519976/dc87f862-3167-414c-8de0-f4a74e61ac50
—
Reply to this email directly, view it on GitHub
https://github.com/nbrown02/FlowViz/issues/115, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHACM2S2W53ZTPDOEJIKHW3YNUO67AVCNFSM6AAAAABBS4543SVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3TEMJTGA3TSNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Closing as not a bug, template is just visualizing information that exists in the dataset

Hi Nick, yes filtering by Team. The board has been renamed so I do expect to still see the 2 columns. I would expect to see different dates though. i.e. a ticket is in the column for 10 days and I changed the column name halfway through. In this case I I would expect to see 5 days count in the old column name then 5 days count against the new column name. But from the data set the dates are the same.


Now Playing Denon only reads from deck 2 on Prime Go

All events are being read from both sides, but when loading a track onto deck 1, it instead copies the name from deck 2
from denon_poller.exe - loading a song onto deck 2:
2021/03/10 20:34:34 <IP_ADDRESS>
2021/03/10 20:34:34 <IP_ADDRESS>
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)

loading a different song onto deck 1:
2021/03/10 20:34:34 <IP_ADDRESS>
2021/03/10 20:34:34 <IP_ADDRESS>
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:34:34 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:21 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:22 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:22 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:22 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:22 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)
2021/03/10 20:36:22 <IP_ADDRESS> Gloria Estefen & Miami Sound Machine Conga (12″ Dance Mix)

It is able to read that a song is being loaded, but it seems to read the track title from deck 2 instead of deck 1

So it may be that the fader is still up on deck 1? If you bring the line fader down it should report out what’s on deck 2. Also there a few improvements I’ve made that I’ll post here soon that should help with reporting out all four decks and at the right time.

It may also be that deck 1 has been left in a loop, or the crossfader is slightly over on that channel even though you aren't using it.

Yep, the crossfader was the issue. Disabled it because I only mix with the line faders but it was slightly over onto deck 2. Good catch!


Possibility of building for WebAssembly?

As the title says, is there any possibility building a project using raylib-zig to wasm ? Any examples of how to accomplish this?

Should be possible, at least with some hacks. Raylib currently uses emscripten for web apps iirc. I'll check on this when I get back from vacation later this week.

I'd also like to know. I would like to try Zig in a gamejam but I think WASM is essential for that.
Any news on this front?

Currently not possible, since raylib's build.zig only offers support for Windows, Linux, macOS and *BSD. I have created an issue on its repository: https://github.com/raysan5/raylib/issues/2884

raylib now has support for building for emscripten since https://github.com/raysan5/raylib/pull/2901 was merged, but Zig can't generate the required extra files that create the required JS functions (for OpenGL etc.) so at least the link step for the final "executable" has to be done with emscripten.
On the Zig side https://github.com/ziglang/zig/issues/10836 tracks this issue.

I was able to get it to work: https://github.com/bluesillybeard/ZigAndRaylibSetup
It's a hassle to set up and it's also pretty janky, but it does work.

If you can neatly integrate it into the current build script, don't hesitate to open a PR

Fixed in #52


Cannot install capa from sources

Description

I am running on linux on aarch64 so cannot use the pre-compiled capa
Created and activated my venv and entered the "pip install -e /filepath/to/git/clone" command.
Install failed with the error:
INFO: pip is looking at multiple versions of viv-utils[flirt] to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following versions that require a different python version: 0.1.0 Requires-Python <3; 0.1.0rc1 Requires-Python <3; 0.1.0rc2 Requires-Python <3; 0.1.0rc3 Requires-Python <3; 0.2.0 Requires-Python <3; 0.2.1 Requires-Python <3
ERROR: Could not find a version that satisfies the requirement python-flirt==0.8.6; extra == "flirt" (from viv-utils[flirt]) (from versions: none)
ERROR: No matching distribution found for python-flirt==0.8.6; extra == "flirt"

Steps to Reproduce

source bin/activate

pip install -e /filepath
Expected behavior:

capa would be created
Actual behavior:

Error shown above
Versions
git repository cloned on 22 November 2023
$ python --version
Python 3.12.0

Fedora linux version 39 on aarch64
Additional Information

Are you trying to install the binary inside the virtual environment?

This is happening because of a dependency issue of Python 3.12

@Anu-Ra-g is correct. Also see #1854. In the meantime you'd need to use Python 3.11 for example.

Closing due to inactivity. Please reopen if this still is an issue.


AttributeError: 'JaCLIPForBenchmark' object has no attribute 'eval'

Thank you for your work. When I tried to use my own model for benchmark experiments with reference to open_clip.py, an error occurred during model.eval(). I also encountered the same error when running the ja_clip example provided in the readme.
python3 clip_benchmark/cli.py eval \   --model_type "ja_clip" \   --pretrained "rinna/japanese-cloob-vit-b-16" \   --language "jp" \   --task "zeroshot_classification"  \   --dataset "imagenet1k"  \
Error：

I used weights that are consistent with open_clip, but only replaced the .bin and config files. Can you advise me on how to properly load the weights?

It seems like JaCLIPForBenchmark is not an torch.nn.Module, can you maybe share your code ?


MINOR:Updated Rabobank description

@dguy Please review

hi @manjuapu, can you rebase to resolve the conflict?

@dguy resolved conflicts

Thanks @manjuapu, LGTM

Hi @manjuapu, i merged to trunk, but i couldn't cherry-pick to 0.11.0 due to conflicts that i wasn't sure how to resolve. I think the image for new york times may have a different name. Could you please raise a PR against 0.11.0? Thanks


Is there a parameter for dropdown parent container?

I've searched the docs, but I can't find a parameter to attach the dropdown to specified parent. Currently I open the dropdown inside a modal and the dropdown is cut off. Is there a way to get around this?
Thank you!

This has been an issue for years. Would really love to finally have a fix for this, we are considerating changing libraries because of this and it would mean a week of work at least.


cmake generate step failed on linux

What happened?
When I followed the build instructions on the website using command as follows
cmake -GNinja -B ../iree-build/ -S .
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DIREE_ENABLE_ASSERTIONS=ON
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DIREE_ENABLE_LLD=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
it turns out a failure of missing variable and cmake generate step failed.
-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - /usr/local/cuda/bin/nvcc
-- The CUDA compiler identification is NVIDIA 11.4.152
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- IREE custom_dispatch/vulkan/shaders ignored -- glslc not found
-- Configuring done
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
my nvcc version is
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_21:27:02_PDT_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0
Can you help me fix this correct, thanks~
Steps to reproduce your issue
git clone to my own pc and
cmake -GNinja -B ../iree-build/ -S .
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DIREE_ENABLE_ASSERTIONS=ON
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DIREE_ENABLE_LLD=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
What component(s) does this issue relate to?
Other
Version information
the newest version cloned
Additional context
No response

I solved this problem by add set(CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION ON)
to CMakeLists.txt.


"You must install .NET Desktop Runtime to run this application." (LINUX)

Describe the bug.
The manager will not start on Linux, even though i installed all the required runtimes
To Reproduce
Steps to reproduce the behavior:

Download the mod manager and rename it to Launcher
Start SA2
Manager refuses to aknowledge .NET 8 is installed
See error

Expected behavior
The loader actually starts
Screenshots

Desktop (please complete the following information):

OS: Linux Mint
Version: 22 Wilma

The program is a Windows only program at this time. You have to run it with something that works as a Windows layer. If you already are, then the issue is with getting .NET installed on it.
You should also absolutely not replace the Launcher with the Mod Manager. It will cause issues when trying to update the Manager. If you want the game to boot through Steam and skip the native Launcher, add the launch option -q in Steam.


Remove platform constraint from CephObjectStore

In the spirit of embracing alternative outcomes for the OCS experience, we discussed providing a means to disable or ignore the platform detection logic that currently prevents CephObjectStore deployments in the public cloud. The reconcileStrategy functionality that was introduced to lend more control over which OCS components are deployed, seems like a natural way to do this, even if we decide we should continue to not install a CephObjectStore by default.
The intent of course is not that this be some hidden flag for folks at Red Hat to use, but rather a choice that customers can make and that the result would be a fully supported configuration.

Sorry I'm just getting around to this, but please open a Jira issue instead. GitHub issues are not very well tracked.

Sorry I'm just getting around to this, but please open a Jira issue instead. GitHub issues are not very well tracked.

/remove-lifecycle stale
On Tue, Apr 13, 2021 at 11:58 OpenShift Bot @.***>
wrote:

Issues go stale after 90d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually
close.
Exclude this issue from closing by commenting /lifecycle frozen.
If this issue is safe to close now please do so with /close.
/lifecycle stale
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/ocs-operator/issues/960#issuecomment-818979407,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFKIG5YGYDC4S7ARKKJFOLTISH4BANCNFSM4U5BCBHQ
.


Feature/text clustering additions

Description
Checklist

[ ] Added link to Github issue or Trello card
[ ] Added tests

Codecov Report

Merging #150 into master will increase coverage by 0.10%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #150      +/-   ##
==========================================
+ Coverage   79.04%   79.14%   +0.10%
==========================================
  Files          39       39
  Lines        1923     1942      +19
==========================================
+ Hits         1520     1537      +17
- Misses        403      405       +2

Impacted Files
Coverage Δ

wellcomeml/__init__.py
100.00% <ø> (ø)

wellcomeml/ml/clustering.py
88.59% <80.55%> (+0.12%)
:arrow_up:

wellcomeml/datasets/__init__.py
100.00% <100.00%> (ø)

wellcomeml/io/__init__.py
100.00% <100.00%> (ø)

wellcomeml/metrics/__init__.py
100.00% <100.00%> (ø)

wellcomeml/ml/__init__.py
93.10% <100.00%> (ø)

wellcomeml/spacy/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Mobile Phones - SelectboxIt clickable even when behind other elements

Hello.
I am experiencing an issue with SelectboxIt on mobile phones. Its clickable behind other elements.
Example site (sorry its in swedish):
https://harnopizzeria.se/
The selectboxit is clickable through the cart at the bottom and also the "Till kassan" button after you add a product.
I've tried to prevent bubbling with e.stopPropagation() and e.stopImmediatePropagation() on the "Till kassan" button and even the cart itself, without success. No matter what i do i can activate the selectboxit through the cart. No other elements behave this way.
Any ideas?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Fixed.
.selectboxit-container .selectboxit-options had a very high z-index, 999999. Had to make sure my cart had a higher z-index.


Update GmbH to AG

Readiness checklist

[ ] I added/updated tests.
[x] I ensured that the PR title is good enough for the changelog.
[x] I labeled the PR.

I just saw there is a test for IdentityAttributes that uses "j&s soft GmbH" as value for an organization. @jkoenig134  If you want to be thorough, you could update it, too. But if you don't care since it's not important, I'm fine with approving this PR as it is. I just wanted to let you know before approving it, since you enabled auto-merge. :)

hmm, I updated that :O I cannot find GmbH anywhere in the code.

@Milena-Czierlinski https://github.com/nmshd/runtime/pull/316/files#diff-37a75817d003e40b026fd90e96ddaa070af4b66440a29f7079a850598ce46e8c


Create a Simple IoT Device Model

Tutorial URL: https://developers.sap.com/tutorials/iot-express-2-create-device-model.html
Please specify the step you are referring to
Step 1: Log into your IoT service instance
->Login with your user name and password (in the cloud cockpit you can find the root user credentials in the cloud foundry space in the service key area of the service instance)
This is not correct. In order to proceed, one should log in with the user credentials, which was created in Internet of Things Service Cockpit and assigned under Tentant. When using the root (as the guide suggests) Device Management is not available.

Yes, this is correct - this has changed in the product. I will update the tutorial accordingly.

@marcuscbehrens Has the tutorial been updated?

@marcuscbehrens any updates?

@marcuscbehrens any updates?

Have changed it and will put in a pull request for the change as soon as my toolchain is up and running (again).

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


swagger.json file not found after update

Is there an existing issue for this?

[ ] I have searched the existing issues

Describe the bug
My application works fine completely with version 8.0.0 but when I upgrade to version 8.1.0 the swagger/index.html will load but it says :
Fetch error
Not Found /swagger/v1/swagger.json
Expected Behavior
No response
Steps To Reproduce
i dont change anything at the configuration at all except package version.
the result with v 8.0.0:

and with v 8.1.0:

Exceptions (if any)
No response
.NET Version
8.0.204
Anything else?
No response

This isn't very much information to go on. What's the error? It will be reported to the console. My initial guess is that there are  two or more types with the same name, but in different .NET namespaces. A namespace is meaningless to an OpenAPI document and will lead to a naming collision.
Sharing a repro or, at least, your configuration would be helpful.

The configuration looks ok. I presume you are using Minimal APIs; otherwise, you don't need EnableApiVersionBinding(). Which IDE are you using? VS? VS Code? If it's not going to the console, there should be something going the debug output. When I've see Swashbuckle errors in the past, that's how I determine the problem.
It might be worth checking the Break On All Exceptions option so that you see any First Chance Exceptions. If you can't see or find an error, is there any way to get a bare bones repro? An exception is happening, but I don't know what it is or how to help you find it. Once I know that the error is, I can provide more guidance.

Gotcha. Yes, the would work when the APIs are called directly. This is specifically limited to generating the OpenAPI document via Swashbuckle. My recommendation would be to comment all of the APIs save one. Run it and make sure the OpenAPI document is generated and the Swagger UI comes up. Assuming that works, continue uncommenting one API at a time until you find the offending API that is causing the problem. If you can share the signatures or definitions of the offending APIs, I might be able to provide better direction.

Glad you found a solution. You should be able to use a group name though. API Versioning will collate and use the API version as the group name by default, but you are supposed to be able override and/or combine the two. I don't messing with a lot of configurations for Minimal APIs, but it should work. As I recall WithGroupName should register the same metadata as [ApiExplorerSettings(GroupName="")]. I may need to take a peek to verify things are working correctly. Thanks for providing all of the details.


how to  Fully rendered Axis X or Y ?

I want to accomplish this effect

but now is

How should set ?

help

Hi, it is calculated automatically, if there is no enough space some of labels will be skipped. I'm afraid you will not achieve desired result using my library.
You can try to change font size or use for example Axis.setMaxLabelChars(2);

Thanks ,  change font size Can achieve results.

@lecho Thanks , change font size Can achieve results.

@lecho Thanks , change font size Can achieve results.


Checkpoint link

Hi, Thank you for providing the program. I would like to ask if it is possible to fix the checkpoint link at the bottom of the README. Much appreciate!

Sorry but I don’t have that… Years ago the model code has been updated but we haven’t save those checkpoints for the new code.


Can´t connect  Permission denied: no further information

Driver version

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>6.2.2.jre8</version>
    </dependency>

SQL Server version

Microsoft SQL Server 2008 R2 (SP3-GDR) (KB4057113) - 10.50.6560.0 (X64)
Dec 28 2017 15:03:48
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1  (Build 7601: Service Pack 1) (Hypervisor)
Client Operating System

Windows
JAVA/JVM version

1.8.0
Azure function Operating System Windows jdk8
Table schema

Problem description
i cant connect to a database from java  ,however in c# using sqlclient package I can.
Connection string  using sqlclient  in c#:
this works
Server=<IP_ADDRESS>\bdm,61862; Initial Catalog=myDatabase;
but when I use java cant connect.
I tried with many connection strings,
Connection String 1
jdbc:sqlserver://<IP_ADDRESS>\bdm:61862;databaseName=myDatabase;
Error
Exception: The TCP/IP connection to the host <IP_ADDRESS>, port 61862 has failed. Error: "Permission denied: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
Stack: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host <IP_ADDRESS>, port 61862 has failed. Error: "Permission denied: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:284)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2435)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:635)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2010)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
Connection String 2
jdbc:sqlserver://<IP_ADDRESS>\bdm;databaseName=Interfondos;
Error
Exception: The connection to the host <IP_ADDRESS>, named instance bdm failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434.  For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
Stack: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host <IP_ADDRESS>, named instance bdm failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434.  For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
Connection String 3
jdbc:sqlserver://<IP_ADDRESS>:61862;instanceName=bdm;databaseName=Interfondos;
Error:
Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result: Application Exception
Exception: The TCP/IP connection to the host <IP_ADDRESS>, port 61862 has failed. Error: "Permission denied: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
Stack: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host <IP_ADDRESS>, port 61862 has failed. Error: "Permission denied: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:284)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2435)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:635)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2010)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
Connection String 4
jdbc:sqlserver://<IP_ADDRESS>;instanceName=bdm;databaseName=Interfondos;
Error:
Exception: The connection to the host <IP_ADDRESS>, named instance bdm failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434.  For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
Stack: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host <IP_ADDRESS>, named instance bdm failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434.  For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:5241)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1916)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1669)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)

Any other details that can be helpful:

JDBC trace logs

Reproduction code

    try {
        Connection conn = DriverManager.getConnection(dburl,dbuser,dbpassword);
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select 1");
        context.getLogger().info(rs.toString());
    }catch (Exception e){
        context.getLogger().log(Level.SEVERE,"Application Exception",e);
    }

hi @JohelCastilloV
Can you please check if you have TCP/IP enabled on your SQL Server?

If so, can you please try to see if you can connect with the same connection string and user/password using SSMS?

hi @lilgreenbird
I'm in the same team with @JohelCastilloV.
Yes we can connect via SSMS with the same user/password, with a connection string from a .Net Function and even from the CMD console of the same Java Function using sqlcmd.

That is very strange. I noticed you are using a very old driver version could you please try with the latest?
Also, could you check your firewall configuration to see if it's only allowing certain apps? If possible could you run the test with the firewall disabled?

hi @vient0
This is really strange. Can you help me understand your environment, where is this SQL Server hosted and where are you running the client code? Windows NT 6.1 is Windows 7, the SQL Server 2008 R2 docs states that the min requirement is Windows Server 2012 or Windows 8. Windows 7 has reached end of life it's no longer in the driver's support matrix. Having said that however I'm surprised that it wouldn't connect at all tho. Can you upgrade the OS and the latest SQL Server version? Or do you have another SQL Server you could try?
You mentioned you have a case with Azure support are you running these in an Azure VM? Is the client code run from another VM? If so, you have to add that VM to the firewall rules on the portal. I believe you can't simply open all ports there is an auto deny all rule that kicks in automatically. Are you connecting via SSMS from within the same machine/VM as the client code? I'm just thinking of different possibilities as this is very strange I can't think of any good reasons why this isn't working there must be something special about your environment?
Could you also enable logging on the driver and provide the logs?

Closing due to inactivity. Please let us know if you have further updates and would like us to re-open this issue.

Sorry for the late response. We were able to find the solution by changing the Hybrid Connection from IP addresses to DNS names. Either way it was very strange but we hope this solution helps anyone with the same error.

that's good to know you've resolved your issue, thanks!


Fixes the tau random variable thrice

The example of a PyMC stochastic variable was using tau three times and not the two lambda variables at all. This makes it clearer that they are all PyMC stochastic variables.

The point of this line was to show that calling .random() would indeed return different results each time. Could you change it so there are three print statements?
print tau.random(), tau.random(), ...
print lambda_1.random(), ...
...


Export snapshots right after each network upgrade on mainnet

Issue summary
To test migrations, we need snapshots at 100 epochs after each network migration. Verifying a migration can then be done by loading the snapshot and re-validating the last 200 epochs. (Jumping back 200 epochs is safe if the snapshots are exported with 2000 recent state roots.)
For calibnet, it was possible to sync from genesis and export snapshots at each migration point. The same approach will not work for mainnet as it requires ~14TB of storage and months of CPU time. Possible alternative approaches include:

Download the state-roots directly from IPFS. Each CID has to be downloaded individually which may be prohibitively slow.
Find a store of historical snapshots.
Pay for a full snapshot. This page may contain a link to a downloader-pays S3 bucket: https://docs.filecoin.io/networks/mainnet/details/

Snapshots to be exported:

[ ] NV15 1_594_680 + 100
[ ] NV16 1_960_320 + 100
[ ] NV17 2_383_680 + 100
[ ] NV18 2_683_348 + 100
[ ] NV19 2_809_800 + 100

Other information and links

We now have access to the entire graph (all epochs). Closing.


keyboard shortcuts not saved

in 0.18.4, keyboard shortcuts are not saved in config.json
Other settings are

thanks!


[Backport 1.22] stateful session: allow empty filter config (#20960)

Commit Message:
Backport https://github.com/envoyproxy/envoy/pull/20960 to 1.22. Check https://github.com/envoyproxy/envoy/pull/20960#issuecomment-1134572736 for some more context.
Additional Description: n/a.
Risk Level: Low.
Testing: n/a.
Docs Changes: n/a.
Release Notes: n/a.
Platform Specific Features: n/a.

/retest

Hi everyone! Thank you very much for the backport.
Could you please tell me, why there is still no envoyproxy/envoy-alpine build with v1.22 in docker hub? Can it be published?

@iglin alpine support was deprecated some time ago and is now discontinued - consider using the distroless image instead


How to measure an event loop overhead?

I'm writing a pure PHP equivalent of libpq that uses RevoltPHP v0.2.1 and Amp v3 (latest beta).
And after I implemented the basic things like sending queries/reading rows, I decided to profile the performance.
And then I saw that the most time is spent on calling Fiber::suspend:

If I understand correctly, Fiber::suspend time includes I/O wait time.
But is there any way to see only I/O wait time?
When I tried to compare my performance results with the same bench, but using the pgsql PHP extension, it was almost twice as fast.

The overall time is > 100% so you're likely using a benchmark tool that doesn't have proper support for fibers?

@kelunik I use xdebug 3.1.2 as profiler, doesn't it support fibers?

That should be fine, Fibers are supported there as of 3.1.0.

@kelunik hmm, then I don't know what is going wrong with >100% overall time, btw I guess we can refer to "Own Time"


Expose preferred content width and height

When subclassing MSDrawerController in an app, I followed the example of MSPopupMenuController, but came to issues when setting the size.
I was able to use preferredContentSize initially, but this caused an error with the rendering (the content would not be visible and the drag handle would jump around when dismissing interactively).
So instead I tried to override preferredContentWidth and preferredContentHeight as is done in MSPopupMenuController, but wasn't able to as these properties were not declared as open.
This PR exposes those properties with the open keyword.

Hi! @ricsantos , we are deprecating this repo and started to collaborate on "https://github.com/microsoft/fluentui-apple". do you mind creating the same PR in that repo, please? If you are using cocoapod, https://cocoapods.org/pods/MicrosoftFluentUI with the new module name "FluentUI". Thanks!

Ok will do 👍

New PR: https://github.com/microsoft/fluentui-apple/pull/26


publications -> selected = true: Some logical inconsistencies

Whenever the Selected Publication widget is set active = true and one chooses selected = true for a certain publication, then I think I noticed some logical inconsistencies:

parameters: image_preview and [header]

If the parameter image_preview points to a picture and the [header] parameters are empty, then there is no image in the page where the header image normally is shown. I think this is a correct behaviour.
But when there is a header image and the image_preview is empty, then the image_preview shows the same image as in the page with the header image. I think this as a wrong behaviour. There should be no image.

parameters: abstract and short_abstract

When there is only a (long) abstract, then the text in the selected publication and full publication view is the same. I think this is correct.
But if there is no additional text after the toml header, then both views are redundant. In that case there should be no link from the preview to the full publication view.

Hopefully this observations are correct and helpful to you.

This is by design - the thumbnail for the page will be generated from the header/featured image similar to many other popular CMSs. If this is undesired, I suggest not using a header image and instead inserting an image at the top of the body of your content using Markdown/Shortcodes.

This is for a consistent user experience and also there can be further details and functionality on the publication's page (such as Markdown content, social sharing, link to other publications of that type etc.). Also, having a stand-alone page for each publication may improve search engine optimisation.

I see, thank you for your answer!


[publish] (Integrated Apps) Promote Integrated Apps and leverage Admin docs

Integrated Apps is now the preferred way for admins to deploy add-ins across their organization. This PR promotes that path over Centralized Deployment (which is now only for older or on-premises M365 setups).
The PR also seeks to leverage the admin docs, instead of duplicating the content in the add-ins docs.

Docs Build status updates of commit fa485ce:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded
View

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/outlook/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
:white_check_mark:Succeeded
View

docs/publish/publish.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 04463ce:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded
View

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/outlook/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
:white_check_mark:Succeeded
View

docs/publish/publish.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2239446:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded
View

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/outlook/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
:white_check_mark:Succeeded
View

docs/publish/publish.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@ElizabethSamuel-MSFT, could you please take another look at this PR? I added links to more information about actually integrating apps.

Docs Build status updates of commit 3665642:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded
View

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/outlook/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
:white_check_mark:Succeeded
View

docs/publish/publish.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1226378:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/concepts/requirements-for-running-office-add-ins.md
:white_check_mark:Succeeded
View

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/outlook/privacy-and-security.md
:white_check_mark:Succeeded
View

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/publish/publish-task-pane-and-content-add-ins-to-an-add-in-catalog.md
:white_check_mark:Succeeded
View

docs/publish/publish.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[Feature]: Support custom tokens

For Ledger Live Desktop
ledger-live-desktop
Describe your feature request
Support custom tokens
For example, Rocket Pool ETH is not yet supported on Ledger Live Desktop.
It would be great to be able to have a way to import tokens like in Metamask

I can try to make a PR if this is request is popular
Many thanks!

please contact our official support to request adding more crypto assets in Ledger Live. Unfortunately, we are not directly managing Ledger Live's feature requests on this Ledger Live Github repository but you can request it to our custom support and/or contact us on our Ledger Slack Devs (if you are a developer and have access).
Thanks.


Uncaught TypeError: Cannot read property '0' of undefined

[Enter steps to reproduce:]

use the git pull command on a repository that has diverged
...

Atom: 2.4.2 x64
Electron: 1.3.13
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property '0' of undefined
At C:\Users\Caleb\AppData\Local\learn_ide\app-2.4.2\resources\app.asar\node_modules\learn-term.js\src\term.js:1306

TypeError: Cannot read property '0' of undefined
    at TerminalWrapper.Terminal.refresh (/app.asar/node_modules/learn-term.js/src/term.js:1306:18)
    at TerminalWrapper.Terminal._cursorBlink (/app.asar/node_modules/learn-term.js/src/term.js:1422:8)
    at _blinker (/app.asar/node_modules/learn-term.js/src/term.js:1439:10)

Commands
     -1:14.3.0 learn-ide:focus (atom-workspace.workspace.scrollbars-visible-always.compact-tab-bar.no-tab-min-width.panel-shadows.panel-contrast.use-animations.compact-tree-view.paint-cursor.theme-atom-material-syntax.theme-learn-ide-material-ui)

Non-Core Packages
integrated-learn-environment undefined

Thanks for contributing!
It appears that this is being caused by Learn IDE, not Atom itself. It may be that there is still a bug in Atom. If so, we'll need the maintainer of Learn IDE to help track that down. You should file this issue on their repository so they can either fix the problem or tell us where the problem is coming from. The Atom FAQ has information on how to contact the maintainers of any Atom community package or theme.


Add a Gitter chat badge to README.md

justin808/react-webpack-rails-tutorial now has a Chat Room on Gitter
@justin808 has just created a chat room. You can visit it here: https://gitter.im/justin808/react-webpack-rails-tutorial.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

@dylangrafmyre @mbreining @alexfedoseev @geoffevason Any opinions on this one?

Another place to chat? You're going to run out of browser tabs...  I suppose if a slack like experience is good to discuss this specific repo is what you want, then it's okay - but keeping conversations on github is probably better imho

@justin808 Since we have our gitter link in the ReadMe, we should just add this badge and remove the link. I think it will be easier for people to spot and use. I can fix the conflicts and merge?

Sound fine. I log in every once in a while to gitter.

If we don't have many use gitter, why don't we just stick with slack and we already have many members are online in slack already.
https://github.com/rauchg/slackin

I agree with @samnang, but if we keep a link to gitter on the ReadMe we are better off with the badge.

I'm indifferent on this one. We invite people to slack. Anybody can chat on gitter.


"Stop generating"

Describe the feature
Hey, I think it would be nice to add a "stop generating" option to save time and money

I didn't notice it is available already

How do I close this option?


Emdros 3.9.0 does not compile on AMD.

Hi Ulrik. Thanks for releasing Emdros 3.9.0.
However, I have a problem with compiling Emdros for AMD.
I can compile it for ARM.
By the way: I can compile 3.7.3 in both environments.
I'll add the details in subsequent comments.

I use Rancher Desktop as build engine.

When I build for the mac (ARM), I give this command:
docker build --no-cache -f Dockerfile -t shebanq:${dockertag}-loc .

and it works.

This prevents me to upgrade SHEBANQ to Emdros 3.9.0.

By the way, although I configure --with-sqlite3=no the build process spends several minutes on compiling sqlite3-related cpp files.

Hi Dirk,
thanks for pointing out these issues.
I am working on it.
Kind regards,
Ulrik

Good to hear, Ulrik!
Tell me if you need me to do some experiments.


Could not resolve project :react-native-queue-it

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:mergeDebugAssets'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve project :react-native-queue-it.
     Required by:
         project :app
      > No matching configuration of project :react-native-queue-it was found. The consumer was configured to find a runtime of a component, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but:
          - None of the consumable configurations have attributes.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org/

BUILD FAILED in 14s

Any update on this issue? I am also facing this now.

Thank you for using our SDK and your post here.
We are not able to re-produce the issue. Would you please try the recommended solutions here
If the issue is not solved yet, please provide more information about how to re-produce the issue, so we can help.


Scan Machine-Readable Passport / Zone (MRZ)

Hi,
Is it possible using ZXing to scan Machine-Readable Passport / Zone (MRZ) and parse the result?
How?
Thanks,
Jassim

If ZXing.Net doesn't support it upstream, neither will this (and it appears it's not supported).


What is the difference between dec.String() and dec.DecodeString()

I've noticed that in many cases using dec.DecodeString() eventually leads to InvalidJson error, while parsing the same json and using dec.String() works perfectly. The only difference between them that I see is
dec.called |= 1
Same with DecodeInt vs Int, DecodeArray vs Array and etc.
Can you, please, help me understand why do you need them both.

I'm not the author but I believe that it's tied to whether you are handling a root element or not.
Where methods prefixed with Decode are to be used on the root element, and all sub elements are to be decoded with the methods that don't have that prefix.
I think that dec.called |= 1 refers to skipping the expression closing char (for example, }), which allows us to continue to the next element.
If you call a subelement with dec.DecodeSomething, the closing character isn't skipped, and so when handling the next element the parser will try to parse the end of the last expression (}) instead of the opening of the next expression ({).
If you call a subelement with dec.Something, the character the closes the expression is included.


⚠ SceneTime has degraded performance

In 4234d61, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1062 ms

Resolved: SceneTime performance has improved in 24a6bb1 after 10 minutes.


Remove hard coded option names

for review by @nlhepler

Rather than an OptionsNames.h, keep the option names defined where they are used. If you want to make it obvious what they are, feel free to hide them under a common namespace.


bracket type inference problem when acquire E is subtype of use E

  def test: Task[Double] = {
    val acquire: ZIO[Any, Exception, Int] = ???
    val use: Int => ZIO[Any, Throwable, Double] = ???
    val cleanup: Int => ZIO[Any, Nothing, Unit] = ???
    acquire.bracket(cleanup)(use)
  }

Currently it doesn't compile because use is expected to be ZIO[Any, Exception, Int].
Should work when acquire E is subtype of use E and when use E is subtype of acquire E.
EDIT:
R type inference fails here:
type Resource = Unit
val acquire: ZIO[Any, Nothing, Resource] = ???
val release: Resource => ZIO[Any, Nothing, String] = ???
val use: Resource => ZIO[Unit, Nothing, Int] = ???
acquire.bracket(release)(use): ZIO[Unit, Nothing, Int]
ZIO.bracket(acquire)(release)(use): ZIO[Unit, Nothing, Int]

~Let me try to solve this puzzle.~

Well, if anyone can implement it, don't wait for me. I have to master variance and type-inference before being able to implement it.

This would be a good test to add!

It looks like this has been fixed with the latest changes to bracket.


executor only calling subscription callback when 2 datapoints are available

Hardware description: micro-ros on Teensy 4.1
RTOS: Linux with PREEMPT kernel

I am sending 100 datapoints from the computer to the teensy at 100Hz at the topic control using rclpy
Running ros2 topic hz /control confirms me that data is indeed sent at 100Hz.
At the Teensy, i am recording when the subscription its callback is called by using millis()
Then after all the data is received, i sent the 100 time instances from when the data was received back to the computer on the topic deltat.
Then i take the finite differerence of the timepoints, to get the difference in time between samples being recieved by the Teensy.
Since I send data at 100Hz, I suspect these finite differences to be [10,10,10,10....] (in milliseconds)
But I get [20, 0, 20, 0, 20, 0, 20, 0...]
So i guess my callback on the Teensy only executes when it receives 2 datapoints, although i have ON_NEW_DATA
I tried playing a bit with the qos of the subscription at the side of the Teensy, but it didn't do anything.
As a second question, sometimes there are big spikes in the [20, 0, 20, 0, 20, 0, 20, 0...]
Sometimes I get something more like [20, 0,  ....  ,1450, 153, 0, 20, 0, 20, 0...]
My code on the side of the Teensy is:
#include <micro_ros_arduino.h>

#include <stdio.h>
#include <rcl/rcl.h>
#include <rcl/error_handling.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>

#include <std_msgs/msg/int32.h>
#include <std_msgs/msg/int32_multi_array.h>

rcl_publisher_t publisher;
rcl_subscription_t subscriber;
std_msgs__msg__Int32 msg;
std_msgs__msg__Int32 deltat_msg;
rclc_executor_t executor;
rclc_support_t support;
rcl_allocator_t allocator;
rcl_node_t node;
rcl_timer_t timer;
int nr_data;
int times[100] = {-1};

#define LED_PIN 13

#define RCCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){error_loop();}}
#define RCSOFTCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){}}

void error_loop(){
  while(1){
    digitalWrite(LED_PIN, !digitalRead(LED_PIN));
    delay(100);
  }
}

void subscription_callback(const void * msgin)
{
  const std_msgs__msg__Int32 * msg = (const std_msgs__msg__Int32 *)msgin;
  if (nr_data < 99) {
    nr_data+=1;
  }
  times[nr_data] = millis();

}

void setup() {
  set_microros_transports();

  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, HIGH);

  delay(2000);
  nr_data=-1;
  int i = 0;
  for (i = 0; i < 100; ++i) {
    times[i] = -1;
  }

  allocator = rcl_get_default_allocator();

  //create init_options
  RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));

  // create node
  RCCHECK(rclc_node_init_default(&node, "teensy_control", "", &support));

  // create subscriber
  //RCCHECK(rclc_subscription_init_default(
  //  &subscriber,
  //  &node,
  //  ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32),
  //  "control"));
  rcl_subscription_options_t my_subscription_options = rcl_subscription_get_default_options();
  my_subscription_options.qos.history = RMW_QOS_POLICY_HISTORY_KEEP_LAST;
  my_subscription_options.qos.depth = 0;
  RCCHECK(rcl_subscription_init(
    &subscriber,
    &node,
    ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32),
    "control",&my_subscription_options));

  // create publisher
  RCCHECK(rclc_publisher_init_default(
    &publisher,
    &node,
    ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32),
    "deltat"));

  // create executor
  RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
  RCCHECK(rclc_executor_add_subscription(&executor, &subscriber, &msg, &subscription_callback, ON_NEW_DATA));
}

void loop() {
  RCCHECK(rclc_executor_spin_some(&executor, RCL_S_TO_NS(50)));
  if (nr_data>=99){
    int i = 0;
    for (i = 0; i < 100; ++i) {
      deltat_msg.data = times[i];
      rcl_publish(&publisher, &deltat_msg, NULL);
      times[i] = -1;
    }
    nr_data=-1;
  }
}

My code on the side of the computer is (rclpy):
import rclpy
from std_msgs.msg import Int32

msg_act = 0
msg_t = [-2 for _ in range(100)]
k_t = 0

def t_callback(msg):
    global msg_t
    global k_t
    if k_t < 100:
        msg_t[k_t] = msg.data
        k_t+=1
    else:
        rclpy.logging.get_logger("pc_control").info("t is full")

def main(args=None):
    try:
        rclpy.init(args=args)

        # Publishing control
        control_node = rclpy.create_node('pc_control')
        publisher = control_node.create_publisher(Int32, 'control', 10)

        # Timing the publishing
        msg = Int32()
        def timer_callback():
            msg.data = 0
            publisher.publish(msg)
            rclpy.logging.get_logger("pc_control").info('Publishing: "%s"' % msg.data)

        timer_period = 0.01  # seconds
        timer = control_node.create_timer(timer_period, timer_callback)
        timer

        # Debuging t
        qos_profile = rclpy.qos.QoSProfile(depth=50)
        qos_profile.history = rclpy.qos.QoSHistoryPolicy.KEEP_ALL
        qos_profile.reliability = rclpy.qos.ReliabilityPolicy.BEST_EFFORT#RELIABLE
        qos_profile.durability = rclpy.qos.DurabilityPolicy.TRANSIENT_LOCAL#VOLATILE
        t_node = rclpy.create_node('pc_node_sub')
        subscription2 = t_node.create_subscription(Int32, 'deltat', t_callback, qos_profile)
        subscription2

        # while rclpy.ok():
        for _ in range(100):
            rclpy.spin_once(control_node)

        rclpy.logging.get_logger("pc_control").info('--------------------------------')
        global k_t
        while k_t  < 100:
            rclpy.spin_once(t_node)
            rclpy.logging.get_logger("pc_control").info('recieving: "%s"' % msg_t[k_t-1])
        if -2 in msg_t: # if it did not recieve all data
            rclpy.logging.get_logger("pc_control").info('lengtht: "%s"' % msg_t.index(-2))
        rclpy.logging.get_logger("pc_control").info('Reading t: "%s"' % msg_t)
        delta_t = [a-b for a,b in zip(msg_t[1:],msg_t[0:-1])]
        rclpy.logging.get_logger("pc_control").info('Delta_t: "%s"' % delta_t)

    finally:
        control_node.destroy_node()
        t_node.destroy_node()
        rclpy.shutdown()

if __name__ == '__main__':
    main()

A sample output at the computer side is:
[INFO] [1621438212.597541213] [pc_control]: Publishing: "0"
[INFO] [1621438212.605783996] [pc_control]: Publishing: "0"
[INFO] [1621438212.615803231] [pc_control]: Publishing: "0"
[INFO] [1621438212.625875456] [pc_control]: Publishing: "0"
[INFO] [1621438212.635834761] [pc_control]: Publishing: "0"
[INFO] [1621438212.645778896] [pc_control]: Publishing: "0"
[INFO] [1621438212.655886050] [pc_control]: Publishing: "0"
[INFO] [1621438212.665829975] [pc_control]: Publishing: "0"
[INFO] [1621438212.675806600] [pc_control]: Publishing: "0"
[INFO] [1621438212.685841865] [pc_control]: Publishing: "0"
[INFO] [1621438212.695787399] [pc_control]: Publishing: "0"
[INFO] [1621438212.705810734] [pc_control]: Publishing: "0"
[INFO] [1621438212.715789519] [pc_control]: Publishing: "0"
[INFO] [1621438212.725833134] [pc_control]: Publishing: "0"
[INFO] [1621438212.735828719] [pc_control]: Publishing: "0"
[INFO] [1621438212.745833173] [pc_control]: Publishing: "0"
[INFO] [1621438212.755830418] [pc_control]: Publishing: "0"
[INFO] [1621438212.765814333] [pc_control]: Publishing: "0"
[INFO] [1621438212.775817018] [pc_control]: Publishing: "0"
[INFO] [1621438212.785796342] [pc_control]: Publishing: "0"
[INFO] [1621438212.795794367] [pc_control]: Publishing: "0"
[INFO] [1621438212.805848242] [pc_control]: Publishing: "0"
[INFO] [1621438212.815804177] [pc_control]: Publishing: "0"
[INFO] [1621438212.825818941] [pc_control]: Publishing: "0"
[INFO] [1621438212.835772906] [pc_control]: Publishing: "0"
[INFO] [1621438212.845779441] [pc_control]: Publishing: "0"
[INFO] [1621438212.855830786] [pc_control]: Publishing: "0"
[INFO] [1621438212.865836301] [pc_control]: Publishing: "0"
[INFO] [1621438212.875784425] [pc_control]: Publishing: "0"
[INFO] [1621438212.885811710] [pc_control]: Publishing: "0"
[INFO] [1621438212.895835885] [pc_control]: Publishing: "0"
[INFO] [1621438212.905962390] [pc_control]: Publishing: "0"
[INFO] [1621438212.915771174] [pc_control]: Publishing: "0"
[INFO] [1621438212.925810879] [pc_control]: Publishing: "0"
[INFO] [1621438212.935773614] [pc_control]: Publishing: "0"
[INFO] [1621438212.945814769] [pc_control]: Publishing: "0"
[INFO] [1621438212.955807303] [pc_control]: Publishing: "0"
[INFO] [1621438212.965871828] [pc_control]: Publishing: "0"
[INFO] [1621438212.975838183] [pc_control]: Publishing: "0"
[INFO] [1621438212.985894228] [pc_control]: Publishing: "0"
[INFO] [1621438212.995816922] [pc_control]: Publishing: "0"
[INFO] [1621438213.005787597] [pc_control]: Publishing: "0"
[INFO] [1621438213.015849592] [pc_control]: Publishing: "0"
[INFO] [1621438213.025806467] [pc_control]: Publishing: "0"
[INFO] [1621438213.035815262] [pc_control]: Publishing: "0"
[INFO] [1621438213.045790526] [pc_control]: Publishing: "0"
[INFO] [1621438213.055816761] [pc_control]: Publishing: "0"
[INFO] [1621438213.065797236] [pc_control]: Publishing: "0"
[INFO] [1621438213.075806701] [pc_control]: Publishing: "0"
[INFO] [1621438213.085806105] [pc_control]: Publishing: "0"
[INFO] [1621438213.095806300] [pc_control]: Publishing: "0"
[INFO] [1621438213.105842425] [pc_control]: Publishing: "0"
[INFO] [1621438213.115817530] [pc_control]: Publishing: "0"
[INFO] [1621438213.125798364] [pc_control]: Publishing: "0"
[INFO] [1621438213.135826299] [pc_control]: Publishing: "0"
[INFO] [1621438213.145823374] [pc_control]: Publishing: "0"
[INFO] [1621438213.155850559] [pc_control]: Publishing: "0"
[INFO] [1621438213.165858514] [pc_control]: Publishing: "0"
[INFO] [1621438213.175843928] [pc_control]: Publishing: "0"
[INFO] [1621438213.185821343] [pc_control]: Publishing: "0"
[INFO] [1621438213.195822718] [pc_control]: Publishing: "0"
[INFO] [1621438213.205814743] [pc_control]: Publishing: "0"
[INFO] [1621438213.215821797] [pc_control]: Publishing: "0"
[INFO] [1621438213.225808822] [pc_control]: Publishing: "0"
[INFO] [1621438213.235829247] [pc_control]: Publishing: "0"
[INFO] [1621438213.245808522] [pc_control]: Publishing: "0"
[INFO] [1621438213.255856136] [pc_control]: Publishing: "0"
[INFO] [1621438213.265865171] [pc_control]: Publishing: "0"
[INFO] [1621438213.275803486] [pc_control]: Publishing: "0"
[INFO] [1621438213.285792491] [pc_control]: Publishing: "0"
[INFO] [1621438213.295768906] [pc_control]: Publishing: "0"
[INFO] [1621438213.305820400] [pc_control]: Publishing: "0"
[INFO] [1621438213.315771035] [pc_control]: Publishing: "0"
[INFO] [1621438213.325799650] [pc_control]: Publishing: "0"
[INFO] [1621438213.335749545] [pc_control]: Publishing: "0"
[INFO] [1621438213.345777299] [pc_control]: Publishing: "0"
[INFO] [1621438213.355821024] [pc_control]: Publishing: "0"
[INFO] [1621438213.365823809] [pc_control]: Publishing: "0"
[INFO] [1621438213.375793854] [pc_control]: Publishing: "0"
[INFO] [1621438213.385880258] [pc_control]: Publishing: "0"
[INFO] [1621438213.395800303] [pc_control]: Publishing: "0"
[INFO] [1621438213.405819118] [pc_control]: Publishing: "0"
[INFO] [1621438213.415823973] [pc_control]: Publishing: "0"
[INFO] [1621438213.425833578] [pc_control]: Publishing: "0"
[INFO] [1621438213.435766932] [pc_control]: Publishing: "0"
[INFO] [1621438213.445807257] [pc_control]: Publishing: "0"
[INFO] [1621438213.455927532] [pc_control]: Publishing: "0"
[INFO] [1621438213.465915977] [pc_control]: Publishing: "0"
[INFO] [1621438213.475931151] [pc_control]: Publishing: "0"
[INFO] [1621438213.485892686] [pc_control]: Publishing: "0"
[INFO] [1621438213.495801021] [pc_control]: Publishing: "0"
[INFO] [1621438213.505808566] [pc_control]: Publishing: "0"
[INFO] [1621438213.515775630] [pc_control]: Publishing: "0"
[INFO] [1621438213.525831515] [pc_control]: Publishing: "0"
[INFO] [1621438213.535789280] [pc_control]: Publishing: "0"
[INFO] [1621438213.545798045] [pc_control]: Publishing: "0"
[INFO] [1621438213.555904610] [pc_control]: Publishing: "0"
[INFO] [1621438213.565926354] [pc_control]: Publishing: "0"
[INFO] [1621438213.575918199] [pc_control]: Publishing: "0"
[INFO] [1621438213.585875394] [pc_control]: Publishing: "0"
[INFO] [1621438213.595734399] [pc_control]: --------------------------------
[INFO] [1621438213.604038433] [pc_control]: recieving: "1644998"
[INFO] [1621438213.605849133] [pc_control]: recieving: "1645010"
[INFO] [1621438213.609576025] [pc_control]: recieving: "1645010"
[INFO] [1621438213.613635717] [pc_control]: recieving: "1645030"
[INFO] [1621438213.617639009] [pc_control]: recieving: "1645030"
[INFO] [1621438213.621644431] [pc_control]: recieving: "1645050"
[INFO] [1621438213.625681723] [pc_control]: recieving: "1645050"
[INFO] [1621438213.629448775] [pc_control]: recieving: "1645070"
[INFO] [1621438213.633446297] [pc_control]: recieving: "1645070"
[INFO] [1621438213.637439538] [pc_control]: recieving: "1645090"
[INFO] [1621438213.641463840] [pc_control]: recieving: "1645090"
[INFO] [1621438213.645707552] [pc_control]: recieving: "1645110"
[INFO] [1621438213.649441684] [pc_control]: recieving: "1645110"
[INFO] [1621438213.653454716] [pc_control]: recieving: "1645130"
[INFO] [1621438213.657790978] [pc_control]: recieving: "1645130"
[INFO] [1621438213.661637790] [pc_control]: recieving: "1645150"
[INFO] [1621438213.665780672] [pc_control]: recieving: "1645150"
[INFO] [1621438213.669490354] [pc_control]: recieving: "1645170"
[INFO] [1621438213.673451206] [pc_control]: recieving: "1645170"
[INFO] [1621438213.677427767] [pc_control]: recieving: "1645190"
[INFO] [1621438213.681421119] [pc_control]: recieving: "1645190"
[INFO] [1621438213.685703611] [pc_control]: recieving: "1645210"
[INFO] [1621438213.687688732] [pc_control]: recieving: "1645210"
[INFO] [1621438213.689445363] [pc_control]: recieving: "1645230"
[INFO] [1621438213.691036244] [pc_control]: recieving: "1645230"
[INFO] [1621438213.692498755] [pc_control]: recieving: "1645250"
[INFO] [1621438213.693241215] [pc_control]: recieving: "1645250"
[INFO] [1621438213.693950485] [pc_control]: recieving: "1645270"
[INFO] [1621438213.695407996] [pc_control]: recieving: "1645270"
[INFO] [1621438213.696221576] [pc_control]: recieving: "1645290"
[INFO] [1621438213.697659427] [pc_control]: recieving: "1645290"
[INFO] [1621438213.699208378] [pc_control]: recieving: "1645310"
[INFO] [1621438213.699970378] [pc_control]: recieving: "1645310"
[INFO] [1621438213.700753329] [pc_control]: recieving: "1645330"
[INFO] [1621438213.701973629] [pc_control]: recieving: "1645330"
[INFO] [1621438213.702770060] [pc_control]: recieving: "1645350"
[INFO] [1621438213.704501290] [pc_control]: recieving: "1645350"
[INFO] [1621438213.706269751] [pc_control]: recieving: "1645370"
[INFO] [1621438213.707817232] [pc_control]: recieving: "1645370"
[INFO] [1621438213.709196013] [pc_control]: recieving: "1645390"
[INFO] [1621438213.710635833] [pc_control]: recieving: "1645390"
[INFO] [1621438213.711540904] [pc_control]: recieving: "1645410"
[INFO] [1621438213.712468214] [pc_control]: recieving: "1645410"
[INFO] [1621438213.713353615] [pc_control]: recieving: "1645430"
[INFO] [1621438213.714093735] [pc_control]: recieving: "1645430"
[INFO] [1621438213.715077325] [pc_control]: recieving: "1645450"
[INFO] [1621438213.716822666] [pc_control]: recieving: "1645450"
[INFO] [1621438213.717610137] [pc_control]: recieving: "1645470"
[INFO] [1621438213.718408977] [pc_control]: recieving: "1645470"
[INFO] [1621438213.719613018] [pc_control]: recieving: "1645490"
[INFO] [1621438213.720616958] [pc_control]: recieving: "1645490"
[INFO] [1621438213.721674559] [pc_control]: recieving: "1645510"
[INFO] [1621438213.723160949] [pc_control]: recieving: "1645510"
[INFO] [1621438213.724919220] [pc_control]: recieving: "1645530"
[INFO] [1621438213.726360951] [pc_control]: recieving: "1645530"
[INFO] [1621438213.727561301] [pc_control]: recieving: "1645550"
[INFO] [1621438213.728744692] [pc_control]: recieving: "1645550"
[INFO] [1621438213.729930043] [pc_control]: recieving: "1645570"
[INFO] [1621438213.731113703] [pc_control]: recieving: "1645570"
[INFO] [1621438213.732296044] [pc_control]: recieving: "1645590"
[INFO] [1621438213.733551264] [pc_control]: recieving: "1645590"
[INFO] [1621438213.734805075] [pc_control]: recieving: "1645610"
[INFO] [1621438213.736299196] [pc_control]: recieving: "1645610"
[INFO] [1621438213.737531436] [pc_control]: recieving: "1645630"
[INFO] [1621438213.738776417] [pc_control]: recieving: "1645630"
[INFO] [1621438213.740004057] [pc_control]: recieving: "1645650"
[INFO] [1621438213.741271158] [pc_control]: recieving: "1645650"
[INFO] [1621438213.742578259] [pc_control]: recieving: "1645670"
[INFO] [1621438213.743845239] [pc_control]: recieving: "1645670"
[INFO] [1621438213.745264950] [pc_control]: recieving: "1645690"
[INFO] [1621438213.746595470] [pc_control]: recieving: "1645690"
[INFO] [1621438213.747824721] [pc_control]: recieving: "1645710"
[INFO] [1621438213.748731721] [pc_control]: recieving: "1645710"
[INFO] [1621438213.750079872] [pc_control]: recieving: "1645730"
[INFO] [1621438213.751379243] [pc_control]: recieving: "1645730"
[INFO] [1621438213.752237733] [pc_control]: recieving: "1645750"
[INFO] [1621438213.753424074] [pc_control]: recieving: "1645750"
[INFO] [1621438213.754993954] [pc_control]: recieving: "1645770"
[INFO] [1621438213.756455045] [pc_control]: recieving: "1645770"
[INFO] [1621438213.757664496] [pc_control]: recieving: "1645790"
[INFO] [1621438213.758946826] [pc_control]: recieving: "1645790"
[INFO] [1621438213.760291947] [pc_control]: recieving: "1645810"
[INFO] [1621438213.761926638] [pc_control]: recieving: "1645810"
[INFO] [1621438213.763778509] [pc_control]: recieving: "1645830"
[INFO] [1621438213.765526870] [pc_control]: recieving: "1645830"
[INFO] [1621438213.766965920] [pc_control]: recieving: "1645850"
[INFO] [1621438213.767580620] [pc_control]: recieving: "1645850"
[INFO] [1621438213.768203561] [pc_control]: recieving: "1645870"
[INFO] [1621438213.768772541] [pc_control]: recieving: "1645870"
[INFO] [1621438213.769418001] [pc_control]: recieving: "1645890"
[INFO] [1621438213.770122822] [pc_control]: recieving: "1645890"
[INFO] [1621438213.770902872] [pc_control]: recieving: "1645910"
[INFO] [1621438213.772618733] [pc_control]: recieving: "1645910"
[INFO] [1621438213.773022403] [pc_control]: recieving: "1645930"
[INFO] [1621438213.773630283] [pc_control]: recieving: "1645930"
[INFO] [1621438213.774017094] [pc_control]: recieving: "1645950"
[INFO] [1621438213.775121784] [pc_control]: recieving: "1645950"
[INFO] [1621438213.775504904] [pc_control]: recieving: "1645970"
[INFO] [1621438213.776193145] [pc_control]: recieving: "1645970"
[INFO] [1621438213.776706555] [pc_control]: recieving: "1645998"
[INFO] [1621438213.777041325] [pc_control]: Reading t: "[1644998, 1645010, 1645010, 1645030, 1645030, 1645050, 1645050, 1645070, 1645070, 1645090, 1645090, 1645110, 1645110, 1645130, 1645130, 1645150, 1645150, 1645170, 1645170, 1645190, 1645190, 1645210, 1645210, 1645230, 1645230, 1645250, 1645250, 1645270, 1645270, 1645290, 1645290, 1645310, 1645310, 1645330, 1645330, 1645350, 1645350, 1645370, 1645370, 1645390, 1645390, 1645410, 1645410, 1645430, 1645430, 1645450, 1645450, 1645470, 1645470, 1645490, 1645490, 1645510, 1645510, 1645530, 1645530, 1645550, 1645550, 1645570, 1645570, 1645590, 1645590, 1645610, 1645610, 1645630, 1645630, 1645650, 1645650, 1645670, 1645670, 1645690, 1645690, 1645710, 1645710, 1645730, 1645730, 1645750, 1645750, 1645770, 1645770, 1645790, 1645790, 1645810, 1645810, 1645830, 1645830, 1645850, 1645850, 1645870, 1645870, 1645890, 1645890, 1645910, 1645910, 1645930, 1645930, 1645950, 1645950, 1645970, 1645970, 1645998]"
[INFO] [1621438213.777332545] [pc_control]: Delta_t: "[12, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 28]"

@JanStaschulat any idea on this?

I'm going to make some tests, but could you try meanwhile to spin the executor faster?
Maybe something like:
void loop() {
  RCCHECK(rclc_executor_spin_some(&executor, RCL_MS_TO_NS(5)));
...
}

First,
RCCHECK(rclc_executor_spin_some(&executor, RCL_S_TO_NS(50)));
is probably a typo. You probably don't want a timeout of 5 seconds when the incoming data rate is 100Hz (e.g. 10ms). Default value would be 1s. It is the duration of the (blocking) wait for new data from DDS-queue.
Your problem seems to be related to the execution time of the subscription callback - or due to some other process which runs on the arduino. When you see the sequence of 0,20,0,20 it means, that two messages are available at DDS queue and are being processed one after the other. But the execution of the callback takes longer than 10ms - or it is preempted by some other tasks that run on arduino.
You could make an experiment to reduce the sending rate to, say, 10Hz and keep everything as it is. Then, the messages should arrive every 100ms.
Further more, which options do you have to increase the real-time priority of the process on arduino? I would give it a higher priority than all other tasks that you are running on it.
That you sometimes see a larger value and then multiple times just 0's in the timestamps also indicates that the CPU is overloaded - for whatever reason. Then the messages are buffered and processed at once.
I can't imagine, why the executor will wait for every second data, because you specified ON_NEW_DATA. So when new data is available, then the callback is called.

What is the resolution of millis() on arduino?
https://www.pjrc.com/teensy/td_timing_millis.html
The last value is always zero, which is unexpected. I am not familiar with arduino. Where is the loop() function called? I did not see this in the code example.  Is it maybe called periodically every 10ms?

Hello @JanStaschulat, I guess that he/she does not have thread because usually in Teensy platforms you don't have an (RT)OS.
Regarding the loop function, you can imagine the Arduino entry point like:
void main(){
   setup();
   for(;;){
      loop();
      handle_internal_events(); \\ Serial, interrupts...
   }
}

I agree with decreasing the spin time. The middleware internally, when rlc_wait is called returns when receives just one DDS data. Does this explain anything regarding the executor behavior here?

Yes, when rcl_wait returns, the Executor can only process one data and call the subscription callback once. The timeout is here irrelevant (1s or 5s - whatever). It will just return after this timeout when no data is available. Which will never happen in this use-case.
I suspect, that from outside the frequency of calling the loop() is not continuous - but sampled.
As said before, the last digit of the timestamp (in ms) is always zero. That indicates some base periodicity of the loop itself or in the function of handle_internal_events -maybe there is a polling of 10ms there?

Hi all, thanks for the quick responses.
As suggested I tried this and it worked!

Maybe something like:
void loop() {
  RCCHECK(rclc_executor_spin_some(&executor, RCL_MS_TO_NS(5)));
...
}

I now get clear [10,10,10,10,...].
The 100 Hz wasn't the problem I think. Doing the same at 10 Hz gave me [ 0 200 0 200 ...]
With the new RCL_MS_TO_NS(5) added, I also tried 200Hz to see if there is a polling of 10ms as suggested above.
I got as result
[INFO] [1621509226.089462122] [pc_control]: Delta_t: "[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 24290, 8, 0, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]"

As you can see, the occasional high value still remains. Any ideas on how to fix this?

Further more, which options do you have to increase the real-time priority of the process on arduino? I would give it a higher priority than all other tasks that you are running on it.
That you sometimes see a larger value and then multiple times just 0's in the timestamps also indicates that the CPU is overloaded - for whatever reason. Then the messages are buffered and processed at once.

The only code that is running on the Teensy is the code that I posted here (unless ofcourse background arduino code I don't have control over).
Is there any resource or sample code to point me in the right direction of how to do this?
The help is much appreciated!
Kind regards.

In order to reduce the "high values" you can try to tune the micro-ROS internal buffers. For example I would try to increase DRMW_UXRCE_MAX_HISTORY=10 and RMW_UXRCE_STREAM_HISTORY=8 in colcon.meta and then rebuild the micro-ROS library.
Take into account that this is not rebuilding your app but the micro-ROS library. Check here and here.

I got the occasional "high value" fixed. It was a small bug in the code above. nr_data wasn't reset properly sometimes.
However, the RCL_MS_TO_NS(100) proposed doesn't work.
Then i get the [0 20 0 20 0 20].
I really need the small value.

@JTaets That is an interesting observation, that a timeout larger than the frequency does not work. In our examples we always set the timeout to a large value.

Apologies for bothering again.
(I can open another issue if you prefer this)
I suspect that ros2 polls the subscription on the Teensy at 1 kHz.
I am wondering if it is possible to increase that polling rate in some way?
The rest of this message is explanation of why I think the polling rate is 1 kHz.
You can skip the rest of the message if you believe that.
The reason I suspect this is that the pure arduino code:
void setup() {
  Serial.begin(250000); // baud rate
  while (!Serial) {
    ; // Wait for serial port to connect
  }
  Serial.setTimeout(0.1); // sets the maximum milliseconds to wait for serial data, defaults to 1000ms
}
void loop() {
  Serial.println(micros());
}

Gives (by watching on the Serial Monitor on the Arduino software):
...
161
162
163
163
164
165
...

So the loop() in arduino is called as fast as possible and there is no mistake in micros().
My code posted above with millis() changed to micros() gives absolute timings (msg_t) like:
[14010, 24010, 34010, 35010...]
There are 10000µs inbetween them as expected at 100Hz, But it always ends in ...010µs.
At very few instances, there is 11000µs between them, not something like 10015µs or so.
Leading me to believe ros polls the subscriptions each millisecond (and it ends in 010 because it takes 10µs from the start of the callback interrupt to executing micros().)
Adding delayMicroseconds(3); in the callback makes the time always end in 013, so this confirms this.
So coming back to my question, is it possible to increase this polling rate?

Could you add
Serial.println(micros());

in the loop in your real application? This would just exclude any polling/waiting in the sensor_driver_updates.

I might not be completely following with what you mean.
I did:
void loop() {
  if (nr_data<99){ // recieve datapoints
    RCCHECK(rclc_executor_spin_some(&executor, RCL_MS_TO_NS(1)));
    times[nr_data] = micros();
    nr_data+=1;
  } else {
    // code for sending times back to the computer
  }
}

The result depends on the rate I send data and the amount of milliseconds given as timeout.
If the send rate is 100Hz and there is 1 ms timeout. I get periodically a difference of (in µs):
... 993 1000 1000 1000 1000 1000 1000 1000 1000 1007  ...
Which i expected, each 10th one is a little longer because then I receive data. The other ones are timeouts.
I confirmed my suspicion of the polling rate of 1kHz more by sending data at 800Hz.
Then i get as time passed between receiving the datapoints periodically (in µs):
... 2000, 1000, 1000, 1000 ...
(I.e. this is the timing in the callback again like in previous posts, not anymore in loop())
Indeed 4 datapoints each 5ms (2000µs + 1000µs +1000µs +1000µs) is 800Hz
Notice again the multiples of 1ms i receive data at.
Absolute timings are (in µs):
3010, 5010, 6010, 7010, 8010
I'm wondering if this polling behaviour is expected of running ros2 on a Teensy. I would guess this would be done with interrupts?
Or could this be my computor which only sends data on the usb line each ms?
Altough ros2 topic hz /control gives me 800Hz, i suppose this measures the frequency of writing to the topic, not it sending data over the usb-line?


feat(ops): get delivery tests passing

Blocked on #490; part of #347; continuation of #387

Some changes worth calling out:

-x prints the commands that were executed; this makes debugging Cloud Builds much easier
the STAGING -> STAGE change is for variable name consistency

These tests are passing on main now, so we can discard this branch.


Cannot render 'chart' of undefined

Hi again @whawker I'm getting this error using react-jsx-highcharts

I successfully compiled my own custom algorithm in one react boilerplate I was using, then I migrated to create-react-app and found this error, here's what my imports look like:
import React, { Component } from 'react';
import Highcharts from 'highcharts';
import {
  HighchartsChart, Title, XAxis, YAxis, TreemapSeries, Legend
} from 'react-jsx-highcharts';
import { treeCase } from './treeCase.js';
import HighchartTreeMap from 'highcharts/modules/treemap';
HighchartTreeMap(Highcharts);

Hi @sumistry, with React JSX Highcharts v2 you need to use the withHighcharts wrapper to inject the Highcharts global. See here or the examples

I had that at the app level on the previous react app, thanks and merry christmas


🌱 E2e: Support running Ironic with MariaDB

What this PR does / why we need it:

Support running Ironic with MariaDB
Use new deploy script args instead of positional booleans
Add keepalived variable to e2e config for consistency

Related:

https://github.com/metal3-io/baremetal-operator/pull/1196
https://github.com/metal3-io/metal3-dev-env/pull/1127

/test-ubuntu-e2e-parallel-main

/test-ubuntu-e2e-parallel-main

/test-ubuntu-e2e-parallel-main

/test-ubuntu-e2e-parallel-main

/test-centos-e2e-parallel-main

/test-centos-e2e-parallel-main

/test-ubuntu-e2e-parallel-main

Successful tests with mariadb :tada:

https://jenkins.nordix.org/job/metal3_capm3_main_e2e_test_centos_parallel/74/
https://jenkins.nordix.org/job/metal3_capm3_main_e2e_test_ubuntu_parallel/135/

Running tests without mariadb enabled now.
/test-ubuntu-e2e-parallel-main
/test-centos-e2e-parallel-main

Successful tests without mariadb:

https://jenkins.nordix.org/job/metal3_capm3_main_e2e_test_centos_parallel/75/
https://jenkins.nordix.org/job/metal3_capm3_main_e2e_test_ubuntu_parallel/136/

Dropped the test commit now that the metal3-dev-env PR has been merged. Will rerun tests. Should be possible to get green tests on this already before BMO is merged. This way we can test everything properly before merging the BMO PR.

/test-ubuntu-integration-main

/test-ubuntu-e2e-parallel-main

/test-ubuntu-integration-main

/hold cancel

/lgtm

/lgtm

/cherry-pick release-1.3
/cherry-pick release-1.2

/cherry-pick release-1.2

/cherry-pick release-1.2

@lentzi90 should I do manual cherry pick ?

Maybe :slightly_frowning_face: I'm just fearing it could be pretty hard. Worth a try though

I should not backport either to 1.3 because it is running with old bmo version v0.2.0 https://github.com/metal3-io/metal3-dev-env/blob/9244e805820b996fa166dc38977f8126d2ad3520/vars.md?plain=1#L79


Alarm::Set, when call more than once successtively, it abort

What version of gRPC and what language are you using?
1.28.1
What operating system (Linux, Windows,...) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc g++ 4.8.5
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
#include <grpcpp/grpcpp.h>
#include <grpcpp/alarm.h>
class Test
{
public:
void start()
{
::grpc::CompletionQueue* cq = new ::grpc::CompletionQueue();
::grpc::Alarm alarm_{};
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
alarm_.Set(cq, gpr_now(gpr_clock_type::GPR_CLOCK_REALTIME), this);
}
};
int main()
{
Test t;
t.start()
return 0;
}
What did you expect to see?
Alarm::Set is running without abort.
my purpose is pushing data into completion queue very fast.
What did you see instead?
the second Set is abort. it failed in src/core/lib/iomgr/timer_generic.cc:132 in function add_to_ht, the error log is "Duplicate timer (%p) being added. Closure: (%p), created at: ............
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

Alarms can only be Set again after they have either fired or been cancelled, a single Alarm cannot be used multiple times concurrently. For valid usage examples, take a look at the alarm tests here: https://github.com/grpc/grpc/blob/a500d2448027fb31b0cb00110857655ea6f82ab6/test/cpp/common/alarm_test.cc


No provider for NgRedux

When using a the latest version of ng2-redux (4.0.0-beta.7) I get the following error:
"No provider for NgRedux!"

My app.module file looks like this:
...

interface IAppState { /* ... */ };
export const store: Store<IAppState> = createStore(
  rootReducer,
  compose(applyMiddleware(reduxLogger)));

@NgModule({
  declarations: [
    ...
  ],
  imports: [
    NgReduxModule.forRoot(),
    IonicModule.forRoot(MyApp),
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    ...
  ],
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {
  constructor(ngRedux: NgRedux<IAppState>) {
    ngRedux.provideStore(store);
  }
}

I just generated a new ionic 2 project and added ng2 redux.
I'm using the following versions

ng2-redux: 4.0.0-beta.7
redux: 3.6.0
angular: 2.1.1 (I also tried updating angular to the latest version, but that doesn't fix this :))

Hey. It looks like you have not added NgRedux to your providers array.

Thanks for pointing that out @nzjoel1234 but sadly adding ngRedux to as a provider does not solve this issue. I've tried both with and without. Also the docs don't mention to add it :)
Maybe it's worth mentioning that I ran into this error on a bigger project.
I just set up the dummy project above to check if the error was related to my project. Since the error is also occurring in the dummy project I assume it has something to do with NgRedux.

Ignore my previous comment, adding the NgRedux as a provider does seem to work after clearing my browser cache. Thanks @nzjoel1234 !


Grants Pass, OR missing from dot map

Following up from https://github.com/openaddresses/openaddresses/issues/1943, turns out we do have address points but the aren't showing up on the general dot map shown on openaddresses.io when they should.

Public dot map:

OpenAddresses CSV:

Same deal with Klamath in https://github.com/openaddresses/openaddresses/issues/1946.

I'm going to move this discussion over to the machine repo, where the dotmap code is:
https://github.com/openaddresses/machine/issues/434