Update usbx/common/usbx_host_classes/inc/ux_host_class_video.h as per latest UVC 1.5 specification.

Hi,
It seems header file for video host class is not matching UVC 1.5 specification < https://www.usb.org/document-library/video-class-v15-document-set >.
for example ux_host_class_video.h mentions:
/* Define Video Class specific VS .  */
#define UX_HOST_CLASS_VIDEO_VS_UNDEFINED                                                    0x00
#define UX_HOST_CLASS_VIDEO_VS_INPUT_HEADER                                                 0x01
#define UX_HOST_CLASS_VIDEO_VS_OUTPUT_HEADER                                                0x02
#define UX_HOST_CLASS_VIDEO_VS_STILL_IMAGE_FRAME                                            0x03
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_UNCOMPRESSED                                          0x04
#define UX_HOST_CLASS_VIDEO_VS_FRAME_UNCOMPRESSED                                           0x05
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_MJPEG                                                 0x06
#define UX_HOST_CLASS_VIDEO_VS_FRAME_MJPEG                                                  0x07
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_MPEG2TS                                               0x0A
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_DV                                                    0x0C
#define UX_HOST_CLASS_VIDEO_VS_COLORFORMAT                                                  0x0D
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_FRAME_BASED                                           0x10
#define UX_HOST_CLASS_VIDEO_VS_FRAME_FRAME_BASED                                            0x11
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_STREAM_BASED                                          0x12

But there are other subtypes as well on page 172 , UVC 1.5 specification < https://www.usb.org/document-library/video-class-v15-document-set >.
Ideally following should be added :
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_H264                                          0x13
#define UX_HOST_CLASS_VIDEO_VS__FRAME_H264                                          0x14
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_H264_SIMULCAST                                0x15
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_VP8                                          0x16
#define UX_HOST_CLASS_VIDEO_VS_FRAME_VP8                                           0x17
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_VP8_SIMULCAST                                0x18

This is just an example entire file need an update.

Thanks for the feedback.
We will update the file for 1.5 spec.

Updated in 6.1.8

thanks I will test this


Enable key migration for the vaults to use TPM based keys.

Any production device upgrading to this device needs to be
upgraded to one of 4.9.x/4.10.x first.
Signed-off-by: Hariharasubramanian C S<EMAIL_ADDRESS>

Any production device upgrading to this device needs to be
upgraded to one of 4.9.x/4.10.x first.

We haven't delivered 4.9 nor 4.10 to production. So that constraint would be hard to satisfy.

will defer this till all the devices in production move to V2 API.


Can't install

You are running create-react-app 4.0.2, which is behind the latest release (4.0.3).
We no longer support global installation of Create React App.
Please remove any global installs with one of the following commands:

npm uninstall -g create-react-app
yarn global remove create-react-app

The latest instructions for creating a new app can be found here:
https://create-react-app.dev/docs/getting-started/

Needed to remove create-react-app globally


Add more decompression targets to decompress_target

This commit adds more decompression targets to decompress_target.c. The target function is chosen based on the first byte of the data given by libfuzzer.

This new harness finds a crash in lzo1f_decompress_safe:
==17==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020000008d2 at pc 0x0000005c0f00 bp 0x7ffd7a6a0830 sp 0x7ffd7a6a0828
READ of size 1 at 0x6020000008d2 thread T0
SCARINESS: 12 (1-byte-read-heap-buffer-overflow)
#0 0x5c0eff in lzo1f_decompress_safe /src/lzo-2.10/src/lzo1f_d.ch:112:30

Great! Next step would be to add other targets to compress_target?

I think so. I'm fixing a minor bug with the PR which was that 1x was getting counted twice and 1c was getting left out due to dead code.


Some warnings on compilation

I get a few warnings; maybe they're of note?
htab.cpp: In function ‘yak_bf_t* yak_bf_init(int, int)’:
htab.cpp:95:23: warning: ignoring return value of ‘int posix_memalign(void**, size_t, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   95 |         posix_memalign(&ptr, 1<<(YAK_BLK_SHIFT-3), 1ULL<<(n_shift-3));
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from Overlaps_hamt.h:4,
                 from Overlaps_hamt.cpp:10:
Overlaps_hamt.cpp: In function ‘void hamt_asgarc_util_get_the_two_targets(asg_t*, uint32_t, uint32_t*, uint32_t*, int, int, int)’:
Overlaps_hamt.cpp:1756:15: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
 1756 |     assert(idx=2);  // deadly
      |            ~~~^~
In file included from htab.cpp:11:
htab.cpp: In function ‘ha_pt_t* ha_pt_gen(ha_ct_t*, int)’:
htab.h:112:58: warning: argument 1 range [18446744071562067968,<PHONE_NUMBER>3709551615] exceeds maximum object size<PHONE_NUMBER>854775807 [-Walloc-size-larger-than=]
  112 | #define CALLOC(ptr, len) ((ptr) = (__typeof__(ptr))calloc((len), sizeof(*(ptr))))
      |                                                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
htab.cpp:366:9: note: in expansion of macro ‘CALLOC’
  366 |         CALLOC(pt->h, 1<<pt->pre);
      |         ^~~~~~
In file included from /usr/include/c++/11/cstdlib:75,
                 from /usr/include/c++/11/stdlib.h:36,
                 from htab.cpp:5:
/usr/include/stdlib.h:542:14: note: in a call to allocation function ‘void* calloc(size_t, size_t)’ declared here
  542 | extern void *calloc (size_t __nmemb, size_t __size)
      |              ^~~~~~
In file included from Hash_Table.h:3,
                 from Assembly.cpp:8:
Assembly.cpp: In function ‘void ha_overlap_and_correct(int)’:
htab.h:112:58: warning: argument 1 range [18446744071562067968,<PHONE_NUMBER>3709551615] exceeds maximum object size<PHONE_NUMBER>854775807 [-Walloc-size-larger-than=]
  112 | #define CALLOC(ptr, len) ((ptr) = (__typeof__(ptr))calloc((len), sizeof(*(ptr))))
      |                                                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Assembly.cpp:1089:9: note: in expansion of macro ‘CALLOC’
 1089 |         CALLOC(e, asm_opt.thread_num);
      |         ^~~~~~
In file included from /usr/include/c++/11/cstdlib:75,
                 from /usr/include/c++/11/stdlib.h:36,
                 from Assembly.cpp:2:
/usr/include/stdlib.h:542:14: note: in a call to allocation function ‘void* calloc(size_t, size_t)’ declared here
  542 | extern void *calloc (size_t __nmemb, size_t __size)
      |              ^~~~~~
htab.cpp: In function ‘void worker_process_one_read_HPC(plmt_step_t*, int)’:
htab.cpp:1265:28: warning: ‘buf’ may be used uninitialized [-Wmaybe-uninitialized]
 1265 |         double mean = meanl(buf, idx);
      |                       ~~~~~^~~~~~~~~~
In file included from htab.h:7,
                 from htab.cpp:11:
meta_util.h:10:8: note: by argument 1 of type ‘const uint16_t*’ {aka ‘const short unsigned int*’} to ‘double meanl(const uint16_t*, uint32_t)’ declared here
   10 | double meanl(const uint16_t *counts, uint32_t l);
      |        ^~~~~
htab.cpp: In function ‘void worker_process_one_read_noHPC(plmt_step_t*, int)’:
htab.cpp:1320:28: warning: ‘buf’ may be used uninitialized [-Wmaybe-uninitialized]
 1320 |         double mean = meanl(buf, idx);
      |                       ~~~~~^~~~~~~~~~
In file included from htab.h:7,
                 from htab.cpp:11:
meta_util.h:10:8: note: by argument 1 of type ‘const uint16_t*’ {aka ‘const short unsigned int*’} to ‘double meanl(const uint16_t*, uint32_t)’ declared here
   10 | double meanl(const uint16_t *counts, uint32_t l);
      |        ^~~~~

Sorry for the late reply. Thank you! I have fixed the useless assert locally. It will show up in the next push. The other ones should have no impact in practice:

for meanl's warning, since we are counting kmers from hifi reads, I expect the buffer to always have something. I should test malloc, though.
for CALLOC's warning, there's this post on gcc bugzilla which described the warning as a warning bug.


Change extension

Syntax is Markdown not RST.

This has some impact on the generation of documentation, let me look into that.

I haven't found a reference in conf.py or in the rendered docs. This way it would be rendered at least properly here.


Partially-defined shapes and group_norm

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v1.12.0-0-ga6d8ffae09 1.12.0
Python version: 3.6.5
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: 9.0
GPU model and memory: 1080 Ti

Describe the current behavior
Given the following minimal code raises an error:
scan_var = tf.placeholder(tf.float32, [None, 128, 128, 64], name='scan')
norm = tf.contrib.layers.group_norm(scan_var, groups=16, channels_axis=3, reduction_axes=(1, 2))

When using tf.contrib.layers.group_norm with a Tensor that has partially-defined shape (e.g. [None, H, W, C]), the following error is raised:
TypeError: Failed to convert object of type <class 'list'> to Tensor. Contents: [None, 128, 128, 16, 4]. Consider casting elements to a supported type.

The error is due to normalization.py#L303, since the value of variable inputs_shape is [None, 128, 128, 16, 4] which cannot be converted to a Tensor. The correct value should be [-1, 128, 128, 16, 4].
This error can be fixed (probably addressing this TODO) with the addition of the two following lines after Line 252 in normalization.py:
original_shape = [-1 if s.value is None else s for s in original_shape]
if len([s for s in original_shape if s == -1]) > 1:
    raise ValueError('Only one axis dimension can be undefined in the input tensor')

and the following line after Line 302:
inputs_shape = [-1 if s is None else s for s in inputs_shape]

If it seems reasonable I can submit a pull request.

contrib.layers.group_norm might get removed from tf.contrib soon, according to https://github.com/tensorflow/community/pull/37. Therefore it may not be worth it to fix it.
Or you can ask the team to keep it in TF in the above PR.
I authored the paper and my version of group norm (which handles partially-defined batch dimension) in TF is here.

Hey Guys!! I am making my own object detector and for that when I go for the training part, I am getting this error:
Traceback (most recent call last):
File "train.py", line 51, in
from object_detection.builders import model_builder
File "C:\Users\Bilal\Documents\models\research\object_detection\builders\model_builder.py", line 52, in
from object_detection.models.ssd_mobilenet_v2_feature_extractor import SSDMobileNetV2FeatureExtractor
File "C:\Users\Bilal\Documents\models\research\object_detection\models\ssd_mobilenet_v2_feature_extractor.py", line 26, in
from nets.mobilenet import mobilenet_v2
File "C:\Users\Bilal\Documents\models\research\slim\nets\mobilenet\mobilenet_v2.py", line 89, in
'normalizer_fn': tf.contrib.layers.group_norm,  # pylint: disable=C0330
AttributeError: module 'tensorflow.contrib.layers' has no attribute 'group_norm'
Any help ?

As mentioned above, the function is removed.

what's the alternative?

As mentioned above, an alternative is to use my version of group norm (which handles partially-defined batch dimension).

from nets.mobilenet import mobilenet_v2
File "C:\tensorflow\models\research\slim\nets\mobilenet\mobilenet_v2.py", line 91, in
'normalizer_fn': contrib_layers.group_norm,  # pylint: disable=C0330
AttributeError: module 'tensorflow.contrib.layers' has no attribute 'group_norm'
any help

from nets.mobilenet import mobilenet_v2
File "C:\tensorflow\models\research\slim\nets\mobilenet\mobilenet_v2.py", line 91, in
'normalizer_fn': contrib_layers.group_norm, # pylint: disable=C0330
AttributeError: module 'tensorflow.contrib.layers' has no attribute 'group_norm'
any help

do you have the solution now???

I've got a problem when using slim.group_norm as 'normalizer_fn=slim.group_norm' for many conv layers, it cannot get the value of batch_size, h and w, so that it cannot use -1 to solve this problem. Did anyone meet this problem?

@erfannoury ,
Is this still an issue?
Could you please update TensorFlow to the latest stable version v.2.6 and let us know if you are facing the same error. Thanks!


Deserialize using a helper type

Hi there, I'm currently facing a format I'd like to deserialize where a tagged enum field is implicitly of a certain type if the tag is missing. I can't currently figure out how to properly deserialize this, however I can create a similar struct where the given field is implicit. Is there some why to express "please deserialize this into this struct, if not, try this struct and convert"? or make the absence of the tag cause a fallback?
Thank you

Hi @hoodie, sorry that no one was able to provide help here. If this is still an issue, you could try taking this question to any of the resources shown in https://github.com/serde-rs/serde#getting-help.


only half of values is read from the file recorded with WavePro HD

Hello.
I've noticed that lecroyscope.Trace() reads only half of the data  recorded with the WavePro HD scope. Reason is that the array length of the data is taken from header["wave_array_count"] instead of header["wave_array1"]. If I replace that in the reading/file.py (line 116) then everything works correctly at least for singe traces and sequences. I don't know if this is scope model specific or a general solution and weather it works for all types of data though.
kind regards, Ekaterina

Hello @emoehr, thanks for posting an issue!
When I developed this library I only had a single model of oscilloscope to test it with so I guess this kind of problems were very likely. In my experience the wave_array_count should contain the length of the data, but it may not be true in all cases.
Originally I uploaded some files I recorded to the tests section, in order to verify the library works properly.
I would love if you could share some files (in the "trc" format, binary) so I could check this issue myself and see how best to fix it! (please not more than a few KB in length 🙏🏻 )

Hi, I give one of the files I work with. This is a single time trace from -2 to 8 ms, 10MSa/s. Github doesn't take .trc files so I pack it into zip format. Hope this helps.
C2--test--00001.zip

Thanks @emoehr , it was indeed a bug. I fixed it and published a new release, it should work now after you update (pip install lecroyscope).
Thanks again for reporting the bug, please free to keep reporting new bugs and even to submit PRs with fixes or new features!


Create nusget_ko.ts

Sorry, I couldn't specify a translation label item. TT

Translations look good! Thank you!
For the future though, please try to keep all of your changes to one pull request and update that rather than opening multiple.

@DDinghoya Hey, just wanted to ask if you'd be willing to update your translations. I've finalized string changes for v1.3.0, so it'll be ready for release once all of the existing translations are up to date. Thanks!

@DDinghoya Hey, just wanted to ask if you'd be willing to update your translations. I've finalized string changes for v1.3.0, so it'll be ready for release once all of the existing translations are up to date. Thanks!

Ok, I will work it after leaving the office today. :)

