RFC: libc: thread-safe newlib

Introduction
Extend Zephyr to be able to use the C standard library newlib in a multi-threaded environment.
Problem description
The minimum requirement to use libstdc++ in an RTOS environment is to have a thread-safe C library at hand – which is, from my point of view, regarding Zephyr’s adoption of newlib not the case today.
Proposed change
Implement the hooks provided by newlib to allow its use in a thread-safe manner.
Detailed RFC
Despite the fact that there's a scheduler, none of the requirements to use newlib in a multi-threaded environment have been fullfilled.
Reentrancy
Newlib manages multi-threaded applications with the help of structs of type _reent, which serve as a constant data container between library calls. In addition to that, stubs to allow an RTOS to implement reentrant versions of the standard functions (open_r, write_r, etc.) are provided. Simplified, in a multi-threaded environment each thread should have its own _reent struct. It should then either call the reentrant library functions and pass it's _reent struct or set up the global _reent struct impure_ptr and use the non-reentrant library functions.
Today, the non-reentrant library functions are used and all threads operate on the same global _reent struct impure_ptr defined within newlib.
Malloc Hooks
Issue #17552 aims to provide thread-safety for malloc by adding a semaphore within sbrk. Newlib has addressed this issue by providing the hooks __malloc_lock and __malloc_unlock. The advantage of implementing them is that they guard also the calling code, not only sbrk.
Retarget Locking
Newlib internally uses mutex synchronization quite often. At the moment empty stubs are used as Zephyr does not provide an implementation. Therefore, there’s no synchronization at all. The stubs can be replaced at application build time if newlib was build with --enable-newlib-retargetable-locking. In such a scenario several __retarget_lock_* functions to create, delete, and operate recursive and non-recursive mutex become available for reimplementation. In addition to the mutex created during runtime by newlib one has to provide nine static locks.
GNU ARM Embedded toolchain is build using the switch above, but Zephyr SDK is not doing that yet.
Proposed change (Detailed)
Reentrancy
According to the documentation of newlib there are two ways to achieve reentrancy. Both require each thread of execution control to initialize a unique global variable of type struct _reent:

Use the reentrant versions of the library functions, after initializing a global reentrancy structure for each process. Use the pointer to this structure as the extra argument for all library functions.
Ensure that each thread of execution control has a pointer to its own unique reentrancy structure in the global variable _impure_ptr, and call the standard library subroutines.

Option 1 would require us to always call the reentrant functions such as malloc_r instead of malloc. On the one hand, this has to be explained to every user to make sure they call the right functions. On the other hand, 3rd party code can not be simply dropped in without modifications. Therefore, I propose to implement option 2.
Proposed change:

Add reent struct to each k_thread struct
Initialize thread's reent struct
Switch impure_ptr to point to thread's reent struct after context switch

Malloc Hooks / Retarget Locking
Proposed change:

Remove the semaphore from sbrk
If newlib was compiled for retargetable locking, a define _RETARGETABLE_LOCKING is present. Depending on this define make either

