Add clahe image op

Description
Brief Description of the PR:
Fixes #2359
Type of change

[ ] Bug fix
[ ] New Tutorial
[ ] Updated or additional documentation
[ ] Additional Testing
[ ] New Activation and the changes conform to the activation contribution guidelines
[ ] New Callback and the changes conform to the callback contribution guidelines
[x] New Image addition and the changes conform to the image op contribution guidelines
[ ] New Layer and the changes conform to the layer contribution guidelines
[ ] New Loss and the changes conform to the loss contribution guidelines
[ ] New Metric and the changes conform to the metric contribution guidelines
[ ] New Optimizer and the changes conform to the optimizer contribution guidelines
[ ] New RNN Cell and the changes conform to the rnn contribution guidelines
[ ] New Seq2seq addition and the changes conform to the seq2seq contribution guidelines
[ ] New Text addition and the changes conform to the text op contribution guidelines

Checklist:

[x] I've properly formatted my code according to the guidelines

[ ] By running Black + Flake8
[x] By running pre-commit hooks

[x] This PR addresses an already submitted issue for TensorFlow Addons
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[ ] This PR contains modifications to C++ custom-ops

How Has This Been Tested?
If you're adding a bugfix or new feature please describe the tests that you ran to verify your changes:

test_clahe_with_equalize: tests that the tfa.image.equalize function and tfa.image.clahe return similar results when the image is untiled and no histogram clipping is performed.
test_clahe_dtype_shape: tests that function can handle a variety of dtypes and shapes.

@abhichou4
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.

@abhichou4
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.

Hi @isears, thanks for the contribution. Do you have numpy or c++ equivalent implementation so that I can refer to?

Hi @isears, thanks for the contribution. Do you have numpy or c++ equivalent implementation so that I can refer to?

https://github.com/scikit-image/scikit-image/blob/master/skimage/exposure/_adapthist.py#L98

https://github.com/scikit-image/scikit-image/blob/master/skimage/exposure/_adapthist.py#L98

We have also a TF1 official implementation of the Multidimensional version of CLAHE at https://github.com/VincentStimper/mclahe

We have also a TF1 official implementation of the Multidimensional version of CLAHE at https://github.com/VincentStimper/mclahe

@WindQAQ thanks for looking into this.
In addition to the sklearn implementation mentioned by @bhack, there's an OpenCV C++ implementation here.
Here's a side-by-side comparison of all three implementations:

Unfortunately, when I check for equality with np.testing.assert_array_equal(), all three methods differ substantially (about 90% mismatched elements), even though they arrive at roughly the same results. I think there must be subtle differences in the ways each library handles the underlying mathematics operations. If that's the case, building a robust test against another implementation will be difficult.
Currently, I have a test which uses a single tile with no histogram clipping to imitate normal histogram equalization which seems to agree with the preexisting tfa.image.equalize() function. I'm open to suggestions for further test cases.

@WindQAQ thanks for looking into this.
In addition to the sklearn implementation mentioned by @bhack, there's an OpenCV C++ implementation here.
Here's a side-by-side comparison of all three implementations:

Unfortunately, when I check for equality with np.testing.assert_array_equal(), all three methods differ substantially (about 90% mismatched elements), even though they arrive at roughly the same results. I think there must be subtle differences in the ways each library handles the underlying mathematics operations. If that's the case, building a robust test against another implementation will be difficult.
Currently, I have a test which uses a single tile with no histogram clipping to imitate normal histogram equalization which seems to agree with the preexisting tfa.image.equalize() function. I'm open to suggestions for further test cases.

@isears You can also use  np.testing.assert_allclose if it is just a small tolerance tuning. If you search have this in many tests.

@isears You can also use  np.testing.assert_allclose if it is just a small tolerance tuning. If you search have this in many tests.

Also can you share the result of a short benchmark of your implementation vs Opencv and Scipy?

Also can you share the result of a short benchmark of your implementation vs Opencv and Scipy?

@isears You can also use np.testing.assert_allclose if it is just a small tolerance tuning. If you search have this in many tests.

I tried that as well. I think there's too much variability to use np.testing.assert_allclose with any useful margins in a way that wouldn't flake.

Also can you share the result of a short benchmark of your implementation vs Opencv and Scipy?

Check out  this Google Colab Notebook. Looks like ~500 ms for tensorflow, ~5 ms for OpenCV, and ~50 ms for scikit-image. (Also included examples of np.testing.assert_allclose)

@isears You can also use np.testing.assert_allclose if it is just a small tolerance tuning. If you search have this in many tests.

I tried that as well. I think there's too much variability to use np.testing.assert_allclose with any useful margins in a way that wouldn't flake.

Also can you share the result of a short benchmark of your implementation vs Opencv and Scipy?

Check out  this Google Colab Notebook. Looks like ~500 ms for tensorflow, ~5 ms for OpenCV, and ~50 ms for scikit-image. (Also included examples of np.testing.assert_allclose)

10x over scikit-image it seems to me a quite relevant overhead.

10x over scikit-image it seems to me a quite relevant overhead.

10x over scikit-image it seems to me a quite relevant overhead.

Yeah, I agree. I'm going to take a few days to compare this to the scikit-image implementation and see if I can get better performance out of it.
Maybe making things more similar will also make it possible to implement tests against scikit-image with numpy.testing.assert_allclose

10x over scikit-image it seems to me a quite relevant overhead.

Yeah, I agree. I'm going to take a few days to compare this to the scikit-image implementation and see if I can get better performance out of it.
Maybe making things more similar will also make it possible to implement tests against scikit-image with numpy.testing.assert_allclose

Yes other than this I suggest also to inspect the compiled program to see if some ops in your composition, that could be fuses, was not fused. See https://www.tensorflow.org/xla#inspect_compiled_programs

Yes other than this I suggest also to inspect the compiled program to see if some ops in your composition, that could be fuses, was not fused. See https://www.tensorflow.org/xla#inspect_compiled_programs

@bhack It looks like the major issue was the histogram building step. In the initial commit, I used tf.reduce_sum(tf.one_hot()) to build histograms, but in the most recent commit I've replaced that with tf.math.bincount()
With those changes, the tensorflow function runs on average 100 ms vs. skimage's 50 ms in the google colab benchmark (a single-cpu environment).
However, tf.math.bincount() does not appear to be XLA compatible (i.e. I get errors when I try to compile code containing tf.math.bincount() with XLA optimizations). As such, its GPU performance is not as good as tf.reduce_sum(tf.one_hot()). On an RTX 2070 Super, for example, I get 20 ms per loop while using tf.math.bincount() whereas XLA-compiled tf.reduce_sum(tf.one_hot()) gets 0.5 ms.
Which direction should we take this?

Optimize for XLA compatibility and GPU performance with tf.reduce_sum(tf.one_hot())?
Optimize for CPU performance with tf.math.bincount()? (and continue to mirror the skimage implementation)
Or maybe there's a way to get the best of both worlds?

Have you tried to check the IR?  Is tf.reduce_sum(tf.one_hot()) not fused on CPU?

@isears Also if in TF1, but I think it is quite portable to TF2, and multidimensional have you tried to benchmark MCLAHE approach at https://github.com/VincentStimper/mclahe/tree/master/mclahe? (/cc @VincentStimper  @Rea
lPolitiX)?
Reference Pseudocode at pag. 4 https://pure.mpg.de/rest/items/item_3082776/component/file_3181957/content

Have you tried to check the IR? Is tf.reduce_sum(tf.one_hot()) not fused on CPU?

Yes, upon inspection of the compiled XLA I found that you are correct: one_hot and reduce_sum are fused on the GPU, but not the CPU. Is there anything I can do to force fusion on the CPU?

@isears Also if in TF1, but I think it is quite portable to TF2, and multidimensional have you tried to benchmark MCLAHE approach

I've benchmarked mclahe here. On the CPU, it's running at about 1000 ms/loop vs. 100 ms/loop for the current clahe implementation in this PR. The ratio is similar on the GPU. Looking at the pseudo code, it seems like mclahe requires quite a bit more padding than regular clahe, which is probably contributing to the 10x slowdown.
I would be open to taking a stab at porting mclahe into a separate tfa.image.mclahe function after this PR gets merged in.

@isears  I suggest to post about this at https://groups.google.com/g/xla-dev

I've posted a topic on the mailing list here: https://groups.google.com/g/xla-dev/c/RrW0bEdi930

I suggest you to open a ticket in then main Tensorflow repository of you don't get a reply from the xla mailing list.
It will be assigned to the xla team with an XLA label

Any update?

As we  already have 3 equalize implementations in the ecosystem we need to think about a consolidation on these images (and other duplicated) ops /cc @yarri-oss:
https://github.com/tensorflow/models/blob/master/official/vision/beta/ops/augment.py#L580
https://github.com/tensorflow/models/blob/master/official/vision/image_classification/augment.py#L480

Any update?

I haven't been able to make contact with the XLA team, but I have implemented this as a pip package here: https://github.com/isears/tf_clahe for anyone who would like to go ahead and use it.

@yarri-oss How we could contact the XLA/MLIR/Compile team for these cases?