Sounds good, thank you!


Make table of content scrollable

Table of contents can be longer than the page height allows (e.g. https://www.tdwg.org/conferences/2022/instructions-for-abstract-submission/). I have recently fixed this in the petridish theme and pulled it into the tdwg/petridish fork but the changes are not reflected on the site.
@MattBlissett any idea why? Is there some caching going on with _sass? The other recent changes in petridish (e.g. an RSS icon in the footer) are reflected on the site.

This is now fixed. Build had a stray --exclude theme and did not pull in updates to the theme. Thanks @MattBlissett.
@gkampmeier see e.g. https://www.tdwg.org/conferences/2023/session-list/ : the right-side table of content is now scrollable

@peterdesmet in my browser (Chrome based), it only scrolls after the left side exceeds a certain (undetermined) point near the bottom of the page--it does not scroll independently.

Debugged with @gkampmeier, is a caching issue.


squids and guardians cant bee collected

Hi! Please could you add these to the plugin so players can collect them? If they're supposed to be there - its not working.
Thank you so much :)

Squids should be collectible in the latest release. I'll add the other water mobs in v3 ^_^

All water mobs are now collectible in v3 alpha4 (dolphin, elder_guardian, guardian, squid, and turtle). \o/


Raspberry Pi Pico (RP2040) port

Why is a RP2040 port needed? Is this not handled if I use the arduino-pico core?

You certainly can use an arduino-pico core to run this on a RP2040 chip and say case closed, someone already put some effort in this direction https://github.com/gilman88/xmodem-lib/pull/1
However I think a native port would be fun and interesting to do, so I plan to do it one day if no one else does it first :D


No feedback when kubectl fails to install

If you attempt to install a version of kubectl that doesn't exist, e.g. because you didn't include the point release number, then asdf silently exits with error code 1. Outputting an error message would be nice so that the user is informed that it didn't actually succeed.
$ asdf install kubectl 1.22
Downloading kubectl from https://storage.googleapis.com/kubernetes-release/release/v1.22/bin/darwin/amd64/kubectl
$ echo $?
1

Was about to open a bug report in the asdf main repo but found this thread. Included report below.

I'm trying to troubleshoot why Kubectl plugin is "installing" but not appearing on m1. I'm not familiar with ASDF and don't know what the normal "success" prompts look like or where these installs should even go.
I found the error in this case -- there's no actual binary at arm64 here. Assumedly never was, as ARM is probably only on latest branches. https://storage.googleapis.com/kubernetes-release/release/v1.8.16/bin/darwin/arm64/kubectl

@Quezion I haven't fixed the error reporting but I did implement a "workaround" in this pr: https://github.com/asdf-community/asdf-kubectl/pull/20


[Bug fix] Param key type mismatch

In Ecto when you are attempting to cast params that have a mix of string
and atoms Ecto raises an error:
https://github.com/elixir-lang/ecto/blob/master/lib/ecto/changeset.ex#L428-L429
This fix will normalize all fields in the final param map to a string.
Phoenix params come in with string keys so this should be the preferred
normalization direction.

I'd potentially argue that in the call to assert_valid_field that the user should use the string, but this takes care of them using atoms :+1:

Ecto allows you to use param keys as atoms, they just can't be mixed with string keys

You'll have the inverse of this if in your changeset you use atoms. But, like you pointed out, if you are using Phoenix, you will likely be using strings in your changeset


Expose VerticalPodAutoscaler logs

How to categorize this PR?

/area logging
/kind enhancement
/priority normal
What this PR does / why we need it:

Expose VPA logs to the end-user
Add Component field in the dashboards. This is needed to merge the vpa-admission-controller, vpa-exporter and vpa-recommender logs into one dashboard. Also with this feature we can consider in the future to merge all logging dashboards into one.
Add Container filed which lists all existing containers of the selected Component from 2. for more flexible log queries.

Which issue(s) this PR fixes:
Closes #3451
Special notes for your reviewer:
@vlvasilev @timuthy @wyb1
Release note:

Logs from `VerticalPodAutoscaler` are accessible via the `Vertical Pod Autoscaler` dashboard in Grafana

`Component` and `Container` fields are added in the logging dashboards for more flexible log queries.

/assign

/assign


[INLONG-1777]Fix bug in parsing tdmsg v4 of Go SDK

Signed-off-by: Zijie Lu<EMAIL_ADDRESS>Title Name: [INLONG-XYZ][component] Title of the pull request
where XYZ should be replaced by the actual issue number.
Fixes #1777
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Codecov Report

Merging #1778 (117670d) into master (e25a9c7) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1778      +/-   ##
============================================
- Coverage     12.14%   12.12%   -0.02%
- Complexity     1044     1045       +1
============================================
  Files           393      393
  Lines         32795    32795
  Branches       5157     5157
============================================
- Hits           3983     3977       -6
- Misses        28047    28053       +6
  Partials        765      765

Impacted Files
Coverage Δ

.../java/org/apache/flume/sink/tubemq/TubemqSink.java
51.42% <0.00%> (-4.00%)
:arrow_down:

.../producer/qltystats/DefaultBrokerRcvQltyStats.java
45.70% <0.00%> (+0.39%)
:arrow_up:

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 e25a9c7...117670d. Read the comment docs.


RubyGems page Source Code link points to a different repository

I tried searching for this in the issues but didn't find it.
Was just wondering if you were aware that the URL for the Source Code link of this gem in Ruby Gems actually points to a different prism gem:

I tried looking at ruby gems gemspec but found no way to alter this so I'm assuming it's something done by the owners?
The Homepage link is fine, as can be seen, but still, since I usually go for the Source Code link, it threw me off a bit. Also the github badge up top links to the wrong repo.

It may be caused by https://github.com/rubygems/rubygems.org.

Interesting. Just to clarify what I meant: maybe it's some configuration that only the people with permissions to publish the gem can alter. But I'm going to check out the code to see if it isn't a bug in the site

This is because we claimed the gem from another person, and that's the old link. Maybe they cache it and don't update it? I probably need to add soemthing to the gemspec to make it update.

@mateusdeap if you figure out the right field, please feel free to open a PR to the gemspec and I'll merge it

@kddnewton Will do! I haven't had the time to look into it, but will do so soon enough.

@mateusdeap These 3 lines come from bundle gem foobar
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."

I'm assuming we need to set these options, which we currently aren't in our gemspec. Would you be able to open a PR setting these options?

Well, darn, if only I had run that. Funny thing is that I had read the specification reference and did not see those options. Lo and behold, I go back there now and just do a search on the page and find them in the metadata section 🤦
Will open the PR in a bit

@kddnewton Done

I imagine it won't update until I push a new version, so we'll wait and see. Thanks for the PR!