__malloc_lock and __malloc_unlock or
the __retarget_lock_* functions visible and add the static locks (there's one for malloc, too)

Some memory is required to store the locks created during runtime

Add a CONFIG_ to adjust the size of the memory to be reserverd
If the size is set to 0 (default), fall back and use only the __malloc_lock and __malloc_unlock
Area is defined as sys_mem_pool

Dependencies

Newlib build with --enable-newlib-retargetable-locking
Optional --enable-newlib-reent-small (AFAIK GNU ARM Embedded + Zephyr SDK have that set)

Concerns and Unresolved Questions
General

I am wondering why this hasn't been addessed already. Either simply nobody knew / cared, or I've taken a terribly wrong road somewhere.

Implementation

I haven’t dived into the Zephyr Kernel before, so I might have placed code at places where it doesnt belong. Is arch_swap the right place for setting up impure_ptr after context switch? (Done only for ARM until there’s some feedback.)
Carrying struct reent around within k_thread has obviously some impact on memory consumption, but I have no better idea (except saying "Well, use reent_small")
The non recursive mutex are implemented using a semaphore, is there something lightweight which could be used for the recursive mutex?
Haven't looked into errno - think there's a per thread errno within reent

Implementation
PR #21518
Relevant Links
Documentation
Newlib Documentation on __malloc_lock
Newlib Documentation on Reentrancy
Mailing Lists
Newlib discussion on --enable-newlib-retargetable-locking
[PATCH, newlib] Allow locking routine to be retargeted
What are the __retarget_lock functions?
Alternatives
Go the RTEMS - way and extend newlib / GCC with a port for Zephyr. That would also give us the opportunity to have OpenMP and a thread-safe libstdc++, which would be striking.

For the build options used by the GNU ARM Embedded newlib, refer to the following comment:
https://github.com/zephyrproject-rtos/sdk-ng/issues/152#issuecomment-559506662

Newlib build with --enable-newlib-retargetable-locking

I see that crosstool-ng, which is used to build newlib for the Zephyr SDK, does not provide a Kconfig option to enable --enable-newlib-retargetable-locking. An upstream patch to crosstool-ng will be necessary for this.
https://github.com/crosstool-ng/crosstool-ng/blob/master/config/libc/newlib.in

Optional --enable-newlib-reent-small (AFAIK GNU ARM Embedded + Zephyr SDK have that set)

It looks like the GNU ARM Embedded enables --enable-newlib-reent-small for the newlib nano variant only.
This option is specified through crosstool-ng config LIBC_NANO_NEWLIB_REENT_SMALL and it defaults to n, so the current Zephyr SDK (0.10.3) should not have this enabled.
For the Zephyr SDK 0.11.0 release, it will have the same config as the GNU ARM Embedded (i.e. --enable-newlib-reent-small enabled for the nano variant only).

@kaidoho

I am wondering why this hasn't been addessed already. Either simply nobody knew / cared

These bindings are old, I've touched this file a lot and the basic implementation pre-dates my involvement in the project, this is code from when the OS was closed source and known as Viper. So file under "nobody knew" probably.

Carrying struct reent around within k_thread has obviously some impact on memory consumption

People who are on really constrained systems will usually use minimal libc anyway.

Haven't looked into errno - think there's a per thread errno within reent

We manage currently do errno in a thread-local storage area carved out of the stack buffer. The os function is z_errno(). This gets mapped onto newlib hook __errno. See kernel/errno.c and newlib libc-hooks. We need a better thread-local storage implementation in Zephyr, right now to get at it you have to make a system call.

The non recursive mutex are implemented using a semaphore, is there something lightweight which could be used for the recursive mutex?

A one-count semaphore is the right thing to do if you don't need recursive entry or priority inheritance.

Today, the non-reentrant library functions are used and all threads operate on the same global _reent struct impure_ptr defined within newlib.

This doesn't seem SMP-safe at first glance.

Is arch_swap the right place for setting up impure_ptr after context switch? (Done only for ARM until there’s some feedback.)

Yeah this has to be in the arch code if we want this updated on context switch. For example if you take an interrupt, do something in it which causes a new thread to be runnable at IRQ exit arch_swap gets called directly from the arch code, no calls are made into common code (although perhaps we can change this, we could move the z_check_stack_sentinel invocations there too)
For arches that use CONFIG_SWITCH, you might be able to put the hook in z_get_next_switch_handle().

I feel like this should be reclassified as a bug, @nashif do you agree?

The newlib thread safety issue will be fully addressed by the PR #36201, which implements the retargetable locking interface to provide locks for the newlib, and this issue can be closed once that PR is merged.
As for the reentrancy, it is really a non-issue at the moment because the current Zephyr-to-newlib integration scheme does not support any features that actually require reentrancy support, and multiple threads can safely call the newlib functions without it.
The reentrancy support will be required in the future when we implement more advanced form of newlib integration (e.g. newlib-provided POSIX functions, newlib-provided errno, ...). That requires implementing native Zephyr RTOS support in the newlib and will be addressed as part of https://github.com/zephyrproject-rtos/sdk-ng/issues/350.


Replace repo.yml as VB throws up without it

we should change VB's assumption about missing repo.yml == Node project which I don't believe is a safe assumption to make (e.g. this repo doesn't have package.json and doesn't need it)

Change-type: patch

@balena-ci I self-certify!


User input office_div filter

Purpose: Have reps be filterable by jurisdiction: federal, state, county

User Story:

Use button to filter representatives and shorten returned list of search for easier viewing

Tasks:

Create buttons in campaign.vue view
Have button filter by representative levels
a. country = federal
b. level 1 = state
c. level 2 = county
Only show representative array that corresponds

File to change: SearchReps line 17

Something along the lines of:

@unnamedrd, if you'd like to approach this issue - heres a draft PR for reference


Include docker support for 32-bit ARM platform

Needed to run the container on 32-bit ARM linux OS (Raspbian on rpi 3+ in my case).
I have verified this works by manually running the updated ci action on my fork with it setup to push to shoejosh/onstar2mqtt-rpi and verified the container works on my rpi.

Thanks!


cannot login

[~ (0) ]$ olsync login
[!] Failed to log in with the following error:
 |  Failed to obtain session info from login browser
[~ (0) ]$

OS: I use arch btw
browser: I have brave browser (set as default) and firefox
[~ (0) ]$ olsync --version
olsync 0.3.0

Unfortunately, the script can only open google-chrome for login, which is listed as dependency, so you have to install it to use overleaf-sync-rs.
The reason for that is that headless_chrome crate is used for spawning browser window for login. It would be great to somehow support other browsers, but I didn't find an easy way to do it.

on arch, I think https://aur.archlinux.org/packages/google-chrome should work

ok, thank you. I think I din't read things carefully enough :smile:
I have 2 questions then:

brave is on chromium, so its support should be similar to chrome (?)
who is the host of aur? I think it might list google-chrome as its dependency

@km1chno sorry for unrelated question but I don't want to open another issue:
[✔] Obtained session info from cache.
[!] Failed to fetch project details.
[!] Failed to push some files with the following error:
 |  Failed to obtain project info for project 67168c7dc813e002f320e4e4.


Concerns about SSD wear leveling with DWX Connect

I just successfully set up DWX Connect and a Python client after watching the YouTube video on DWX Connect. Using the file system is a more simplistic approach than sockets/0MQ, BUT I have to ask if anyone has thought about the sheer number of writes to an SSD during 24/5 trading days when analyzing tick data. Likely, Windows will never commit every write as requested due to caching, but does anyone know this for sure? Perhaps it's late, and I'm not thinking straight, but I thought I'd ask as this "could" be an issue.
Lastly, with AntiVirus enabled, expect to get a CPU hit due to the large number of "hits" to the AV for checking. On the simple DWX Connect python example (reading ticks & quotes), my Ryzen 3700x CPU load increases 3% to 4% during Sydney trading (slow).
Just throwing these out as possible "issues" versus the 0MQ solution.

I had similar concerns so I've set up a ram drive for the folder that DWX will write to (using ImDisk on windows). I recall it caused a minor issue with the python client code but apart from that, it means no proper disk writes


Users are allowed to create a VM whose CPU/Memory could exceed the total CPU/Memory of the machine

Steps to reproduce:

Create a VM filling 10000 cores CPU and 10000 GiB Memory whose CPU/Memory could exceed the total CPU/Memory of the machine
Check on the VM list page and detail page

Result:

[ ] 1. Users are allowed to create a VM whose CPU/Memory could exceed the total CPU/Memory of the machine, and no explicit error messages are provided
[x] 2. The LAUNCHER_POD_ERROR state could overlap the VM name in the list

case 1 fix in next version

Validated case 2, by the way, it's better to apply this change to the other pages because it could happen on any page. @WuJun2016

I'd remove the to-test tag in order to keep tracking case 1

for case 1, can we update the LAUNCHER_POD_ERROR to LAUNCHER_ERROR and explicit error messages should be available when describing the events? cc @WuJun2016


Using multiple materials in the toolkit does not help with dynamic batching

There is a very interesting forum thread going on about performance and Dynamic Batching:
https://forums.hololens.com/discussion/6376/gameobject-limit-on-performance
It appears that accessing .material instead of .sharedmaterial causes shared materials to become instanced and breaks dynamic batching. It also appears that some of the toolkit behaviors (e.g. gaze responder) access materials in this way.
My knowledge of the Unity rendering pipeline doesn't go deep enough to validate this, but I think it's worth having someone with more knowledge take a look and see if these behaviors could be improved. By changing toolkit behavior code, this user was able to get another 12 FPS out of their app. Though it's wort noting that these changes seemed to cause other issues (like with the cursor).

Yes, using the renderer.material property does cause the renderer to create a new instance of the shared material. Using renderer.sharedMaterial avoids this, but any changes made to the material properties (such as color and texture) will be applied to all renderers using that shared material (excepting those that have instanced off a new material using the .material property).  There are also a 'materials' and 'sharedMaterials' properties that have the same behavior.
You can avoid instancing materials and allow per-renderer property changes using MaterialPropertyBlock. MaterialPropertyBlock allows changes to the property of a shared material per-renderer and without spinning off a new instance of the material.  We have been using this method and though it does take a bit more developer attention, it is more performant than creating instanced materials using the material property.

Even utilizing the MaterialPropertyBlock you'll still have to decide either to grab the sharedMaterial or the material instance, which is known to cause memory leaks.

I worked on this briefly last month. Probably good to look at the changes and make improvements: https://github.com/Microsoft/HoloToolkit-Unity/pull/424

Also I know the shaders were recently updated to allow for single pass (stereo) https://github.com/Microsoft/HoloToolkit-Unity/pull/393 so it might just be a matter of updating how we're handling the material instances.

Unfortunately GitHub won't let you search for ".material" because "." is an invalid search character. So I opened the toolkit in Visual Studio and did a search. Here are all the instances of referencing .material.
Looks like there are only 21 of them.
5 of them are in HoloToolkit-Examples.
5 of them are in a path that includes "Test"
11 of them in core code.
// Examples

HoloToolkit-Examples\ColorPicker\GazeableColorPicker.cs(33):
Texture2D texture = rendererComponent.material.mainTexture as Texture2D;

HoloToolkit-Examples\GazeRuler\Scripts\ModeTip.cs(23):
material = GetComponent<Renderer>().material;

HoloToolkit-Examples\SharingWithUNET\Scripts\PlayerController.cs(74):
GetComponentInChildren<MeshRenderer>().material.color = Color.red;

HoloToolkit-Examples\SharingWithUNET\Scripts\PlayerController.cs(119):
GetComponentInChildren<MeshRenderer>().material.color = Color.blue;

HoloToolkit-Examples\SpatialUnderstanding\SpatialUnderstanding-FeatureOverview\Scripts\LineDrawer.cs(407):
lineData.Renderer.material = MaterialLine;

// Tests

HoloToolkit\Input\Tests\Scripts\FocusedObjectColorChanger.cs(23):
cachedMaterial = GetComponent<Renderer>().material;

HoloToolkit\Input\Tests\Scripts\GazeResponder.cs(18):
defaultMaterials = GetComponent<Renderer>().materials;

HoloToolkit\Input\Tests\Scripts\SelectedObjectMessageReceiver.cs(23):
cachedMaterial = GetComponent<Renderer>().material;

HoloToolkit\Input\Tests\Scripts\SphereGlobalKeywords.cs(20):
cachedChildMaterials[i] = childRenderers[i].material;

HoloToolkit\Input\Tests\Scripts\SphereKeywords.cs(15):
cachedMaterial = GetComponent<Renderer>().material;

HoloToolkit\Input\Tests\Scripts\TestButton.cs(108):
cachedToolTipMaterial = ToolTipRenderer.material;

// Core

HoloToolkit\Utilities\Scripts\DirectionIndicator.cs(97):
indicatorMaterial = directionIndicatorRenderer.material;

HoloToolkit\Input\Scripts\Utilities\ManualHandControl.cs(273):
leftHandVisualRenderer.material.SetColor("_Color", LeftHandInView ? ActiveHandColor : DroppedHandColor);

HoloToolkit\Input\Scripts\Utilities\ManualHandControl.cs(274):
rightHandVisualRenderer.material.SetColor("_Color", RightHandInView ? ActiveHandColor : DroppedHandColor);

HoloToolkit\Sharing\Scripts\Utilities\Utils.cs(104):
t.gameObject.GetComponent<Renderer>().material = mat;

HoloToolkit\Sharing\Scripts\Utilities\Utils.cs(128):
t.gameObject.GetComponent<Renderer>().material = mat;

HoloToolkit\SpatialMapping\Scripts\SpatialProcessing\SurfacePlane.cs(198):
renderer.material = FloorMaterial;

HoloToolkit\SpatialMapping\Scripts\SpatialProcessing\SurfacePlane.cs(204):
renderer.material = TableMaterial;

HoloToolkit\SpatialMapping\Scripts\SpatialProcessing\SurfacePlane.cs(210):
renderer.material = CeilingMaterial;

HoloToolkit\SpatialMapping\Scripts\SpatialProcessing\SurfacePlane.cs(216):
renderer.material = WallMaterial;

HoloToolkit\SpatialMapping\Scripts\SpatialProcessing\SurfacePlane.cs(222):
renderer.material = UnknownMaterial;

This probably wouldn't be too terribly time consuming for someone who knows what they're doing to review those uses and see if there's a better way to do it.
One thing I'm not clear on, if a GameObject has a .material set, can I access that through the .sharedMaterial property? Or is there a way to somehow check whether a shared material or instanced material is being used?

Looks like there are only 21 of them.
5 of them are in HoloToolkit-Examples.
5 of them are in a path that includes "Test"
11 of them in core code.

The HoloToolkit-Examples definitively use .material improperly causing material leaks.
The Test and Core snippets are correct, and I don't they they directly contribute to what Eswara was experiencing with scripts breaking the dynamic batching.

A bit of research in the Unity Documentation:

Dynamic batching
Unity can automatically batch moving GameObjects into the same draw call if they share the same Material and fulfill other criteria. Dynamic batching is done automatically and does not require any additional effort on your side.

Batching dynamic GameObjects has certain overhead per vertex, so batching is applied only to Meshes containing fewer than 900 vertex attributes in total.
If your Shader is using Vertex Position, Normal and single UV, then you can batch up to 300 verts, while if your Shader is using Vertex Position, Normal, UV0, UV1 and Tangent, then only 180 verts.
Note: attribute count limit might be changed in future.
GameObjects are not batched if they contain mirroring on the transform (for example GameObject A with +1 scale and GameObject B with –1 scale cannot be batched together).
Using different Material instances causes GameObjects not to batch together, even if they are essentially the same. The exception is shadow caster rendering.
GameObjects with lightmaps have additional renderer parameters: lightmap index and offset/scale into the lightmap. Generally, dynamic lightmapped GameObjects should point to exactly the same lightmap location to be batched.
Multi-pass Shaders break batching.
Almost all Unity Shaders support several Lights in forward rendering, effectively doing additional passes for them. The draw calls for “additional per-pixel lights” are not batched.
The Legacy Deferred (light pre-pass) rendering path has dynamic batching disabled, because it has to draw GameObjects twice.

Does anyone know if GPU instancing is available on the HoloLens?

Original poster of the forum thread here.
I was initially trying to get GPU instancing working, but wasn't able to. Only then did I turn to Dynamic Batching. I followed all of the steps on Unity documentation for instancing but wasn't able to get it working. However Ameramer in the original forum thread claims to have instancing working.

@HodgsonSDAS Yes, GPU instancing works (drawing approx. 200k tris on the Hololens right now with that).

Right, as @HodgsonSDAS mentioned for dynamic batching to truly help its usually recommended to have one material and a combined texture atlas that can help with multiple game objects in the scene.
@dbastienMS any thoughts on material Vs sharedMaterial usage and any improvements we could make?

Swapping materials, using sharedMaterial, or using property blocks are the ways to handle this, and it depends on the particular use case.
Accessing .material should almost never be done.
FYI though - dynamic batching isn't likely to improve performance a ton anyway for most applications - draw call overhead will be massively dwarfed by per-pixel ALU ops.  Most applications I look at have ~50-100 batches which should be no problem whatsoever.
If you're having perf trouble I recommend switching to the new FastConfigurable shader and additionally making sure you're not overdrawing the screen too much.

I'm going to change this label from bug to enhancement because the requirements are different from developer to developer.

Addressed in the coding style guide. Internal to the MRTK, we will be enforcing good behavior as new features are brought online (and old ones take change requests).
We will also go through the scripts pointed out by @jbienz to make sure we have addressed what he found.


bug: The changelog writer interchanging the repo name and org name

Issue
We have observed that the changelog writer generating the link interchanging the repo name and repo org which causing the link to get incorrect while creating Tag.
Example : https://github.com/puppetlabs/puppetlabs-peadm/releases/tag/v3.15.0

If you check the above link which has the repo name and org name interchanged which causing the link to be invalid.
The generated link : https://github.com/puppetlabs-peadm/puppetlabs/tree/v3.15.0
Expected behaviour
The changelog generator should generate the valid URL.
The link should be : https://github.com/puppetlabs/puppetlabs-peadm/tree/v3.15.0

The fix has been put as part of https://github.com/chelnak/gh-changelog/pull/142


Update implementations.md

I have passed all the tests promise/A+ spec requires, please let my version of implementation be on your cool list, thanks!

Thanks @gaoxiaoliangz.  Confirmed tests pass. Nice work :+1:


OFFSET without LIMIT throws mysql syntax error

What was the original problem?
When using a paginator with a negative 'perPage' value, the limit clause is removed, but the offset remains, causing a mysql syntax error. I'm not sure if this is intended usage, but it seems useful to have a "no limit" value for a generic paginator. This also appears when using ->offset(0) or ->forPage(0, -1).
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1 (SQL: select * from `contacts` offset 0)

Suggested fix
Only apply offset clauses if a limit clause exists in the query prior to the offset clause.
Example
Route::get('/test', function()
{
	// Works as expected
	$contacts = \App\Models\Contact::limit(1)->offset(0)->get();

	// Mysql Error
	$contacts = \App\Models\Contact::offset(0)->get();
});

This isn't supported.


fix: prevent cyclic dependency when switching to js mode

Description
When translating diffs, if an array value changes to a string, all MemberExpressions of the array should be removed from the dependency map.
For example.

Previous

ENTITY.options = [
{
label: "name",
value: {{name}}
},
{
label: "name",
value: {{name2}}
}
]

Current (after switching to js mode)

ENTITY.options = "[
{
label: "name",
value: {{name}}
},
{
label: "name",
value: {{name2}}
}
]"