As equalization [was "duplicated" in keras-cv[(https://github.com/keras-team/keras-cv/pull/91) as a preprocessing layers can you try to propose this in the keras-cv repo?
Thanks for the contribution.


Fix example USE semantic similarity calculation

Divide by pi as specified in Section 5 of the paper https://arxiv.org/pdf/1803.11175.pdf. Omitting the division results in scores in the range [1-pi,1] instead of [0,1].

Hi Eli,
Thank you for the contribution. It looks like the file has changed. Could you please resolve the conflicts?

Thank you @uvafan. This has been submitted as https://github.com/tensorflow/hub/commit/5d41f6848129cab1cd52dd368f3575c33d94d531


Compiler HLD: Improve indirect call example

The example had a direct call because the callee was known at compile time. I've moved the setting of fptr to a separate function so that the call is done via the function pointer.

please update version: = Software Overlay for RISCV - HLD Version 0.5-draft-2021050
please update revision history table with the changes

Thanks, I have updated these now.


Add info label to TileMap editor

Closes https://github.com/godotengine/godot-proposals/issues/5792

The label will display current tile position and rectangle size if drawing rect.

Is it possible to display the the name/ID of the currently hovered tile?

Is it possible to display the the name/ID of the currently hovered tile?

Tiles no longer have name and their ID is simply their coordinates in the atlas.
We could probably display the source name and scene name in case of scene tiles, but implementing it isn't exactly trivial (I assume; at least with scene names), so it's something that can maybe be done later. Note that Ctrl+clicking a tile highlights it in the tileset, so this information can be easily found.

Thanks!

Cherry-picked for 4.0.3.

Ahh I've been waiting for this! No more guesstimating what tile I need to teleport my character to xD


Feature Request: adding tags via tweak file

Hey psi,
I'm not sure if this is possible and/or feasible, so feel free to close it if it's not.
It just occurred to me that it would be cool if users could add tags via yaml file without having to unbundle the files. For example, if someone has a clipping butt, they could be told to add hide_LowerAbdomen to the yaml file, while everyone who stayed away from "more realistic" bodies will still have a butt.
Think it's doable? :)

Not with TweakXL. It must be handled ArchiveXL. User would have to know root entity path and appearance name.

That would be amazing!


Remove all Quix specific logic from the generic Kafka client in SDK

Move it to QuixStreamingClient if there is anything not already present.

Don here https://github.com/quixio/quix-streams/pull/39/files#diff-e9588a94d65f034bc8cd32c584880360769384914d6614b67314ebd2fc174d74


Enhance isolate executor

What is the purpose of the change

Add default thread name for protocol
Defaultly do not create isolated executor

Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #11069 (a57024a) into 3.2 (6118dd8) will increase coverage by 0.03%.
The diff coverage is 54.28%.

@@             Coverage Diff              @@
##                3.2   #11069      +/-   ##
============================================
+ Coverage     64.80%   64.83%   +0.03%
  Complexity       14       14
============================================
  Files          1445     1448       +3
  Lines         60313    60324      +11
  Branches       8839     8842       +3
============================================
+ Hits          39083    39110      +27
+ Misses        17133    17087      -46
- Partials       4097     4127      +30

Impacted Files
Coverage Δ

...c/main/java/org/apache/dubbo/config/Constants.java
100.00% <ø> (ø)

...bo/remoting/zookeeper/AbstractZookeeperClient.java
85.05% <ø> (+3.44%)
:arrow_up:

...ng/transport/netty/NettyPortUnificationServer.java
0.00% <0.00%> (ø)

...ting/zookeeper/curator/CuratorZookeeperClient.java
13.53% <0.00%> (ø)

...he/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java
92.53% <ø> (+3.96%)
:arrow_up:

...e/autoconfigure/DubboMetricsAutoConfiguration.java
0.00% <0.00%> (ø)

...pring/boot/actuate/mertics/DubboMetricsBinder.java
0.00% <0.00%> (ø)

...in/java/org/apache/dubbo/metrics/DubboMetrics.java
20.00% <20.00%> (ø)

...in/java/org/apache/dubbo/rpc/support/RpcUtils.java
61.06% <33.33%> (+1.67%)
:arrow_up:

.../apache/dubbo/metrics/AbstractMetricsReporter.java
66.66% <40.00%> (-1.08%)
:arrow_down:

... and 81 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add example showing recursive operation of createTypeConversion()

PR #434 was incorrectly merged to the wrong branch, so this is just a retarget of that already approved change.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@5d30857). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #437   +/-   ##
=========================================
  Coverage          ?   62.85%
=========================================
  Files             ?      145
  Lines             ?     9947
  Branches          ?        0
=========================================
  Hits              ?     6252
  Misses            ?     3141
  Partials          ?      554

Impacted Files
Coverage Δ

...rator/pkg/astmodel/storage_conversion_factories.go
83.33% <ø> (ø)

Continue to review full report at Codecov.

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


feat: Add Sargin Constitutive Law to Constitutive laws

Sargin Constitutive Law is added to the list of Constitutive laws.
Methods for getting stress and tangent are implemented.
Method for getting Marin coefficients is not yet implemented.
The problem is that it seems impossible to represent Sargin as a polynomial function.
My proposal is the following:

in the __marin__ method convert the function to a piecewise linear function using UserDefined. Then use __marin__ from UserDefined.
a further possibility is that the default __marin__ for base class ConstitutiveLaw those this use of UserDefined law for defining a piecewise linear function, so all constitutive laws that are implemented from now on will have a free __marin__ function for estimating coefficients. If one can and wants, it is possible to define __marin__ for the derived class to obtain a more performant version (e.g. as we have done for parabola-rectangle end elastic-plastic laws)

I like the second option with the default __marin__ which represents the ConstitutiveLaw as a piece-wise linear.

I like the second option with the default __marin__ which represents the ConstitutiveLaw as a piece-wise linear.

Ok, I agree. Implemented this feature in b220148

Very good 😃 I have left only a couple of comments that should be considered.

Done, you can re-review it.


Fix "variable ‘cursor_default’ set but not used"

Based on https://github.com/swaywm/wlroots/issues/1325

Thanks!


"LiSA.app" is damaged and can't be opened.

Downloaded the latest beta for Mac but it says "LiSA.app" is damaged and can't be opened. You should move it to the Bin. Tried downloading it twice but same error. Running on M1 Macbook air.

@QasimXAli, please run this command after installing.
xattr -c /Applications/LiSA.app

Perfect. Thank you soo much


[test] RISC-V Compliance depends on deprecated SW/Make

RISC-V compliance depends on building SW artifacts using Make, which is going away very soon. This dependency is, by the nature of how compliance has been vendored in, time-consuming to remove.
Since deleting Make is a major blocker for several foundational tasks in SW, such as #1078 and #1143, which themselves are major blockers for other work, we will be disabling RISC-V compliance in CI in #1154 until it can be fixed to use Meson. This decision was reached during this week's OT Software meeting.
This bug tracks both fixing that dependency and consequently re-enabling the CI step.

I wanted to give the riscv-compliance suite a run to test the new higher performing Ibex configuration before I did a PR to enable that configuration.
So I started working on getting it going with meson.
A lazy answer is do ninja -C build-out all to get the various libraries built then in the riscv compliance makefile for the OT target point it towards the libraries in build-out and link against them individually. However this is a lot of libraries and it's rather brittle as any change to the library setup in meson will break the makefile.
I had a go at producing a meson 'riscv_compliance_library' target that would give you a single .a with everything in you could then point towards in the riscv-compliance makefile. This can be done by something like the following
riscv_compliance = static_library(
  'ot_riscv_compliance',
  objects : [some_lib.extract_all_objects(), ...]

The issues most of the libraries within meson are wrapped up inside a dependency object (extract_all_objects() works on the object returned directly from static_library()) I couldn't work out how to reach into that dependency object and grab out all of the libraries/objects.
I could rewrite a bunch of meson.build files so the static libraries are given explicit variable names before being used within a declare_dependency but this is quite a messy change just to support riscv-compliance.
We could build each compliance test binary individually with meson but given riscv-compliance is wedded to its makefile system uncertain how easy that would be.
@mcy @imphil thoughts?
(FYI I'm on holiday Friday/Monday so probably won't look at this til Tuesday now).

I took a look at Meson's docs, and I can't help but wonder if we're using declare_dependency wrong... one one hand, the docs say that it's the right thing for stuffing a dependency into another target. But they contradict themselves and say that the "main use case is for subprojects". I suspect that Meson just doesn't understand how really complicated projects like to structure libraries...
I suspect that the right answer (which I don't like, but whatever) is to do exactly what you say: rewrite our Meson files to expose the static library objects, and to  declare_dependency() in dependency lists.
Alternatively, there's apparently this "link_whole" argument for libraries, maybe that will work on dependency objects correctly?

Forgot to reference this issue but I have a PR open that gets riscv-compliance working again:https://github.com/lowRISC/opentitan/pull/1965
To build the library I used a bit of a hack but at least it's confined to one meson.build only. You create a static library with dependencies including everything you'd like to link which I called the 'inner' library. You then create another static library using link_whole to link the 'inner' library and it works :)


Not found any issues

Hello! I've got some troubles. I used your bitrise step, added all input variables. But there's nothing happened
+------------------------------------------------------------------------------+

| (5) git::https://github.com/Holdapp/bitrise-step-jira-build.git@master       |
+------------------------------------------------------------------------------+
| id: https://github.com/Holdapp/bitrise-step-jira-build.git                   |
| version: master                                                              |
| collection: git                                                              |
| toolkit: bash                                                                |
| time: 2022-07-14T11:37:54Z                                                   |
+------------------------------------------------------------------------------+
...
...
...
Scanning Bitrise API for previous failed/aborted builds
Scanning git repo for JIRA issues (18 anchor[s])
Updating build status for issues: []

Can you help me, please? What's wrong I do?
Thank you!

Hi, sorry for the delay.


Fixed error in Monday times

The time for the Monday before finals was incorrect for upper school,
fixed with the correct times.

Thanks Trevor! I didn't notice that. LGTM.


Fix query viewer table column order

Description
When the query viewer received numeric columns, it was displaying content in the wrong order due to a mismatch in the data received by the columns of the query viewer data table, and the cells of that table. This PR gets both to use the same data/order.
@archiewood this solves the problem you ran into with the pivot data
Before

After

Checklist

[x] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset

So now the category is being placed as last column in the table. I'm not sure that's what DuckDB does by default?

that's the same as it was ordering before, but the query viewer was putting the wrong data in the columns. This change just gets the right data in the columns.
If the column order is wrong, i'm assuming that would be coming from the query store, but I might be wrong - @ItsMeBrianD do you know?

If the column order is wrong, i'm assuming that would be coming from the query store, but I might be wrong - @ItsMeBrianD do you know?

It either comes from _evidenceColumnTypes or the metadata query from duckdb, I'm not sure where it would get jumbled though

oh wait sorry i think i do know - i'm pretty sure the column summary is where it happens.
I'll confirm, but if that's the case I assume it's not a bad fix

Just confirmed it's getColumnSummary - when it creates the object, if the properties are numeric, it sorts by them


usage at the platform of windows

hi，
Thank you for your great work! I notice your guideline for installation is for linux. Is it possible to use this lib on windows?
best wishes,
Matthew

I just copied the .h and .cpp to my project(in a visual studio project), and met the compile error,
1>cnpy.obj : error LNK2019: unresolved external symbol inflate referenced in function "struct cnpy::NpyArray __cdecl load_the_npz_array(struct _iobuf *,unsigned int,unsigned int)" (?load_the_npz_array@@YA?AUNpyArray@cnpy@@PEAU_iobuf@@II@Z) 1>cnpy.obj : error LNK2019: unresolved external symbol inflateEnd referenced in function "struct cnpy::NpyArray __cdecl load_the_npz_array(struct _iobuf *,unsigned int,unsigned int)" (?load_the_npz_array@@YA?AUNpyArray@cnpy@@PEAU_iobuf@@II@Z) 1>cnpy.obj : error LNK2019: unresolved external symbol inflateInit2_ referenced in function "struct cnpy::NpyArray __cdecl load_the_npz_array(struct _iobuf *,unsigned int,unsigned int)" (?load_the_npz_array@@YA?AUNpyArray@cnpy@@PEAU_iobuf@@II@Z)

Looks like you are missing Zlib, though I am not 100% sure.
To the initial question: I think if you can use cmake on windows you can still use the install directions(mostly) and you can link the libraries, but I had no experience with cmake on windows so I am unsure

you are right, i installed zlib and it works well.


SIGSEGV on env.step for multiple renderings.

Hey there,
I'm experiencing a segmentation fault after I call env.step when there are multiple renderings open. I saw a closed thread on openai for the same issue, but I'm unsure if the bug still persists across some of their environments.

Hi Chase. I think this is an issue related to the PyQT renderer. Can you provide a code snippet to reproduce the issue?

Hey thanks for the quick response. Here's where I've instantiated multiple envs:
import gym
from gym_minigrid.wrappers import RGBImgObsWrapper
from PEARL import PEARL
env0 = RGBImgObsWrapper(gym.make("MiniGrid-Empty-Random-5x5-v0"))
env00 = RGBImgObsWrapper(gym.make("MiniGrid-FourRooms-v0"))
env1 = RGBImgObsWrapper(gym.make("MiniGrid-MultiRoom-N2-S4-v0"))
env2 = RGBImgObsWrapper(gym.make("MiniGrid-MultiRoom-N4-S5-v0"))
train_tasks = [env00, env0, env1, env2]
test_env = RGBImgObsWrapper(gym.make("MiniGrid-MultiRoom-N6-v0"))
test_tasks = [test_env]
#train
pearl = PEARL(train_tasks[0], train_tasks, test_tasks)
pearl.train_algo()
#########################################################################
And here's where I'm rendering each environment to initialize them into replay buffers:
def get_path(self, env, policy, max_length):
           ...
	s = env.reset()
	env.render()
	for i in range(max_length):
		a = policy.get_action(s)
		a = self.return_action(env, a)
		s_p, r, t, e_info = env.step(a)
                   ... # the line above breaks it

########################################################################
Thanks again for looking into it. I'll look up the issue in ref to PyQT in the meantime.

One temporary fix that could work is to run the environments in forked processes.
Otherwise though, next week I will start looking at implementing a renderer based on NumPy (see #76). I would ideally like to eliminate the PyQT dependency. You're not the only one to run into issues. If you're available to help me test next week that could he useful :)

Hey, thanks that's awesome. I'd be happy to help, though I'm working on the implementation so it will definitely not be bug-free. If it's still helpful though, that would be great!

Hi @chasebos91. I have the new version of MiniGrid that uses NumPy to produce graphics on a new branch maximecb-numpy-render, and matplotlib for rendering windows. Could you test it out and let me know if it fixes your problem or if you run into any other issues?

So far so good! Will let you know as I keep working on it. Thank you!!

You can access it by first doing a git pull, then:
git checkout maximecb-numpy-render`

Then to install the package in editable mode:
pip3 install -e .

This is now pushed to the master branch as well :)


fix(storage): json["projectTeam"] might be present but null

We are working on google-cloud integration for our project Apache Nifi Minifi CPP
And I found that the projectTeam is an optional field in the ObjectMetadata json, however it will crash if it is present but null.
This makes impossible to make integration tests using the fake-gcs-server, because the response to a ResumableUploadRequest is something like this due to the datastructure in google-cloud-go
{
   "bucket":"my-bucket",
   "name":"my-key",
   "contentType":"",
   "contentEncoding":"",
   "acl":[
      {
         "entity":"projectOwner",
         "entityId":"",
         "role":"OWNER",
         "domain":"",
         "email":"",
         "projectTeam":null
      }
   ],
   "created":"0001-01-01T00:00:00Z",
   "updated":"0001-01-01T00:00:00Z",
   "deleted":"0001-01-01T00:00:00Z"
}

which will crash with the following error
terminate called after throwing an instance of 'nlohmann::detail::type_error'
  what():  [json.exception.type_error.306] cannot use value() with null
Signal: SIGABRT (Aborted)

This change is

/gcbrun

The public CI build results are sometimes hard to find, see https://github.com/googleapis/google-cloud-cpp/pull/8446#issuecomment-1049844494 where it links to:
https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/8446/739c7f0e3af09ee680c62ab9e4565a224e0966c2/index.html

/gcbrun


Picture rotates in only 180 degree increments after clicking on Change Photo.

Log in to http://staging.beta.dosomething.org/campaigns/hunt-day-2-trash-scavenger-hunt
Click the Add Photo blue +.
Select a picture, and then click "Change Photo".
Click the Add Photo blue + again.
Select a picture, and then click "Rotate Photo".

The image rotates in 180 degree increments instead of the usual 90.
putting this in as a post-launch issue @barryclark @sbsmith86

related trello card: https://trello.com/c/spE1KKhI

Great catch! This should be an easy fix.


MSColab authenticate/authorize restructuring

This separates "authentification" (ensuring allowed access to server) from authorization (selecting permissions on server).
Authentification happens already upon connect. Failing authentification afterwards can be treated as error causing a disconnect.
login is then authorization.
This seems to simplify things.
Storage of password, user, etc. seems to work, but is not final, yet.
On the server side, the change simply uses a new status that requires authentification for testing.

DO NOT MERGE!
For reasons, stable has been merged into this. Requires rebasing etc. before it can be merged.
Remove this, when it has been tidied up.

We may be can also remove the input field when the server does not provide auth on connect.
tried:

1. window

(mssdev) MSS$ export PYTHONPATH=`pwd`

(mssdev) MSS$ python mslib/mscolab/mscolab.py db --reset # clear old scheme

(mssdev) MSS$ python mslib/mscolab/mscolab.py db --init # apply scheme to db

(mssdev) MSS$ python mslib/mscolab/mscolab.py start  # server start
# this uses builtin service configuration

2. window

(mssdev) MSS$ export PYTHONPATH=`pwd`

(mssdev) MSS$ python mslib/msui/msui.py

Connect:

url of local server: http://localhost:8083

no auth user
no auth password

when I disconnected, see status, connect is not possible, deactivated button.

We may be can also remove the input field when the server does not provide auth on connect.
tried:

1. window

(mssdev) MSS$ export PYTHONPATH=`pwd`

(mssdev) MSS$ python mslib/mscolab/mscolab.py db --reset # clear old scheme

(mssdev) MSS$ python mslib/mscolab/mscolab.py db --init # apply scheme to db

(mssdev) MSS$ python mslib/mscolab/mscolab.py start  # server start
# this uses builtin service configuration

2. window

(mssdev) MSS$ export PYTHONPATH=`pwd`

(mssdev) MSS$ python mslib/msui/msui.py

Connect:

url of local server: http://localhost:8083

no auth user
no auth password

It has not asked me if I want to update my msui_settings.jscon, it just did.

I am not sure how we can do this without probing the server. This could be done by probing it on every change to the URL field, but I dislike the traffic generated by this.
And I do not want to add a click to the login process (i.e. first connect without auth, then connect with auth).

Will have a look into the Exception and the updating of credentials.

Thinking about that, we could also, maybe, forego the authentification, if we can let this tap into the user database, which should be simple with the current python based approach. This would, for security reasons, not allow new users to get a login. I.e. that step would require administrator intervention, which is annoying.
So, maybe we need the authentification only for the add user stuff? So no authentification anywhere, but for the add user dialogue?
And there, a username is also superfluous.

Thinking about that, we could also, maybe, forego the authentification, if we can let this tap into the user database, which should be simple with the current python based approach. This would, for security reasons, not allow new users to get a login. I.e. that step would require administrator intervention, which is annoying.
So, maybe we need the authentification only for the add user stuff? So no authentification anywhere, but for the add user dialogue? And there, a username is also superfluous.

We are using http_auth inside the python script. When e.g. the service is moved to a different location then someone might configure it similar to the wms server in the web server setup. This means the python auth is disabled and all locations are protected by the webserver definition.  This has a username and a password.
It is a different thing when you want to have always the same name, but I don't feel this a good idea.

I have some bug fixes, which I cannot currently push due to ports being blocked in my wifi.
I find the credential storing very confusing. We use, seemingly, the JSON config file, the keyring, and qsettings for storing stuff?
Wouldn't it make sense to align that with WMS server access?
So...
a) have a fixed user name (mscolab) for authentification (modifieable via config for whatever reasons) with the server and store password in keyring per server.
b) have a dict in settings with one username per mscolab server and store password in keyring for authorization.

new client -> old server is less of a  problem as the other way round, as there is, effectively, only one MSCOlab server out there...

This implements most of my proposals from above.
Some beautifying and tests are missing, but I am pretty happy from a usability perspective.

I had a look at testing the mss_auth stuff. As I understand this, this'd require the placement of files into the PYTHONPATH. It is unfortunate that this fully removes the default configuration, as one'd like to change only one parameter and add the auth function (~6 lines of code).

Is there a reason why one does not enhance the default configuration by the file?
In WMS the config file uses variable=value statements, which are simulated as class in the settings. mscolab requires a class as configuration, which seems needlessly complicated. Is there a particular reason for this?

We should collect tests which needs a reload(module) in a seperate test dir and run them by individual pytests.
I've no better idea yet.

new client -> old server is less of a problem as the other way round, as there is, effectively, only one MSCOlab server out there...

Well we know then all users, they have to update the client and we update the server. There should be only one of these urls and we should compare by the status code.

I had a look at testing the mss_auth stuff. As I understand this, this'd require the placement of files into the PYTHONPATH. It is unfortunate that this fully removes the default configuration, as one'd like to change only one parameter and add the auth function (~6 lines of code).

Is there a reason why one does not enhance the default configuration by the file?
In WMS the config file uses variable=value statements, which are simulated as class in the settings. mscolab requires a class as configuration, which seems needlessly complicated. Is there a particular reason for this?

We should collect tests which needs a reload(module) in a seperate test dir and run them by individual pytests. I've no better idea yet.

In this particular case, the mscolab server gets started per testcase, so one can change its configuration to test proper client behaviour. However, I mocked the reply so it is tested from the client perspective already now.

new client -> old server is less of a problem as the other way round, as there is, effectively, only one MSCOlab server out there...

Well we know then all users, they have to update the client and we update the server. There should be only one of these urls and we should compare by the status code.
When you absolutly want this, we can patch our server but don't have it in the official code.

The only clean, non-breaking way would require two targets for the foreseeable time, also in the stable branch. I thus removed the second target, breaking old clients.

I have some bug fixes, which I cannot currently push due to ports being blocked in my wifi.
I find the credential storing very confusing. We use, seemingly, the JSON config file, the keyring, and qsettings for storing stuff?
Wouldn't it make sense to align that with WMS server access? So... a) have a fixed user name (mscolab) for authentification (modifieable via config for whatever reasons) with the server and store password in keyring per server. b) have a dict in settings with one username per mscolab server and store password in keyring for authorization.

we should not store plaintext passwords in qsettings. Maybe I missed to remove it from some places?

To look on this may become a follow up task.

I have no idea how I got it to store the -test url into the pull down, when I exchange this and cycle login, it starts with the given url. I have always to enter all data.

hmm, the behaviour looks like that we need a migration script from 8.x to 9.x or that something is filling into a field where it shouldn't.
The "MSCOLAB_mailid" is now obsolete, or? this got moved to the MSS_auth and the server. Removing it will enable to have different accounts on different servers.

When I add my account email instead I also can't login. A wrong password let not show the "reset link" it goes back to connect.
ok, guess I understand, it is able to get also on wrong data to the next page, but there it should not fill in that data.
when the first click gives not a result, can we stay on that frame? Showing the second and then returning to the first one is a bit confusing. Because it tells in the status "Successfully connected ..."which is wrong.
it works perfect when you do nothing wrong. But I guess I am not alone whith clicking too fast.

seems the server is not on same patchlevel

hmm, the behaviour looks like that we need a migration script from 8.x to 9.x or that something is filling into a field where it shouldn't.
The "MSCOLAB_mailid" is now obsolete, or? this got moved to the MSS_auth and the server. Removing it will enable to have different accounts on different servers.

    [

        ![strange_account](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

    ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

      [

      ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

When I add my account email instead I also can't login. A wrong password let not show the "reset link" it goes back to connect.
ok, guess I understand, it is able to get also on wrong data to the next page, but there it should not fill in that data.
when the first click gives not a result, can we stay on that frame? Showing the second and then returning to the first one is a bit confusing. Because it tells in the status "Successfully connected ..."which is wrong.
it works perfect when you do nothing wrong. But I guess I am not alone whith clicking too fast.

seems the server is not on same patchlevel

Nope, it isn't.

hmm, the behaviour looks like that we need a migration script from 8.x to 9.x or that something is filling into a field where it shouldn't.
The "MSCOLAB_mailid" is now obsolete, or? this got moved to the MSS_auth and the server. Removing it will enable to have different accounts on different servers.

    [

        ![strange_account](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

    ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

      [

      ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

    [

        ![strange_account](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

    ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

      [

      ](https://user-images.githubusercontent.com/278728/240656662-7780ccac-d13d-4767-a32d-09083d988ac0.gif)

When I add my account email instead I also can't login. A wrong password let not show the "reset link" it goes back to connect.
ok, guess I understand, it is able to get also on wrong data to the next page, but there it should not fill in that data.
when the first click gives not a result, can we stay on that frame? Showing the second and then returning to the first one is a bit confusing. Because it tells in the status "Successfully connected ..."which is wrong.
it works perfect when you do nothing wrong. But I guess I am not alone whith clicking too fast.

seems the server is not on same patchlevel

Nope, it isn't.

And already you run into one of the issues with not providing a new "status_auth" target.
I am not sure how to provide good error messages for inconsistent server/client. With the new, additional target, we'd not have this issue and could remove the status one silently in the next-next release.


Target dnx451

This reverts a051244faffe99302dad919827261b79aa99e487 for DNX

Nah

@davidfowl what's the issue?

Don't want DNX creeping into anything. We should just have an announcement telling people to add framework assemblies. The .NET CLI will handle the main cases for us.

@davidfowl this is temporary until we get closer to having tooling available.

Recalling. After chatting with @Eilon, we decided that adding the facades to user's project.json is an acceptable workaround.


Move to sqlx master tag, rather than forked repo.

Summary

Build sqlx from its official source repo at a known tag on master, rather than from a captive fork from a contributor repo.

Fixes #12

Superseded by #17.


User prefs

This contains a lot of changes to the reference app, including saving user state (preferences and toolchains), as well as making panels more modular (in preparation for adding more).

I was able to recreate an bug:

Choose "start with data"
Select a dataset
Open mapping panel
Change dataset
At this point, the mapping does not display the data fields - it is empty

This LGTM. There are a few bugs here and there but I'd rather get this on master now.

Sorry, I was getting caught up on the ISIC stuff today. If this is time sensitive, I'm happy to switch and fix stuff before we merge, ... or we can merge now and patch later. Either is fine by me.

I'll clarify my "now" as meaning "this week" as opposed to leaving it open for a while. No rush.

I think I've fixed the bug where swapping in a new dataset failed to trigger the appropriate render callbacks.
I'm going to start a separate branch for the more drastic changes we've discussed—I think this is as close as we'll get to something merge-able in the short term.

I verified that this bug is gone - LGTM.


1.20.1 port!

I would love if you could port this mod to 1.20.1 as I'm working on a server and it would be so cool to have caves that go down forever or an underground base 1000 blocks under the surface! thanks for the great mod BTW

planned


net/textproto, sync: add unlock before panic

In src/net/textproto/pipeline.go,
func (s *sequencer) End(id uint), s.mu.Lock() is at line 100,
and s.mu.Unlock() is at line 113.
However, there is a panic at line 102.
If the panic is executed, s.mu will still be locked even after recovery.
The fix is to add s.mu.Unlock() before panic.
I found the similar "missing unlock before panic" problems in two functions in src/sync/rwmutex_test.go

@googlebot I signed it!

The pull request looks good to me. Could it be merged?


only array $ref not resolving, object $ref does from same file

What version of Ajv are you using? Does the issue happen if you use the latest version?
8.6.3
Ajv options object
        customOptions: {
          coerceTypes: true,
        },
      }

JSON Schema
{
  "$id": "http://example.com/common",
  "type": "object",
  "definitions": {
    "ThoughtLeader": {
      "properties": {
        "dossierId": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        }
      }
    },
    "CreatedBy": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        }
      }
    },
    "ImperativeGroup": {
      "title": "Imperative Group",
      "type": "object",

      "properties": {
        "createdBy": {
          "$ref": "#/definitions/CreatedBy"
        },
        "recentThoughtLeaders": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ThoughtLeader"
          }
        }
      }
    }
  }
}

So the issue is that the ImperativeGroup.createdBy resolves fine but the ImperativeGroup.recentThoughtLeaders errors with:
can't resolve reference #/definitions/ThoughtLeader from id #"
I've tried every combination of $id and ref structure and still same issue. I'm missing something?

Could you please add a minimal executable code that produces the error (ideally to runkit.com - it’s faster to debug there)? The case is pretty basic, either I am missing something or it should work…

So here is a runkit runkit. But its returning valid on there. I am using fastify and am getting that error I posted above when the same response returns. So something inside fastify  calling ajv is faultering. Thanks for looking anyways.

So maybe it is used there with some other options - could you check? cc @zekth

This is likely a fastify problem and not a AJV one. Could you raise this issue in the fastify project for the follow up?https://github.com/fastify/fastify
Thanks

Will do. Thanks all @epoberezkin @zekth

Thank you @zekth - closing here!


[$500] Room - Can invite invalid phone account multiple times into the room

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @namhihi237
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1698051749271339
Action Performed:

Create a WS
Create a room with workspace
Click room header => Members => Invite
Input an invalid phone (eg: +3233232432) then select and click invite
Repeat step 4

Expected Result:
The app should show an error when inviting an invalid phone number
Actual Result:
The system does not show errors and may invite invalid phone numbers multiple times
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/93399543/743a5366-d528-4b33-9a91-dfb567e3e9f8

Android: mWeb Chrome

https://github.com/Expensify/App/assets/93399543/c68c9eb5-3753-4b61-873b-c12e8764a49d

iOS: Native

https://github.com/Expensify/App/assets/93399543/2ac1eda6-c936-4a4d-ab42-8ca6dfe7c336

iOS: mWeb Safari

https://github.com/Expensify/App/assets/93399543/327bca18-2ee5-4799-976c-bf11b0185f5c

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/93399543/99be7c54-ad4d-4166-8d08-99c5fe0d8563
https://github.com/Expensify/App/assets/93399543/b9b73670-07b6-4acf-ac07-e3bf98664f00

MacOS: Desktop

https://github.com/Expensify/App/assets/93399543/09927803-c318-4b7c-bec6-e0114b43ad87

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01da7f12cf9ed3d23f
Upwork Job ID:<PHONE_NUMBER>359189504
Last Price Increase: 2023-10-23

I think number provided number(+3233232432) is valid number

Proposal
Please re-state the problem that we are trying to solve in this issue.
Room allows multiple invitation for phone number which is already a member
What is the root cause of that problem?
The problem lies in this line of code
https://github.com/Expensify/App/blob/844b3b96b5bcd80c5c7bd376648a921939e25d10/src/libs/OptionsListUtils.js#L1237-L1238
Because we are comparing the phone number input of the user with the return value of addSMSDomainIfPhoneNumber function which concatinates<EMAIL_ADDRESS>so it will never be equal hence that's why it allows an existing phone number to be in the list
What changes do you think we should make in order to solve the problem?

Change
https://github.com/Expensify/App/blob/844b3b96b5bcd80c5c7bd376648a921939e25d10/src/libs/OptionsListUtils.js#L1237-L1238
to
`
!_.find(optionsToExclude, (optionToExclude) => optionToExclude.login === searchValue.toLowerCase()) &&
`
What alternative solutions did you explore? (Optional)

Updated comment And I think this bug is worthy of fixing.

Proposal
Please re-state the problem that we are trying to solve in this issue.

Room - Can invite invalid phone account multiple times into the room

What is the root cause of that problem?
I found out there are 2 related bug that need to be fixed:
1. Issue 1: (The bug that is mentioned in this issue https://github.com/Expensify/App/issues/30190)

Actual: If inviting phone number A (for example +3233232432)  encounters an error from BE side, then we search A again, it still can be found in the result list, so A can be added multiple times.
RCA: if inviting A encounters an error, it is not added to excludeLogins, so when we search A again, it still appears in the result.

2. Issue 2:

If the member list already contains A, then we type A in the search input, it will display as No results found rather than<EMAIL_ADDRESS>is already a member of Workspace.
RCA:
https://github.com/Expensify/App/blob/8c76d2aff5ebbaa11a951e4cdf85d1cadb6d6548/src/pages/workspace/WorkspaceInvitePage.js#L235-L237
Based on the above logic, we are displaying messages.userIsAlreadyMember only when usersToInvite is empty and excludeUsers includes searchValue. In case phone number A already existed, in excludeUsers it is<EMAIL_ADDRESS>searchValue is just A, so the conditions usersToInvite.length === 0 && excludedUsers.includes(searchValue) will be false, leads to the bug.

What changes do you think we should make in order to solve the problem?
1. Issue 1:

This is expected, so i think we do not need to fix it
https://github.com/Expensify/App/blob/9e50be49a4831bb5d7699e5032cbc3487f956f16/src/libs/PolicyUtils.js#L200
2. Issue 2:
Update
https://github.com/Expensify/App/blob/8c76d2aff5ebbaa11a951e4cdf85d1cadb6d6548/src/pages/workspace/WorkspaceInvitePage.js#L235
to

if (usersToInvite.length === 0 && (excludedUsers.includes(searchValue) || excludedUsers.includes(OptionsListUtils.addSMSDomainIfPhoneNumber(searchValue).toLowerCase())))

What alternative solutions did you explore? (Optional)

NA

awaiting proposal review from @rushatgabhane

Bump @rushatgabhane

Updated issue title to reflect that the bug is about valid phone numbers

yes... approved today, Melvin!

@rushatgabhane PR https://github.com/Expensify/App/pull/31010 is ready for review

PR is being reviewed

Reviews continue on linked PR

Bump @rushatgabhane on PR review when you get a chance :)

Merged. Awaiting deploy to staging -> prod

FYI, the PR was reverted https://github.com/Expensify/App/pull/31010#issuecomment-1869463115 because it caused a performance regression on large accounts.

@DylanDylann we have to raise a new PR

@rushatgabhane sure. I will raise a new PR

@rushatgabhane so given this was reverted, the 2024-01-03 payment date is incorrect, right? I think that's from the CP being deployed.
@DylanDylann can you link the new PR?

@greg-schroeder I am working on it, I need to double-check because the latest main has a lot of changes

Okay got it, thanks!

The new PR is ready to review

New PR was merged, awaiting deploy to staging -> prod

Seems like the PR for this was reverted again 😬 https://github.com/Expensify/App/pull/35335 so no payment due yet

RIP

Are we even going to move forward here at all? It seems this might not actually go forward with another PR based on what @mountiny is saying in the linked PRs

@rushatgabhane @mountiny I cannot reproduce this issue in staging anymore. Anyone can help confirm

Added retest-weekly to get more eyes from applause, would be great if this got fixed automagically somehow 😅 😳

I also couldn't repro, I think I'm going to close this given two failures to reproduce and also https://github.com/Expensify/App/issues/30190#issuecomment-1928611881. Reopen if you disagree


[FEATURE] Making the contributors section dynamic.

Description
Making the contributors section dynamic in Readme.md
Screenshots
The gif will look something like this with limit upto 54 contributors & will move from right to left.

Additional information
No response

@panwar8279 Can I work on this issue?

Hi @Viveksati5143 , I have assigned this to you. Kindly complete within 2 days. Good luck!

Done @panwar8279


Feat: rename module

Questions
Answers

Description?
Rename the module to match new one

Type?
improvement

BC breaks?
yes?

Deprecations?
no

Sponsor company
@PrestaShopCorp

How to test?
Check displayed module name inside menu, module manager, and others

@ga-devfront Can you please create a migration file to rename the controller in the side menu?


left bundle branch block/hemiblock

Mondo term (ID and Label):
MONDO:0000991
left bundle branch block
Xref that should be fixed (ID and label):
SCTID:4973001 (MONDO:equivalentTo)
UMLS:C0155702 (MONDO:equivalentTo)
ICD9:426.2 (i2s)
ICD10:I44.60 (DOID:10272)
All of these Xrefs map to "left bunch branch hemiblock," per UMLS. Within the UMLS hierarchy, this "hemiblock" term is a child of :
"left bunch branch block"  which has the following identifiers: UMLS:C0023211; SCTID: 63467002;  ICD10:I44.7 and HPO: HP:0011713
So to keep this term/concept as labeled, update to the second grouping of cross-refs. Consider creating a new term for left bunch branch hemiblock with the first grouping of X-refs.
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here
Other comments:

@pnrobinson I wonder if these term should be in HPO and not in Mondo?
Can you give your thoughts?
see:
https://www.ebi.ac.uk/ols/ontologies/mondo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMONDO_0020803
MONDO_0007241 bundle branch block, familial isolated complete right xrefs OMIM:113950, so this seems like an appropriate disease term, but I'm not sure about the other terms.
Thanks for your input!

LBB is a phenotypic feature and not a disease. It already is in HPO
https://hpo.jax.org/app/browse/term/HP:0011713
I agree that MONDO_0007241 bundle branch block, familial isolated complete right xrefs OMIM:113950 is a good MONDO term.

proposal to obsolete:
MONDO_0020803 'bundle branch block', consider HP:0011710 Bundle branch block
MONDO_0000991 'left bundle branch block', consider HP:0011713 Left bundle branch block
MONDO_0001662 'right bundle branch block (disease)', consider HP:0011712 Right bundle branch block
MONDO_0020755 'heart block', consider HP:0012722 Heart block


Nuxt 3.4.1: nuxtApp.vueApp.config.errorHandler is undefined when use plugin

Environment
Nuxt 3.4.1
Reproduction
https://stackblitz.com/edit/github-wfungx?file=plugins/my-plugin.ts
Describe the bug
nuxtApp.vueApp.config.errorHandler is undefined when use plugin
Additional context
No response
Logs
No response

It is something you can set. Here's an example: https://nuxt.com/docs/getting-started/error-handling#errors-during-the-vue-rendering-lifecycle-ssr-spa


calling sysout on map results in printing objects address rather than contents[map entries]

Hi Rafael,
@raphw
I was playing with weak concurrent map and i found that calling System.out.println(weakConcurrentMap) prints objects address rather than key value pairs this may be least bug/issue even i can't say this is bug what do you think?
Thanks

Note that this would require iterating over entries and therefore cause eviction, so it can be rather expensive. Rather extract the underlying map and print that one.

you mean this?
WeakConcurrentMap<String, String> map = new WeakConcurrentMap<String, String>(true);
map.put("hello", "world");
Field  field = WeakConcurrentMap.class.getDeclaredField("target");
field.setAccessible(true);
ConcurrentMap<String, String> concurrentMap = (ConcurrentMap<String, String>) field.get(map);
System.out.println(concurrentMap);

in this case we have to override tostring() method in WeakKey class to print key's real value.

Ah, you are right. Would probably be easiest to just add toString methods where it's appropriate for those who want to use it. If you send me a PR, I can merge and release it.

thanks I will raise a PR soon....

@raphw done!!
https://github.com/raphw/weak-lock-free/pull/8

Just released 0.16 with this fix.


MacOS Sequoia 15.0 Compatibility

MacOS Sequoia was released today, has anyone tried it out with Aerospace?
I'm holding off on the MacOS upgrades incase there are any bugs with Aerospace.

I just upgraded without even thinking about Aerospace as I'm so used to it 😅 as far as I can tell everything works great.

Can confirm, so far so good 🙌

Anyone used alt + number to focus workspace?
e.g.:
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
# ...

I got those special characters no matter in kitty or mac built-in terminal.

But outside the terminal app, it works well as before.

for me super + [anything] stopped working and shift + super + [anything] also stopped working. So I can not move around anything to a new workspace in aerospace

Anyone used alt + number to focus workspace? e.g.:
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
# ...

I got those special characters no matter in kitty or mac built-in terminal.
But outside the terminal app, it works well as before.
FYI
macOS Sequoia:  Version 15.0 (24A335)

Aerospace Version:
  aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
  AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

I use alt + number for workspaces and everything works on my end just as before. Same for shift + alt for sending a window to that workspace.
Same exact builds for macOS and Aerospace:
sw_vers
ProductName:		macOS
ProductVersion:		15.0
BuildVersion:		24A335

aerospace --version
aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

Anyone used alt + number to focus workspace? e.g.:
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
# ...

I got those special characters no matter in kitty or mac built-in terminal.
But outside the terminal app, it works well as before.
FYI
macOS Sequoia:  Version 15.0 (24A335)

Aerospace Version:
  aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
  AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

I use alt + number for workspaces and everything works on my end just as before. Same for shift + alt for sending a window to that workspace.
Same exact builds for macOS and Aerospace:
sw_vers
ProductName:		macOS
ProductVersion:		15.0
BuildVersion:		24A335

aerospace --version
aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

try to focus kitty terminal and then to do the shortcuts this is where it breaks for me also. If not then it is something in the kitty config.

I have one issue that was not present on Sierra.
I use the Arc browser as the default. Also, I use their feature, which opens new links in the so-called "small browser," which can be closed if you don't want to open this link in the main space.
Steps to reproduce:

open Arc browser in the space
open any link in a small browser (I open links from the messenger which is float mode)
close small browser

Actual result
The empty space that was occupied by the small browser stays, and the main browser window is not resized. The empty space after the small window is closed is still registered as a window, and I can switch to it.
Expected result
The small browser is closed, and the main browser window is resized.

Adding info to my previous message - when it happens, It stops going to the messenger window, which is in float mode. I can jump only to the empty space, which stays after the small browser window is closed and the main window. When I restart the browser - everything works as it should.

i'm having issues on sequoia with aerospace resizing existing windows after a window on a desktop is closed. similar to @GreenRuslan's post. also using arc, but other apps might be affected as well.

Small issue here, some strange artifact in the lower right corner of the monitor:

I am getting the same error as @GreenRuslan and @aaftre . When I close a window, the remaining windows don't take up the empty space. As a result, I have a whole host of empty space which grows larger with each window that close.

Small issue here, some strange artifact in the lower right corner of the monitor:

@Jihillestad
Are you running on multiple monitors? There's a monitor arrangement guide here.

I have the same issue as @Jihillestad. Single monitor, multiple spaces.

mine had no issues. focusing to other window from kitty had no problems as well.
ProductName:            macOS
ProductVersion:         15.0
BuildVersion:           24A335

aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

Had no issues as well
15.0 (24A335)

aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

Small issue here, some strange artifact in the lower right corner of the monitor:

@Jihillestad Are you running on multiple monitors? There's a monitor arrangement guide here.

It occurs on single and multiple monitors

This is interesting: https://github.com/p0deje/Maccy/issues/872
It seems that Apple is kinda restricting global shortcuts with only option as a modifier in Sequoia.
And by "interesting" I mean "wtf"?
Can anyone confirm this?

Option key shortcuts work with macOS 15.0 & Aerospace fine atleast for me.
But can confirm that there's is a bug with resizing (the one that ezhang7423 mentioned)

Re: the close window/resizing issue that a few have mentioned, a workaround I've found is that using aerospace close (see docs) to close a window ensures that the remaining windows are resized to take up any empty space. I've bound this to alt + w for convenience.

I'm getting an issue for the tab I specified apps to launch on it. like the c tab chrome starts on it as a single window then I specify the profile to use. the opened profile window will use half of the screen despite that no other windows exist there if I closed this window and opened another app it will use third of the screen as if there are two other windows opened but that's not the case

I am getting the same error as @GreenRuslan and @aaftre . When I close a window, the remaining windows don't take up the empty space. As a result, I have a whole host of empty space which grows larger with each window that close.

@GreenRuslan @aaftre @ezhang7423 please check if you have any other apps that use macOS accessibility API https://github.com/nikitabobko/AeroSpace/issues/471#issuecomment-2323256711 (System Settings -> Privacy & Security -> Accessibility)

@GreenRuslan @aaftre @ezhang7423 please check if you have any other apps that use macOS accessibility API #471 (comment) (System Settings -> Privacy & Security -> Accessibility)

I have the same issue, and I have a couple of apps that use macOS accessibility. Notably, I also use Contexts, which someone mentions in #471.

I am getting the same error as @GreenRuslan and @aaftre . When I close a window, the remaining windows don't take up the empty space. As a result, I have a whole host of empty space which grows larger with each window that close.

@GreenRuslan @aaftre @ezhang7423 please check if you have any other apps that use macOS accessibility API #471 (comment) (System Settings -> Privacy & Security -> Accessibility)

I updated to Sequoia today and installed AeroSpace for the first time.
For me almost non of the keybindings are working.
Also (and possible unrelated to the OS update) it seams like there are some kind of keybinding to the square and curly bracket keys. It's unclear to me what they are, since there is no sign of such a mapping in the config. I'm not able to output these keys ([, ], {, }) since they seam to be "blocked" and used by AeroSpace

I am getting the same error as @GreenRuslan and @aaftre . When I close a window, the remaining windows don't take up the empty space. As a result, I have a whole host of empty space which grows larger with each window that close.

@GreenRuslan @aaftre @ezhang7423 please check if you have any other apps that use macOS accessibility API #471 (comment) (System Settings -> Privacy & Security -> Accessibility)

Here is the the list of apps:

I've updated to MacOS Sequoia 15.0 and Aerospace is pretty unusable now due to how it manages windows in virtual workspace. When I have one window only it still creates space for another and it seems broken. I need to use fullscreen for each app to be able to work with Aerospace.
Here is how I can move window by keybinding:
cmd-alt-shift-j = 'move down'
cmd-alt-shift-k = 'move up'

I'm using layout tiles horizontal vertical. accordion layout seems to work fine.
https://github.com/user-attachments/assets/b47aaaf0-4ff9-4828-91f6-9568bafba68d

@nikitabobko

Do we have any updates on this?

I'm on Sequoia for the last few days and I see no regressions. Individual bugs must be reported as separate issues
The bug that some closed windows still take space is somehow related to using other apps like contexts app. I don't use contexts app, and I don't know what is the cause, other apps may also affect this (most probably they use accessibility api). But I think the fix suggested in this issue #445 will fix the bug.

This is interesting: https://github.com/p0deje/Maccy/issues/872
It seems that Apple is kinda restricting global shortcuts with only option as a modifier in Sequoia.
And by "interesting" I mean "wtf?".

In macOS 15, Apple doesn't allow to capture hotkeys with opt and opt+shift modifier but it only affects sandboxed apps. AeroSpace is not a sandboxed, that's why it's not affected. AeroSpace needs to access accessibility API anyway, which is not available in sandbox.
But it is sad to see Apple going in this directioon https://developer.apple.com/forums//thread/763878?src=push&answerId=804374022#804374022

@ezhang7423 I was experiencing the same issue with closed windows not being detected by Aerospace and after deactivating every other app in Accessibility under System Settings and rebooting, it hasn't happened again. From your list I see the ones we had in common are Raycast and skhd, although skhd I had already uninstalled. So I would suggest disabling Raycast (or everything) and rebooting to see if it that helps.

Hi, if you don’t mind me asking, did you enable the applications after that in accessibility settings or not ?
I am not yet under sequoia, and won’t upgrade until I can « safely »  use all my applications, including Raycast and Aerospace, and I have quite a few applications needing accessibility setting enabled.
Le 24 sept. 2024 à 18:51, Ian Martorell @.***> a écrit :
@ezhang7423 https://github.com/ezhang7423 I was experiencing the same issue with closed windows not being detected by Aerospace and after deactivating every other app in Accessibility under System Settings and rebooting, it hasn't happened again. From your list I see the ones we had in common are Raycast and skhd, although skhd I had already uninstalled. So I would suggest disabling Raycast (or everything) and rebooting to see if it that helps.
—
Reply to this email directly, view it on GitHub https://github.com/nikitabobko/AeroSpace/issues/514#issuecomment-2371822155, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADZPRL27SABZQ4JOL4LT2ITZYGJ7RAVCNFSM6AAAAABOJY423GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZRHAZDEMJVGU.
You are receiving this because you are subscribed to this thread.

Hi, if you don’t mind me asking, did you enable the applications after that in accessibility settings or not ? I am not yet under sequoia, and won’t upgrade until I can « safely » use all my applications, including Raycast and Aerospace, and I have quite a few applications needing accessibility setting enabled.

I've enabled back Logi Options+ and Raycast and no issues so far.

Unfortunately, disabling all my other applications in the Accessibility settings still did not fix the issue @ianmartorell . Would be extremely grateful @nikitabobko, as my workflow has been largely disrupted at this point.

Thanks @ianmartorell AmazonQ was the issue for me as well after disabling its access I got Aerospace working as before

Thanks Le 24 sept. 2024 à 20:53, Ian Martorell @.***> a écrit :
Hi, if you don’t mind me asking, did you enable the applications after that in accessibility settings or not ? I am not yet under sequoia, and won’t upgrade until I can « safely » use all my applications, including Raycast and Aerospace, and I have quite a few applications needing accessibility setting enabled.
I've enabled back Logi Options+ and Raycast and no issues so far.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Really tough to choose between contexts and aerospace. Are there any workarounds that still allow me to use contexts?

Amazon Q is causing the issue for me. I uninstalled it and the issue was solved. But I wish to keep using Amazon Q!
I really wish this issue is fixed.
For now I am using @haveanicedavid workaround of adding alt-x='close' in my aerospace.toml but this way also it glitches sometimes.
I have also created a automator shell script :
pkill -f AeroSpace open -a "AeroSpace"
and then assigned a keyboard shortcut for this script to run. Whenever I face this issue (which is like very often), I use the keyboard shortcut to restart aerospace and it starts working again.
But, it's my request to developers to please fix this issue! I will be really grateful.. thank you.


Update sbt to 1.3.10

Updates org.scala-sbt:sbt from 1.3.9 to 1.3.10.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, semver-patch

Pull Request Test Coverage Report for Build 43

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.643%

Totals

Change from base Build 42:
0.0%

Covered Lines:
53

Relevant Lines:
56

💛  - Coveralls


Execution context is also lost with mercurius without enterWith: true

Hi,
unfortunately, Mercurius also requires enterWith: true to be true. The issue occurs not if using fastify.inject - only with "real clients". I have absolutely no idea why, but that seems to fix it. I opened a PR to replace fastify.inject with supertest in the mercurius e2e test and to set useEnterWith: true. I also updated the documentation accordingly.

That's really unfortunate :( That means there's really no 100% safe way to use cls with GQL, because AsyncLocalStorage.enterWith() can leak context between concurrent calls.
Thanks for the PR, I have merged it, and I will publish it with a new version in a couple of days.
I'll have to do some more tests to verify that no context is leaked in a request after it goes past the ClsMiddleware, but I fear the worst. (I have discovered that I can access the context of the previous request before enter is called in the middleware)

This now works with both apollo and mercurius with the latest release of @nestjs/graphql


DevelopmentEventListener

We should pack-in an EventListener that detects common development-time mistakes and offers recommendations.
Large Call Warning
If the encoded JSON of a call is more than 1 KiB, warn about it. Perhaps with a configurable allowlist?
Nice Service Leak Warnings
If a service is leaked, we should warn about it with a stacktrace of where that service was created. That’ll be either in another call, or via bind/take.
Application Load Failures
Just log the overall event when an application load fails in its entirety. These will usually be network problems.

Punting to the Treehouse layer in Redwood, which has more information.


BTree comparisons (subset/superset) may assert on certain shared subtrees

The following functions sometimes crash with assertion failures when the rightmost leaf node of other is also found in self:
BTree.isSubset(of:)
BTree.isStrictSubset(of:)
BTree.isSuperset(of:)
BTree.isStrictSuperset(of:)

Unit tests for this were added in d1f68f5c8701eef5191c9ed45047e2f7656c53e9


Add documentation fix long line issues

This PR contains:
This pull request contains a standard code of conduct document, a document that briefly outlines some tips on how to contribute to this project and a couple of long line code smells that were cleaned up.
Describe the problem you have without this PR
I didn't have any issues.

Adding documentation and cleaned up minor code smells.

This is just copy-pasted stuff and reformatting.


OpenThread : init issue (IDFGH-6365)

We have tried the example setup for openthread shown in ESP-IDF openthread git repo.
We see the ESP32 BR Host gets connected to configured WiFi and also starts talking with RCP (ESP32 H2) but then we get some error which i have attached in the log files.
Here is our setup

ESP32_DevKitC_V4 (BR) + ESP32_H2-DevKitC-1 (RCP) connected over UART
Using ESP-IDF release branch  "release/v4.4"
Windows 10PC

Please see the ESP32_OTBR_LOG file for the error. I have also attached the RCP log for further clarifications.
ESP32_OTBR_LOG.txt
ESP32H2_RCP_LOG.txt

It was a legacy issue has not been fixed on v4.4, could you try out with the latest master? Both ESP32-H2 and OpenThread related features are move forward on master quickly.


Support for Model O2 Wireless

Hey there! Tool looks amazing, I was wondering what needs to be done to add support for the Model O2 Wireless. If theres any info I need to collect let me know!
I grabbed these from dmesg.. not sure if they are identical but did one plugged in, and one unplugged
Wireless
[    1.292958] usb 7-1: New USB device found, idVendor=093a, idProduct=822d, bcdDevice= 2.43
[    1.292960] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.292961] usb 7-1: Product: Model O 2 Wireless
[    1.292962] usb 7-1: Manufacturer: Glorious
[    1.892049] input: Glorious Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822D.0001/input/input2
[    1.943368] hid-generic 0003:093A:822D.0001: input,hidraw0: USB HID v1.10 Keyboard [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[    1.947116] input: Glorious Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input3
[    1.947169] input: Glorious Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input4
[    1.969283] usb 3-4: new full-speed USB device number 5 using xhci_hcd
[    1.998331] input: Glorious Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input5
[    1.998376] hid-generic 0003:093A:822D.0002: input,hiddev96,hidraw1: USB HID v1.10 Mouse [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input1
[ 2071.978315] usb 7-1: USB disconnect, device number 2
[ 2074.379093] usb 7-1: new full-speed USB device number 4 using xhci_hcd
[ 2074.517633] usb 7-1: New USB device found, idVendor=093a, idProduct=822a, bcdDevice= 2.43
[ 2074.517638] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2074.517639] usb 7-1: Product: Model O 2 Wireless
[ 2074.517641] usb 7-1: Manufacturer: GLORIOUS
[ 2074.529813] input: GLORIOUS Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822A.0009/input/input23
[ 2074.582506] hid-generic 0003:093A:822A.0009: input,hidraw0: USB HID v1.10 Keyboard [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[ 2074.586784] input: GLORIOUS Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input24
[ 2074.592124] input: GLORIOUS Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input25
[ 2074.645225] input: GLORIOUS Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input26
[ 2074.646263] hid-generic 0003:093A:822A.000A: input,hiddev96,hidraw1: USB HID v1.10 Mouse [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input1
[ 4672.732431] usb 7-1: USB disconnect, device number 4
[ 4676.282144] usb 7-1: new full-speed USB device number 5 using xhci_hcd
[ 4676.457396] usb 7-1: New USB device found, idVendor=093a, idProduct=822d, bcdDevice= 2.43
[ 4676.457400] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4676.457401] usb 7-1: Product: Model O 2 Wireless
[ 4676.457403] usb 7-1: Manufacturer: Glorious
[ 4676.469445] input: Glorious Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822D.000B/input/input28
[ 4676.522474] hid-generic 0003:093A:822D.000B: input,hidraw0: USB HID v1.10 Keyboard [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[ 4676.526477] input: Glorious Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input29
[ 4676.526533] input: Glorious Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input30
[ 4676.579193] input: Glorious Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input31
[ 4676.579328] hid-generic 0003:093A:822D.000C: input,hiddev96,hidraw1: USB HID v1.10 Mouse [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input1

Wired

[    1.149615] usb 7-1: new full-speed USB device number 2 using xhci_hcd
[    1.292958] usb 7-1: New USB device found, idVendor=093a, idProduct=822d, bcdDevice= 2.43
[    1.292960] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.292961] usb 7-1: Product: Model O 2 Wireless
[    1.292962] usb 7-1: Manufacturer: Glorious
[    1.892049] input: Glorious Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822D.0001/input/input2
[    1.943368] hid-generic 0003:093A:822D.0001: input,hidraw0: USB HID v1.10 Keyboard [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[    1.947116] input: Glorious Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input3
[    1.947169] input: Glorious Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input4
[    1.969283] usb 3-4: new full-speed USB device number 5 using xhci_hcd
[    1.998331] input: Glorious Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.0002/input/input5
[    1.998376] hid-generic 0003:093A:822D.0002: input,hiddev96,hidraw1: USB HID v1.10 Mouse [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input1
[ 2071.978315] usb 7-1: USB disconnect, device number 2
[ 2074.379093] usb 7-1: new full-speed USB device number 4 using xhci_hcd
[ 2074.517633] usb 7-1: New USB device found, idVendor=093a, idProduct=822a, bcdDevice= 2.43
[ 2074.517638] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2074.517639] usb 7-1: Product: Model O 2 Wireless
[ 2074.517641] usb 7-1: Manufacturer: GLORIOUS
[ 2074.529813] input: GLORIOUS Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822A.0009/input/input23
[ 2074.582506] hid-generic 0003:093A:822A.0009: input,hidraw0: USB HID v1.10 Keyboard [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[ 2074.586784] input: GLORIOUS Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input24
[ 2074.592124] input: GLORIOUS Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input25
[ 2074.645225] input: GLORIOUS Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000A/input/input26
[ 2074.646263] hid-generic 0003:093A:822A.000A: input,hiddev96,hidraw1: USB HID v1.10 Mouse [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input1
[ 4672.732431] usb 7-1: USB disconnect, device number 4
[ 4676.282144] usb 7-1: new full-speed USB device number 5 using xhci_hcd
[ 4676.457396] usb 7-1: New USB device found, idVendor=093a, idProduct=822d, bcdDevice= 2.43
[ 4676.457400] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4676.457401] usb 7-1: Product: Model O 2 Wireless
[ 4676.457403] usb 7-1: Manufacturer: Glorious
[ 4676.469445] input: Glorious Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822D.000B/input/input28
[ 4676.522474] hid-generic 0003:093A:822D.000B: input,hidraw0: USB HID v1.10 Keyboard [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[ 4676.526477] input: Glorious Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input29
[ 4676.526533] input: Glorious Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input30
[ 4676.579193] input: Glorious Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822D.000C/input/input31
[ 4676.579328] hid-generic 0003:093A:822D.000C: input,hiddev96,hidraw1: USB HID v1.10 Mouse [Glorious Model O 2 Wireless] on usb-0000:31:00.3-1/input1
[ 5842.653635] usb 7-1: USB disconnect, device number 5
[ 5844.687575] usb 7-1: new full-speed USB device number 6 using xhci_hcd
[ 5844.829736] usb 7-1: New USB device found, idVendor=093a, idProduct=822a, bcdDevice= 2.43
[ 5844.829740] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5844.829741] usb 7-1: Product: Model O 2 Wireless
[ 5844.829742] usb 7-1: Manufacturer: GLORIOUS
[ 5844.841830] input: GLORIOUS Model O 2 Wireless as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.0/0003:093A:822A.000D/input/input33
[ 5844.893671] hid-generic 0003:093A:822A.000D: input,hidraw0: USB HID v1.10 Keyboard [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input0
[ 5844.898023] input: GLORIOUS Model O 2 Wireless Mouse as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000E/input/input34
[ 5844.898097] input: GLORIOUS Model O 2 Wireless Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000E/input/input35
[ 5844.949608] input: GLORIOUS Model O 2 Wireless System Control as /devices/pci0000:00/0000:00:08.1/0000:31:00.3/usb7/7-1/7-1:1.1/0003:093A:822A.000E/input/input36
[ 5844.949651] hid-generic 0003:093A:822A.000E: input,hiddev96,hidraw1: USB HID v1.10 Mouse [GLORIOUS Model O 2 Wireless] on usb-0000:31:00.3-1/input1

I'd be willing to help with this in my fork at dxbednarczyk/mxw. Just to make sure - most of the previous mice models used a vendor ID of 0x258A, while in the logs you've provided it shows (what I'm assuming is hex, I'm not a Linux/dmesg pro) 0x093a. Support should be as easy as just adding the product ID to the list in main.rs.

I'd be willing to help with this in my fork at dxbednarczyk/mxw. Just to make sure - most of the previous mice models used a vendor ID of 0x258A, while in the logs you've provided it shows (what I'm assuming is hex, I'm not a Linux/dmesg pro) 0x093a. Support should be as easy as just adding the product ID to the list in main.rs.

Amazing.. That would be great. Is there any extra info you need from me to add this in?


Fix typo

Panic message should refer to windows-msvc

[x] I agree to follow the project's code of conduct.
[x] I added an entry to CHANGES.md if knowledge of this change could be valuable to users.

@bors r=jdroenner,lnicola

bors merge


Requirements

obaez;
Great job on the theme.  One of my favorite ones for Jekyll.  I'm having a hard time trying to get your theme to load correctly in my environment (I've attached a screenshot at the bottom).  I can only assume that I'm missing some requirements.  I know you mentioned that it partly runs on bootstrap, I'm was going to try to include it via CDN, but even that isn't helping.  Was wondering if you can perhaps point me in the right direction so I can get the theme loaded as you had intended it.  Thanks.

Hi,
Thank you, by looking at the screenshot I'm assuming there's some issues with the path so the css isn't loading. How is your _config file and what else did you change?

Actually, the css folder is not included, you have to compile to SCSS file to create it, I included a Gruntfile to do everything, but you can use whatever you want.

To outline my steps.  I simply cloned the github url to my test VM server running ubuntu 14.04.  The path to the cloned directory is ~/dentistsmile.  I haven't changed any of the files.  I wanted to get the theme working like in your demo before I made any changes of my own.  In order to troubleshoot I did delete the  _site folder and ran jekyll build to recreate the directory.  Upon inspection I did see that there was

Yes, you have to compile the main.scss file to css/main.css

I installed compass and sass compiled the code from _scss directory and now it works wonderfully.  I just thought that Jekyll for some reason would have taken care of compiling that.  Still new to jekyll, getting familiar with it's capabilities.  Thx for you for your patience and advice!  Saludos!


ClusterIP in service spec is ignored

Running K8s 0.18.1 on CoreOS alpha on AWS. Using flannel overlay networking.
My kube-apiserver is configured with the following IP range: --service-cluster-ip-range=<IP_ADDRESS>/16
I'm using the following service definition for k8s DNS:
apiVersion: v1beta3
kind: Service
metadata:
  name: kube-dns
  namespace: default
  labels:
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: "KubeDNS"
spec:
  selector:
    k8s-app: kube-dns
  clusterIP: <IP_ADDRESS>
  ports:
  - name: dns
    port: 53
    protocol: UDP
  - name: dns-tcp
    port: 53
    protocol: TCP

Despite specifying clusterIP and providing an IP that is within the legal range, every time I create this service it is brought up with a different random IP:
NAME               LABELS                                                                           SELECTOR                     IP(S)            PORT(S)
kube-dns           k8s-app=kube-dns,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeDNS   k8s-app=kube-dns             <IP_ADDRESS>   53/UDP
                                                                                53/TCP

Any ideas why?

I don't believe clusterIP is defined on v1beta3 services: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta3/types.go#L1087-L1114

Yup, that was it. I was looking at https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/types.go


Add blueprints

Recently ember-prop-types upgraded from version 2.0.1 to version 2.0.0 which stopped including ember-lodash as a dependency in favor of providing ember-lodash-shim via blueprints. This project should be using blueprints and include ember-prop-types in it's blueprints which will make is so running ember install ember-block-slots will run the ember install of ember-prop-types, causing the consumer to also get ember-lodash-shim which is required for that project to work.

Just chiming in here since I opened the original issue, and excuse me if this isn't productive or off-topic.
That being said, I realize that these two projects are both being worked on by the same team and dog-fooding is great, but I think it's a bit heavy to enforce lodash to be a dependency of this project (via ember-prop-types).
Is ember-prop-types valuable enough to this project that users of ember-block-slots need it as a dependency?

@JackCA if you want you can file an issue on ember-prop-types to try and remove the lodash dependency. I'm pretty sure it is only using a few functions from lodash and the dependency could be removed with little effort I think.

@sandersky awesome, I've opened that issue in ember-prop-types. Feel free to free to ignore my comment above in regards to this specific issue.

@JackCA it's a very good point and something I was thinking about recently - I think we need to reduce the dependency tree for all of our 'core' addons
In the case of ember-prop-types it might be best to just package in a custom lodash dist and drop the dependency

We're going to take a look at the above as a solution - should have a pr available shortly

@JackCA the latest ember-prop-types removes the lodash dependency - I believe this can be closed

@sglanzer yes, I saw that and that's awesome!
However, I've never created a publicly consumed ember addon, but it's possible adding the blueprint could still be a good idea/best practice.
Maybe @sandersky can chime in?

@JackCA - ah yes, good point - 😴 brain

Fixed by #36


native: render chat message content appropriately

fixes LAND-1766
Makes sure that we can recursively render formatted text, that the formatted text appears on the same line, and that we add a new row for line breaks.
Also adds a video player for embedded videos. No other embed work yet.

Working on the vite issue now.


Release 0.11.0

Checklist for the next release (may need to be extended)

[x] Decide whether to include the syncmerhash branch (XXH64 on s-mer in syncmers) [Discussion] (https://github.com/ksahlin/strobealign/pull/306#issuecomment-1595630759) → No for now
[x] Decide whether to merge #314 → Yes
[x] Update changelog (adjust section header)

[x] Mention that .sti files are not compatible and need to be recreated
[x] Mention #313

[x] Bump version in CMakeLists.txt
[x] Bump version in setup.py
[x] Commit
[x] Push and wait for CI to pass
[x] Do git tag ... and git push --tags
[x] Make a release via the GitHub releases page
[x] Wait for the Bioconda bot to pick up the new release and then approve its version bump PR

@luispedro We decided to make a release this week. The only remaining task is in #314, but if we don’t finish it in time, we’ll move it to the next release.

The Bioconda issue was fixed and strobealign 0.11.0 is now available on the bioconda channel.


Clearer indication that files have been successfully downloaded on image_compare

Currently, image_compare does not give a crystal-clear indicator as to which files are presently loaded. This may yield confusion if a user is working with multiple similar URL fields to determine any discrepancies in visual data. To remedy this, I suggest adding two lines beneath the existing fields:
Source 1:
Source 2:
The downside of this approach is a reduction in initial visibility of the loaded images. However, I feel that displacing the images slightly to provide a clearer indicator of the specified URLs being successfully loaded is a net positive.

Implemented in 20cae1c1f1c43ee8c7a599510c808d7a54f66d5e.
On the redesign images being loaded is logged and output to the user.


DOC: add a hint on what to use in case of matlab v7.3

Many new python users that move to python from matlab will need to load files from matlab to python, first thing that they see in google is to use sio.loadmat to load matlab files, which works sometimes. But when it does not work, I think a hint to use h5py will increase the probability for them to continue their move to python.
In general I think it is a more informative error message.

Good question, as far as what I see the latest version is 7.3 and there was no new version after that - https://www.mathworks.com/help/matlab/import_export/mat-file-versions.html


Configure for tmpfs to avoid writing to SD card (Read-Only File System)

Configure File System to be read only to avoid writing system logs to SD Card.
Should support USB Mounting for backend File I/O.
We also need a script to do all the configuration.

@ethanjli
I tested this with "overlayfs script" as well as with "Raspberry Pi Configuration" program
It breaks our current splash screen setup and the old default pi splash screen replaces the pufferfish one with both the tests.
Did you see this same behaviour?

(copied from Slack)
When I enable OverlayFS through the graphical raspberry configuration, I see the rainbow square, then a black screen, then a brief flash of the raspberry logo over a white screen with "Welcome to the Raspberry Pi Desktop", then the wallpaper; our custom boot screen is not visible. If I then disable OverlayFS, then the previous boot screen behavior (i.e. our boot screen shows up) returns.
If I run sudo apt-get purge plymouth and then enable OverlayFS and then restart, then the boot sequence looks normal again: no rainbow square, then 2 lines of console output about e2fsck doing a rootfs filesystem check, and then our boot screen shows; on shutdown there is more console output briefly visible on screen. So somehow enabling OverlayFS causes the default plymouth boot screen to return. I think it is fine to just purge plymouth if plymouth causes our usual boot screen to be very short.


License fails with "©"

Vanilla install
/home/bridgechain/ark-deployer/app/args.sh: line 239: export: `©': not a valid identifier

Version used: latest, 6/12/19
Environment name and version (e.g. node.js v10.15.3):
bridgechain@lasvegas-nv-datacenter:~$ node -v
v11.15.0
Operating System and version: Ubuntu 18

Thanks for opening this issue! A maintainer will review this in the next few days and explicitly select labels so you know what's going on.
If no reviewer appears after a week, a reminder will be sent out.

I have a working VM now (by using  fresh VM), but for posterity, I had problems attempting to correct the initial config containing the "©"  in /home/bridgechain/.deployer
I would have expected this to work:

correct the config (take out "©" )
run setup-deployer.sh again

Is there any existing documentation on how to correct a failing or incorrect config?

Also fails if license contains a comma.
JSON
...
"licenseName": "2019 x y z, PA",
...

Error
$ ./bridgechain.sh start-core --network testnet
==> Stopping...
/home/xy/.config/deployer/.env
/home/xy/ark-deployer/app/args.sh: line 240: export: `z,': not a valid identifier

When I removed the comma, it started, but automatically repleced the LICENSE_NAME in the env file to 2019