[BUG] binaryMessenger null value

Describe the bug
when i start the application null exception trowed
To Reproduce
final androidConfig = FlutterBackgroundAndroidConfig(
notificationTitle: "Allarme",
notificationText: "Notifica per gli errori",
notificationImportance: AndroidNotificationImportance.Default,
notificationIcon: AndroidResource(name: 'background_icon', defType: 'drawable'),
// Default is ic_launcher from folder mipmap

);
bool a = await FlutterBackground.initialize(androidConfig: androidConfig);
add this code to the main and run start
Screenshots

Smartphone:

Device: redmi note 7
OS: android 11

Logs

```
```

This bug is still there on the version flutter_background: ^1.0.2+1

@slowisfast168 @DanielusG Can you check if that error still exists with the current version (v. 1.1.0) and let me know?

I just ran into this on 1.1.0. Cheers

Did this issue be solved?

Unfortunately, I currently don't have time to test this. I hope, I will be able to test and fix this within the coming months.

Does this error still occur in the latest version (1.3.0)?


v1.0.0-beta.4 is incompatible with React <18

Expected Behavior
From the README:

This package tries to support both the legacy React DOM interface (ReactDOM.render) and the new one introduced in React 18 (ReactDOM.createRoot).

The installed React version is tested at runtime by trying to import react-dom/client. If the import succeeds then the new API is used, otherwise we fallback to the legacy API.

I'd expect this library to work with React 17.
Actual Behavior
During webpack compilation, I see the following error:
ERROR in ./node_modules/react-components-rails/dist/index.js 1:1677-1703
Module not found: Error: Can't resolve 'react-dom/client' in '/Users/rosskaffenberger/dev/stitchfix/fe-infra-webpack-rails/gem/spec/sample/node_modules/react-components-rails/dist'

Dependencies:

react-component-rails 1.0.0-beta.4
react 17.0.2
react-dom 17.0.2

Analysis
It appears that the import from "react-dom/client" statement will not work in versions of React prior to 18.
One solution I can think of is for react-component-rails to be refactored in a way such that the behavioral differences between React 18+ and React <18 can be isolated and injected via separate imports from the consumer, i.e., something like the following:

apps using React 18: import ReactComponentRails from "react-component-rails"
apps using React <18: import ReactComponentRails from "react-component-rails/legacy"

Thanks for your report.
This is weird as there is no import … from "react-dom/client" but a dynamic import (await import('react-dom/client')) which should be resolved at runtime and a failure means it fallbacks to the legacy import. But I guess webpack needs to resolve this path when generating the output before it sends it to the server?
I wanted to find a way to not require users to change their imports to use the legacy React DOM API. It looks like we could use ReactDOM.createRoot as it is exported from react-dom, but the react-dom/client export has a slightly different implementation and I do not know if it is safe to use the non-client export…

Yes, I misspoke about the import. It is the dynamic import that webpack can't process at compile time even though the module isn't requested until runtime.
I know react-component-rails is meant to be bundler-agnostic and, while I don't know for sure if behavior affects other bundlers, I do have a webpack-specific workaround. I can instruct webpack to load another module instead in place of react-dom/client using alias. The aliased module simply raises an error which react-component-rails gracefully handles in the dynamic import, falling back to React 17 rendering.
// ... add to existing webpack config
{
 // ...
  resolve: {
    alias: {
      'react-dom/client$': path.resolve('path/to/module/that/raises/error')),
    },
  },
};