ENTITY.options[0] and ENTITY.options[1] (and their child nodes eg, ENTITY.options[0].value) should be removed from the dependencyMap
Fixes #14669
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Jest
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=31c517f

/ok-to-test sha=7a4657f

/ok-to-test sha=61d7662


[Question] How to set min height and no max (dynamic) height ?

This is just a question. Is it possible to set a minimum height of the QuillEditor say 400, and grow the height as needed if the number line of lines exceeds that 400 ?
I am looking for something similar to minLines: 10, maxLines: null in regular TextField
This may also mean disable inner scrolling

I found it
QuillEditor(
                          controller: _controller,
                          scrollController: scrollController,
                          scrollable: false,
                          focusNode: FocusNode(),
                          autoFocus: true,
                          readOnly: false,
                          minHeight: 400,

                          expands: false,
                          padding: EdgeInsets.all(24),
                          keyboardAppearance: Brightness.light,
                          locale: null,
                          onImagePaste: _onImagePaste,
                          embedBuilders: [
                            ...FlutterQuillEmbeds.builders(),
                          ],
                          customStyles: DefaultStyles(
                            link: TextStyle().copyWith(color: Colors.blue),
                            paragraph: DefaultTextBlockStyle(
                              const TextStyle(),
                              const Tuple2(8, 16),
                              const Tuple2(0, 0),
                              null,
                            ),
                          ),
                          // customStyles:
                        ),


Example code doesn't work

I am trying to start using this, but the example in the project doesn't seem to work.  Does the example you provide in the README.md need to be updated or am I doing something wrong?  When I try to use the example it throws the following error:
Uncaught TypeError TypeError: `input` argument must be a String
I tried changing the input to a string, and then it throws the error:
Uncaught TypeError TypeError: `buffer_name` argument must be a String
Here is what I have for my code:
const { parse, Send } = rubyparse;

function print_parse_result(parser_result) {
  console.log(inspect(parser_result, { showHidden: false, depth: null }));
}

// This function must be defined by you.
// It takes a string and return an array of bytes.
// The following code is just an example:
function bytes(str) {
  const bytes = unescape(encodeURIComponent(str))
    .split('')
    .map((c) => c.charCodeAt(0));
  return new Uint8Array(bytes);
}

const input = bytes('2 + 3 # x');
const options = { record_tokens: true };
const result = parse(input, options);
print_parser_result(result);

Could you provide some guidence on what is expected to make the example work correctly?
Thanks!

Hmm, yes, I think this particular bindings can have an outdated documentation. Are you using the latest version? (4.0.3) If so for now you can take a look at specs - https://github.com/lib-ruby-parser/node-bindings/blob/master/spec/bindings.spec.ts#L21, I've simplified the signature to be parse("source code", "buffer name", decoder_fn). Could you try that for now and let me know if works?
I'll fix the documentation, thanks for reporting!


Fix AstExpressionBuilder.java in 2.7 for backport 1456 to 2.7

Description
Fix build for https://github.com/opensearch-project/sql/pull/1509
Issues Resolved
https://github.com/opensearch-project/sql/pull/1509
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1513 (318bdfc) into backport/backport-1456-to-2.7 (c539f07) will increase coverage by 0.07%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@                         Coverage Diff                         @@
##             backport/backport-1456-to-2.7    #1513      +/-   ##
===================================================================
+ Coverage                            98.41%   98.49%   +0.07%
- Complexity                            3727     3926     +199
===================================================================
  Files                                  335      347      +12
  Lines                                 9281     9768     +487
  Branches                               599      645      +46
===================================================================
+ Hits                                  9134     9621     +487
  Misses                                 142      142
  Partials                                 5        5

Flag
Coverage Δ

sql-engine
98.49% <ø> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...pensearch/sql/sql/parser/AstExpressionBuilder.java
100.00% <ø> (ø)

... and 11 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Is the destination branch wrong?


kconnect to --id not working

What happened:
I tried using kconnect to --id in order to connect to a previously connected EKS cluser.
% kconnect ls
INFO[0000] kconnect - the kubernetes cli (0.1.1)
ID                           PROVIDER   PROVIDERID                                                        IDENTITY
01EKK09ZMZ6ZP578R9S2FT76WS   eks        arn:aws:eks:us-west-2:12343341411:cluster/CLUSTERNAME   saml

% kconnect to --id 01EKK09ZMZ6ZP578R9S2FT76WS
INFO[0000] kconnect - the kubernetes cli (0.1.1)
Error: accepts 1 arg(s), received 0
Usage:
  kconnect to [flags]
Flags:
      --alias string              Alias name for a history entry
  -h, --help                      help for to
      --history-location string   Location of where the history is stored (default "/Users/31313/.kconnect/history.yaml")
      --id string                 Id for a history entry
  -k, --kubeconfig string         Location of the kubeconfig to use (default "/Users/31313/KUBECONFIG")
      --max-history int           Sets the maximum number of history items to keep (default 100)
      --no-history                If set to true then no history entry will be written
      --password string           Password to use
Global Flags:
      --config string       Configuration file for application defaults (default "/Users/31313/.kconnect/config.yaml")
      --log-format string   Format of the log output (default "TEXT")
  -l, --log-level string    Log level for the CLI (default "info")
      --non-interactive     Run without interactive flag resolution
FATA accepts 1 arg(s), received 0

What did you expect to happen:
I expected kconnect to reconnect me to the cluster that I specified based on the ID I provided from my history.
How to reproduce it:
In order to reproduce, you can run the commands above.
Anything else you would like to add:
I am new to kconnect, so maybe I am using the command improperly?
Environment:

kconnect version (use kconnect version):

% kconnect version
INFO[0000] kconnect - the kubernetes cli (0.1.1)
version: 0.1.1
builddate: "2020-09-28T16:04:01Z"
commithash: 91c5a159d5161592777a29eb2e819e30e0dd2f09
goversion: go1.13.15
platform: darwin/amd64
compiler: gc

Kubernetes version (use kubectl version):

% kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"darwin/amd64"}

OS (e.g. from /etc/os-release):

% sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.6
BuildVersion:	19G2021

Target environment (e.g. EKS, AKS, Rancher): EKS
Authentication Used (e.g. SAML, IAM, Azure AD):  SAML

@Gearheads - thats for reporting this. The usage is incorrect i'm afraid and this will be fixed in the next release.
In the meantime you can use the to command without --id so you have the following:
kconnect to 01EKK09ZMZ6ZP578R9S2FT76WS


No connection to Kiss FC w/ steele pdb (Kiss FC V1)

Setup:
Kiss FC V1 (latest firmware)
Steele PDB (latest 2.5 firmware)
FrSky X4r
I keep seeing "no connection to kiss fc" on the bottom of the screen after boot up. No amount of flashing or wiring has changed this. Is there an incompatibility issue with the V1 FC and the steele pdb? Have tried flashing 2.4, 2.5, and 2.5.1.  I flash the config tool first, then the OSD hex file, both with battery on and both port plugs removed from the FC.
All wiring is done correctly. PDB is set for 7v vtx power also.
Ideas?

There is definitely no compatibility issue. Is the serial configuration on the KISS FC set to OSD?

I ended up getting it to work. There were bent pins for the serial
connections from the pdb to the fc. Board was brand new also and had bent
pins.
Took 4 hours to figure that out.
Thanks for the response though! Loving the setup currently
On Fri, Oct 5, 2018, 9:00 PM awolf78<EMAIL_ADDRESS>wrote:

There is definitely no compatibility issue. Is the serial configuration on
the KISS FC set to OSD?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/awolf78/KISS_OSD/issues/55#issuecomment-427533976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ap3HVKMIVdXQTj_HZ6O3opEROPFd7uIBks5uiACzgaJpZM4XK7_v
.


Remove old cctools references now that only ruby-macho is used.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

Continuation of #1051. The big changes here are that Keg#require_install_name_tool? is now Keg#require_relocation? and OS::Mac.{install_name_tool,otool} are removed.
Other notes:
We still check for otool and install_name_tool behavior in extend/os/mac/diagnostic.rb, even though both are currently eliminated entirely from the codebase.
Is it worth keeping checks like check_for_bad_install_name_tool? A cursory search of the core shows that at least 11 formulae invoke it directly, rather than using our ruby implementation.
cc @UniqMartin, @MikeMcQuaid

Is it worth keeping checks like check_for_bad_install_name_tool

In that case it's worth renaming but adding to our compat/ layer.

Thanks again @woodruffw!

In that case it's worth renaming but adding to our compat/ layer.

Got it! I'll also look into changing those formula to use ruby-macho instead.