Version detection could be another option. Something like:
  private loadReactDOMClient() {
    return new Promise<void>((resolve) => {
+      const [reactMajorVersion] = React.version && React.version.split('.') || '0';
+      if (parseInt(reactMajorVersion, 10) < 18) {
+        this.#ReactDOMClient = false
+       resolve()
+      }


User actions, e-mail verification

I'll only do this if I add a feature, where having users outside of my main admin account would make sense.


Description is not rendered

Hi folks,
i have added ui.router.metatags to my project and configured as described in the readme.
It works perfect for the page title, but the the content is not read out at all.
When I check the generated html on my page the attribute keeps empty.
It looks now like this:

Startseite - MyApp

Configure and runBlocks are both executed.
I am using angular 1.5.3 and ui-router 0.2.18. Are there any known problems?
I am really struggeling with this for hours.

I can't tell you anything unless you provide more information - or event better - code samples.

Hi,
You have used the tool, prerender.io , you recommend?
I read that if used google penalize My Page , I would appreciate advice.

Yes I have used prerender, and its the simplets one to get running with angular in my opinion.
With regards to google I cannot tell you if the penalize it.


Error when training with language model mixing in french

I'm unable to use language model mixing in French.
Here is the error I get in the logs:
INFO:__main__:Starting training
DEBUG:DialogueManager:asleep -> training_sentences
[2019-12-04 17:39:52,557] <IP_ADDRESS>:38098 GET /api/unknown-words 1.1 200 2 2914
INFO:quart.serving:<IP_ADDRESS>:38098 GET /api/unknown-words 1.1 200 2 2914
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/doit/doit_cmd.py", line 177, in run
    return command.parse_execute(args)
  File "/usr/local/lib/python3.6/dist-packages/doit/cmd_base.py", line 127, in parse_execute
    return self.execute(params, args)
  File "/usr/local/lib/python3.6/dist-packages/doit/cmd_base.py", line 420, in execute
    return self._execute(**exec_params)
  File "/usr/local/lib/python3.6/dist-packages/doit/cmd_run.py", line 260, in _execute
    return runner.run_all(self.control.task_dispatcher())
  File "/usr/local/lib/python3.6/dist-packages/doit/runner.py", line 256, in run_all
    self.run_tasks(task_dispatcher)
  File "/usr/local/lib/python3.6/dist-packages/doit/runner.py", line 219, in run_tasks
    if not self.select_task(node, task_dispatcher.tasks):
  File "/usr/local/lib/python3.6/dist-packages/doit/runner.py", line 107, in select_task
    task = node.task
AttributeError: 'str' object has no attribute 'task'
DEBUG:DialogueManager:training_sentences -> ready
INFO:DialogueManager:Automatically listening for wake word
DEBUG:DialogueManager:ready -> asleep
ERROR:__main__:Training failed:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1471, in full_dispatch_request
    result = await self.dispatch_request(request_context)
  File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1519, in dispatch_request
    return await handler(**request_.view_args)
  File "app.py", line 494, in api_train
    raise Exception(f"Training failed: {result.reason}")
Exception: Training failed:
-- grammars
...
-- intent_fst
-- language_model:intent_counts
-- language_model:intent_model
[2019-12-04 17:39:52,857] <IP_ADDRESS>:38096 POST /api/train 1.1 500 17 304534
INFO:quart.serving:<IP_ADDRESS>:38096 POST /api/train 1.1 500 17 304534

I've pushed a fix for this. Please try again and let me know how it goes!


Ripper -> Ripper-tags?

I notice this uses the ripper gem - which looks pretty ancient.  Also I haven't seen it parse anything more than class names in my codebase - which seems weird.  And finally, I'm a little confused by the parse code, which is probably more of a me issue.
Anyway - the ripper-tags gem seems up to date and like maybe it'd do a lot of the right things:
https://github.com/tmm1/ripper-tags

Hi @kwerle, thank you for your opinion!

I notice this uses the ripper gem - which looks pretty ancient

Ripper isn't a gem. It's a stdlib. So I think it isn't ancient and it always works.
And actually, ripper-tags is using ripper internally.
Ripper is even faster than other parser gems.

I haven't seen it parse anything more than class names in my codebase

Yeah, at this time, the static analysis only works for constants and not perfect 😞
https://github.com/mtsmfm/language_server-ruby/issues/19#issue-258347904

I'm a little confused by the parse code, which is probably more of a me issue.

I was just curious about building analyser but now I noticed analysing Ruby code is harder than as I expected.
Of course it's welcome to send PR to use ripper-tags, but please don't remove adhoc things.
adhoc things don't work perfectly for now so I'd like to introduce --experimental flag.

Yeah, following up I saw that ripper is internal.  Ripper tags seems to do a really good job of ctagging - which I figure is a pretty good step in the right direction  I've forked a branch of the LS and am going to take a shot at using ripper-tags with it.  We'll see how it goes.
It's disappointing that atom-ide does not have a lookup and outline implementation that just uses ctag data - that seems like an obvious first step for all languages.

@kwerle did you ever get somewhere on that implementation? Did you find an alt at this point?  etc / thanks!

@kwerle did you ever get somewhere on that implementation? Did you find an alt at this point? etc / thanks!

I use https://github.com/kwerle/ruby_language_server with vscode
https://github.com/kwerle/vscode_ruby_language_server


Percentage-based RNG

For combat AI, as needed in #4, it would be beneficial to have an RNG function that is passed a decimal value that represents a percentage chance. Another function that works with integers in a similar would be useful.

An alternative would be to pass it a single argument indicating a 1 in arg chance.

My thought is to have a function crng(float) that takes its argument as a raw chance that it will return zero. Passing it .25 will return 0 1/4 times, passing it .5 will return 0 half of the time, etc. The integer one would be rather redundant; it's mostly just a frontend difference.
Your concept would be useful as well, although the best implementation would probably be one that takes arguments x and y and then has an x/y chance to return 0. It's also rather redundant, as approximations could be done with the crng() system, but it's something to look into.

Turns out that the fractional rng (which has been implemented as crng(int, int) is perfectly acceptable as a percentage-based rng. If a 1/x chance needs to happen, one can call the zrng(int) (now renamed arng(int)) and check it against 0, which is how crng is intended to be used as well.


treewide: fix cffi-related cross-compilation

Motivation for this change
I made a list of all packages listing cffi incorrectly (as described here: https://github.com/NixOS/nixpkgs/pull/135447) and went through all of them manually to fix it. It worked for maybe 1/10th of the packages, while I was working I removed the ones from the list that built and added comments to the ones that didn't:
All tests were run with nix build nixpkgs#pkgsCross.raspberryPi.*

~~Sometimes packages will cross compile, even though when I try to cross compile one of their dependencies it fails... No idea what's going on there - probably some python weirdness~~

# rust boostrap, don't want to lol
pkgs/tools/security/sequoia/default.nix
# cc command not found
pkgs/development/python-modules/angr/default.nix
# the cffi error, after fixing that: wrong ELF class: ELFCLASS32 when loading a library
pkgs/development/python-modules/augeas/default.nix
# issue doesn't go away
pkgs/development/python-modules/autobahn/default.nix
# wrong ELF class: ELFCLASS32
pkgs/development/python-modules/bedup/default.nix
# cc not found
pkgs/development/python-modules/cle/default.nix
# idk what the derivation name is
pkgs/development/python-modules/cld2-cffi/default.nix
# doesn't work
pkgs/development/python-modules/deltachat/default.nix
# doesn't work
pkgs/development/python-modules/etesync/default.nix
# /nix/store/mij848h2x5wiqkwhg027byvmf9x3gx7y-glibc-2.33-50/lib/librt.so: file not recognized: file format not recognized
pkgs/development/python-modules/google-crc32c/default.nix
# unsupported
pkgs/development/python-modules/jupyter_server/default.nix
# cffi issue is fixed, but other issue: checking for a version of Python >= '2.1.0'... ./configure: line 12491: /nix/store/.../bin/python: cannot execute binary file: Exec format
pkgs/development/python-modules/keyrings-cryptfile/default.nix
# unsupported
pkgs/development/python-modules/notebook/default.nix
# Please install the program "msgfmt" in advance.
pkgs/development/python-modules/notmuch/2.nix
# /nix/store/9qsrf2ddrd1s3myyk89w94wcyw0w3idq-postgresql-13.4-lib/lib/libpq.so: file not recognized: file format not recognized
pkgs/development/python-modules/psycopg2/default.nix
# doesn't work
pkgs/development/python-modules/pyspice/default.nix
# unsupported
pkgs/development/python-modules/pyspotify/default.nix
# not even gonna try
pkgs/development/python-modules/pytorch/default.nix
# cc no such file or directory
pkgs/development/python-modules/pyvex/default.nix
# idk billion deps and some pkg-config error
pkgs/development/python-modules/pyvips/default.nix
# can't find ar
pkgs/development/python-modules/rtmixer/default.nix
# unsupported
pkgs/development/python-modules/rpy2/default.nix
# ERROR: Could not find a version that satisfies the requirement pytest-runner (from versions: none)
pkgs/development/python-modules/weasyprint/default.nix
# stdenv-linux/setup: /nix/store/h6g8yf6p2rc36hcvshkdh23xxpc5c4kv-python3-armv6l-unknown-linux-gnueabihf-3.9.6/bin/python3.9: cannot execute binary file: Exec format error
pkgs/development/python-modules/xattr/default.nix
# stdenv-linux/setup: /nix/store/h6g8yf6p2rc36hcvshkdh23xxpc5c4kv-python3-armv6l-unknown-linux-gnueabihf-3.9.6/bin/python3.9: cannot execute binary file: Exec format error
pkgs/development/python-modules/pymunk/default.nix
# ./autogen.sh: line 29: libtoolize: not found
pkgs/development/python-modules/ocrmypdf/default.nix
# configure: error: in `/build/source':
# configure: error: cannot run test program while cross compiling
pkgs/development/python-modules/kaldi-active-grammar/default.nix
# wrong ELF class: ELFCLASS32 when loading a lib
pkgs/development/python-modules/ssdeep/default.nix
# can't find ar
pkgs/development/python-modules/sounddevice/default.nix
# line 3: syntax error near unexpected token `lambda'
pkgs/development/python-modules/snowflake-connector-python/default.nix
# no c compiler found
pkgs/development/python-modules/secp256k1/default.nix
#   line 1: syntax error: unexpected word (expecting ")")
pkgs/development/python-modules/pyopencl/default.nix
#/nix/store/9qsrf2ddrd1s3myyk89w94wcyw0w3idq-postgresql-13.4-lib/lib/libpq.so: file not recognized: file format not recognized
#collect2: error: ld returned 1 exit status
#Traceback (most recent call last):
#  File "/build/source/psycopg2cffi/_impl/libpq.py", line 2, in <module>
#    from psycopg2cffi._impl._libpq import ffi, lib as libpq
#ModuleNotFoundError: No module named 'psycopg2cffi._impl._libpq'
pkgs/development/python-modules/psycopg2cffi/default.nix
# some syntax error
pkgs/development/python-modules/islpy/default.nix
# no thing found setuptools
pkgs/development/python-modules/httpx/default.nix
# some syntax error
pkgs/development/python-modules/graphite-web/default.nix
# dunno the attribute name
pkgs/development/python-modules/graphite-api/default.nix
# unsupported
pkgs/development/python-modules/bwapy/default.nix
# unsupported
pkgs/development/interpreters/python/pypy/default.nix
# 2gb of deps, don't feel like testing
pkgs/applications/networking/irc/hexchat/default.nix
# An exe_wrapper is needed but was not found. Please define one in cross file and check the command and/or add it to PATH.
pkgs/applications/networking/mailreaders/notmuch/default.nix

One thing to notice is that it seems like some packages are cross-compiling, while some of their dependencies - when I cross compile them separately don't... I don't know enough python to know if this is a bug and should be a huge alarm signal or is just expected
Maybe someone else could shed some light onto this?
"Fixed" with https://github.com/NixOS/nixpkgs/pull/142301#issuecomment-948045461
Things done

Built on platform(s)

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

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

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

[x] Fits CONTRIBUTING.md.

checking out the python3Packages.cairosvg failure

I'm not sure if this fixes anything 😅
I cross compiled the bcrypt python library, and then loaded it up on my rpi - but the error still appears - just not when compiling, instead when running.
See here: https://media.discordapp.net/attachments/570351733780381697/900386597952966696/image0.jpg
I'll have to do more investigating, but it might be that all these changes achieve nothing...

Update! We can import it when we declare cffi twice! Once in propagatedNativeBuildInputs and once in propagatedNativeInputs (the latter is where it's currently)

I'll go ahead and add it twice in all the modified files and test the 'doesn't work' ones to see if I can fix it there

Now that the dependencies failing errors also pop up, argon2_cffi is failing: armv6l-unknown-linux-gnueabihf-gcc: error: unrecognized command-line option ‘-msse2’

I wrote a patch to not build with that flag when cross-compiling, but now it's failing with this:
> extras/libargon2/src/blake2/blamka-round-opt.h:23:10: fatal error: emmintrin.h: No such file or directory
       >    23 | #include <emmintrin.h>
       >       |          ^~~~~~~~~~~~~

I'm pretty clueless, anyone got an idea?

Now that the dependencies failing errors also pop up, argon2_cffi is failing: armv6l-unknown-linux-gnueabihf-gcc: error: unrecognized command-line option ‘-msse2’

I wrote a patch to not build with that flag when cross-compiling, but now it's failing with this:
> extras/libargon2/src/blake2/blamka-round-opt.h:23:10: fatal error: emmintrin.h: No such file or directory
       >    23 | #include <emmintrin.h>
       >       |          ^~~~~~~~~~~~~

I'm pretty clueless, anyone got an idea?

this is useful for finding out what package a file is in bennofs/nix-index

I've tried, even after compiling cmake from scratch, and trying various packaging it still fails with that

i cant repro that with either nix build ".#pkgsCross.aarch64-multiplatform.python3Packages.argon2_cffi" or nix build ".#pkgsCross.raspberryPi.python3Packages.argon2_cffi"
i just get python3.9-argon2_cffi> ModuleNotFoundError: No module named '_cffi_backend'

I just realized an issue with the tracking issue, most of the build failures are because of non-python and non-cffi related dependencies. It's to little use, to list those, since we already know that tons and tons of packages don't cross compile.

Tracking all packages that don't cross-compile is not very useful indeed, no. So maybe it's better to get this in and work futher on whatever you prefer, rather than tracking lots of packages you've no particular interest in.

I was tracking down build platform contamination in the runtime closures of my cross-compiled machines, and it turns out that a lot of it is coming from this PR. Adding cffi to propagatedNativeBuildInputs causes it to become part of the runtime closure of the package (because it is referenced in nix-support/propagated-native-build-inputs).
I previously thought this could be fixed by simply adding a dev output to each of the packages in this PR, which would move nix-support/propagated-native-build-inputs to the dev output. I started to do this in #200779, but I now realize that this is not enough. All downstream Python packages would also need a dev output as well to avoid build platform contamination.
As a concrete example, consider the aiodns -> pycares -> cffi dependency chain. pycares propagates build platform cffi, therefore pycares.out references cffi. If we add a dev output to pycares, pycares.out no longer references cffi, but pycares.dev does. aiodns propagates pycares, therefore aiodns.out references both pycares.out and pycares.dev, therefore build platform cffi is still part of the closure. If we split aiodns, this pushes the problem up a level, but any package that depends on aiodns will still have cffi in its closure. If every downstream package was split, this should fix the issue (since only the out output gets installed), but this seems infeasible.
On the other hand, does build-platform cffi really need to be propagated? I've only experimented with a few packages, but I was still able to build requests and aiohttp after moving cffi from propagatedNativeBuildInputs to nativeBuildInputs in brotlicffi and pycares.


Fixed patterns

fix patterns according to wikipedia and http://www.vatlive.com/eu-vat-rules/eu-vat-number-formats/

reorder in country code order to make auditing rules easier
AT is U + 8 characters
BG added
FR 2 character codes may not be O or I
GB GBGD codes must be 000-499, GBHA codes must be 500-999
RO can be 2-9 digits

👍  Looks good to me

👍

Won't merge this one into our master. I'll point our app at this commit, then submit upstream once launch is out of the way.


[Feature request] Copy a tag/branch name

Hi, sometimes I need to copy a tag or branch name, rather than copying the commit SHA.
At the moment I can see only the "Copy" button, that will copy the full SHA.
But I can't find any way to copy the name of a tag, or a branch name.
I don't think additional buttons are necessary; would be enough if the tags/branch names would be selectable text; or if there would be a context menu with an option to "Copy tag", when right-clicking on the name.
Unfortunately at the moment tag names are labels but one cannot simply select&copy their name like normal text.
The use case is about having to copy the names of tags/branches & paste them into a shell command.

... or maybe is already possible but I'm missing something obvious 😄

Maybe we can make the Badges somehow selectable or implementing key press (Ctrl+C) for them.

Thank you for the answer.
I've found out that the need for "copying git or files info" appears in other parts of the app as well.
E.g. I'm trying to copy a (long) path to a file listed in "Double Tree View", for avoiding typing it manually in the shell, but that's also not a selectable text-label.
Pardon my jargon as I'm not practical with C++ or the rendering framework that is used by the app, I hope that is clear what I mean.
To exemplify, one can select with the mouse:

the author/committer name
the commit date
the current & parent commit SHAs
the commit title
the code in the displayed diff chunks

but cannot copy a full path (relative to the repository), for using pasting it in shell git commands.
I couldn't copy the path nor from the "Diff hunks section", nor from the "Committed Files" section (CTRL+C only copies the filename without the path).
Maybe is that also something to consider in this issue? (the topic of "copying infos" is the same)


support multiple version of specifications

The crate should support to read/write multiple version of cdevents'spec (and version of message).

the different version should be supported simultaneously (a reader should be backward compatible)
the different version could be behind feature flag, if a consumer want to only work with one or few specific versions, by default all version are enabled

Thanks @davidB. I agree that the SDK should be able to parse older versions of CDEvents.
In terms of producing events, my initial thought was that a specific version of the SDK should only be able to produce events for the corresponding version - this is how the golang SDK is currently implemented.
If a producer needs to support consumers on different versions, I see how being able to produce multiple versions with the same SDK would come in handy, so that's something we should consider adding to other SDKs too.


s2n-tls: 1.3.56 -> 1.4.0

Changes: https://github.com/aws/s2n-tls/releases/tag/v1.4.0
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

All direct reverse dependencies built fine on x86_64-linux: aws-c-auth aws-c-event-stream aws-c-http aws-c-io aws-c-mqtt aws-c-s3 aws-crt-cpp cachix hercules-ci-agent


Add event plugin/swAjaxVariant/onRequestDataComplete

This event enables one, to react when the request loading the variants
through ajax is completed fully. In my case this was needed, because I
started another action that triggered the loadingIndicator to be
reopened. Opening multiple loadingIndicator is not supported or does not
work well. This new event enables one, to start an action after the
loading indicator is closed.

1. Why is this change necessary?
Resolves a bug.
2. What does this change do, exactly?
See commit message.
3. Describe each step to reproduce the issue or behaviour.
$.subscribe('plugin/swAjaxVariant/onRequestData', function() {
   // start another action that uses loading-indicator
});

4. Please link to the relevant issues (if any).
None
5. Which documentation changes (if any) need to be made because of this PR?
None
6. Checklist

[ Are there any tests for the theme? ] I have written tests and verified that they fail without my change
[X] I have squashed any insignificant commits
[X] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Hey,
we have already a Pull Request for that. See #1537


fix: Allow setting ingress hosts directly through yaml

SUMMARY
Fixes https://github.com/apache/superset/issues/23445
This PR adds the ability to configure ingress hosts as a raw block of YAML
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TESTING INSTRUCTIONS
Set ingress.extraHostsRaw to a valid yaml configuration in the values file
ex:
ingress:
  extraHostsRaw:
    - host: superset.myhost.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: ssl-redirect
                port:
                  name: use-annotation
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: superset
                port:
                  name: http

Deploy using Helm
Observe the ingress is created with the specified path configuration.
ADDITIONAL INFORMATION

[x]  Has associated issue:
[ ]  Required feature flags:
[ ]  Changes UI
[ ]  Includes DB Migration (follow approval process in https://github.com/apache/superset/issues/13351)
[ ]  Migration is atomic, supports rollback & is backwards-compatible
[ ]  Confirm DB migration upgrade and downgrade tested
[ ]  Runtime estimates and downtime expectations provided
[ ]  Introduces new feature or API
[ ]  Removes existing feature or API

Looks like big changes in the README. Maybe something with the version of helm-docs you're using?

I think pycharm did some reformatting of it's own while I was working. Should be just the new docs now.


Regex for detecting stereo in ffmpeg

Hi, I'm trying out the lib and found that in ffdec.py the regex for detecting stereo isn't working.
The usual output I get is something like
duration: 00:04:38.00, bitrate: 1411 kb/sstream #0.0: audio: pcm_s16le, 44100 hz, 2 channels, s16, 1411 kb/s
Changing line 83 of ffdec.py to:
if mode == 'stereo' or mode == '2 channels':

Solves it.

Thanks for pointing that out. Fixed with a regex to extract the channel count.


Docker 1.6.1 compatibility

As Docker 1.7.x, 1.8.x are not stable enough, we shoud bring back compatibility with latest stable version: 1.6.1.
Thanks to Sergei Vizel for research.

Not needed.


Update vcpkg-tool to 2023-03-28-2.

https://github.com/microsoft/vcpkg-tool/releases/tag/2023-03-28-2

Replaces https://github.com/microsoft/vcpkg/pull/30378.
Replaces https://github.com/microsoft/vcpkg/pull/30498.
Given that there were no meaningful changes in the exe between those releases I'm not going to bother with another full CI run.


Cannot delete a notebook in the Dashboard

When I click on the Delete button in the Dashboard, a confirmation dialogue is shown with a red Delete button. After clicking this button the notebook is not deleted.

Noted; I believe this can be easily fixed as the kernel should have been shutdown by then.


Concurrent raid sim

Starting as a little experiment this turned out to actually be a viable way to add concurrency.
It's achieved by spreading iterations over multiple sims, which run in their own go routine. Results are then combined, both for progress updates and the final RaidSimResult. This is entirely transparent and only requires the replacement of go RunSim(request, progress) with the new RunConcurrentRaidSimAsync(request, progress) to be used.
There's no impact on the web version because wasm is single thread anyway, therefore I made it not even compile for wasm.
It currently has test cases for MM Hunter, Blood DK and cat Feral, comparing results of a normal single threaded sim with those of a multi threaded one.
I'd like some feedback especially on how to implement it. Could be as an optional experimental feature, be it via a checkbox in the UI (this would require more code changes though) or via a compile flag. Or it could just be made the default for the standalone binary, maybe after some testing by multiple people.

Turns out hps for the DK test case is off
HPS expected 4209.433 but was 4210.801 for multi threaded sim!
All other values are the same (or within the 0.0001 tolerance) for the now 3 test specs.

I am vouching for just implementing this as a default for all local native sims. There's no real reason you ever would not want free performance.

Result mismatches are most likely all caused by the sim not properly resetting everything between iterations. See https://github.com/wowsims/cata/pull/326


Failed to mount component: template or render function not defined.

Hi. I know this is probably a silly question, because this message is a well-known error made by newbies (which still I am, it seems). And everybody replies by saying: please read https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
Ok fine. I did. I am using webpack2 and single-file components. I have this line in webpack.base.conf.js:
    alias: {
      'vue$': 'vue/dist/vue.esm.js',

And I still get this error, and I don't understand why. My code inside my component is a direct copy-paste of that in your documentation/README. This is why I am puzzled.
Any help would be great. Thanks a lot in advance.

Sorry, my bad. I start to understand... VueTransmit was installed globally, but I was nonetheless reimporting it inside my single-file .vue component.


docs: Add message editing policy to prod security section.

Fixes #1214

Oops, forgot to close this when I merged it.  Merged yesterday, thanks @rishig!


Consistent loading indicators for lists

see https://sap.github.io/fundamental/components/loading-spinner.html
Generic list currently has an empty-list-placeholder just showing a text "Loading ...", should be changed to standard fundamental loading spinner.

When this is done, please inform automatix team to update to the latest version of generic list.
(or just issue a PR for them to accept)


When redacted_fields variable property single_header list has more than one header item

Describe the Bug
When single_header property has more than one header in the list, Terraform PLAN fails with Error: Too many single_header blocks
 Error: Too many single_header blocks

   on ../../main.tf line 85, in resource "aws_wafv2_web_acl_logging_configuration" "default":
   85:         content {

No more than 1 "single_header" blocks are allowed

Expected Behavior
Since redacted_fields can only accept one block of each property type ( method, uri_path, query_string and  single_header), the expectation is for multiple  redacted_fields for each single_header
# When `redacted_fields` is:
redacted_fields = {
  default = {
     single_header = [
       "accept-encoding",
       "accept-language"
     ]
  }
}

# The plan should be something like this:
# module.waf.aws_wafv2_web_acl_logging_configuration.default[0] will be created
  + resource "aws_wafv2_web_acl_logging_configuration" "default" {
      + id                      = (known after apply)
      + log_destination_configs = (known after apply)
      + resource_arn            = (known after apply)

      + redacted_fields {
          + single_header {
              + name = "accept-encoding"
            }
        }
      + redacted_fields {
          + single_header {
              + name = "accept-language"
            }
        }
    }
  ...truncated output

Steps to Reproduce
# examples/complete/main.tf
provider "aws" {
  region = var.region
}

resource "aws_cloudwatch_log_group" "default" {
  # https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wafv2_web_acl_logging_configuration#log_destination_configs
  # data firehose, log group, or bucket name must be prefixed with `aws-waf-logs-`
  name = format("aws-waf-logs-%s", module.this.id)
  tags = module.this.tags
}

module "waf" {
  source = "../.."

  visibility_config = {
    cloudwatch_metrics_enabled = false
    metric_name                = "rules-example-metric"
    sampled_requests_enabled   = false
  }

  log_destination_configs = [aws_cloudwatch_log_group.default.arn]
  redacted_fields = {
    default = {
     single_header = [
       "accept-encoding",
       "accept-language"
     ]
    }
  }

  # https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list.html
  managed_rule_group_statement_rules = [
    {
      name     = "AWS-AWSManagedRulesAdminProtectionRuleSet"
      priority = 1

      statement = {
        name        = "AWSManagedRulesAdminProtectionRuleSet"
        vendor_name = "AWS"
      }

      visibility_config = {
        cloudwatch_metrics_enabled = true
        sampled_requests_enabled   = true
        metric_name                = "AWS-AWSManagedRulesAdminProtectionRuleSet"
      }
    },
    {
      name     = "AWS-AWSManagedRulesAmazonIpReputationList"
      priority = 2

      statement = {
        name        = "AWSManagedRulesAmazonIpReputationList"
        vendor_name = "AWS"
      }

      visibility_config = {
        cloudwatch_metrics_enabled = true
        sampled_requests_enabled   = true
        metric_name                = "AWS-AWSManagedRulesAmazonIpReputationList"
      }
    },
    {
      name     = "AWS-AWSManagedRulesCommonRuleSet"
      priority = 3

      statement = {
        name        = "AWSManagedRulesCommonRuleSet"
        vendor_name = "AWS"
      }

      visibility_config = {
        cloudwatch_metrics_enabled = true
        sampled_requests_enabled   = true
        metric_name                = "AWS-AWSManagedRulesCommonRuleSet"
      }
    },
    {
      name     = "AWS-AWSManagedRulesKnownBadInputsRuleSet"
      priority = 4

      statement = {
        name        = "AWSManagedRulesKnownBadInputsRuleSet"
        vendor_name = "AWS"
      }

      visibility_config = {
        cloudwatch_metrics_enabled = true
        sampled_requests_enabled   = true
        metric_name                = "AWS-AWSManagedRulesKnownBadInputsRuleSet"
      }
    },
    # https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html
    {
      name     = "AWS-AWSManagedRulesBotControlRuleSet"
      priority = 5

      statement = {
        name        = "AWSManagedRulesBotControlRuleSet"
        vendor_name = "AWS"

        rule_action_override = {
          CategoryHttpLibrary = {
            action = "block"
            custom_response = {
              response_code = "404"
              response_header = {
                name  = "example-1"
                value = "example-1"
              }
            }
          }
          SignalNonBrowserUserAgent = {
            action = "count"
            custom_request_handling = {
              insert_header = {
                name  = "example-2"
                value = "example-2"
              }
            }
          }
        }

        managed_rule_group_configs = [
          {
            aws_managed_rules_bot_control_rule_set = {
              inspection_level = "COMMON"
            }
          }
        ]
      }

      visibility_config = {
        cloudwatch_metrics_enabled = true
        sampled_requests_enabled   = true
        metric_name                = "AWS-AWSManagedRulesBotControlRuleSet"
      }
    }
  ]

  byte_match_statement_rules = []
  rate_based_statement_rules = []
  size_constraint_statement_rules = []
  xss_match_statement_rules = []
  sqli_match_statement_rules = []
  geo_match_statement_rules = []
  geo_allowlist_statement_rules = []
  regex_match_statement_rules = []
  ip_set_reference_statement_rules = []

  context = module.this.context
}

Screenshots
No response
Environment
No response
Additional Context
One possible (BREAKING) fix would be to change the redacted_fields from a map object to just an object and separate the dynamic blocks.
# variables Line#997: https://github.com/cloudposse/terraform-aws-waf/blob/main/variables.tf#L977
variable "redacted_fields" {
  type = object({
    method        = optional(bool, false)
    uri_path      = optional(bool, false)
    query_string  = optional(bool, false)
    single_header = optional(list(string), [])
  })

  default  = {}
  nullable = false
}

# main.tf Line#22: https://github.com/cloudposse/terraform-aws-waf/blob/main/main.tf#L22
resource "aws_wafv2_web_acl_logging_configuration" "default" {
  count = local.enabled && length(var.log_destination_configs) > 0 ? 1 : 0

  resource_arn            = one(aws_wafv2_web_acl.default[*].arn)
  log_destination_configs = var.log_destination_configs

  # Method
  dynamic "redacted_fields" {
    for_each = var.redacted_fields.method ? [true] : []
    content {
      method {}
    }
  }
  # Query String
  dynamic "redacted_fields" {
    for_each = var.redacted_fields.query_string ? [true] : []
    content {
      query_string {}
    }
  }
  # Uri Path
  dynamic "redacted_fields" {
    for_each = var.redacted_fields.uri_path ? [true] : []
    content {
      uri_path {}
    }
  }
  # Single Header
  dynamic "redacted_fields" {
    for_each = toset(var.redacted_fields.single_header)
    content {
      single_header {
        name = redacted_fields.value
      }
    }
  }
... truncated - the rest of the code is not included.

We are also hitting this error with multiple values in the list.  While we're able to filter out these headers during log ingestion, it would be great to be able to prevent these from logging to our S3 bucket as well.  👍


ARROW-317: Add Slice, Copy methods to Buffer

There's also a little bit of naming cleanup in bit-util.h, pardon the diff noise.

rebased

Taking forever to get Travis builds lately -- I just sent an email to support about it

Well I only had to wait like 7 hours for the build. +1


How to switch to other workspace and change layout to accordion on window detect?

sometimes i run tests on my job, it will open a new window and place it on workspace 3, so far this is working good, but i also want to switch that workspace layout to accordion, so if im in workspace 2 and launch test then my workspace 3 will switch to accordeon and also move that window to that workspace

Checklist

[ ] I've searched for duplicates. My search queries were (please don't forget to search in closed issues too):

query 1
query 2
...

[ ] I've read the documentation https://nikitabobko.github.io/AeroSpace/guide & https://nikitabobko.github.io/AeroSpace/commands
[ ] I've searched in the documentation. My search queries were:

dvorak
monitor
...

<!-- Replace with `aerospace --version` output -->

I'm not quite understanding what you mean. Do you want to stay in workspace 2 while sending the window to workspace 3? Or do you want to switch to workspace 3?
Anyway, you can run a list of commands when using [[on-window-detected]].
[[on-window-detected]]
if.app-id = 'your.testing.app'
run = ['move-node-to-workspace 3', 'workspace 3', 'layout accordion', 'workspace 2', ...]

Those commands wont work, when I save that aerospace yells saying that the
only run command I can have is layout tiling float, and move node to
workspace, other commands are not allowed
Let's say I'm on ws 2 (This is my main ws where I work) sometimes I open my
testing program which I want to be on ws 3, in ws 3 I have my browser so I
want this workspace to become layout acordeon when I launch my testing
program
On Wed, Aug 28, 2024, 7:29 PM ultaro @.***> wrote:

I'm not quite understanding what you mean. Do you want to stay in
workspace 2 while sending the window to workspace 3? Or do you want to
switch to workspace 3?
Anyway, you can run a list of commands when using [[on-window-detected]].
[[on-window-detected]]
if.app-id = 'your.testing.app'
run = ['move-node-to-workspace 3', 'workspace 3', 'layout accordion', 'workspace 2', ...]
—
Reply to this email directly, view it on GitHub
https://github.com/nikitabobko/AeroSpace/issues/467#issuecomment-2316488339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6NKLATQQHF54HTCXV3WE4LZTZTOPAVCNFSM6AAAAABNINKYAGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJWGQ4DQMZTHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Those commands wont work, when I save that aerospace yells saying that the
only run command I can have is layout tiling float, and move node to
workspace, other commands are not allowed
Let's say I'm on ws 2 (This is my main ws where I work) sometimes I open my
testing program which I want to be on ws 3, in ws 3 I have my browser so I
want this workspace to become layout acordeon when I launch my testing
program
On Wed, Aug 28, 2024, 7:29 PM ultaro @.***> wrote:

I'm not quite understanding what you mean. Do you want to stay in

workspace 2 while sending the window to workspace 3? Or do you want to

switch to workspace 3?

Anyway, you can run a list of commands when using [[on-window-detected]].

[[on-window-detected]]

if.app-id = 'your.testing.app'

run = ['move-node-to-workspace 3', 'workspace 3', 'layout accordion', 'workspace 2', ...]

—

Reply to this email directly, view it on GitHub

https://github.com/nikitabobko/AeroSpace/issues/467#issuecomment-2316488339,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/A6NKLATQQHF54HTCXV3WE4LZTZTOPAVCNFSM6AAAAABNINKYAGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJWGQ4DQMZTHE

.

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

@.***>

Oh right, yeah. Layout accordion isn't supported yet.
Mind that Aerospace is still in beta and may not support everything that it is capable of.

Anyway, you can run a list of commands when using [[on-window-detected]].
[[on-window-detected]]
if.app-id = 'your.testing.app'
run = ['move-node-to-workspace 3', 'workspace 3', 'layout accordion vertical', 'workspace 2', ...]

This would be a great addition, eventually supporting every command in [[on-window-detected]] just like is supported everywhere else would be awesome.

I would suggest you think about what you're really asking for here. What you've outlined is your use case. From what I can gather you want to do is Lift limitations in on-window-detected.run. If that's the case, perhaps close this issue and add to the discussion there.
As an aside, the checklist in the issue template is there for a reason. The section of the guide that covers on-window-detected specifically references the issue I linked above.


Request: Auto-refresh of dash widgets

A number of the dash widgets already have a refresh button. I would love to have a setting that allows these to be refreshed automatically instead of via a manual click.
I can imagine that people will add refresh capabilities to existing widgets if this suggestion is adopted.
I envision the value being an integer rather than an on/off toggle, which represents the refresh interval with zero disabling the feature. Maybe the settings GUI for this option should be a drop-down box populated with relevant timings? This would remove the need to sanitize the input (as a bogus interval value would break the jscript, and therefore break the dashboard page).
[0 - disabled] [30 seconds] [60 seconds] [2 minutes] [5 minutes]
I am happy to code this and submit a pull request if someone can help me with the challenges outlined below:

I do not know how to add a field & value into the database to store the new refresh setting needed to implement this option, nor how to reference the value from the database in the .js and .html files. See code snippet below for my best guess for referencing the setting in code.

I have done some experimentation and found that a simple setInterval() java function call will refresh the existing (refresh-enabled) widgets on a timer, if placed in dash.js. The following code should be very close:

  setInterval(function () {
    loaduTorrent();
    loadqbit();
    loadsysinfo();
    loaddiskinfo();
    loadsmartinfo();
  }, 1000*$('#dash_refresh_interval') ); //timer uses milliseconds
}

What I can't figure out is how to dynamically build the list of widgets that are being displayed and have the refresh capability enabled - but do I need to? There seems to be no downside to setInterval() calling loaddiskinfo() whether the disk widget is enabled or not??
As a workaround, people would also need to add their widget function into this function call, once they enabled refresh capabilities on other widgets. This is not really a problem but it would be nice if we could dynamically build the list of functions that supported refresh (there is already some logic in each relevant widget that adds the refresh button).
Cheers for listening,
J

Thanks for that, I'll see what I can do :)

I'm struggling to make this work.
I have been able to get and store the setting in settings.html, which was relatively easy.
Now I'm trying to fetch and use the setting is dash.js, but I cannot seem to get the format right to fetch a value from the settings.
For test purposes I have added a notify() pop with the value, so that I can visually confirm I'm getting the value.
notify('Testing','Refresh interval = ' + $('#dash_refresh_interval'), 'info')
But I get:

Can anyone help me with fetching either a text value or a bool from the database settings values?
(I can correctly fetch the value if I do it in dash.html so I know my value is in the database, but it's of no use in the .html file unless there's a way to pass a value from the html to the js invocation)

Disregard that last - I got it working.

Implemented in merge #584


activate -Werror on travis builds

with just two exceptions!

Codecov Report

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

@@           Coverage Diff            @@
##             develop    #22   +/-   ##
========================================
  Coverage           ?   100%
========================================
  Files              ?      6
  Lines              ?    474
  Branches           ?      0
========================================
  Hits               ?    474
  Misses             ?      0
  Partials           ?      0

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 fdf7206...a978fbe. Read the comment docs.


What are the units of the accel and gyro data from bmi160_get_sensor_data()?

Hi,
I was able to get some data from the IMU sensor but the numbers I get from a stationary position looks something like this:
(697, -1127, 17119) 3132        <-- accel: (x, y, z) with sensortime
(2, -18, -52) 3132              <-- gyro: (x, y, z) with sensortime

With trying to eyeball the data, I see that the accel x, y values vary between [-1000, 1000] approximately and accel z value averaging to around 17100. The gyro data for each of the x, y, z values seem to vary between [-50, 50].
I was wondering if there's some scale factor I should think about to actually be able to use these readings.

Hi @trixr4kdz,
Depending on the range set,
For the accelerometer, in order to get the data in the Gs (Gravity - 1G is 1 times earth's gravity ~ 9.81m/s^2)
/* For range 4G,
   = 2^16 / (2 * 4) - Multiply by 2 to account for the +4G and -4G
   = 65536 / 8
   = 8192
*/
#define G_TO_LSB (8192.0f)

float accelX = ((float)accel.x) / G_TO_LSB;

For the gyroscope, in order to get the data in the dps (Degrees per second)
/* For range 2000dps,
   = 2^16 / (2 * 2000) - Multiply by 2 to account for the +2000dps and -2000dps
   = 65536 / 4000
   = 16.384
*/
#define DPS_TO_LSB (16.384f)

float gyrX = ((float)gyr.x) / DPS_TO_LSB;

The default for the accelerometer is 2G and gyroscope is 2000dps and sensor time is 39.0625us per LSB.
Your data should be
A: (0.0425, -0.0688, 1.0449) @ 122343.75us  <-- accel: (x, y, z) in Gs
G: (0.1221, -1.0986, -3.1738) @ 122343.75us  <-- gyro: (x, y, z) in dps

Thank you! That definitely makes more sense! 😃
However, the numbers I'm getting are slightly off when I try to convert the accel to m/s^2. It seems that the x accel is mostly between [-0.5, -0.1], y accel ranges between [0.5, 1.5] and z accel is greater than 10.0 when not moving. Is there a way for me to calibrate these numbers?
I'm also trying to integrate a BMM150 into it. What would be the units for the data I get from the BMM150?

Hi @trixr4kdz,
Calibration of sensors is quite a complex topic to cover within a comment, we typically provide our customers with a fusion software like the BSX Fusion library. This library includes these calibrators and also fuses it to provide orientation data in 9 axes. You may use the readily available version called BSXLite with a limited feature set here.
There have been users that use the BSXLite library to receive calibration information at 50Hz and then apply it to the data stream at the desired rate.
In case you need something simple, then at a static position subtract/add the offsets observed to achieve the desired results.
The units of the BMM150 are in micro Tesla.

I need to fill ROS IMU message (http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) with the output from BMI160 sensor(read from bmi160_get_sensor_data() ).
What kind of conversions do I need to use? Accelerations should be in m/s^2 (not in g's), and rotational velocity should be in rad/sec

Hi @lbegani,
Based on standard gravity definitions, acceleration should be multiplied by 9.80665 and rotational velocity by 0.0174532925 (pi / 180).

Is this correct ?
float accelX = (((float)accel.x) / G_TO_LSB) * 9.80655; // in m/s^2
float gyrX = (((float)gyr.x) / DPS_TO_LSB) * 0.0174532925; // in rad/sec

@lbegani,
Yes that should work provided you are using the right constants for the G_TO_LSB and DPS_TO_LSB macros.

Thanks. Below is the snippet
    /* Select the Output data rate, range of accelerometer sensor */
    mSensor.accel_cfg.odr = BMI160_ACCEL_ODR_1600HZ;
    mSensor.accel_cfg.range = BMI160_ACCEL_RANGE_2G;
    mSensor.accel_cfg.bw = BMI160_ACCEL_BW_NORMAL_AVG4;

    /* Select the power mode of accelerometer sensor */
    mSensor.accel_cfg.power = BMI160_ACCEL_NORMAL_MODE;

    /* Select the Output data rate, range of Gyroscope sensor */
    mSensor.gyro_cfg.odr = BMI160_GYRO_ODR_3200HZ;
    mSensor.gyro_cfg.range = BMI160_GYRO_RANGE_250_DPS;
    mSensor.gyro_cfg.bw = BMI160_GYRO_BW_NORMAL_MODE;

    /* Select the power mode of Gyroscope sensor */
    mSensor.gyro_cfg.power = BMI160_GYRO_NORMAL_MODE;

/* For range 2G,
   = 2^16 / (2 * 2) - Multiply by 2 to account for the +2G and -2G
   = 65536 / 4
   = 16384
*/
#define G_TO_LSB (16384.0f)

/* For range 250dps,
   = 2^16 / (2 * 250) - Multiply by 2 to account for the +250dps and -250dps
   = 65536 / 500
   = 131.072
*/
#define DPS_TO_LSB (131.072f)

    value.accel[0] = (((double)accel.x) / G_TO_LSB) * 9.80655;
    value.accel[1] = (((double)accel.y) / G_TO_LSB) * 9.80655;
    value.accel[2] = (((double)accel.z) / G_TO_LSB) * 9.80655;

    value.angrate[0] = (((double)gyro.x) / DPS_TO_LSB) * 0.0174532925;
    value.angrate[1] = (((double)gyro.y) / DPS_TO_LSB) * 0.0174532925;
    value.angrate[2] = (((double)gyro.z) / DPS_TO_LSB) * 0.0174532925;

	/*! sensor time */
	uint32_t sensortime;

What is the unit of time?

Hi @lbegani,
1 LSB = 39.0625us.

@BoschSensortec Is there a way to convert the sensortime to system time (ros::time to be more specific)?

Hi @lbegani,
Can you describe your goal regarding synchronizing the clocks? There are features that may be useful to achieving this goal.

I need to synchronize data from IMU and Camera and feed the synchronized data to VIO algorithm


Great sample, but hard to follow

I have successfully made the sample working from the provided description and I see this project is also referenced in many other cases.
But there are several greater issues at hand.

I think the MVC model sample is lacking comments and versatility.
A clear flow of operation is hard to follow due to "magic" and unexplained middle-ware handling and a tight coupling with the OWIN architecture. Keep in mind, there are developers in dire need of replacing their former EWS (Exchange Web Service) authentication due to end-of-life at 13. Oct 2020.
the sample doesn't distinguish clearly between authentication of the user and the daemon access grants - there is an overlap between the tenant provided by the login-user and the admin-account needed to grant access to the AD users. A stack-exchange post helped me to solve how to provide the tenant ID for an Exchange domain (Try access https://login.microsoftonline.com/{domain}/.well-known/openid-configuration ), but let's say I just need the grant from within a standard webforms application? This project is heavily relying on the OMC framework and therefor hardly serves as a clear daemon app example for thousands of developers out there?

Thanks for the feedback @ThomasTWilliams
you also the https://github.com/azure-samples/active-directory-dotnetcore-daemon-v2, which is more pure.

I have checked out the samples, but I still think this sample here is more close to my use case.
Consider this, I have a webapp, with many different end-users. Some of them needs to synchronize data from an Azure AD on an ongoing basis. To do this, they need to create a synchronization profile (and they can have more than one). Within the profile I would like the user to sign-in the administrative user to grant access to their tenant. A service is then taking over the actual synchronization by using the provided token. I may even use several backup services. When or if the user wishes to withdraw the grant, the service immediately halts.
This scenario is done today by users providing O365 service accounts configured for impersonation, a task usually quite heavy for end-users to understand. The sample here is almost doing what I need, and I am currently getting a bit of help studying the OpenID Connect protocol (more specifically https://docs.microsoft.com/da-dk/azure/active-directory/develop/v2-protocols-oidc )
If I understand the sample correctly, what I need is to store and secure the JWT token and use it from within the service to access Graph API?

Hi @ThomasTWilliams we are still validating this background worker sharing the cache scenario, so we can build a sample for it.
Could you confirm if what are you looking for is something similar to this: https://github.com/TiagoBrenck/BackgroundCacheRenew  ?

Hi @TiagoBrenck, thanks for your help and commitment, I'm am checking out the sample and I will return.


fix: node.ts: remove parentNode constructor assignment

Node constructor is calling "appendChild" on the parentNode, then calling "_setParent" on the child node.
But with parentNode property already set by constructor, "_setParent" is a noop.
The "_ancestors" property was not initialized properly.
Finally the _assertNotAncestor method could not do its job.
Added tests.

Thanks, you just made me realize that _setParent is actually quite broken... It won't update the children's ancestors properly since the if guard stops the children from running
this._ancestors = new Set(newParent._ancestors);
this._ancestors.add(newParent);

Gotta fix...


Fix menubar height

macOS menubar height is actually 22pt, not 20pt as assumed by chunkwm.
I verified this by checking NSApplication.shared.mainMenu?.menuBarHeight and by counting pixels.
If no main menu is available, the value can also be verified like this:
if let screen = NSScreen.main {
    let height = screen.frame.height - screen.visibleFrame.height - screen.visibleFrame.origin.y
}

Thanks!


Add --group support to uv add and uv remove

Part of #8090
Adds the ability to add and remove dependencies from arbitrary groups using uv add and uv remove. Does not include resolving with the new dependencies — tackling that in #8110.

Will remove from draft when I add test cases.


Update to v0.7.0

I am still writing a release note.

https://gist.github.com/yuyu2172/979f870c3b531195b47cbfd75e5b99e1
Release note.

@Hakuyume
What do you think about releasing today?

@yuyu2172 It's OK. Will it be the last release for Chainer v2?

Yes.

GPU tests passed.


Bug: Balance feature not working.

When using eqMac's balance feature it does not produce audio when I pan to the left channel on either side.
When fading to the right channel both speakers emit audio - not just the right channel. So, the balance feature is now just a null volume knob.
Steps to reproduce the behaviour):

Go to 'module'
Click on 'balance'
Scroll down to 'left and right'
See error

I expect to be able to balance my speakers left and right to adjust audio on my computer.
Setup information:

Audio device used for playback: iMac (Retina 5K, 27-inch, Mid 2015)
Audio transmission interface: USB Nobsound® Amplifier with TDL Speakers
macOS Version: 10.15.7 (19H2)
eqMac Version: 0.3.6
eqMac UI Version: 1.2.2(Remote)

It's supposedly fixed #363 but it doesn't work for me either.

It seems to work on my iMac internal speakers - but not when plug in an external USB device.

jadouth, I have the same issue. Also using external usb audio card. Balance works well when sound sent to internal system / headphones etc.  Everything works perfect except for stereo balance.

Same here. Doesn't work on Focusrite Scarlett 2i2. When shifting to the left, the volume minimize to 0 for both left and right channel. When shift to the right, nothing really happens.
EqMac version: UI Version 1.22.(Remote) Appversoin 0.3.7. Driver versoin 1.2

Same issue here. Using an external DAC through USB.

I am triaging & trying to fix all open issues before release of eqMac v1.0.0. Excuse the wait.
Guys could you please post a screenshot of your preferred device selected in the Audio MIDI Setup.app like so:

I would like to see how many channels your device is running and how do they look :)
Thanks

as requested, same issue here

Thanks for being patient with me.
I have just released v1.0.0. You can download it here: https://github.com/bitgapp/eqMac/releases/tag/v1.0.0
Or from the website: https://eqmac.app
Could you please let me know if this issue is still present.
Thanks again.
Roman

Many thanks, the balance works fine now (Big Sur 11.4, mac mini m1)

Hello dear,
The balance control works perfectly now!
Thank you so much for your input!
Henri
iPh

Le 25 juin 2021 à 15:36, Roman Kisil @.***> a écrit :

Thanks for being patient with me.
I have just released v1.0.0. You can download it here: https://github.com/bitgapp/eqMac/releases/tag/v1.0.0
Or from the website: https://eqmac.app
Could you please let me know if this issue is still present.
Thanks again.
Roman
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

And the boost works as well!

Thank you for confirming :) Will be closing this issue then


Limit amount of businesses players can own

I think it would be nice to have a feature for setting the maximum amount of businesses a player could own in the config, such as:
Config.MaxBusiness = 2
This would allow the player to own no more than two businesses on the server, making it so one player doesn't go around buying all the businesses up.

will do and will keep this open so i don't forget

after a bit of fighting with github i released the update, enjoy


Properly handle nil interface resolvers

fixes #233
Calling reflect.ValueOf(nil) returns the zero Value, which has type Invalid.
Calling reflect.ValueOf an interface typed nil returns a Value with type Interface.
Both of these cases skipped the null checks and fail later on when trying to resolve fields.

Couldn't change the base branch of this, so re-opened this as #239


Micrometer: Message History factory and JMX MicrometerMessageHistory is not covered

fixes https://github.com/apache/camel-quarkus/issues/5050

Superseded by https://github.com/apache/camel-quarkus/pull/5210.


Refactor UI code

There is a good chunk of code that can be shared between tools and workflows in the UI. We could abstract a decent amount of the code out so that we could reuse code. This would make it a lot easier to make bug fixes and add new features.

Started the refactor here
https://github.com/ga4gh/dockstore-ui/pull/110


Add mb client type

https://github.com/matchbook-technology/matchbook-sdk/issues/61
Added a cookie that is always included in the requests. Moved the cookie jar in a dedicated class.
To test  the new cookie I've added two tests in the get events and post session integration tests.

Good stuff, Matteo :+1:


(windows) powershell_script should not inherit from $profile

If $profile has syntax errors, powershell_script resource will fail.
Example:
$profile has invalid syntax that's missing a bracket
Proposed solution:
Pass -NoProfile to  powershell.exe" -NoLogo -NonInteractive -NoProfile -ExecutionPolicy RemoteSigned -InputFormat None...
Details:
powershell_script errors out with:
$profile content:
PS C:\Users\vagrant> type $profile
new-alias n "C:\Program Files (x86)\Notepad++\notepad++.exe" -force
new-alias s "C:\Program Files\Sublime Text 2\sublime_text.exe" -force
new-alias k knife -force
new-alias chef chef-client -force
remove-item alias:cd ; set-alias cd pushd -force
"chef shell-init powershell | Invoke-Expression" >> $PROFILE

powershell_script throws the same error as powershell on the server directly.
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #converge action: [[WinRM::Transport::FileTransporter] Upload failed (exitcode: 0), but stderr present
Invoke-Expression : At line:1 char:2
+ [2015-11-23T13:50:18-08:00] WARN: *****************************************
+  ~
Missing type name after '['.
At C:\Users\vagrant\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps
1:7 char:30
+ chef shell-init powershell | Invoke-Expression
+                              ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : MissingTypename,Microsoft.PowerShell.Commands.InvokeExpressionCommand

chef/mixin/powershell_out probably needs this as well?

ping @chef/client-windows

-noprofile was added as one of the default flags in March: https://github.com/chef/chef/commit/48984933cca0d9d31cd667478f050f45029b08d5

@vinyar which chef client version are you seeing this with?

I'll double check why we were not seeing it.

I verified that both powershell_out and powershell_script use -noprofile.
Unfortunately, I no longer have access to test environment. I'll keep an eye out, and reopen if I hit this agian.


Sort hookscript filename

Fix #45

Codecov Report

Merging #48 into master will increase coverage by 0.08%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #48      +/-   ##
=========================================
+ Coverage   84.32%   84.4%   +0.08%
=========================================
  Files           8       8
  Lines         370     372       +2
=========================================
+ Hits          312     314       +2
  Misses         58      58

Impacted Files
Coverage Δ

side_runner_py/hook.py
90.24% <100%> (+0.5%)
:arrow_up:

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 8296ebb...f5de7d4. Read the comment docs.


File browser opens to the most recently download directory when downloading disks/exporting entities after executing 'set the default download directory -> download to a different directory -> set the default download directory again'

Storage Explorer Version: 1.27.0-dev
Build Number: 20221025.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Monterey 12.6 (Apple M1 Pro)
Architecture: ia32/x64
How Found: From running test cases
Regression From: Not a regression
Steps to Reproduce

Open Settings -> Transfers -> Default Download Direction -> Type a valid path in the textbox.
Open one table -> Add some entities -> Click 'Export'.
File browser opens to the default download directory.
Select a different directory -> Click 'Save'.
Try to set default download directory again.
Open one table -> Click 'Export'.
Check whether File browser opens to the default download directory.

Expected Experience
File browser opens to the default download directory.
Actual Experience
File browser opens to the most recently download directory.
Additional Context

This issue also reproduces for disks.
This issue doesn't reproduce for blob containers/file shares.

Hey @v-kellyluo I haven't been able to reproduce the experience you describe even after downloading the build number and going through the same steps. Can you share a VM with the reproduction?

@richardMSFT, OK, I will share the VM on teams🙂.

Verified this issue on the build main/20221104.1. Fixed.
For all 4 services, file browser opens to the most recently download directory if users set the same value default location in the second time.


Changing TextPainter.getOffsetForCaret implementation to remove the logarithmic search

The behavior largely remains the same, except:

The EOT cursor (textLength, downstream) for text ending in the opposite writing direction as the paragraph is now placed at the visual end of the last line.
For example, in a LTR paragraph, the EOT cursor for aA (lowercase for LTR and uppercase for RTL) is placed to the right of the line: aA| (it was a|A before).
This matches the behavior of most applications that do logical order arrow key navigation instead of visual order navigation.
And it makes the navigation order consistent for aA\naA:

  |aA    =>  aA|  => aA|  => aA  => aA   => aA
   aA        aA      aA     |aA     aA|     aA|
   (1)       (2)     (3)    (4)    (5)      (6)

This is indeed still pretty confusing as (2) and (3), as well as (5) and (6) are hard to distinguish (when the I beam has a large width they are actually visually distinguishable -- they use the same anchor but one gets painted to the left and the other to the right. I noticed that emacs does the same).
But logical order navigation will always be confusing in bidi text, in one way or another.
Interestingly there are 3 different behaviors I've observed in chrome:

the chrome download dialog (which I think uses GTK text widgets but not sure which version) gives me 2 cursors when navigating bidi text, and
its HTML fields only show one, and presumably they place the I beam at the trailing edge of the character (which makes more sense for backspacing I guess).
On the other hand, its (new) omnibar seems to use visual order arrow navigation

Side note: we may need to update the "tap to place the caret here" logic to handle the case where the tap lands outside of the text and the text ends in the opposite writing direction.

Removed the logarithmic search. The same could be done using the characters package but when glyphInfo tells you about the baseline location in the future we probably don't need the getBoxesForRange call. This should fix https://github.com/flutter/flutter/issues/123424.

Internal Tests
This is going to change the image output of some internal golden tests. I'm planning to merge https://github.com/flutter/flutter/pull/143281 before this to avoid updating the same golden files twice for invalid selections.
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Internal golden changes: 608683435/OCL:608683435:BASE:608686983:1708458883435:81866925 the new images look right to me.

Reason for revert: https://github.com/flutter/flutter/issues/143797


Implemented the lateral expansion of the area-box in the forms (creat…

Description
Currently, the expansion of the textarea field in the quota tariff creation and update forms is limited to vertical growth. This can make the experience unsatisfactory for entering larger texts, as the field does not expand horizontally, which can hinder the visualization and editing of the content.
Changes have been made to the UI to allow the textarea to expand in both directions (vertical and horizontal).
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[x] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
1- Accessed the create form and update form for quota tariff.
2- Verified that the textarea fields now expand horizontally as well as vertically.
3- Ensured that the enhanced textarea functionality works as expected in different scenarios.

@blueorangutan ui

@DaanHoogland a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/9681 (QA-JID-450)

@LayonRibeiro , your code looks good but I do not get to edit the quota tariff I am expecting. https://qa.cloudstack.cloud/simulator/pr/9681/#/quotatariff/ . I think there is another biug preventing me from testing the edit functionality. During create the text box epands on request as expected though.

"@DannHoogland, I tested the expansion of the textarea in both the creation and update forms for the rates, and in both cases, I achieved success."
Create form

Edit form

@JoaoJandre I think this is a good to have UI bug fix...?


Parallelize tests

What does this PR do?
TESTING, DO NOT MERGE

Codecov Report

Merging #2659 (6a0045a) into main (df7fa7e) will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2659      +/-   ##
==========================================
+ Coverage   80.53%   80.67%   +0.13%
==========================================
  Files          50       50
  Lines        5313     5315       +2
==========================================
+ Hits         4279     4288       +9
+ Misses       1034     1027       -7

Impacted Files
Coverage Δ

flax/core/nn/linear.py
42.34% <0.00%> (-0.52%)
:arrow_down:

flax/training/checkpoints.py
65.86% <0.00%> (-0.51%)
:arrow_down:

flax/core/scope.py
89.77% <0.00%> (-0.07%)
:arrow_down:

flax/core/lift.py
95.81% <0.00%> (-0.07%)
:arrow_down:

flax/struct.py
96.87% <0.00%> (-0.05%)
:arrow_down:

flax/linen/normalization.py
97.08% <0.00%> (-0.05%)
:arrow_down:

flax/core/frozen_dict.py
96.19% <0.00%> (-0.04%)
:arrow_down:

flax/linen/summary.py
99.00% <0.00%> (-0.01%)
:arrow_down:

flax/traverse_util.py
99.01% <0.00%> (-0.01%)
:arrow_down:

flax/linen/recurrent.py
100.00% <0.00%> (ø)

... and 7 more

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