Nice work here and in #1051! If you feel like leveraging more of ruby-macho's capabilities in Homebrew, you could look into relocating and cleaning up bogus RPATHs. This could also help with making a few more bottles relocatable (cf. #371), though admittedly RPATHs are still not that prevalent among Homebrew formulae, so the impact won't be massive.
And then there was also the idea of adding some form of validation of the install name in https://github.com/Homebrew/homebrew-core/pull/4655#issuecomment-247753580 which also falls into the realm of Mach-O related tweaks in Homebrew, thus something you might want to look into.

Thanks!
I'll read those issues and see what I can do about them. Expect PRs in a few days :smile:


Document Search: Allow searching by creator

API added in ab6c2ffbd46a370565ed024c3ff5098cb52dbd91, now only frontend is needed.

Completed in https://github.com/galexrt/fivenet/commit/896f05bfffa6cd5cf55a8bf51c073b6ace469515.


BTools / Git autocompletion

As per se post Git[" is supposed to trigger autocompletion menu, which it does not for me. (v2.1.27 MMA v11.3+ Win7/10)
BTools["AllowAutocompletions"]

BToolsPackageScopePrivateConstants$TopLevelLoad

Looks like something funky is happening in the actual load process. I.e. BTools`Package`Scope`Private`Constants`$TopLevelLoad isn't getting a value the way it should. I tried to turn off autocompletions when BTools gets loaded not by the user and this is clearly a side effect.


Discovery assumes that we got a Solr connection, leading to possible NPE

Describe the bug
SolrSearchCore.getSolr() assumes that initSolr() has placed a non-null reference in field solr and unconditionally dereferences it.  If discovery.search.server is a syntactically correct URL but points to a down Solr instance, or no Solr instance at all, this yields NPE, which is not very helpful.  Stack trace from @hardyoyo attached:  npe.txt
To Reproduce
Steps to reproduce the behavior:

Configure discovery.search.server to a valid but useless URL.
Trigger a Discovery search.  For example:  try to create a new Collection, given an existing Community.

Expected behavior
getSolr() should throw a more specific exception which informs the catcher that Solr could not be contacted.  It should be an exception that can be passed to the UI so that a useful error banner can be shown, facilitating the detection and correction of the problem with contacting Solr.
Related work
Link to any related tickets or PRs here.

Maybe this should be expanded to examine all four Solr connections (search, authority, OAI PMH, statistics) for similar issues.

@mwoodiupui : I agree with you on this.  If you plan to work on this, let me know as I can always assign it back to you.  Otherwise, I'm going to leave this in the backlog while I determine where best to place this (possibly 7.0, but also could be 7.1)

Moving this to the 7.1 board for now, as it seems low priority for now.  However, @mwoodiupui if you find time to fix this in 7.0, we can move it up.


portico: Typographical nitpicking

Punctuate marketing headings with a period.  Fix a couple of title-cased headings to sentense case.  Consistently use curly apostrophes, curly quotation marks, and Unicode ellipses.
GIFs or Screenshots:

lgtm; feel free to merge once CI passes.


implement Exception.Unwrap method

In order to make exceptions testable with errors.Is, they must implement the Unwrap method to allow access to the underlying error code(s).
This change is addressing the problem of the below code not working as expected, when testing returned by Do method error:
c, _ := ch.Dial(ctx, ch.Options{...})
switch err := c.Do(ctx, ch.Query{...}); {
case err == nil:
	// ...
case errors.Is(err, proto.ErrTableIsReadOnly), errors.Is(err, proto.ErrReadonly):
	// ... <- Never executed, because exception unwraping is not implemented.
default:
    // ...
}

Because Exception instances are created dynamically, unwrapping can ignore nested exception instances and collect only the underlying error codes.

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


Secure Client-Initiated Renegotiation Supported DoS DANGER (more info)

I set up a SSL yaws server and use https://www.ssllabs.com/ssltest/index.html to test it. All is well except this warning:
  Secure Client-Initiated Renegotiation Supported DoS DANGER (more info)

Any idea if this should be fixed in yaws? thanks, Leo

If it should be fixed it's not in yaws (I think) It's in the ssl libs in OTP. Furthermore, protecting an SSL site from all variants of SSL DOS attacks is , well hard.
I'd say - ignore it - on this one.

I see that there is indeed a flag to erlang ssl libs
{secure_renegotiate, boolean()}:
Specifies  if to reject renegotiation attempt that does not live up
to RFC 5746. By default secure_renegotiate is  set  to  false  i.e.
secure  renegotiation will be used if possible but it will fallback
to unsecure renegotiation if the peer does not support RFC 5746.

But default appears to be false. Hmmm

Yes, I have secure_renegotiate set to 'true' in yaws.conf.
I run the DoS tool as mentioned on https://www.thc.org/thc-ssl-dos/ and it can easily make my server unresponsive. I am not sure what best to do though. For information, the zotonic project hit the same problem and they seem to be able to fix it in the web server they use (at that time MochiWeb).
Cheers,
Leo

I see the following from http://www.erlang.org/documentation/doc-5.9/lib/ssl-5.0/doc/html/notes.html:
Mitigates an SSL/TLS Computational DoS attack by disallowing the client to renegotiate many times in a row in a short time interval, thanks to Tuncer Ayaz for alerting us about this.  Own Id: OTP-9739
which seems to indicate that DoS attach is mitigated to some degree.

There is a new ssl option client_renegotiation in OTP 18.0. See #225.


nix: Fix building and create flake

nix: Fix permission error when the builder copies from nix store
Files in the nix store have weird permissions.
nix: Replace jakt.nix with flake
This allows for reproducible builds and insane ease of use. Now, anyone with a Linux machine with nix installed can just run nix build and easily build or install jakt.
Further, jakt contributors can easily get a shell with all the dependencies just by running nix develop.
nix: Add legacy shell.nix and default.nix
For anyone using nix-build or nix-shell instead of the new nix commands.
nix: Add wrapper
This should fix running jakt without clang++ in PATH, which could happen when using nix.
nix: Fix PR that fixes Nix

Closing this as my PR to https://github.com/SerenityOS/jakt/pull/1557 got merged.


Add Scroll to top button in all pages

I want to add Scroll to top button in all pages, because the scroll to top button is not available in all the pages, so i want this in every pages.

similar issue is already assigned to someone


Added implicit(Head|Options) methods to Route

In order to determine if a matched route supports HEAD and/or OPTIONS requests implicitly (i.e., the methods were not specified during construction), this patch adds the methods implicitHead() and implicitOptions().
This will allow dispatchers to determine if they should delegate to matched middleware, or instead provide automated responses (e.g., providing an empty 200 response with an Allow header for OPTIONS requests; dispatching the middleware using GET and removing the body for a HEAD request).
One step towards solving zendframework/zend-expressive#398.

Coverage remained the same at 100.0% when pulling 1810ceb4a86e77d28fa41f3ccdf4e4310e81cb7e on weierophinney:feature/implicit-head-options into d436678c7fca9359a5e3eecef9ac0d527b950fa2 on zendframework:develop.


PHOENIX-6771 Allow only "squash and merge" from GitHub UI

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
6m 38s
Docker mode activated.

 U: .

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/1/console

versions
git=2.7.4 maven=3.3.9 yamllint=1.20.0

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 27s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

_ Patch Compile Tests _

-1 :x:
whitespace
0m  0s
The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply

-1 :x:
yamllint
0m  0s
The patch generated 1 new + 1 unchanged - 3 fixed = 2 total (was 4)

_ Other Tests _

-1 :x:
asflicense
0m 27s
The patch generated 2 ASF License warnings.

1m 46s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix-connectors/pull/85

Optional Tests
dupname asflicense yamllint

uname
Linux a45a1f73ed76 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-connectors-personality.sh

git revision
master / 996fec8

whitespace
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/2/artifact/yetus-general-check/output/whitespace-eol.txt

yamllint
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/2/artifact/yetus-general-check/output/diff-patch-yamllint.txt

asflicense
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/2/artifact/yetus-general-check/output/patch-asflicense-problems.txt

Max. process+thread count
52 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/2/console

versions
git=2.7.4 maven=3.3.9 yamllint=1.20.0

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 37s
Docker mode activated.

 U: .

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-85/3/console

versions
git=2.7.4 maven=3.3.9 yamllint=1.20.0

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


[ENG-3649] Add R csv benchmarks

Closes #37 by adding an RCsvReadBenchmark class that runs the arrowbench read_csv benchmark. Tried to stay reasonably parallel to the Python version; took the naming convention from the benchmarks in other languages.

Closing because I've got a new version based off of BenchmarkPythonR that more or less starts over.


Structure table

structure list ui
structure list api

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Plugin load OK but accessories AIRZONE do not appear in HomeKit or HomeBridge Accessories

Good afternoon. I've been with this for several days and I can't figure out what's going on.
The plugin load is correct, without errors, the plugin communicates with m.airzonecloud.com and receives all the information of my user and device.
The problem is that then no new device appears in Homekit or HomeBridge Accessories.
I have removed the plugin and reinstalled, and everything is the same. I've tried older versions and the same.
I have many plugins installed on HomeBridge and this never happens to me.
I paste some information to help:

New AirZone device does not appear, I try to add new device AirZone in iPhone does not appear either.

[2/13/2022, 5:07:24 PM] [Airzone] Initializing AirzoneCloud platform...
[2/13/2022, 5:07:24 PM] [Airzone] config.json: {"name":"Airzone","system":"https://m.airzonecloud.com","login":{"email":"xxxxxxxxxxxxxx@gmail.com","password":""},"debug":true,"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15","platform":"AirzoneCloud"}
[2/13/2022, 5:07:24 PM] [Airzone] Finished initializing platform: Airzone
[2/13/2022, 5:07:24 PM] [Airzone] Executed didFinishLaunching callback
[2/13/2022, 5:07:24 PM] [Airzone] Initialice conection to Airzone Cloud
[2/13/2022, 5:07:24 PM] [Airzone] [Fetch] ⬆ Request: POST https://m.airzonecloud.com/api/v1/auth/login body={"email":"xxxxxxxxxxxxxxx@gmail.com","password":""}
[2/13/2022, 5:07:25 PM] [Airzone] [Fetch] ⬇ Response: {"_id":"6206899fb1b4f26a01de7e8f","email":"xxxxxxxxxxxx@gmail.com","data":{"name":"xxxxxx","lastName":"xxxxx xxxxxx","commercial":true},"config":{"lang":"es","ampm":false,"units":0,"noHaptic":false,"sundayFirst":false,"notification":true},"created_at":"2022-02-11T16:06:55.879Z","confirmation_date":"2022-02-11T16:07:19.072Z","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc","refreshToken":"50bdc528-0aab-4f4e-aec7-b223580ad79a"}
[2/13/2022, 5:07:25 PM] [Airzone] Logged in successfully as<EMAIL_ADDRESS>[2/13/2022, 5:07:25 PM] [Airzone] Websocket: {"path":"/api/v1/websockets/conn","secure":true,"query":{"jwt":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc"},"transports":["websocket"],"transportOptions":{"polling":{"extraHeaders":{"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc"}}},"autoConnect":false}
[2/13/2022, 5:07:25 PM] [Airzone] Websocket connected
[2/13/2022, 5:07:25 PM] [Airzone] [Websocket] ⬆ ["clear_listeners"]
[2/13/2022, 5:07:25 PM] [Airzone] [Websocket] ⬇ [null]
[2/13/2022, 5:07:25 PM] [Airzone] [Fetch] ⬆ Request: GET https://m.airzonecloud.com/api/v1/installations
[2/13/2022, 5:07:25 PM] [Airzone] [Fetch] ⬇ Response: {"total":1,"installations":[{"_id":"62068b163ac05cac65822de0","installation_id":"62068b163ac05cac65822ddf","location_id":"60f14ebc061c028018122b4d","location_text":{"city":{"de":"Sevilla, Provinz Sevilla","en":"Seville","es":"Sevilla","fr":"Séville","it":"Siviglia","pt":"Sevilha"},"country":{"de":"Spanien","en":"Spain","es":"España","fr":"Espagne","it":"Spagna","pt":"Espanha"}},"name":"Casa","ws_ids":["28:CC:FF:80:9E:AD"],"access_type":"admin","icon":1,"color":4}]}
[2/13/2022, 5:07:25 PM] [Airzone] Installation: Casa<62068b163ac05cac65822ddf>
[2/13/2022, 5:07:25 PM] [Airzone] [Fetch] ⬆ Request: GET https://m.airzonecloud.com/api/v1/devices/ws/28:CC:FF:80:9E:AD/status/?installation_id=62068b163ac05cac65822ddf
[2/13/2022, 5:07:26 PM] [Airzone] [Fetch] ⬇ Response: {"ws_type":"ws_aidoo","status":{"isConnected":true,"stat_rssi":-52,"stat_quality":3,"sshost":"skaidoo2.airzonecloud.com","pending_ws_schedules_update":false,"ssport":"443","connection_date":"2022-02-13 16:53:59 +0100","disconnection_date":"2022-02-13 16:53:59 +0100"},"config":{"mac":"28:CC:FF:80:9E:AD","pin":4494,"units":0,"ws_fw":"3.06","stat_channel":1,"ws_sched_available":true,"server_sched_active":true,"ota":true,"tunnel":false,"stat_ssid":"MIKASITA2.4"}}
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬆ ["clear_listeners"]
[2/13/2022, 5:07:26 PM] [Airzone] Cleaned cached installationId and webserverId
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬇ [null]
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬆ ["listen_installation", "62068b163ac05cac65822ddf"]
[2/13/2022, 5:07:26 PM] [Onkyo] Event - Input changed: video6
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬇ [null]
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬇ ["DEVICE_STATE",{"device_id":"61fa39b3b0567ee7b0f1a168","device_type":"aidoo","ws_id":"28:CC:FF:80:9E:AD","status":{"isConnected":true,"speed_type":0,"step":{"fah":1,"celsius":1},"ws_sched_calendar_available":false,"ws_sched_available":true,"range_air_max":{"celsius":30,"fah":86},"range_air_min":{"celsius":15,"fah":59},"machineready":true,"errors":[],"warnings":[],"aqpm1_0":null,"aqpm2_5":null,"aqpm10":null,"aq_active":null,"aq_quality":null,"aq_mode_values":[],"manufacturer":{"_id":4,"text":"Fujitsu 3 wires"},"power":false,"active":true,"mode_available":[1,2,3,4,5],"mode":4,"setpoint_air_cool":{"celsius":25,"fah":77},"setpoint_air_heat":{"celsius":25,"fah":77},"speed_conf":6,"speed_values":[0,2,3,4,6],"setpoint_air_auto":{"celsius":25,"fah":77},"setpoint_air_dry":{"celsius":25,"fah":77},"range_sp_cool_air_min":{"celsius":18,"fah":64},"range_sp_cool_air_max":{"celsius":30,"fah":86},"range_sp_hot_air_min":{"celsius":16,"fah":61},"range_sp_hot_air_max":{"celsius":30,"fah":86},"range_sp_dry_air_min":{"celsius":18,"fah":64},"range_sp_dry_air_max":{"celsius":30,"fah":86},"range_sp_auto_air_min":{"celsius":18,"fah":64},"range_sp_auto_air_max":{"celsius":30,"fah":86},"pspeed":100,"block_fantemp":true,"block_autospeed":false,"block_drytemp":false,"block_dryspeed":true,"block_autotemp":false,"setpoint_air_vent":{"celsius":null,"fah":null}},"ws_type":"ws_aidoo","units":0,"sched_conf":{"step":{"fah":1,"celsius":1},"aq_mode_values":[],"mode_available":[1,2,3,4,5],"speed_values":[0,2,3,4,6],"speed_type":0,"range_sp_cool_air_min":{"celsius":18,"fah":64},"range_sp_cool_air_max":{"celsius":30,"fah":86},"range_sp_hot_air_min":{"celsius":16,"fah":61},"range_sp_hot_air_max":{"celsius":30,"fah":86},"range_sp_dry_air_min":{"celsius":18,"fah":64},"range_sp_dry_air_max":{"celsius":30,"fah":86},"range_sp_auto_air_min":{"celsius":18,"fah":64},"range_sp_auto_air_max":{"celsius":30,"fah":86}}}]
[2/13/2022, 5:07:26 PM] [Airzone] [Websocket] ⬇ ["DEVICE_STATE_END"]
[2/13/2022, 5:07:26 PM] [Airzone] The installation status was fully received
[2/13/2022, 5:07:26 PM] [Airzone] [Fetch] ⬆ Request: GET https://m.airzonecloud.com/api/v1/installations/62068b163ac05cac65822ddf
[2/13/2022, 5:07:27 PM] [Airzone] [Fetch] ⬇ Response: {"_id":"62068b163ac05cac65822de0","plugins":{"schedules":{"calendar_ws_ids":[],"activated":true,"week_ws_ids":["28:CC:FF:80:9E:AD"],"acs_ws_ids":[]}},"installation_id":"62068b163ac05cac65822ddf","location_id":"60f14ebc061c028018122b4d","name":"Casa","icon":1,"color":4,"groups":[{"group_id":"62068b173ac05cac65822de1","name":"","devices":[{"device_id":"61fa39b3b0567ee7b0f1a168","type":"aidoo","ws_id":"28:CC:FF:80:9E:AD","meta":{"units":0}}]}],"scenes":[],"added_at":"2022-02-11T16:13:10.812Z","access_type":"admin","user_id":"6206899fb1b4f26a01de7e8f"}
[2/13/2022, 5:07:27 PM] [Airzone] Group: <62068b173ac05cac65822de1>
[2/13/2022, 5:08:17 PM] [Airzone] [Websocket] ⬇ ["auth","authenticate"]
[2/13/2022, 5:08:17 PM] [Airzone] [Websocket] ⬆ ["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc"]
[2/13/2022, 5:08:17 PM] [Airzone] authenticate event, replied with a valid token
[2/13/2022, 5:08:58 PM] [Airzone] [Websocket] ⬇ ["WEBSERVER_UPDATES.28:CC:FF:80:9E:AD",{"ws_id":"28:CC:FF:80:9E:AD","change":{"status":{"stat_rssi":-49,"stat_quality":4}}}]
[2/13/2022, 5:09:17 PM] [Airzone] [Websocket] ⬇ ["auth","authenticate"]
[2/13/2022, 5:09:17 PM] [Airzone] [Websocket] ⬆ ["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc"]
[2/13/2022, 5:09:17 PM] [Airzone] authenticate event, replied with a valid token
[2/13/2022, 5:10:17 PM] [Airzone] [Websocket] ⬇ ["auth","authenticate"]
[2/13/2022, 5:10:17 PM] [Airzone] [Websocket] ⬆ ["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJTZU9WNkhkNUtMVVIxVXI3eXE3SGJPZGczREtnTkZtbiIsInRva2VuSWQiOiJhYmJmZjE1ZS1mOGI2LTQ1YzktODVmZS1lODM0MjhmNzU1MWUiLCJzY29wZXMiOnsiYXoiOiI2MjA2ODliNzZiNTlmM2MwNzhiOGM4YjMifSwianRpIjoiNTJkZWIzODEtMWE3YS00NTE1LWI3MjQtOTY3NjE1M2E5ODAxIiwiaWF0IjoxNjQ0NzY4NDQ1LCJleHAiOjE2NDQ5NDEyNDV9.Q4IGchz8g7rCXOeV9S9dl7WlmCdlgmcUEka77fm1UFc"]
[2/13/2022, 5:10:17 PM] [Airzone] authenticate event, replied with a valid token
In homebridge accessories no new AirZone device appears:

If you can help me I thank you very much!!

Aidoo devices are not supported yet

Same happened to me and all went ok as soon I set it as a child bridge

Thank BertoTavira, I have tried what you mention (child bridge) but still nothing appears in my homekit. I have added the new bridge in homekit, but ...Everything remains the same :(

Hello @jalacain, @BertoTavira, as @BLRPERES mentioned, Aidoo devices aren’t supported yet, as soon as I have time I will include it.
Thanks for your collaboration

Ok FjHorrillo, great job. I don't know if it's a big effort to adapt Aidoo device, but congratulations, great job. We eagerly await an update to enable Aidoo devices.
Thx

Thank you very much, but after updating everything is still the same, that is, I am not able to load any new device in my home. I have configured an exclusive child bridge for Airzone, but after adding the bridge it does not add any new devices to me.
I am doing something wrong? I need something else to do? In the documentation I don't see anything about it, and in the trace everything appears correct in the connection to the https://m.airzonecloud.com servers.


Update VR Visuals to be less distracting

Right now a number of issues may distract the participant from focusing on the crosshair.  This is problematic, as it makes the test less reliable (maybe people were looking at the edge of the circles instead of at the crosshair?) Movement and contrast can distract, so to solve this lets make the crosshair more prominent.

Change background color to white.
Set ShowGrid to "Off"  (and make sure the logger also logs ShowGrid as "Off")
Use a light grey for the circle.
Increase Speed of the Red circle animation to take only 300ms.
Increase size of Crosshair, and use a black color.

This seem to be fixed now.


Unify setup and teardown methods of TestCases

Summary
The previous split was to avoid having testtools as a core testing
dependency, even though it was present in all CI tests.  This eventually
led to more fracturing of the two classes, where various extra
functionality was added into FullQiskitTestCase, but not into
BasicQiskitTestCase (see #6746).  This meant downstream consumers of
QiskitTestCase sometimes had to care about how Terra's tests were
configured (see Qiskit/qiskit-aer#1283), and running simple local tests
without setting the environment variable QISKIT_TEST_CAPTURE_STREAMS
would run with different configurations.
This unifies the two classes, such that QiskitTestCase is now the parent
class of FullQiskitTestCase.  All non-testtools/non-fixtures related
additions are handled in QiskitTestCase, and FullQiskitTestCase adds on
the testtools-specific functionality.  FullQiskitTestCase is still not
made a subclass of testtools.TestClass because the same issues mentioned
in #3982 are still present in testtools.
Whether to capture streams and whether to use the testtools machinery
are two separate concerns, with the availability of the former being
strictly dependent on the latter.  We can bind to the "full"
testtools-based class provided testtools is available, and it internally
decides whether it should also add the stream-capturing mechanisms.
The shared functionality added to the setUp, setUpClass and tearDown
methods means that it is important all subclasses always call up the
stack with super().  testtools has always enforced this using custom
_run_setup() methods, but this is not available to us when it is not
being used as the runner.  Instead, the parent class is modified after
creation, wrapping certain methods with additional checks, and the
init_subclass method is used to influence the creation of children,
to add similar tests when they are created.
Details and comments
Fix #6746

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

I mixed my two responses to the comments (see https://github.com/Qiskit/qiskit-terra/pull/6753#discussion_r681740201).  To be honest, I don't especially mind exporting some testing utilities from qiskit.test, but it would be good to make a much clearer distinction between what's a utility intended to be shared by all Qiskit-family packages (and consequently is a public API with all the guarantees that implies), and what's specific to testing Terra's features (which we can consider private).  But yeah, a different PR for that.

Ok @mtreinish I've reinstated the BaseQiskitTestCase and BasicQiskitTestCase names. The former is the base, and should only contain functionality that can be shared across all Qiskit-family packages.  The latter is just an alias to QiskitTestCase, which is the lowest possible Terra-specific case.  I haven't really attempted to make any real split yet though, since that's probably better handled in a different PR.


Probability Weights on edge cases of Grid Sampler

There may be a defect in how the Grid sampler computes probability weights. See branch maljdan/fixProbability for a potential fix.
Attn: @PaulTalbot-INL and @aalfonsi, this is the problem we witnessed today during the sprint. The remaining part is going to be develop a more analytic test case.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or improvement?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[ ] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[ ] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[ ] 1. If the issue is a defect, is the defect fixed?
[ ] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[ ] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[ ] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

Is this still an issue? I think this should be fixed ASAP. @alfoa @PaulTalbot-INL

If I remember correctly it has been fix....do you mind to check it?


For submissions, a new team only visible review or comment type that is notes on a specific submission from an all team call

UX tasks

[ ] Mockup UI
[ ] Test with OTF staff

This is planned to be covered in the work we are doing in the Winter 2019 Sprints. Adding to project board.
As a side note @frjo, yes this is exactly what the internal comments are for but they don't seem to be well understood. We are going to repurpose this into a more well-understood concept int he work we are doing.


feat: add remoteDetectionAlert dataType

this installs a local version of mapeo-schema with remoteDetectionAlert schema.
should close #806

I'm getting a type error on the test-e2e/project-crud.js, where I added a fixture for remoteDetectionAlert. I don't know why it expects its field metadata to have a manualLocation. Its basically confusing it with an observation. I can add that field to please the type checker since metadata in remoteDetectionAlert allows for any value for any string key, but it feels finicky.
On the other hand, I can't npm i now, because mapeo/schema is a peerDependency in mock-data so the local version installed in this PR doesn't match the version on mock-data...

@EvanHahn I'm having a couple of type errors on test-e2e/project-crud.js which I'm not sure how to interpret...

I think something related to ts's structural typing is tripping us here. Since 'observation' and 'remoteDetectionAlert' both have a metadata field I think it expects remoteDetectionAlert.metadata to be the same as observation.metadata?
e.g. adding manualLocation to remoteDetectionAlert fixes all type errors... @EvanHahn any clue?

So, I after this PR was merged I updated the branch but I still get what is basically the same type error: we have to schemas with a field with the same name ({observation,remoteDetectionAlert}.metadata). It expects remoteDetectionAlert.metadata to have manualLocation which actuall belongs to observation.
I think I integrated the changes right (basically adding remoteDetectionAlert as a case in create, createWithMockData, update and getUpdatedFixture) but the issue still persists :'(


math/big: Rat.Denom has side effects

From here: https://github.com/ericlagergren/decimal/issues/138
My package divides (*Rat).Num by (*Rat).Denom to produce a decimal number. It turns out that (*Rat).Denom lazily sets its denominator, meaning it cannot be used concurrently.
Since the receiver is x not z, I assumed that the method simply read the denominator.
The receiver name should be updated to indicate side effects and/or the documentation for big.Rat should mention this side effect. I assume that the 7 years this has spent in the tree is too long to be reverted 😄. And, at any rate, not materializing the denominator can save allocations for whole numbers, which is a good thing.
I can send a CL if you want.

CC @griesemer

Reopening due to #34919
Should Denom() be allowed to have side-effects in the first place?
If we change this, we may break existing programs. See also #3521 and the respective test cases.


v052

Fix bugs in v0.5.1. Image snapshot serialization was only
working in node, not browser. Now we return the raw request
object and leave the environment specific handling up to the
client.

I updated the e2e test for snapshots, but if you want to test locally you can use one of these repos:
https://bitbucket.org/kylegmaxwell/flux-topics-node
https://bitbucket.org/kylegmaxwell/flux-topics-browser


Simplify and getStatistics

Based on @pjcozzi suggestion, this PR does 2 things:

Removed PrimitiveHelpers.js and isDataUri.js as dependencies of getStatistics

This require duplicating a few lines of code.

Adds a gulp command build-cesium-simplify that exports the listed files into a independent class format that only depends on Cesium already being imported (no require).

The files eligible for this must only depend on Cesium and no other files.
This can probably be expanded in the future to require local files as well.

Note: The nomenclature (simple/simplify) maybe naive. So if there is a technical term for it, then I can change it to that.

Looks good, please update this part of README.md: https://github.com/AnalyticalGraphicsInc/gltf-pipeline#building-for-cesium-integration

Note: The nomenclature (simple/simplify) maybe naive. So if there is a technical term for it, then I can change it to that.

Used combined/combine

@lilleyse updated.

Looks good!


reuse is misspelled

Use this dialog to view the current directories. However, if you want to change or add a directory, it is better to use Property Manager to create a property sheet or modify the default user property sheet. For more information, see Share or "resuse" Visual Studio C++ project settings.

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

ID: 7fcd45cd-eb1d-c4c1-d5cd-f8c5b94cd07a
Version Independent ID: f731e6e5-7d8e-e97c-b71f-0188dc474758
Content: VC++ Directories Property Page
Content Source: docs/build/reference/vcpp-directories-property-page.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

@P301319 fixed thanks! Should be visible by July 15.


Use case and flow of keystrokes

narrow is not settled(phase of experimenting several ideas).
But want to remember use-case that will/was worked.

Keystrokes
Use-case

Quick previewing
Direct edit multiple line
Navigating point of interest
As minimap
As TODO list
As TOC( table-of-content )

Keystrokes

Keybinding must be carefully defined with use-case described here in mind.
To make complex flow feel very intuitive, easy and natural.
For ease of use, important keybinding must be universal. Usable both in normal editor and narrow-editor.

canceling
confirming
focusing/un-focusing
Auto open narrow(with predefined provider by language-grammar) by moving mouse to corner??

Use-case
Quick previewing
With search/lines provider.

Open narrow:lines and input query immediately.
Auto preview first matching line?(with opening closed fold?)
Closing narrow-editor recover original cursor position/screen-top/fold.

Direct edit multiple line

Open narrow:lines, narrow:search and input query immediately.
Move to item area, and edit-it(with explict entering direct-edit mode?)
Saving buffer(show dialog to confirm? and suppress-able by config-option) apply changes to real-file
How to undo-ing thab bulk-change?

Navigating point of interest

Open narrow:fold, narrow:search
Confirm first matching item, now focus is on original-pane.
next-item, previous-item guide cursor to next/previous point of interest.
As you move to next/previous-item, or any cursor movement/pane-item change reflect current-selected-item indicator on narrow-editor, this will give user "where am I info".

Keep track of current position within items is really important.
next-item then move cursor to different position by mouse-clicking/or via normal-atom-command then next-item SHOULD move to next-item  which is relative to CURRENT cursor position.
Unless auto-tracking, next-item can be move-BACK cursor, this is not what user expect. narrow-editor must aware of position/buffer change of bound-editor.

As minimap

Open narrow:fold or narrow:symbols
Move this narrow-editor to rightmost or leftmost position in workspace, so that you can see it in comfortable place.
Each time you focused to different file, symbols(or fold) items are updated.
For fold, you can change fold level by cmd-[, cmd-] in narrow-editor to control granularity level of information.
Yes you can use this as minimap which clickable and shows only important information only.
Further, you can narrow the focus by query.

e.g. in file which file contains multiple classes and some of it have initialize overriding,
In this case, narrowing by initialize query, show only initialize functions in the items.

As TODO list

Place cursor the [TODO] or [FIXME] keyword, then open narrow:search-by-current-word.
Confirm first matching item, now focus is on original-pane.
next-item, previous-item guide cursor to next/previous point of interest.
After you fixed it and removed [FIXME] or [TODO] keyword and saved. items are auto-refreshed.
So remaining items in narrow-editor is [TODO]s you have to done.
When you done all the [TODO]s or [FIXME]s narrow-editor would have no items in the list. DONE.

As this way, you can use this approach when you

Rename variable names in project
Changing argument for particular function(e.g from string argument to object).
Removing deprecated code(after spending enough migration period and now it's time to delete!).

You can concentrate updating code and save then move to next by next-item(ctrl-cmd-n or tab for vim-mode-plus user).
As TOC( table-of-content )
Of course, clickable, narrowable.

Open narrow:symbols, narrow:search, narrow:fold, narrow item by query if necessary.
Click item listed cause auto-preview.

In this scenario, narrow is like minimap which gives overview of code with readable text(in minimap it's gives pictorial overview but text is not readable)

Close, moved to wiki
https://github.com/t9md/atom-narrow/wiki/UseCase


Remove getLineAndColumnInPsiFile function

This was introduced to work around issues with mutated PSI. This is no longer an issue since #7206. Because the formatting rule set operates on a copy of the PsiFile and not the original PsiFile the original PsiFile will never be modified, so the protection offered by this function is not needed.

Warnings

:warning:
It looks like this PR contains functional changes without a corresponding test.

  Generated by :no_entry_sign: dangerJS against 3ce73b338af1fcecabd8546e9a884b1e4cc85d6d


HAPI FHIR 5.5.1 Snapshot generator is replacing existing complex data type elements for new slice addition

NOTE: Before filing a ticket, please see the following URL:
https://github.com/hapifhir/hapi-fhir/wiki/Getting-Help
Describe the bug
HAPI FHIR 5.5.1 snapshot generator is replacing existing complex data type elements with slice element definition
To Reproduce
Steps to reproduce the behavior:

Have used base profile as CARIN patient profile from attached file StructureDefinition-C4BB-Patient.json which has "patient.identifier:memberid" and "patient.identifier:uniquememberid" slices.

Passed below differential structure definition from attached file differential-carin-bb-patient.son which has new slice "patient.identifier:subscriberid" added to patient.identifier complex data type and used HAPI FHIR SnapshotGenerator to generate the snapshot.

Attached generated-snapshot.json is the snapshot generated where patient.identifier:memberid" and "patient.identifier:uniquememberid" slices has been completely removed and has only "patient.identifier:subscriberid" instead of additing this slice to existing patient.identifier slices

Expected behavior
Expected behavior should be new Patient.identifier:subscriberid slice should have been added to existing patient.identifier:memberid and patient.identifier:uniquememberid slices in the generated snapshot instead of removing the existing identifier slices and  root patient.identfier elements like  patient.identifier.id , ipatient.dentifier.extension, patient.identifier.use,patient.identifier.system,patient.identifier.value from the base snapshot.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

HAPI FHIR Version - 5.5.1
OS: [e.g. iOS] - Mac
Browser [e.g. chrome, safari]

Additional context
Add any other context about the problem here.
snapshot-generator-issue.zip

This should actually be filed under https://github.com/hapifhir/org.hl7.fhir.core, no?

I think so. Is there a way to move this issue under  https://github.com/hapifhir/org.hl7.fhir.core or we need to close this and create one in  https://github.com/hapifhir/org.hl7.fhir.core,?

Created a new bug  https://github.com/hapifhir/org.hl7.fhir.core/issues/712 under right module https://github.com/hapifhir/org.hl7.fhir.core. Hence closing this bug as this issue will be tracked with https://github.com/hapifhir/org.hl7.fhir.core/issues/712


Delete download history

I suggest that you implement the same functionality as the legacy add-on Deletebutton to revive it as a WE in your add-on.

If it only deletes the download history without deleting the downloaded file, then I agree.

An option to clear download history has (finally) been added in version 1.7.0. When enabled, download history is cleared using the same settings as browsing history.

An option to clear download history has (finally) been added in version 1.7.0. When enabled, download history is cleared using the same settings as browsing history.

Good job!
I suggest that you change the main description of the project from

"Firefox addon that deletes history older than a specified amount of days." to something like
"Firefox addon that deletes browser and/or download history older than a specified amount of days."


Polling several partitions from the same consumer doesn't work as expected

the following code should poll 3 seperate partitions for new data in a topic, however, this only polls the first partition which .poll was called on:
var kafkaesque = require('kafkaesque');

var consumer = kafkaesque({
                              brokers: [
                                {host: 'localhost', port: 9093}
                              ],
                              clientId: 'fish',
                              group: 'multiconsume',
                              maxBytes: 2000000
                            });

consumer.tearUp(function() {
  consumer.poll({topic: 'my-replicated-partitioned-topic', partition: 0}, poll);
  consumer.poll({topic: 'my-replicated-partitioned-topic', partition: 1}, poll);
  consumer.poll({topic: 'my-replicated-partitioned-topic', partition: 2}, poll);

  var i = 0;
  function poll(err, kafka) {
    console.log('*** in here ', i++);
    if (err) console.log('error', err);

    kafka.on('message', function(offset, message, commit) {
      console.log('received msg for consumer.', 'offset: ' + offset + '.', message.value);
      commit();
    });

    kafka.on('debug', console.log.bind(null, 'debug: '));

    kafka.on('error', function(error) {
      console.log('error', JSON.stringify(error));
    });
  }
});

I have investigated and discovered on line 184 of lib/kafkaesque.js you are declaring a global emitter for firing events relating to the partition. This may or may not be related.
Expected behaviour based on this script would be that the kafka object passed into the poll function would be a new event emitter, not a global one.

Also, expected console output when running this script should be along the lines of
*** in here  0
*** in here  1
*** in here  2

however, I only received
*** in here  0


Sensor Readout - Registers only show default values

Dear all,
I'm trying to read out the BME280 over the I2C Interface.
I configure the sensor upfront as follows:
RESET = 0xB6
CONFIG_REGISTER = 0xE5
CTRL_MEAS = 0x93
After that I'm trying to readout the sensor, but I only get the default values back (According to datasheet page 25.
PRESSURE_LSB = 0x00
PRESSURE_MSB = 0x80
HUMIDITY_LSB = 0x00
HUMIDITY_MSB = 0x80
TEMPERATURE_LSB = 0x00
TEMPERATURE_MSB = 0x80
I tried burst read and seperate read, both Show the same result. It seems to me that the sensor is actually not sampling.
I use my own Code.
Can anybody give me some hint, what I'm doing wrong?
Thanks in advance and kind regards
Ron

@rwon88,
Can you verify that you have the expected values written to the CONFIG_REGISTER and CTRL_MEAS ?

Reading the Registers CONGIG_REGISTER, CTRL_MEAS and CTRL_HUM shows 0x00. So they seem not be written. The sequence of writing CTRL_HUM first and CTRL_MEAS after that has been applied.
I also tried to put some delay between the writing of CTRL_HUM and CTRL_MEAS.
What am I'm doing wrong?
Kind Regards
Ron

@rwon88,
You will have to check the bus communication using a logic analyzer like that from Saleae to see if you receive the right acknowledgements. Usually it could be an issue of the low level driver implementation, the write function.

I have the same problem. I always return the same values when reading the data registers (0xF7-0xFE) after configuring the module.
`	configure_i2c_master(&i2c_master_instance);
int8_t rslt = BME280_OK;

my_dev.dev_id		= BME280_I2C_ADDR_SEC;
my_dev.intf		= BME280_I2C_INTF;
my_dev.read		= user_i2c_read;
my_dev.write		= user_i2c_write;
my_dev.m_delay_ms	= user_delay_ms;

rslt = bme280_init(&my_dev);
if (rslt==BME280_OK)
{
	dbg_prints("BME280 Init success");
}

stream_sensor_data_normal_mode(&my_dev);`


client support multiple documents

This is a requirement for #65

I've modified the client to add support for creating an envelope with multiple documents. Sorry if someone was working on it, but it's a small change and I thought it wouldn't worth to ask.
I've been working on the DocuSign integration at my company lately, so I would be glad to help if there's anything else I can do.

fixed by #73


Add support for multiple values file and set-file option in Helm deploy action

Support multiple value files which are passed as an array of strings:
compose:
  - name: Create
    deploy:
      - helm:
          chart: apache-7.3.15.tgz
          name: r{{ system_properties.resource_id_label }}
          namespace: default
          values: [ "apache-helm-chart-values.yaml", "apache-helm-chart-values2.yaml" ]

Main support for a single string value on values, for backwards compatibility.
Also, add support for the --set-file option in Helm by adding a setfile arg to the Helm deploy action:
compose:
  - name: Create
    deploy:
      - helm:
          chart: apache-7.3.15.tgz
          name: r{{ system_properties.resource_id_label }}
          namespace: default
          values: [ "apache-helm-chart-values.yaml", "apache-helm-chart-values.yaml" ]
          setfiles:
               service.nodePorts.https : "httpsPort.data"

Closed by #44


Update minimum versions

This PR just updates the minimum required versions to guarantee compatibility across sub-packages for the upcoming 2.1.1 release.

Passed all checks.


fix(design-system): Fix grid styles to stretch cells.

EX-5239
The idea is to stretch the grid__items inside the x-grid, to allow set all the items with the same height.

Unrelated to the PR and more of a question than anything but why there isn't an example of x-grid in the design system layout?


Feat/integer to string part2

Added conversions that account for string max length.
Had to make some compromises on the tests because postgres does not support unsigned and uses smallint for both int8 and int16

Thanks @cliedeman for your contribution!


Does not check as strict as command line mypy

See typing issues in this commit from a recent PR:
https://github.com/tomv564/LSP/commit/4d55a4a339ce147b575a4d86d4a264a86ada1b9f
Could it be mypy.ini not being read ?
check_untyped_defs = True
strict_optional = True
mypy_path = stubs

The strictness mismatch in that PR was because the user was running a big workspace where mypy.ini was not detected.
A default about ignoring missing imports was removed in https://github.com/tomv564/pyls-mypy/commit/e594a57154128e11f5beb2ec06e7420d2fdee5ec


Allow precompiles to capture state

currently precompiles are limited to functions:
https://github.com/bluealloy/revm/blob/68f78ae0a4c2b351f2fe36236164d07933d0d4d5/crates/primitives/src/precompile.rs#L10-L11
it would be useful to allow them to capture state, by supporting Arc< dyn Fn(&[u8], u64, env: &Env) -> PrecompileResult

Would add another enum item for this, and before opening this should made this extendable with handlers refactor

an enum would be the proper abstraction imo.
where the third variant is something like an Arc<dyn PrecompileTrait>
where precompile trait mirrors fn(&[u8], u64, env: &Env) -> PrecompileResult
perhaps we could also pass the evmdata as an additional parameter, in case a precompile needs access to the journalstate for some reason


Read the docs integration

Related to #5
Added index page and getting started

Hi, Ernado,
One accepted pull request switches to github wiki for the docs.
https://github.com/chrislusf/weed-fs/pull/96
I found current docs on "Read the docs" is outdated and can be confusing to new users. I don't have permission to delete them. Is it possible for you to delete it from readthedocs.org ?
Thanks!
Chris


Error starting hello-world-nginx sample

Expected behavior
Expected it to download hello-world-nginx sample, install and start the Docker machine
Actual behavior
Timeout error - Try and restart your VM by running:
"docker-machine restart default" in a terminal
Information about the Issue
This is the first thing I've tried since installing Docker for Windows. Docker appears to be running correctly (according to the icon). This was also the first thing I tried with Kitematic once I downloaded it and unzipped into C:\Program Files\Docker\Kitematic
Steps to reproduce the behavior

Run Kitematic and click "Create" on the "hello-world-nginx" sample.
Watch Kitematic attempt to connect to Docker Hub
Note the timeout error

Never mind - I discovered that what was happening is that the Docker Hub authentication was failing (behind the scenes) because I was using a new DH account that hadn't been verified via email yet. It appears that this is required before the downloads will be permitted but, unfortunately, its reported to the end-user as a timeout error.

A couple of things are confusing - you're mentioning Docker machine, but seem to be running the Docker for Windows beta?
In that case, docker-machine restart default wouldn't work.
The timeout only happens if you clicked on 'Use VirtualBox' - I would check that docker ps first works in a simple PowerShell window

Thanks for the reply. Yes, this is the Windows beta - the use of "docker-machine restart default" is what was suggested by Kitematic running on Windows so if that's an invalid command then that's a separate issue. The container is running now, although it doesn't show up when I execute "docker-machine ls" at a command prompt (the command works, just comes back with an empty list).

@VeryKross That command should only shows up if you selected Virtualbox within the UI, option which would've showed up if the native setup didn't work.
docker-machine is not involved with Docker for Windows

docker-machine is not involved with Docker for Windows

But for consistency reasons it should be. I think this should be an issue somewhere.

@pmario There's already an open issue for it :)
https://github.com/docker/machine/issues/3543

Closing this issue due to lack of update/activity - Feel free to re-open if appropriate.


Add talks for pre-event

https://cloudnativedays.connpass.com/event/252961/

Review app
https://dreamkast-dk-1307.dev.cloudnativedays.jp


Linux: Try opening next dri device in case first is SimpleFB

and pused real GPU back
Archlinux enabled SimpleFB kernel module which can create /dev/dri/card0 early on during boot process, so let's just try next device.
https://bbs.archlinux.org/viewtopic.php?id=288578

Updated to actually find card devices instead of hardcoding

Anyone want to leave comment particularly nowrep?

anyway tested on my system works as expected.


cinema-c.py in skip list after VTK8 upgrade.

It was added to skip list because it crashes. Need to investigate and find fix.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 3057
Status: New
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: cinema-c.py in skip list after VTK8 upgrade.
Assigned to: -
Category: -
Target version: -
Author: Kathleen Biagas
Start: 04/03/2018
Due date:
% Done: 0%
Estimated time:
Created: 04/03/2018 08:51 pm
Updated: 11/27/2018 06:18 pm
Likelihood: 3 - Occasional
Severity: 2 - Minor Irritation
Found in version: trunk
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
It was added to skip list because it crashes. Need to investigate and find fix.
Comments:

Resolved by #5625, #5626.


integrate recent Airbase data, e.g. from openaip

https://www.openaip.net/

maybe related https://github.com/datasets/airport-codes

https://github.com/leopieters/aviation-edge-api
https://github.com/wmo-im/iwxxm
https://github.com/commenthol/openflights-data
https://github.com/E3V3A/MMM-FlightsAbove
https://github.com/commenthol/openflights-data
https://github.com/matthewgall/ourairports MIT pypi
https://github.com/wmo-im/iwxxm

Unfortunately openaip does not provide a working API.
The only way to get reliable data is to login and download it manually.

Using openflights-data to import airports is working fine.
I got banned from OpenAIP for trying to reverse engineer the login process for my script, so don't do that.

Much airports :)
Is this per API a request of data for the map section? Have you compared to ourairports.

These airports get loaded from this csv file here
https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports.dat
I haven't compared it to ourairports yet.

ok, we should add a notice where the data gets used from in our NOTICE
https://github.com/Open-MSS/MSS/blob/develop/NOTICE

I added support for manually downloaded airbase files from openaip
I could not automate the process, and I believe automation is against their ToS or something.
All in all it is a lot of data I am not sure yet how to display, do you have any suggestions to make it less convoluted?

the data has a share a like license.
https://www.openaip.net/legal
We have to figure how scientific usage can be covered.


Only test tmux passthrough if TERM_PROGRAM=tmux

I tried running this on ghostty, and got the same error as #29.
I don't have tmux installed, and the error was occurring when trying to spawn a tmux process.
Ghostty sets TERM_PROGRAM=ghostty (and Wezterm sets TERM_PROGRAM=WezTerm, for that matter), so it detected a running tmux even though I wasn't running tmux. This fixes that.

Looks good to me, thanks. I actually found this issue myself yesterday when implementing the iterm2 image protocol so I want to work on detecting the correct protocol anyway.


Renamed studio to serve in workflow

Status

[x] Ready
[ ] Draft
[ ] Hold

Description
Renamed studio to serve in a github action.

Let's merge?


Speed up views by using fewer transactions

Now that we've moved to a more general assessment model via #192, there are many more database transactions per page load — especially for the roster view. We need to use fewer transactions to make the pages load at a more reasonable speed.
Benchmarks as of 3fff33fc71bd17b3309bdb873fd0a8478417a9b3:
Using the generated fake demo data, loading the roster view for a classroom with 10 students takes 2152.6 ms (2.1526 seconds).

More detail on that last example:

Cutting out unnecessary queries from StudentRiskLevel brings us down to 1821.6 ms for the same page.

Cutting out unnecessary queries from _student_row.html.erb brings us down to 1658.7 ms.

Speed: 1558.2 ms
Queries: 190

Speed: 1039.1 ms
Queries: 108

FYI @thfield, performance improvements to the attendance/behavior roster counts: https://github.com/codeforamerica/somerville-teacher-tool/commit/f04fac4f73f57fed47ae261f4356b146e0a7cc6e

Between #244 and #249, the roster view is feeling snappy!
Latest:

Speed: 970.0ms
Queries: 23


Disabling context menu

Hi, @paulhodel
May I know Jexcel V3 Can disable right click context menu?
Now, I tried the code below, but when I press the right click, there are still something will show.
Any idea?
https://jsfiddle.net/tsepakkwan/fg49xdLa/

contextMenu: false,
is your way to go :)

Yes, that's correct.
contextMenu: false;


Create way to do identity proof on CMS/blog systems

It does not seem possible to get an identity proof from a blogspot blog.

Just claim it create message I %username% hereby claim that I am %username% on keybase and as proof, I am signing this message and sign it with saltpack.

Sure, but I don't want that kind of message to appear on the blog itself.

You need public proof so it has to be on the blog itself publicly reachable.

Yeah and if you can't proof mac4translators.blogspot.jp by uploading a file to /.well_known/ then revoke it

I understand that. But it should not have to be a page that it physically linked to the blog top page. Just like the proof for homepages.

Be more specific.

@brandelune It has to be linked to the account or page. Webs are proven by placing a file in ./well_known/xxxxxxxx where is written what I wrote and this proves that you have access to the file system under webpage or through DNS record by placing txt record to your zone which proves that you have access to zone. If you want to prove blog where you don't have acces to anything other than blog itself what would you want other than public message on blog?


[FEATURE] Allow importing nsec from QR code

Is your feature request related to a problem? Please describe.
One of the core issues with Nostr today is that generating and storing a Nostr private key is cumbersome and insecure by default. A solution to one of the problems (namely secure storage and backups) is to generate and store private keys on a secure hardware device (like Foundation Passport) and export it only when necessary to sign into an app like Amethyst.
This simplifies backups (keys are derived from a master seed via the same approach as BIP 85) and allows you to never store your key in a password manager, text file, etc.
Describe the solution you'd like
When logging into Amethyst, allow scanning in the nsec formatted key via QR code. When this approach is used, prevent export of the key in the app itself to provide better security around someone getting your nsec from your phone being open.
Bounty (in Bitcoin sats) offered for the implementation
I'm offering 500,000 sats for this once implemented and usable in Amethyst binaries.
(An additional 1.25m sats have been pledged by @BitcoinQnA and an anonymous Nostr user)
Total bounty (as of April 3rd): 1.75m sats

An example QR code is below, note that it's just a standard nsec formatted key as raw text:

I think it is an extremely dangerous idea to transfer private keys via a QR code.
QR Codes are designed for sharing. Since users can't see what's inside the QR without an electronic device, I expect private keys to leak by simply misusing the QR. For instance, I expect people to scan it with Android's camera, which immediately checks Google Search for more information after parsing the contents of the QR.
But I will merge it if somebody makes a reader in the login page.

An NFC interface would make a lot more sense for this use case.

The tricky thing is that we need some way to properly import an nsec from a secure device without copy-pasting and exposing the key to your keyboard etc.
IMO QR code is a low barrier of entry to making it easy to do, along with appropriate warnings that you shouldn't scan it with other apps.
Our release notes around the feature will include something like this:

Please note that if you export keys as QR codes, you should be careful what you scan them with! Apps like Google Camera will often open the content of the QR code in your default search engine, exposing that key to Google etc.

Using QR codes allows us to bypass many of the other issues (like generating keys in Amethyst and exporting via copy-paste, exposing nsec to clipboard attacks, online clipboards (like Google Keyboard), etc.

One other note -- we also allow exports to microSD as a raw text file with nsec, but that is a far inferior approach for both security and UX in my opinion.
I think a one-time export + import of QR is the best middle ground to allow you to normally keep your private key locked away tightly.

Already done in v0.31.4 🤯
note1vtsxla366x5wrde77fstz3uqpng0j6u8qd8q6dw60pj5kr04kqqq4plwzd

Bounties work.

Paid my contribution.

1.5m sat bounty paid. Thanks again so much, @greenart7c3!

We need to figure out how to do that well. Right now there is not difference between this method and others... I am wondering if this should be inside the QR itself, as a NIP19 option.

Would it make the most sense to open that as a new issue?

I kinda want to make that a NIP to make sure the behavior is consistent with all apps. It feels weird to block exporting of something the user knows the app has. I am sure this will trigger a lot of people in the wrong way.

PS: right now if they have biometric unlock setup, the fingerprint scanner is required to export the key.

True, there is some benefit to redundancy on keeping it available to export, but also more security exposure.
Probably best left to user choice somehow! I'll go ahead and close this and let you proceed how you see fit, I think both approaches have merit, though I lean towards blocking exports if imported via QR.