Support binary/hexadecimal string output

Adapted from #414.
Closes #345
Co-authored-by: Sergey B Kirpichev<EMAIL_ADDRESS>
this version doesn't touch argument names (dps->ps)
no support for float.hex()-style binary exponents

PS: from_str() part was implemented in #703.  @asmeurer, I would appreciate your review, as you've opened #345.

This is ready for review.  I would like to merge this in few days to use that for mpf.__format__().

How would you use this functionality with mpf rather than _mpf_?
>>> import mpmath
>>> from mpmath.libmp import to_str, from_str
>>> f = mpmath.sqrt(2)
>>> to_str(f, 10, base=2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/oscar/current/active/mpmath/mpmath/libmp/libmpf.py", line 1128, in to_str
    if not s[1]:
           ~^^^
TypeError: 'mpf' object is not subscriptable
>>> to_str(f._mpf_, 10, base=2)
'0b1.0110101'

It looks like the mpf constructor accepts it:
>>> mpmath.mpf('0b1.0110101')
mpf('1.4140625')

How would you use this functionality with mpf rather than mpf?

First, we could provide __format__() dunders to support "new-style" formatting of mpf/mpc's (issue mpmath/mpmath#337).  See e.g. gmpy2: https://gmpy2.readthedocs.io/en/latest/mpfr.html#gmpy2.mpfr.format  I'm planning to do this like https://github.com/python/cpython/pull/113805 (i.e. "x" will be used to format numbers in the hexadecimal notation).  Another option (as we don't support old-style string formatting) may be using "a" letter for this (in printf-style, like the MPFR).  Support for optional rounding mode (gmpy2-like) also does make sense for me (see #757).  Maybe we should also support formatting binary floats ("b"?).

It looks like the mpf constructor accepts it

Yes, strings with prefixes should be accepted automatically.  Most important case is hexadecimal floats, of course - this will allow us to pass exact floating point values to the mpf constructor (see also CPython pr: https://github.com/python/cpython/pull/114668).
But to handle arbitrary bases we should add base keyword argument (default=0) to mpf/mpc constructors (as gmpy2 does).


Make Series Voting from API Default to Permanent and Fall Back on Temporary

Currently, it just fails if permanent isn't available

Right. I was going to do this.


Add <Dropdown /> component for Svelte

closed. see: https://github.com/apa-developer/apa-ui/issues/10#issuecomment-2543262455


the results of kitti_odometry_evaluation_tool are bad

hello, I have run the code but got poor results. Do you use the kitti_odometry_evaluation_tool to eval your result? My test loss is 0.0139, but the results of kitti_odometry_evaluation_tool are bad.

Hi @huazai665
Sorry for the late answer
The reason why your errors are so large is due to the ground truth poses
In pre-processing, we changed the coordinate of pose files which are saved as "_vel.txt" in the pose directory
If you change the ground truth pose from the original to the new files (*_vel.txt), you could get the proper results
I will attach the link for the transformed ground truth pose files download
I hope this answer can solve your problem :)


Upgrade to jmt 0.6

Is your feature request related to a problem? Please describe.
If we upgrade to jmt 0.4, we'll pick up a ~10-15x speedup on JMT queries for every state read in our application, because of https://github.com/penumbra-zone/jmt/pull/77 . That PR also changed the StateRead trait, however, so we'll have to change how we manage RocksDB column families slightly.

probably easiest to do this at the same time as #1647

Edited title to track version 0.5.0; on track as part of the IBC push in #2391, planning to ship in 51.

Done in #2628


MacOS: Strange Insert Marker behavior

There is strange behavior around entering markers. I haven't been able to find a distinct pattern for the issue, but here's an example of a sequence of marker entries that I just did and how it behaved.
Move from project start to bar 2 and "m, a" to enter first marker. Marker inserted with name "a" and id 1. All is well there.
Move to bar 3 and "m, s". Marker is inserted with name "s" but ID 4.
Move to bar 4 and "m, d". Marker is inserted with name "d" but ID 6.
Move to bar 5 and "m, f". Marker is inserted with name "f" but ID 3.
Move to bar 6 and "m, z". Marker is inserted with name "z" but ID 5.
Move to bar 7 and "m, g". Marker is inserted with name "g" but ID 0 AND marker a/1 is removed from the marker list/lane.
I saw a commit for changes to the marks system. Is this related to that? Can someone replicate this?

Yeah this is a bug, give me a day or two to fix it.

Hmmm... I casually opened a brand new project to test the RK workflow from scratch and when I got to markers, they were created perfectly with no ID issues or vanishing markers.

Also, yeah dude, no rush. I know this is project has been a lot of work for you and it's not like your getting paid to do it. Whenever it's done, it's done :). I'm getting into the code slowly studying it's overall structure first as I'm quite rusty. But I'm hoping to be able to submit pull requests for fixes/approved features in the future. For now, I post these issues as I find them so as to not forget about them later.

Some markers also won't delete with <C-'> -> mark. looking for patterns.

Should be fixed on latest!

This issue is persisting on my end :/

Okay I'll look into it more tomorrow.

Alright I figured it out! Check out the latest master or develop. I can't manage to break it anymore, but if you find a sequence that breaks it please let me know! I also added a new key '~' to recall regions, so to not conflict with track selections.

Hey! It's definitely working better now. But there are still some holes in behavior. I still haven't been able to find a specific pattern, and before I try to dig deeper I thought I'd ask if you could give me a synopsis of how your marks system works? I know that markers are based on the edit cursor and regions on a timeline selection. Those I can see in the region/marker manager. Not sure about track selection marks though? How do those get stored/recalled? Is there a way to delete all marks in one go? In testing, I'm unsure if maybe I've set a mark on a track selection by mistake. Maybe a config to log all current marks for debugging?
I'll do another comment with any findings that I can establish repetition on :)

nevermind
local _, all_project_marks = project_io.getAll('marks')
log.trace("New Marks State: " .. format.block(all_project_marks))

Oops sorry I didin't see this comment until now. Is it okay now?
Markers work like this:
` -> recalls edit cursor position
' -> recalls selected tracks
~ -> recalls region
In any mode, the 'm' key will store a mark which will save the current track selection, time selection, and edit cursor position.
If you are in visual mode, the mark also creates a visible region.
If you  are in normal mode, the mark also creates a visible marker.
If you are in visual track mode, the mark does not create anything apart from the mark.
There is no way to delete all marks in one go.

Gotcha! I'll take a deeper dive tonight.

Check out the docs for marks btw: https://gwatcha.github.io/reaper-keys/marks.html

1.9.0 is an epic release!

Thanks! It wasn't too hard to sort the actions

Let me know what you guys think about the new documentation too, feel free to contribute anything as well.


Field schema_name not described by documentation in SHOW GRANTS

In show-grants.md, the SHOW GRANTS command returns a table with several fields, but it doesn't define them. The most confusing are schema_name and privilege_type, as it's not obvious what they refer to. This is a problem for all examples on this page.
This is a problem because users may be confused about what they're seeing even after using the docs.
Steps to reproduce:

Go to https://www.cockroachlabs.com/docs/v20.1/show-grants#show-all-grants
Look at the first example, SHOW GRANTS;

Expected result: columns in the table returned get defined
Actual result: columns are not defined anywhere.

@ericharmeling not sure if this would fall under SQL or security, so feel free to re-assign if you think @Amruta-Ranade should handle this. thanks!

The solution for this issue would be to define what database_name, schema_name, table_name, grantee, and privilege_type mean?

database_name and table_nameare defined in the "Parameters" table. I think the solution here is to expand the example's description text to explain what schema_name, grantee, and privilege_type mean.

@Amruta-Ranade thanks for clarifying. I'll be fixing that.

I created a PR but I only updated the version 20.2, should I update the other versions? @Amruta-Ranade


Support for tokenize Japanese document with emojis

Sorry, I forgot to erase these comments.
I fixed it!

@uekann
Thank you for your handling!
You should keep pull requests as simple as possible, because reviewers can easily see through all changes, and we can quickly revert a change if we discover a serious bug. So I want you to split into more than two pull requests if there are multiple changes. You can execute git revert or git cherry-pick to move another change to a new branch.
I'll merge what fixes the Unicode character handling, but adding the debug configuration should be reviewed another time.


Update attention.py

modify the code about bigcode.
This modification makes the KV cache with multiple new tokens works well.
What does this PR do?
When we use the starcoder to generate text/code with KV cache and multiple new tokens, it becomes wrong because a possible error in the torch.nn.functional.scaled_dot_product_attention() function. I have proposed a issue in pytorch in https://github.com/pytorch/pytorch/issues/110144. But before pytorch fix it, the optimum can work well with minor changes.
How to re-implement the error in current version:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

checkpoint = "bigcode/starcoderbase-1b"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint, trust_remote_code=True, torch_dtype=torch.bfloat16).to("cuda:0").to_bettertransformer()

prefix = tokenizer.encode("def quick_sort", return_tensors="pt").to("cuda:0")
outputs = model(prefix)
past_key_values = outputs.past_key_values

next_token = tokenizer.encode("(arr", return_tensors="pt").to("cuda:0") # TWO NEW TOKENS
logit = model(next_token, past_key_values = past_key_values).logits[:, -1, :]
idx_next = torch.argmax(logit, dim=1, keepdim=True)
print(tokenizer.decode(idx_next[0], skip_special_tokens=True))

Before submitting

[Y] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[Y] Did you make sure to update the documentation with your changes?
[Y] Did you write any new necessary tests?

Hi @DongHande, thank you for the PR. I will have a look shortly!

Thank you @DongHande for the notice, this is indeed a significant bug in our code base.
Passing a non-None attn_mask to SDPA currently can not dispatch to flash attention, so I would suggest the following in order to enable the dispatch on FA during training and when query_length=1, if that sounds good to you:
    # We treat self.training and (batch_size == 1 and query_length == 1) cases separately to still allow the dispatch to Flash Attention.
    if self.training:
        is_causal = True
        attn_mask = None
    elif batch_size == 1 and query_length == 1:
        is_causal = False
        attn_mask = None
    elif attention_mask is not None:
        mask_value = self._get_mask_value(query.device, query.dtype)

        # gpt_bigcode has the bad taste to use a causal mask a
        # [batch_size, target_length, 1, source_length] which is different from
        # **all** other architectures and not compatible with SDPA.
        # We could avoid this transpose by overriding the forward from GPTBigCodeModel,
        # but it is probably not worth it.
        attention_mask = attention_mask.transpose(1, 2)
        attn_mask = torch.where(attention_mask, 0.0, mask_value)
        is_causal = False
    else:
        attn_mask = None
        is_causal = True

    sdpa_result = torch.nn.functional.scaled_dot_product_attention(
        query, key, value, attn_mask=attention_mask, dropout_p=dropout_p, is_causal=False
    )

WDYT?

Thank you for your reply. I still have two questions:
(1) I don't understand why we should consider batch_size == 1 here. The attn_mask has been calculated in the outer forward function. Why not use it directly?
In other words, this function is a SDPA implementation to replace the attention operation of the Transformers Library (https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt_bigcode/modeling_gpt_bigcode.py#L128-L203 ). In the Transformers library, it does not consider the situation of batch_size == 1. So why should consider it in the optimum library?
(2) Maybe in your reply, the last sentense should be modified
from
    sdpa_result = torch.nn.functional.scaled_dot_product_attention(
        query, key, value, attn_mask=attention_mask, dropout_p=dropout_p, is_causal=False
    )

to
    sdpa_result = torch.nn.functional.scaled_dot_product_attention(
        query, key, value, attn_mask=attention_mask, dropout_p=dropout_p, is_causal=is_causal
    )

?
For the first question, it is likely you have some other reasons to write in this way, and you don't have to explain it if it has a long context and is hard to explain to save your time.
But the second question may incur other errors, please review it. Thank you!

The reason is that if the attn_mask input to F.scaled_dot_product_attention is not None, SDPA will be unable to dispatch to the Flash Attention (or FA2 in nightly) kernel. See: https://pytorch.org/docs/master/generated/torch.nn.functional.scaled_dot_product_attention.html. Transformers does not consider batch_size == 1 as a specific case as there are no optimized path in Transformers.

What I am concerned about your proposed change is that it will never dispatch to FA/FA2.

Yes it should indeed be is_causal=is_causal

OK. I have modified my PR according to your instruction. Please review and merge it. Thank you.


feat(map_loader): add grid coordinates for partial/differential map load

Description
Please see https://github.com/orgs/autowarefoundation/discussions/3328 for the detail
You can use https://github.com/MapIV/pointcloud_divider for dividing pointcloud map into grids
Please find a how-to in updated readme

Should be merged after:

https://github.com/autowarefoundation/autoware_msgs/pull/52

Related links

Tests performed

Generate a divided pointcloud map with a given tool
Load the pointcloud map and its metadata with logging_simulator

Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@RyuYamamoto Sorry for the confusion. I renewed the PR.
Also, I added an exception so that the metadata won't be necessary when only a single PCD file exists. https://github.com/autowarefoundation/autoware.universe/pull/3202/commits/fe4a9597c30c7c34b5b004864b307704fb1b2709


Does anyone have a volume purchase app receipt file for testing VPP receipt support?

Hello,
I'm considering to change the business model of my app from paid up front to freemium. I was going to use AppTransaction in StoreKit 2 to check for the originalAppVersion. Unfortunately AppTransaction doesn't support the volume purchase program and triggers an Apple ID sign in when an app was purchased through the VPP.
I was looking at this library and it looks like it should be possible to check for UnofficialReceipt.provisioningType for ProvisioningType.ProductionVPP to check if the app was purchased through the volume purchase program.

Does anyone have a sample VPP app receipt file so I could check a real-world example of how this would look like?
Does a VPP app receipt file contain the originalAppVersion or is it nil?
AppTransaction of StoreKit 2 has a field originalPurchaseDate that contains the original purchase date of the app itself while I cannot find this in the Receipt struct - only in InAppPurchaseReceipt. Is this not available outside of StoreKit 2, or is this field just not yet added to this library? I'm asking because if a VPP receipt did not contain the originalAppVersion, we could use the originalPurchaseDate of the app receipt instead.

Thanks for your help!

Regarding the app's originalPurchaseDate: I have used the parseUnofficialReceipt method with a production receipt of my own macOS app and I can confirm that fieldType 18 (KnownUnofficialReceiptAttribute.date2) is the original purchase date.
For my MAS app, the field is logged as 18 = date2: 2013-03-22T20:53:21Z.
The app was originally purchased on 2013-03-22 according to my App Store purchase history, so this matches.

I have confirmed with two more iOS app receipts, that field 18 (date2) is indeed the originalPurchaseDate.
I would love to test this with a recent VPP app receipt, but I don't have access to one.
There is a screenshot of a VPP receipt at https://github.com/IdeasOnCanvas/AppReceiptValidator/pull/34
Unfortunately, both the "originalAppVersion" and the "date2" field are empty.
I don't know if this is only true for old receipts (that VPP receipt was created in 2017), or if this still holds true for VPP receipts in 2023.
So it would be great if anyone has access to a recent VPP receipt.

The tests currently only cover sandbox vs production unofficial domains but not vpp with examples, but I can confirm the results from the screenshot you linked are correct with old files (2017, 2018).
Unfortunately I also don't have access to recent VPP receipt files.
I could also and without any evidence imagine that Apple's receipt validation server API endpoint might offer info on this in one way or the other. In case this is something you are using too, it might be worth checking.

I see, yeah, if you don't want to depend on this undocumented receipt field, then that's probably the way to go.

@blach Neither I do have access to an actual VPP receipt, but I can confirm that the undocumented field for detecting a VPP purchase (or rather download) works reliably for the users of my app that transitioned from paid-upfront to a (custom) free trial with one-time purchase. However, to keep things simple, I don’t check when it was downloaded and hence whether it was paid for. All new VPP users get the app for free, as there is currently no way to sell in-app purchases (one-time or subscriptions) in this scenario, which is probably an even bigger limitation in your envisioned setup. You’d have to either offer a separate paid-upfront app or go with a custom implementation like e.g. Ulysses does.

Thanks for sharing your experience! I've come to the same conclusion that I would not be able determine whether a VPP purchase was made for the original paid up-front version or for the new free+IAP version because there is no originalAppVersion or originalPurchaseDate in VPP receipts.
So I see several options:

Change the business model of the existing app and just let new VPP users use the app for free (as you do).
Publish a new free app with IAP and migrate all non-VPP users to this new app. This means you will lose all existing ratings and reviews. Also, it annoys the majority of users.
Change the business model of the existing app to Free with IAP. Handle VPP users (see below).

For option 3 I have two solutions:

Create a new paid up-front "volume license" version of the app as a new app record in App Store Connect. Request the app to be unlisted (see https://developer.apple.com/support/unlisted-app-distribution/). Detect VPP receipts in the existing app and direct users to the new volume license app. Maybe make the new "volume license" app free for a migration period of some months.
Let support handle it: if schools contact support because the app doesn't work anymore, offer a refund. (I really don't like this option, I don't want to take away something they paid for)

I think option 3 with option 1 would be the best way to handle this. I just hope App review wouldn't object to having duplicate apps (with different business models) in the App Store. But I think if the second app is unlisted, it should be ok for them.

I think option 3 with option 1 would be the best way to handle this. I just hope App review wouldn't object to having duplicate apps (with different business models) in the App Store

As far as I remember, we didn't have issues with App review for this setup


Add FTPS server to system test and test successful upload

Some file reorganisation: move cogstack dummy service to test/dummy-services/cogstack
Move the test ftp-server from pixl_core to test/dummy-services/ftp-server
Make sure orthanc-anon uploads images over FTPS after anonymisation
Add check to system test to verify a zip file has been uploaded to FTPS server

Fixes #240

#272 may help with this by fixing a problem in pixl_dcmd that was preventing DICOMs received by orthanc-anon from being stored.

System test still failing due to a [Errno 111] Connection refused error when running the STOR command to upload the zip file to FTPS. What is weird is that logging into the FTPS server works fine and even creating and changing working directories. But then commands such as ftp.dir() and ftp.storbinary()` fail with the mentioned error.
This all runs fine when running the unit test in pixl_core, which uses a similar setup. The main differences are:

Running the ftp-server in a docker compose network
Running the FTP uploading functionality from within the orthanc-anon container, which is on Python 3.9


undefined method `hidden_field_tag' for #SimpleForm::FormBuilder:0x00000111566a00

Hi I am using a gmap_coordinate_picker gem for a map picker and need to nest attributes like this:
= simple_form_for([:admin, @brand], :html => {:class => 'form-horizontal' }) do |f|
  = f.simple_fields_for :location do |ff|
    .form-group.col-md-12
      = ff.gmap_coordinate_picker :lat_column => 'latitude', :lng_column => 'longitude' , :zoom_level => 10, :default_coordinates => [@lat,@lng], :class => "map"
     .col-md-12.col-sm-6
      = ff.input :fb_page_id
      = ff.input :twitter_page_id`

Unfortunately I am getting undefined method `hidden_field_tag' for #SimpleForm::FormBuilder:0x00000111566a00 error.
NoMethodError - undefined method `hidden_field_tag' for #<SimpleForm::FormBuilder:0x00000111566a00>:
  gmap_coordinates_picker (0.1.0) lib/gmap_coordinates_picker/view_helper.rb:57:in `lat_lng_field'
  gmap_coordinates_picker (0.1.0) lib/gmap_coordinates_picker/view_helper.rb:40:in `render_gmap_coordinate_picker'
  gmap_coordinates_picker (0.1.0) lib/gmap_coordinates_picker/form_builder.rb:17:in `gmap_coordinate_picker'
  app/views/admin/brands/_form.haml:84:in `block (2 levels) in _app_views_admin_brands__form_haml__3655322697785075003_2317469220'
  haml (4.0.6) lib/haml/helpers.rb:368:in `block in capture_haml'
  haml (4.0.6) lib/haml/helpers.rb:608:in `with_haml_buffer'
  haml (4.0.6) lib/haml/helpers.rb:364:in `capture_haml'
  haml (4.0.6) lib/haml/helpers/xss_mods.rb:61:in `capture_haml_with_haml_xss'
  haml (4.0.6) lib/haml/helpers/action_view_mods.rb:45:in `capture_with_haml'
  actionview (4.1.1) lib/action_view/helpers/form_helper.rb:699:in `fields_for'
  actionview (4.1.1) lib/action_view/helpers/form_helper.rb:1534:in `fields_for'
  simple_form (3.1.0) lib/simple_form/action_view_extensions/builder.rb:27:in `simple_fields_for'
  app/views/admin/brands/_form.haml:82:in `block in _app_views_admin_brands__form_haml__3655322697785075003_2317469220'

Is there any way around this?

The error seems to be coming from lib/gmap_coordinates_picker/view_helper.rb:57, which I'm imagining is some lib view helper added to your app (see the gmap_coordinate_picker field).
Rails form builder does not contain the hidden_field_tag, which means Simple Form doesn't have it either. You should either be using hidden_field or calling the helper on the template object, not the builder.
Hope that helps. Also, please use the mailing list or stack overflow for questions, we reserve the issues tracker for issues. Thanks!


dart2js. Strange runtime error in co19 test

The following test fails with a strange runtime error on dart2js https://github.com/dart-lang/co19/blob/master/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02.dart
The output is
/=====================================================================================================================================================================\
| dart2js-hostasserts-strong-linux-x64-chrome:co19/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02 is new and failed (RuntimeError, expected Pass) |
\=====================================================================================================================================================================/

--- Command "dart2js" (took 06.000855s):
DART_CONFIGURATION=ReleaseX64 sdk/bin/dart2js_developer --enable-experiment=non-nullable --enable-experiment=non-nullable --test-mode --packages=/b/s/w/ir/.packages /b/s/w/ir/tests/co19/src/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02.dart --sound-null-safety --libraries-spec=sdk/lib/libraries.json --platform-binaries=out/ReleaseX64/ --out=/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js/tests_co19_src_Language_Statements_Yield_and_Yield_Each_Yield_execution_async_t02/execution_async_t02.js

exit code:
0

stdout:
Hint: When run on the command-line, the compiled output might require a preamble file located in:
  <sdk>/lib/_internal/js_runtime/lib/preambles.
Compiled 8,069,034 characters Dart to 223,039 characters JavaScript in 6.85 seconds
Dart file /b/s/w/ir/tests/co19/src/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02.dart compiled to JavaScript: out/ReleaseX64/generated_compilations/dart2js/tests_co19_src_Language_Statements_Yield_and_Yield_Each_Yield_execution_async_t02/execution_async_t02.js

--- Command "chrome" (took 225ms):
/b/s/w/ir/tools/sdks/dart-sdk/bin/dart pkg/test_runner/bin/launch_browser.dart chrome http://<IP_ADDRESS>:38753/root_build/generated_tests/dart2js-chrome/tests_co19_src_Language_Statements_Yield_and_Yield_Each_Yield_execution_async_t02/test.html?crossOriginPort=33223

Runtime window.onerror:
window.onerror called:

http://<IP_ADDRESS>:38753/root_build/generated_compilations/dart2js/tests_co19_src_Language_Statements_Yield_and_Yield_Each_Yield_execution_async_t02/execution_async_t02.js:5270:
Uncaught

Deobfuscated error and stack:
<no error message found>
    at window.onerror called:               unparsed
    at _rootHandleUncaughtError.<anonymous> org-dartlang-sdk:///lib/async/zone.dart 1175:21
    at Uncaught                             unparsed

exit code:
0

--- To debug locally, run:
/b/s/w/ir/tools/sdks/dart-sdk/bin/dart /b/s/w/ir/pkg/test_runner/bin/http_server.dart -p 38753 -c 33223 --network <IP_ADDRESS> --build-directory=/b/s/w/ir/out/ReleaseX64/ --runtime=chrome --packages=/b/s/w/ir/.packages

--- Re-run this test:
python tools/test.py -n dart2js-hostasserts-strong-linux-x64-chrome --dart2js-batch co19/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02

This seems to be affecting async-related co19 tests on both strong and weak NNBD. For example, LanguageFeatures/nnbd/future_flattening_A01_t12 also fails the same way on dart2js-hostasserts-weak-linux-x64-chrome.
You can get a clearer error message by using the d8 runtime rather than chrome:
tools/test.py -cdart2js -rd8 --enable-experiment="non-nullable" --nnbd=strong --dart2js-options="--sound-null-safety" co19/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02

For weak mode, change --nnbd=strong to --nnbd=weak and --sound-null-safety to --no-sound-null-safety.

@nshahan @Markzipan Based on the remaining DDC failures, I suspect you might have run into this as well?
/cc @rakudrama @sigmundch

Originally the future flattening tests were failing due to a lack of an implicit downcast from dynamic in the kernel. That was fixed recently https://dart-review.googlesource.com/c/sdk/+/152150 but I haven't gotten around to fixing the DDC output to make sure the cast is performed (and fails for these tests).

I just noticed that LanguageFeatures/nnbd/future_flattening_A01_t12 and LanguageFeatures/nnbd/future_flattening_A01_t40 have incorrect expectations for weak mode. They have been updated https://github.com/dart-lang/co19/issues/785 but the changes have not yet been rolled into the SDK.
cc @athomas


Training freezes if image has only class zero.

I am using this repository with my dataset that has some images that contain only one class and that could be labeled as zero. I was facing a very strange error that even didn't pop up any message. After some time debugging I found that in the file base_dataset.py the method _augmentation has an while statement that only finish if label_new.sum() != 0. So, in some cases this go forever.

Yes, you're right, I added the while loop to avoid empty images when training on PASCAL VOC and I forgot to remove it. just did it, thanks for the heads up.


Unable to Convert tokens after Approve transaction successfully mined

If after your Approve transaction is successfully mined you accidently click the 'Approve' button a second time and then reject the second transaction, then all the buttons in the UI will be disabled even if you connect your account again with Metamask
It happened to me, I went to https://tokenbridge.rsk.co/, then chose an amount of USDT, and submitted the transaction by clicking Approve, choosing gas fee, and submitting it, and then when I went to the transaction hash on Etherscan it showed it was successfully mined with message  "ApprovedUSDTFor Trade On 0x12ed69359919fc775bc2674860e8fe2d2b6a7b5d"
But I accidently clicked the "Approve" button a second time, even though the approval had already been mined successfully, so i just rejected that 2nd transaction since it'd already been approved.
But then even after i connected my wallet with Metamask again, both the "Approve" and "Convert tokens" button are both disabled, so it didn't seem possible to do the next step of "Convert tokens".
And it said "No transactions for active account found", even though that account had a successful transaction that cost US$12 to approve spending the funds.
So I couldn't even try clicking "Approve" a 3rd time as that was disabled too
I got around the issue by just changing the code in the browser
I just went to "inspect element", found the "Convert tokens" button, and removed the disabled text from this html element <button id="deposit" type="submit" class="btn btn-primary ml-3 mt-3 mb-3" disabled="">Convert tokens</button>, then it wasn't disabled anymore, so i could just click it and Metamask popped up and allowed me to convert my USDT to rUSDT, and tx was successful.

Thanks @ltfschoen for openning this issue, we will try to fix it as soon as we can

We deployed fixed of the typos and the USDT approve issue, thanks for reporting this


Move function definitions from header files to source files when possible

When it is possible (and sensible), move source code for definitions of functions from header files to source code files.

What are some examples of functions definitions in header files? I can only think of implementation of some iterators.

I do not know about anything specific. But I can image (and I think that is what @kilohsakul meant with this issue), that there are currently some random functions here and there in various header files, implemented maybe in a haste, and have been left in header files without any reason. I believe there still are some such functions and methods.
We should therefore go through all header files in the library and move implementation of functions into their respective source files.

Ok, some garbage collecting makes sense.


Introduce a NOTICE file check

Please have a look at the individual commit messages for the details.

Merging despite the unrelated test failure.


RFC: Shared statics and public data for custom events

This documents my thoughts on a proposal for static data and functions.
Motivation:

There are some events where you use it multiple times, but it really only needs one copy in memory of a helper function (or even just one copy of itself, because it never varies).
Keeping some state between events would be useful.

Proposal:
Special global labels will be used to determine the scope of the following assembled bytes.
; This main entry point is duplicated for each usage of the event
ADDIU SP SP -4
SW RA 0(SP)

JAL static_myhelper

LW RA 0x000(SP)
JR RA
ADDIU SP SP 4

; Use of `static` prefix indicates the following function
; will exist as one copy in memory, accessible only to
; instances of this event. It won't name collide with
; another `static_myhelper` from a different event.
static_myhelper:
ADDIU SP SP -4
SW RA 0(SP)

LUI S0 hi(public_static_shareddata)
ADDIU S0 S0 lo(public_static_shareddata)

LW RA 0x000(SP)
JR RA
ADDIU SP SP 4

; This `public` and `static` data will be available
; to any other event if it uses the symbol by name.
.align 4
public_static_shareddata:
.word 0

Currently I've implemented "static regions" in order to support some of the built-in events.
; This main entry point is duplicated for each usage of the event
ADDIU SP SP -4
SW RA 0(SP)

JAL myhelper

LW RA 0x000(SP)
JR RA
ADDIU SP SP 4

; Use of `.beginstatic` indicates a region that will exist as one copy in memory.
.beginstatic
myhelper:
ADDIU SP SP -4
SW RA 0(SP)

LUI S0 hi(shareddata)
ADDIU S0 S0 lo(shareddata)

LW RA 0x000(SP)
JR RA
ADDIU SP SP 4

shareddata:
.word 0
.endstatic


warning: loop not unrolled in dispatch_radix_sort.cuh

The latest version of CUB used by Thrust is triggering warnings in Clang:
/thrust/cub/device/dispatch/dispatch_radix_sort.cuh:521:1: warning: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]
DeviceRadixSortHistogramKernel
^
/thrust/cub/device/dispatch/dispatch_radix_sort.cuh:539:1: warning: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]
DeviceRadixSortOnesweepKernel

I don't understand this code well enough to know if this is innocuous and safely ignored or if it needs to be fixed properly.  For now, I have suppressed the warning in my local copy.  If you're interested in a PR like the below, please let me know, and I will submit it.  Thanks!
#include <thrust/system/cuda/detail/core/triple_chevron_launch.h>

#if defined(__clang__)
#  pragma clang diagnostic push
#  pragma clang diagnostic ignored "-Wpass-failed"
#endif

/// Optional outer namespace(s)
CUB_NS_PREFIX

CUB_NS_POSTFIX  // Optional outer namespace(s)

#if defined(__clang__)
#  pragma clang diagnostic pop
#endif

The unrolls are purely for performance on old hardware/compilers, these warnings can be safely ignored.
This is related to NVIDIA/thrust#1344, which points out that a lot of these explicit unroll directives are actually hurting performance in some instances, and definitely aren't worth the extra compiler costs. I'm hoping to address that in the 1.13 / 1.14 timeframe, which will likely resolve this issue as well.

Thank you for the explanation.  Since this can be safely ignored, I'm going to add the suppression code I posted above to my current PR, in case you're interested in merging that.

@andrewcorrigan Do we know for which particular loop the warning is generated? There are no loops in the code of the kernel function itself, all loops are in the agent functions.
I'm asking because this warning is generated for the code I've written.

Sorry.  I'm just a naive Thrust user.  All I know is what is in the warning messages posted at the top.  I'm not at all familiar with the internals.

What compiler are you using that produces these warnings?

I'm using Clang 11.  The warnings appear to be independent of CUDA toolkit version.


✨ [REQUEST] Addon Komga

Checked

[X] If a new addon, I have checked on  Google that such as addon doesn't already exists
[X] If a new feature, I have searched in the discussions & issues that it was not already covered

Which addon?
Komga is a media server for comics, mangas, BDs, magazines and eBooks, which doesn't rely on a forced folder structure. In many ways, it looks more like Plex or Jellyfin : you have an ad-hoc folder structure with all you books by category, and Komga scrap the metadata from the web to recognize it.
Compared to Calibre (for example), it's way simpler and efficient.
Docker image are publish on both DockerHub and ghcr.io as explained in their Docker documentation.
Is your feature request related to a problem? Please describe
I started to used your very nice Calibre Web addon, but the importation of a large amount of comics, mangas and BDs is extremely long and fastidious with a Calibre database. Moreover, the data storage of Calibre is specific and this will not be improved. I can't rely on that, so I need to store my book twice : one with a "conventional structure" and one which is managed by Calibre.
Komga seems really more powerfull and future proof.
Describe the solution you'd like
Having a Komga addon :)

Hi, I don't have time to add new add-ons but you should look at the 2 no-config addons already dedicated to comics : codex and ubooquity. They work using the default file structure which was lne my key priorities. I do remember trying komga but too much dependencies to implement so I selected comixed.

I already had a look but they unfortunately aren't adapted to my needs. I will try to make Komga working through Portainer.
Thanks for the quick answer !


Tracking speed

Hi!
About tracking, there is tracking speed difference between first tracking and next trackings.

On V100, first tracking takes 44 seconds and tracking takes very little time after that.
Why this happens??

Thanks!

This is due to the model compilation (JIT).


Bootstrap v4 Beta 1 - no 'push' or 'pull' classes

There are no 'push' or 'pull' classes, within Bootstrap, on the contrary to the documentation.
There should be classes such as 'push-md-6' and 'pull-md-6', but they are completely omitted from the implementation, despite being specified in the documentation:

Test case:

Should be far right

Should be far left

Sass mixins are gone also

@jdinh-mackevision which page did you find that excert? i couldn't locate it here https://getbootstrap.com/docs/4.0/layout/grid/

@gijsbotje https://getbootstrap.com/docs/4.0/migration/#grid-system-1

Push and pull were dropped for order. Updating the migration page in v4-dev now.

The "push" and "pull" classes are included in the new Bootstrap4 Extension.
http://bootstrap-extension.com/


Google cloud plateform error 429

Good Morning,
I have a 429 error when I use Google search on Google cloud plateform ( Google functions) but I don't have errors when I use it directly on my workstation. Have you got an Idea ?

Google is very strict about blocking automated requests, so google is probably recognizing that you are using a non-residential ip address when your code is deployed on google cloud platform and that's why the requests are being blocked.
There is not really a way around this besides paying google for using their official api unfortunately. This package is great and very well-suited for personal automation and fun projects, but not so suited for deploying at scale or anything critical you rely on because google is so strict about automated requests.

This has been resolved, so I'm going to close this


v1.1.0 added validation around ImmediateOrigin that assumes it is always a routing number when there are cases when it may not be a routing number.

What were you trying to do?
Create an ACH file with the CompanyId value as the ImmediateOrgin value as some banks request that.
What did you expect to see?
I expected to get a valid ACH file created
What did you see?
I received an error "Unexpected error building ACH file: ImmediateOrigin xxxxy routing number checksum mismatch: expected x but got y
How can we reproduce the problem?
Use a something other than a valid routing number for ImmediateOrigin.
Also, here is where the code is for the validation:
https://github.com/moov-io/ach/blob/master/fileHeader.go#L215

The NACHA Rules and Guidelines state that it may not be a routing number in some cases.
"This field may also be mutually defined between ODFI and Originator.  For example, the ODFI may ask its Originator to put its Taxpayer Identification Number in this field..."

Background history:
Wade A [11:08 PM]
I was thinking about adding a data model for Account Validation as a subtype to Depositories within PayGate. That would allow us to implement... Show more
wadearnold
Account validation is an important tool for businesses who originate ACH credits and debits. Using an incorrect routing and transit number and/or account number for the recipient of an ACH transaction can cost a business both...
moov-io/paygate | Jul 8th | Added by GitHub
:+1:1 reaction
general
–Jul 5th
Taylor [4:44 PM]
I created an issue about it, not sure yet if its only with depositories https://github.com/moov-io/paygate/issues/159... Show more
tgunnoe
Here's what exists in the database:
curl -X GET http://localhost:8082/depositories/eb7c9914cfc21eaf2ba2dbd517a1910a17a2b039 -H 'x-user-id: taylor'
...
moov-io/paygate | Jul 5th | Added by GitHub
adam
–Jun 24th
Brooke Kline [3:09 PM]
CheckRoutingNumber checks on length of 9, does that need to be updated to 10?
general
–Jun 21st
Brooke Kline [4:04 PM]
and if we wanted to implement FED we could make that part specific to wire and ach if CheckRoutingNumberdoesn't  error
general
–Jun 21st
adam [4:02 PM]
yea, I was hoping CheckRoutingNumber could be reused a lot
general
–Jun 21st
adam [3:46 PM]
Yea. We should use that to validate routing numbers all over. I’m pretty sure paygate or accounts use CheckRoutingNumber
general
–Jun 21st
Brooke Kline [3:43 PM]
Thats well after FileHeader, Batchheader and EntryDetail were created.  Should the properties that contain a routingnumber, use the CheckRoutingNumber validation function?
1 reply
general
–Jun 21st
Brooke Kline [3:41 PM]
It looks like CheckRoutingNumber is not being used by anything, it was added Commits on Dec 17, 2018
validators: add CheckRoutingNumber

We added this validation specifically, so
func CheckRoutingNumber(routingNumber string)
may need to be enhanced/fixed further.

@hitchr v1.2.1 is being released now with this validation removed. We can add a method to validate this in v1.3.0 (as mentioned in slack).
For now go get<EMAIL_ADDRESS>should fix your immediate issue.

Thanks.  That's awesome!


Navigation Animation - Crash: List contains no element matching the predicate, while navigate fast between screen by bottom navigation

Is there an existing issue for this?

[X] I have searched the existing issues

Is there a StackOverflow question about this issue?

[X] I have searched StackOverflow

Is this an issue related to one of the samples?

[X] Yes, this is a specific issue related to this samples repo.

Sample app
Other (bug not related to sample app)
What happened?
while navigate fast between screen by bottom navigation, app gets crash and the error is :
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.razzaghi.myshop, PID: 9103
java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:180)
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:127)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:142)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2350)
at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(Composer.kt:2633)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:56)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:13)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:142)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2350)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2610)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3196)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3174)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3174)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3140)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:722)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1056)
at android.view.Choreographer.doCallbacks(Choreographer.java:880)
at android.view.Choreographer.doFrame(Choreographer.java:809)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1043)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8057)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@78bf9d2, androidx.compose.ui.platform.MotionDurationScaleImpl@7238aa3, StandaloneCoroutine{Cancelling}@b71e1a0, AndroidUiDispatcher@3fc0159]
Relevant logcat output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@razaghimahdi
Looks like a library version
with crash -> implementation 'androidx.navigation:navigation-compose:2.5.0-rc01'
without crash -> implementation "androidx.navigation:navigation-compose:2.4.2"
Try to downgrade and test again. It worked for me.

Same for me ! Downgraded to 2.4.2 and it worked for me

Thanks for reporting! This is a known API bug indeed, you can follow the progress in this bug and when it will be resolved:
https://issuetracker.google.com/issues/234054916

Works with 2.5.1

@benjamin-luescher yeah actually 2.5.1 works for me, 2.4.2 still has crashing.


Add extra check for middle tier on jquery

Check if the iFrameResize function is attached to the prototype of jQuery to see if contentWindow is on an intermediary tier

Coverage remained the same at 93.459% when pulling 9494713c6fa7ed52f01aa6ecb1c7415d59d58175 on paul-antal:patch-1 into a7f54410db8546ae06b44eff08bc5981b0922e4b on davidjbradshaw:master.

now that I think about it, this only helps if you have jQuery included, and since that is optional...

Thanks will include this in the next release


add redirection test

Hi @jacksontj ,
I hope to discuss with you about httpbin before the merge.
It's a HTTP Request & Response Service, implemented by python, on the base of Flask. Some endpoints would be useful for our tests, e.g. /get, /post, /redirect, /delay, /drip... with these hands-on endpoints, we can focus our tests on ats configurations and E2E tests, without spending too much time on origin server's implementation and detail. And we can install it as a library from PyPI and run it as a local WSGI app. What do you think of it?

Ooo, that sounds awesome! The main reason for having the origins within the framework is so we can see request/response headers on the origin side (since we may have modified headers etc.). If this is just a regular wsgi thing we can just wrap it with the correct code to capture request/response header we can drop the default one that exists there.

I've added the wrapper stuff (for tracking) to tqsa (https://git-wip-us.apache.org/repos/asf?p=trafficserver-qa.git;a=commit;h=9e99c096d7147b4253f3ba210b079d3ea265573b)

@ffcai Do you mind updating your tests to use the in-build httpbin? If not I can do it, but I'd rather you get the karma for the awesome find :)

Thanks @jacksontj I'll really glad that you add it to the framework. I'll update my tests as soon.

I just find that the local httpbin (start with like gunicorn httpbin:app) acts different with http://httpbin.org. And, this test case fails for local httpbin :( . I guess it's because the local httpbin does not use keep-alive connections by default. I'm trying to find out the root cause and make it pass. I will commit the update after it get passed.

Can you try applying 5a367b6 to your tsqa? I think the wsgiserver I'm using right now only supports a single connection-- this should make it multithreaded and happy with the KA stuff ;)

Hi @jacksontj ,
I find that it's not related to httpbin. I happen to find a trivial bug which would cause redirection fails. I send out another pull request (https://github.com/apache/trafficserver/pull/188) for it. After it is merged, this test would pass.
As we have seen here, your TSQA framework is proved to be really, really useful! :+1:


BACKLOG-20625: Information modal

JIRA

https://jira.jahia.org/browse/BACKLOG-20625

Waiting for german translations


Add joystick support

On title screen, pressing joystick to start will select it, otherwise keyboard is used

Some joystick stub code was added in this commit 5da6ecf


Add more Vietnamese courses

What does this PR do?
Add resource
For resources
Description
Add more resources: React, VueJS, Javascript, Data Structures & Algorithms, etc.
Why is this valuable (or not)?
I am a Vietnamese student, these are the courses I have learned by myself and I find it easy to understand, I hope to be able to share it with more people.
How do we know it's really free?
Yes. It's free. All courses are on Youtube.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


auto publish docs in gh pages

Use tbdocs to publish docs in gh pages (using typedoc) on new released tags/manual triggers

@leordev
😊 "I'd be delighted to work on issue! Could you please assign it to me?"

@leordev 😊 "I'd be delighted to work on issue! Could you please assign it to me?"

Thanks for the offer @TechWizard9999 , but this is something that I'm already working on. 😢

Blocked on review; to re-engage

Completed on #402 and #408


Consider including README.md in NewAdvancedPowerShellModule

Hi!
From my perspective, every module (whether you house it on GitHub, an internal system, anywhere) should have a README.md to at the very least, provide:

What is this
Prerequisites
How to install
Example(s) of common scenario(s)

Also... less critical, but potentially helpful, you might consider some basic simple format folks can start from (perhaps including a common install/discovery snippet with Install-Module ModuleName, Get-Help about_ModuleName, Get-Command -Module ModuleName`, etc.
Cheers!

Would you want that in the current, basic new module template?  Keep in mind we can create several new module templates and we probably should e.g. Personal Module template (does not plan to distribute), Shared Module template (share locally), Published Module template (share with world).  We don't want to go too crazy with some Chinese menu of new module templates but I can definitely see the need for more than one.
Of course, some of these options could be managed by template parameters but @daviwil came to the conclusion that somewhere around 6 parameters is probably all you want to have.  No one will want to answers 20 questions for a very basic module template.  :-)

Hey Warren, does this mean you're actually using (or intend do use) the template?  If so, that's great!  We really need to get back to working on this.  Side note, Keith and I are about to bring psake back from the dead so we should be able to do even more cool stuff with Plaster + psake :)

Hiyo!
Sorry, missed these in the flurry of pre-summit planning!
Keith - yeah, probably wouldn't make sense for a barebones no-scaffolding-whatsoever template, if you make one.  I might be too gung-ho on the thou-shalt-use-a-source-control-platform thing - I would hope every personal, shared, and public module would be stored in something like GitHub/GitLab/something that displays a README... but again, I'm probably being too optimistic.  So!  I would definitely like to see it in any shared and public templates, if that makes sense to you all.
Agreed on keeping parameter count low; defaults help, but too many questions might annoy / confuse / turn away folks
David - used it in a sample demo template in the module session at the summit - depending on how things turn out, absolutely, might end up using them.  Or I might keep trying different things and end up with / continue to have a dozen modules each with different scaffolding : P
Cheers!

@daviwil What do you mean bring back psake?

@RamblingCookieMonster I definitely believe a README is necessary, even better if we have a good standard format that people can start from.
@ngetchell Keith and I are taking over maintainership of psake since it hasn't been moving for a while.  No specific plans yet but we'll start a discussion about it soon!


HDDS-5599.  [Ozone-Streaming]drop BufferPool and ChunkBuffer to avoid buffer copying

What changes were proposed in this pull request?
In BlockDataStreamOutput, we should write directly to the underlying stream. We should not use BufferPool and ChunkBuffer in BlockDataStreamOutput anymore since we want to avoid buffer copying.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5599
How was this patch tested?
Existing UT

Hi @szetszwo @bshashikant @mukul1987
I've removed the BufferPool dependency in this PR. The ChunkBuffer is not completely removed due to the checksum, so maybe we can discuss it here.
Also, since BufferPool is removed, Retry and Flush policy will be different, and I think we can discuss their implementations in this PR.

+1, the change looks good.
There are some test failures. Could you take a look?

CI runs correctly on my personal branch. It seems the error is not caused by this PR.  I will try to re-trigger the CI to make sure this.


Dead Code?

This started here https://github.com/balderdashy/waterline/issues/899
Is this code necessary or used in Waterline because it seems very SQL specific?
https://github.com/balderdashy/waterline/blob/4653f8a18016d2bcde9a70c90dd63a7c69381935/lib/waterline/query/finders/helpers.js

I don't know, but if it helps, when I run a code coverage report (npm run coverage), I see 100% line coverage which means the automated tests are hitting every single line of that code.
PS: I had to add the below code to waterline/test/adapter/runner.js to get the full coverage report:
    // Mocha options
    // reference: https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically
    mocha: {
      reporter: 'spec',
      grep: /findOrCreateEach|SQL injection/
    },

    mochaChainableMethods: {
      invert: 'true'
    }

Not dead, they are just helpers that call other other functions, find and findOne. The % symbol they add is a valid Waterline query modifier. We could remove them in 0.11 and we should also remove the dynamic finders in 0.11.

Regarding the coverage report I mentioned earlier, it's now possible to check it here: https://codeclimate.com/github/balderdashy/waterline/lib/waterline/query/finders/helpers.js

Closing this for now as there is already a discussion about helpers and dynamic finders in #931. Please reopen if you feel otherwise.


Dynamically determine whether to pool for wasmtime serve

This commit aims to address #8607 by dynamically determining whether the pooling allocator should be used rather than unconditionally using it. It looks like some systems don't have enough virtual memory to support the default configuration settings so this should help wasmtime serve work on those systems.
Closes #8607

I'm going to seek confirmation this fixes the issue before merging since I don't have a system to test on myself.

I can confirm that it works on the VisionFive 2 board (RISCV64) and the Nvidia Jetson Nano board.

Thanks for the confirmation!


fix(chore): update gravitee dependencies

Description
Upgrade gravitee dependencies
The PR also adjust license declaration and code formation according to latest maven plugins' configurations

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 4.0.4-chore-upgrade-gravitee-deps-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 4.0.4 :tada:
The release is available on:

4.0.4
GitHub release

Your semantic-release bot :package::rocket:


fix persistent volume example link

fix #2257
@jsafrane @gnufied

This change is

CI looks broken

LGTM from tech side

lgtm

Can you resolve the conflicts?

@jaredbhatti resolved, thanks


Cannot use R.swift in a cocoapod lib

I am building a framework that uses R.swift internally. When the library is used, all the image created by R.swift are nil (because it cannot find the good Bundle).
After reading http://blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/, I learnt that the appropriate way to reference the bundle of my framework is to use NSBundle(for: <#ClassFromMyFramework#>).
I tried modifying the R.generated.swift file like this:
//
// This is a generated file, do not edit!
// Generated by R.swift, see https://github.com/mac-cain13/R.swift
//

import Foundation
import Rswift
import UIKit

private class RswiftDummy {}

/// This `R` struct is generated and contains references to static resources.
public struct R: Rswift.Validatable {
  fileprivate static let applicationLocale = hostingBundle.preferredLocalizations.first.flatMap(Locale.init) ?? Locale.current
  fileprivate static let hostingBundle = Bundle(for: RswiftDummy.self) ?? Bundle.main
[...]
}

What do you think? Thank you.

The generated code tries to load the correct bundle by using Bundle(identifier:) and will use that for all image loading for example. Is the identifier you've assigned to your library used by R.swift? If so it should work.
We could switch from Bundle(identifier:) to Bundle(for:) if it turns out that loading based on identifier doesn't work in some cases. But I'd like to know when and why it isn't working for you.

I checked, the identifier used by R.swift is the one set by my library (PRODUCT_BUNDLE_IDENTIFIER). It works when I run the code within the project of the library, but when I use the library as a dependency of another project, it fails.
Would you be interested in a sample reproducing this issue?

Are you using Cocoapods? I'm just checking another project I'm working on and I now notice all pods get identifiers with the pattern org.cocoapods.[NAME_OF_POD]. That could be the problem you're running into now.
Please let me know if this is the same as your problem, not too hard to fix if it is this. So when we're certain about the cause I'll release a version with a fix!

Great, thanks a lot :) How are you planning to fix it?

Probably your proposed solution; using bundle loading based on a class instead of identifier based loading.

Do you know when the fix is going to be available (just to know if I should find a temporary solution in the meantime)? Thanks

I'll release a new version this weekend. :)

I've pushed a fix to master, will be in the next release!


CRYP-56: create basic ERD of the system

Added the basic ERD

@Andre-Ibrahim There is a bool in the user called "is_pro" which is how we will differentitate the pro users. For the created_at field, I just added it. I don't think it is fully necessary since this is high level and a lot more fields are going to be added in the future, having consistency between the entities and the database from early on is a good idea.

yes but the "pro" user is something we described in the user persona to identify how the user will interact with our system I don't think we are planing to make different data/pages available based on that so I see no use case for it.


AttributeError: 'bool' object has no attribute 'lower

Error occurs when trying to run plugin after shapefile has been stylized both categorically or using graduated colors. Python log is below.
Python error:
2016-11-11T12:53:55	1	Traceback (most recent call last):
File "C:/Users/smithr/.qgis2/python/plugins\d3MapRenderer\d3_Map.py", line 704, in run
self.setupUI()
File "C:/Users/smithr/.qgis2/python/plugins\d3MapRenderer\d3_Map.py", line 715, in setupUI
self.model.setup()
File "C:/Users/smithr/.qgis2/python/plugins\d3MapRenderer\logic.py", line 131, in setup
self.vectors.append(vector(self.iface, layer))
File "C:/Users/smithr/.qgis2/python/plugins\d3MapRenderer\logic.py", line 792, in init
self.hasLabel = self.hasLabels()
File "C:/Users/smithr/.qgis2/python/plugins\d3MapRenderer\logic.py", line 829, in hasLabels
enabled = self.layer.customProperty("labeling/enabled").lower() == "true"
AttributeError: 'bool' object has no attribute 'lower'

Already fixed on the master branch. Preparing a release of the updated v0.10 branch that is currently released. You can download the latest version of either archive to get you past the problem.


Fixes findBatch to support Rx

Fixes #110
The xxxBatch methods implementation use async result handlers incorrectly: such handlers should be called just once.
Instead, they should return a ReadStream, which brings:

backpressure support
RxJava support (via ReadStream.toFlowable)

Note that MongoService cannot implement them since ReadStream are not supported in service proxies.

Wrong repo


Use component fragments in subscriptions

This is examples-only. I think this pattern is what most people should actually use.


Generate and upload final files as artifacts.

Scope
This tries to implement the script from OpenSSH upstream via GitHub actions
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/moduli-gen/
I have observed that upstream the file is updated 2 or 3 times per year.
The idea is to have it scheduled once every 2 weeks and let people use a bit more diverse numbers.
I guess that it can help with security by obscurity as an attacker might try to guess based on upstream OpenSSH values but an hardened version is using a different set.
How to test
reviewers: @dumol

@dumol  here is the initial run that replaces our buildbot job - https://github.com/chevah/ssh-moduli/actions/runs/673646668
I have noticed that upstream files contains twice as many entries, since it runs the generation twice.
Please review and if all is OK we can remove our buildbot ssh moduli builder.
This is setup to trigger a generate every 2 weeks... Saturday night.
I think that we have 60 concurrent jobs across the organization , so this should not have a big impact ...and there shouldn't be many jobs over the weekend.

needs-review

Have looked into this, and the reason upstream OpenSSH does that is to end up with more candidate groups. From https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/moduli-gen/moduli-gen.sh. Maybe a wise thing to do as well?

This is done here.
Inside candidate job ssh-keygen -M generate is called twice... then the output is combined into one file, and then split into up  to 12 files with round robin :)

On a related note, upstream OpenSSH have dropped sizes smaller than 2048. Why do we still generate for 1024 and 1536?

Thanks for the question :) Really :)
Generating is super fast and we care about backward compatibility.
The 1024 will not be enable by default, but if someone needs it it should be able to enable 1024 and do the job... better than otherwise relying on plain FTP.
I have now reviewed our configuration and our default config enables 1024...
I think this was done not to break backward compatibility in v3 ... but for v4 I think that we should default to 2048 as minimum.
Will create a separate ticket. Thanks again.

In addition, what would it take to also check the generated moduli somehow? I gather they are "screened", but stuff happens after that too, so at least check that OpenSSH can use them without warnings?

True. Thanks. We can run sshd -t with a config file using the new moduli.

I don't think that this works with GitHub actions... as if PID1 fails, github actions will not continue... but I think that is ok for us.
        FAIL=0
        wait $PID1 || let "FAIL+=1"
        wait $PID2 || let "FAIL+=1"
        exit $FAIL

I tried to add a test ... but I failed
    - name: Test /etc/ssh/moduli
      run: |
        sudo apt-get install openssh-server openssh-client
        sudo cp etc_ssh_moduli /etc/ssh/moduli

        # Generate an SSH key that will be used by both client and server.
        ssh-keygen -t rsa -b 2048 -C "" -N "" -f test_rsa_key
        # Setup client authentication
        mkdir -p ~/.ssh/
        cp test_rsa_key.pub ~/.ssh/authorized_keys
        chmod 644 ~/.ssh/authorized_keys

        # Generate a simple SSHD config.
        # The moduli path is hardcoded.
        # The host key needs to be an absolute path.
        echo "Port 1025" > test_sshd_config
        echo "ListenAddress <IP_ADDRESS>" >> test_sshd_config
        echo "HostKey $PWD/test_rsa_key" >> test_sshd_config
        # Start the OpenSSh server in the background in debug mode so that
        # it will only process one connection.
        /sbin/sshd -d -f test_sshd_config -E $PWD/server.out &
        # Allow the server to start.
        sleep 10

        # Accept server key.
        echo '[<IP_ADDRESS>]:1025' `cat test_rsa_key.pub` > ~/.ssh/known_hosts
        chmod 600 ~/.ssh/known_hosts
        # Trigger a single connection forcing DH usage.
        ssh -v -p 1025 \
          -oKexAlgorithms=diffie-hellman-group-exchange-sha256 \
          -i test_rsa_key \
          $USER@localhost exit

        # The server log should not contain something like:
        # WARNING: no suitable primes in /etc/ssh/moduli
        # or
        # WARNING: could not open /etc/ssh/moduli (No such file or directory), using fixed modulus
        grep WARNING server.out
        exit 0

@dumol I tried to generate the files using only GiHub own runners in an attempt to make it easy for other projects to generate their files.
But I failed :(
I think that we can reduce the scope of this and just run it with self-hosted runners
with that we should allow an action to run for longer.

I think that we can reduce the scope of this and just run it with self-hosted runners with that we should allow an action to run for longer.

Fine by me. You can even drop splitting then, to have this easier to understand.
I guess it would be fastest to run this under Docker, not on a VM. As security is paramount for this, I guess Palmita would be the ideal host for this, as it has no VMs and starts with Secure Boot enabled.

Yes. The file splitting can be removed.
Can you please look at running this on palmita?
I think that we can run this on the public chevah/ssh-moduli .
The resulting files are publicly distributed with our product anyway.
If a new PR is made, the code is not automatically executed

It looks like the setup was fine, it just needed some tweaking… I've tried to balance the splits per sizes to finish the job in around 2h.
needs-review

Looks good. Thanks.
There is one thing missing.
An easy way to automatically pull the "latest" version from another process, so that we can automate our release
In theory, you can now use the actions API to get the list of artifacts.
I think that it would help to have this inside the readme. ... and use etc_ssh_moduli for OpenSSH version.
curl -s https://api.github.com/repos/chevah/ssh-moduli/actions/artifacts\?per_page\=9 | jq '[.artifacts[] | {name : .name, archive_download_url : .archive_download_url}]' | jq -r '.[] | select (.name == "chevah_moduli") | .archive_download_url' | head -n1

also, for security reasons, I think that chevah_moduli should not be a .py file and it should be removed/no longer generated.
We can load the space separated value ssh_moduli file and convert it inside chevah/server
changes-approved

An easy way to automatically pull the "latest" version from another process, so that we can automate our release
In theory, you can now use the actions API to get the list of artifacts.
I think that it would help to have this inside the readme. ... and use etc_ssh_moduli for OpenSSH version.
curl -s https://api.github.com/repos/chevah/ssh-moduli/actions/artifacts\?per_page\=9 | jq '[.artifacts[] | {name : .name, archive_download_url : .archive_download_url}]' | jq -r '.[] | select (.name == "chevah_moduli") | .archive_download_url' | head -n1

I'm not sure that I follow you here…  I understand we need to get the list of artifacts in another repo. Then this would be an example of how to get it?
And given that we no longer generate and upload chevah_moduli, the command should be as follows?
curl -s https://api.github.com/repos/chevah/ssh-moduli/actions/artifacts\?per_page\=9 | jq '[.artifacts[] | {name : .name, archive_download_url : .archive_download_url}]' | jq -r '.[] | select (.name == etc_ssh_moduli) | .archive_download_url'

And in this repo just document the above in the README?

also, for security reasons, I think that chevah_moduli should not be a .py file and it should be removed/no longer generated.

Done.


ACM Validation and EKS Build Fixes

Summary | Résumé
Again apologies for the large PRs - so much untangling to do.

ACM Validation is now working in scratch, and should be working in staging (To be confirmed on merge)
Moved DNS resources around to avoid reciprocal references. It is better than it was, but this will still be a work in progress (improvements for a later date)
Created application log group resource in terraform *Needs to be imported in staging once PR is approved
Had to put a conditional limit on the google_cidr prefix list due to quotas in scratch.

Test instructions | Instructions pour tester la modification

Terragrunt plan in staging
Analyze plan results, document changes
Import resources as necessary
Terragrunt apply in staging
Repeat above for production.

Staging: eks
✅   Terraform Init: success ✅   Terraform Validate: success ✅   Terraform Format: success ✅   Terraform Plan: success ✅   Conftest: success
⚠   Warning: resources will be destroyed by this change!
Plan: 24 to add, 1 to change, 11 to destroy

Show summary
CHANGE	NAME
update	aws_ec2_managed_prefix_list.google_cidrs
recreate	aws_cloudwatch_log_subscription_filter.admin_api_request[0]
aws_cloudwatch_log_subscription_filter.blazer_logging[0]
add	aws_acm_certificate_validation.notification-canada-ca
aws_acm_certificate_validation.notification-canada-ca-alt
aws_cloudwatch_log_group.notification-canada-ca-eks-application-logs
aws_route53_record.api-k8s-scratch-notification-sandbox-CNAME[0]
aws_route53_record.api-weighted-0-scratch-notification-sandbox-A[0]
aws_route53_record.notification-canada-ca-alt["*.api.staging.notification.alpha.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca-alt["*.document.staging.notification.alpha.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca-alt["*.staging.notification.alpha.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca-alt["api.staging.notification.alpha.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca-alt["staging.notification.alpha.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca["*.api.staging.notification.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca["*.document.staging.notification.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca["*.staging.notification.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca["api.staging.notification.cdssandbox.xyz"]
aws_route53_record.notification-canada-ca["staging.notification.cdssandbox.xyz"]
module.sentinel_forwarder[0].aws_cloudwatch_log_group.sentinel_forwarder_lambda
module.sentinel_forwarder[0].aws_iam_policy.sentinel_forwarder_lambda
module.sentinel_forwarder[0].aws_iam_role.sentinel_forwarder_lambda
module.sentinel_forwarder[0].aws_iam_role_policy_attachment.sentinel_forwarder_lambda
module.sentinel_forwarder[0].aws_lambda_function.sentinel_forwarder
module.sentinel_forwarder[0].aws_lambda_permission.sentinel_forwarder_cloudwatch_log_subscription[0]
module.sentinel_forwarder[0].aws_lambda_permission.sentinel_forwarder_cloudwatch_log_subscription[1]
delete	aws_route53_record.notification-canada-ca-alt[0]
aws_route53_record.notification-canada-ca[0]
module.sentinel_forwarder.aws_cloudwatch_log_group.sentinel_forwarder_lambda
module.sentinel_forwarder.aws_iam_policy.sentinel_forwarder_lambda
module.sentinel_forwarder.aws_iam_role.sentinel_forwarder_lambda
module.sentinel_forwarder.aws_iam_role_policy_attachment.sentinel_forwarder_lambda
module.sentinel_forwarder.aws_lambda_function.sentinel_forwarder
module.sentinel_forwarder.aws_lambda_permission.sentinel_forwarder_cloudwatch_log_subscription[0]
module.sentinel_forwarder.aws_lambda_permission.sentinel_forwarder_cloudwatch_log_subscription[1]
✂   Warning: plan has been truncated! See the full plan in the logs.
Show plan
Show Conftest results

The large number of changes summarized:

7 Sentinel forwarding modules had to be switched to a conditional creation (defaults true). This results in the resources having to be recreated as they are now part of an indexed count instead of direct resources. These can likely be imported instead of recreating if necessary.
2 AWS route53 records are the old ACM validation DNS entries that were incorrect. They will be deleted and replaced with the correct versions (See below)
A large number of ACM validation DNS records will be added. At least one record is required for each SAN
The cloudwatch log group for applications is showing as to be created but instead will be imported when the PR is approved.


Shield not gaining any experience

The version of each are:
Minecraft 1.18.2, Forge 40.2.0, Mantle 1.9.43, Tinkers Construct <IP_ADDRESS>, TinkersLevellingAddon 1.2.0
Issue: Shields do not gain xp.
I've tried being damaged while using it, attacking with shield, putting thorns on it and attacking, and mining with it. Nothing works.
I've checked the config files, and there is not configs for shields, so maybe it is not implemented.
However, from the description, I expected it to work, and the modifier can be applied to the shield.
Please 1) develop this feature or 2) clarify it doesn't work on shields, or make it impossible to apply it on them.
As a side note, the 'reflecting' modifier that can be put on shields can also deal indirect damage, and blocking with a shield barely causes any health damage, so I think it would be better if a different mechanism for xp gain (such as per blocked attack) was in place.

Hey!
Unfortunately, as of version 1.2.0, shields can't be leveled up.
I'm already working on the appropriate update, but due to the lack of time recently, I can't say when it will be released.

Ironically I opened this same issue on the wrong tinkers leveling mod, turns out it had the same issue and it just finished patching that problem.

do we have a progress report or ETA on this update?

https://github.com/embeddedt/TinkerLeveling/commit/2530bbae24deb4477abafe1c43dfb4fc741a94a5

Hey!
Update is out :)


Create 0000-01-02-shpriya-bits.md

commit trial

Step 8: Merge your pull request
Nicely done @shpriya-bits! ✨
You successfully created a pull request, and it has passed all of the tests. You can now merge your pull request.
⌨ Activity: Merge the pull request

Click Merge pull request
Click Confirm merge
Once your branch has been merged, you don't need it anymore. Click Delete branch.

I'll respond when this pull request is merged.

I couldnt merge pull


[kubernetes] Kafka is not consuming tenancy information

If the kafka address is incorrectly configured in auth, the thread dies but the container is still running.
[17/10/19 - 13:15:02] |webRoutes| DEBUG: ... publisher initialization thread started.

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/src/app/auth/controller/KafkaPublisher.py", line 56, in run
    self.init()
  File "/usr/src/app/auth/controller/KafkaPublisher.py", line 43, in init
    cls.messenger = Messenger("dojot.auth", config)
  File "/usr/src/venv/lib/python3.6/site-packages/dojot/module/messenger.py", line 79, in __init__
    self.producer.init()
  File "/usr/src/venv/lib/python3.6/site-packages/dojot/module/kafka/producer.py", line 33, in init
    bootstrap_servers=self.broker)
  File "/usr/src/venv/lib/python3.6/site-packages/kafka/producer/kafka.py", line 362, in __init__
    **self.config)
  File "/usr/src/venv/lib/python3.6/site-packages/kafka/client_async.py", line 219, in __init__
    self.config['api_version'] = self.check_version(timeout=check_timeout)
  File "/usr/src/venv/lib/python3.6/site-packages/kafka/client_async.py", line 819, in check_version
    raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable

[17/10/19 - 13:15:47] |PDPController| INFO: checking for group permissions
[17/10/19 - 13:15:47] |PDPController| INFO: user 4 permit to GET on /auth/user/ registered on cache

Note: the correct name of the environment variable is KAFKA_HOSTS
Affected version: v0.4.0

Issue resolved with KAFKA_HOSTS environment variable correction (related with #1273).

The environment variable has been corrected:
        - name: KAFKA_HOSTS
          value: kafka-server:9092


DOC Add diagrams to model event doc guide

Description
Relates to: https://github.com/napari/napari/pull/4929#pullrequestreview-1086501566
Adds a diagram for case when something is updated in the GUI and for case when python model is updated (e.g., via console). Have not added the diagrams as wanted to get feedback (might not have gotten this right). Also since this PR adds an image, may be better to wait for resolution of #4306, depending on progress.
Change python model:

Change in GUI:

cc @kevinyamauchi

Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

@lucyleeow : closing this since content needs to be added to napari/docs now. I opened https://github.com/napari/docs/issues/49 to track the work.


MicrosoftTeams Powershell Library - applicationaccesspolicy cmdlets do not exist

Need to allow applications to access online meetings on behalf of a user. Attempting to follow the guidance as per this doc - https://docs.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy, however am unable to locate the necessary commands in any of the PS library versions for MicrosoftTeams (as a global administrator).
New-CsApplicationAccessPolicy
Grant-CsApplicationAccessPolicy
Was redirected to raise an issue here by Frank Peng (https://github.com/microsoftgraph/microsoft-graph-docs/issues/10911)

Any updates on this?

Hello @lindseylanier
How are you? Hope you are doing great.
Those cmdlets belong to the Skype for Business Online Connector, now part of the Microsoft Teams module, you have to load it as explained here https://docs.microsoft.com/en-us/microsoftteams/teams-powershell-install#install-the-skype-for-business-online-connector
Hope this information helps you.

@get-itips Thank you very much for the contribution and sharing this explanation. @lindseylanier Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Add "Windows, Linux" to the list of devices that can be used with IKEv2.

Add "Windows, Linux" to the list of devices that can be used with IKEv2.
Could you please add "Android and iOS" if necessary.

Learn Build status updates of commit bff985f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/vpn-gateway/ikev2-openvpn-from-sstp.md
:white_check_mark:Succeeded

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

@cherylmc
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks for letting us know. This change was updated in a previous PR. It's all set!

#please-close


Impersonate

Allows administrators to log in as a non-admin user. This helps with debugging and can be used for special callsigns or club stations.
Depends directly on #760 and indirectly on #761

Great improvement. I tested it: Works.
i'd like to see a bit more security, since this is a really hot feature:

Put a time-component into the hash. so if it is lost, the risk will be minimized
Configurable via config.php ($enable_impersonate - default false?)

Additional:

Perhaps adding the Source-User and OP-Call to the Hash, so one is able to derivate that for further use (Setting OP later, logging purpose, ...). Would fit a generic approach.


Fix io num c6

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


404 after signing in

I just registered with the invite code I received, and clicked on sign up or similar button, then got a plain white page (url: https://app.calculist.io/) with text: 404.
I also tried from a different browser not having any possible session history for Calculist, but same result after login.

Shoot. I thought I fixed that. Try navigating directly to app.calculist.io/username (where "username" is your username) after signing in. Thanks for reporting this.

Ok. I just deployed an update that should fix the issue. Can you confirm that it has been fixed?

Closing this, as it appears to be fixed.

Hi Dan, still the same unfortunately. My username contains a dot, maybe that might be the issue?

Yes. That would do it. I have removed the dot from your username, so you should be able to access your account now. I will open a new issue to prevent usernames that can't be used in urls.

thanks, now works...


How to sign JWT using json private key?

I have been following https://developers.google.com/save-to-android-pay/samples/quickstart-ruby which is a tutorial based on google-api-client < 0.8 For this reason the tutorial still uses the p12 privates keys that are considered a legacy now with the new json private keys that google supplies for service accounts.
I am trying to migrate the example code to start using the new version of the library (> 0.9) and eventually also use the new json keys which the library depends on.
Part of the example code and a necessary part of the generation of android pay passes is to sign a jwt and present it on the client side.. more here: https://github.com/android-pay/s2ap-quickstart-ruby/blob/master/wobs_server.rb#L103
I am not really sure how to do this using the json private key and the new library... any ideas?
Why am I posting here instead of google-api-client-ruby repo?
Because https://github.com/google/google-api-ruby-client/blob/master/lib/google/api_client/auth/key_utils.rb#L21

Hi @hshar7. The Android Pay tutorial app seems to be using the deprecated p12 keys for two purposes:

Authenticating the google-api-client.
Use the private key to encode JWT.

The googleauth gem can help you authenticate the google-api-client, such like this:
require 'google/apis/drive_v2'
client = Google::Apis::DriveV2::DriveService.new
client.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
	json_key_io: File.open("/path/to/key.json"),
	scope: 'https://www.googleapis.com/auth/drive'
)
puts client.authentication.fetch_access_token!

However, the googleauth gem may not be able to help you encode the custom JWTs they use in the Sinatra endpoints from the Android Pay sample app. But by glancing over the code, here's how I would do it:
# In wobs_server.rb
require "multi_json"
# ...

get "/jwt/:type" do |typ|
  # ...
  json_key_io = File.open("/path/to/json")
  private_key = MultiJson.load(json_key_io.read)["private_key"]
  jwtEncoded = JWT.encode(jwt, private_key, "RS256")
  puts jwtEncoded + "**"
  return jwtEncoded
end

@hxiong388 I tried doing exactly that and tried similar using JsonWebToken gem but neither are signing the jwt correctly and thus causing google save-to-android-pay server to reject my calls.
Please investigate this issue a little further.. google api does not provide a lot of room for debugging on my end.
I have been able to migrate the entire example to the new version of the gem except for this part and will make a pr once this is resolved so it'll help other people too.

Hi, sorry for the delay here. We'll take another look shortly.

is there any update here? I am having the same issue. My code matches the code suggested by @hxiong388

Apologies for the long delay here.
Not sure if people are still facing this issue, but you can use the flag enable_self_signed_jwt to authenticate using JWT. The sample is similar to what @hxiong388 has mentioned.
require 'googleauth'
require 'google/apis/storage_v1'

client = Google::Apis::StorageV1::StorageService.new

creds = Google::Auth::ServiceAccountCredentials.make_creds(
                    json_key_io: File.open('/path/to/service-account-file'),
                    scope: 'https://www.googleapis.com/auth/cloud-platform',
                    enable_self_signed_jwt: true
               )

client.authorization = creds
client.get_bucket "<bucket-name>"

Hope this helps. I'll go ahead and close this issue now.


DOC: Fix syntax error

If I understand https://docs.datasette.io/en/stable/plugin_hooks.html#register-routes correctly, register_routes should return a List[Tuple[str, Callable]]. I believe the current code in documentation has a syntax error (extra )).

Thanks for spotting this!


FineTuningClient is not fully implemented

Hi Dev Team
Looks like FineTuningClient is created by some tool and nobody has checked it.
Example:
public virtual async Task<ClientResult> CreateJobAsync(BinaryContent content, RequestOptions options = null)

The content type is BinaryContent. The method should accept the base model, training file, etc: https://platform.openai.com/docs/api-reference/fine-tuning/create
Please implement FineTuningClient. Thank you!

Hello, @minzdrav! Fine-tuning and Batch are currently supported via protocol methods, which are "binary in, binary out" overloads available for all operations that are just hidden for ones with strongly typed convenience methods.
For example, to create a fine-tuning job, you can use:
FineTuningClient client = new();

BinaryData request = BinaryData.FromString("""
{
  training_file="file-abc123",
  model="gpt-3.5-turbo"
}
""");
ClientResult protocolResult = await client.CreateJobAsync(BinaryContent.Create(request));

using JsonDocument responseDocument = JsonDocument.Parse(protocolResult.GetRawResponse().Content);
string jobId = responseDocument.RootElement.GetProperty("id").GetString();

This direct REST pattern is fully supported for all methods and not an oversight.
We'll be rapidly improving the convenience layer support over the coming weeks, including strongly typed models for Fine Tuning.

I've opened an issue with tasks to track those remaining convenience surfaces directly: #26
I'll close this issue to keep that work consolidated and we'll make sure those tasks are updated as the new convenience surfaces become available. Thank you again!


Panel buttons aren't accessible

Panel buttons are currently div's with background images. There are three problems with that:

buttons cannot be browsed using the TAB key
there's no alternative for the image
in "no color" mode (which people with visual disabilities use) buttons are invisible

So accessibility-wise we shouldn't use div's with background images for buttons, we should use  tags instead.
Yet, we (and users) like that buttons can be styled through CSS. And there are certainly lots of apps out there that rely on it. And using background images has an advantage: CSS sprites. So this is a rather complex situation.
Using  instead of
 I think we can allow both modes - either a background image is applied to the anchor element, or a src attribute is set in the image element.
The question that follows is: what's the default? In other words: do we favor styling through CSS or accessibility?
If we favor styling through CSS users who want accessible buttons will need to set a imgSrc option in the controls, and remove the default background image through CSS. If we favor accessibility users who want background images to style buttons (for compatibility reasons, or to use sprites) will need to set imgSrc to null in the controls.

I think CSS is much more convenient to allow customization instead of using src in :
In  can use a dummy image and continue to use CSS for backgrounds images but with the advantage of using alt for accessibility and TAB key.  This would be like standing with one foot on each side ;-)

Thanks @jorix for your comment. Your proposition doesn't directly address the third bullet in the issue description. But by using an appropriate markup (<button> for example), or specific styling, controls can retain button appearance when in "no color" mode. jQuery UI's Button widget is worth a look.


add multiplier keyword to unit vector

In https://discourse.mc-stan.org/t/a-better-unit-vector/26989/30 Seth Axen lays out the reasoning for adding an additional parameter which repels values away from 0.
The current implementation is equivalent to
data {
  int<lower=0> N;
}
parameters {
  vector[N] u_raw;
}
transformed parameters {
  real r = dot_self(u_raw);
  vector[N] u = u_raw / sqrt(r);
}
model {
  target += -0.5 * r;
}

The proposal is to parameterize the unit vector as
data {
  int<lower=0> N;
}
parameters {
  vector[N] u_raw;
}
transformed parameters {
  real r = dot_self(u_raw);
  vector[N] u = u_raw / sqrt(r);
}
model {
 target += 0.5 * (a * log(r) - r);
}

where a >= 0 and is given as a multiplier keyword. As Seth notes in the post, it corresponds to the chi distribution with a + 1 degrees of freedom. The user would see:
unit_vector<multiplier=a>[N] u;

Setting a = 0 is equivalent to what is currently in Stan and will still be the default when the multiplier keyword is not used.
How to select a?
From the same thread the issue manifests with smaller dimension sizes of the unit vector. Heuristically, I'm finding that setting a = N^(6/N) where N is the dimension of the unit-vector works well.
         N a
 [1,]    1 1.000000
 [2,]    2 8.000000
 [3,]    3 9.000000
 [4,]    4 8.000000
 [5,]    5 6.898648
 [6,]    6 6.000000
 [7,]    7 5.301146
 [8,]    8 4.756828
 [9,]    9 4.326749
[10,]   10 3.981072

Here's a test model for 2d unit vectors where divergences occur in the current parameterization. When the data size, M, is small there are fewer divergences then when it's larger (M > 50).
data {
  int<lower=0> M;
  vector<lower=-pi(), upper=pi()>[M] y;
  real a;
}
parameters {
  vector[2] u_raw;
  real<lower=0> kappa;
}
transformed parameters {
  real r = dot_self(u_raw);
  vector[2] u = u_raw / sqrt(r);
  real mu = atan2(u[2], u[1]);
}
model {
  target += 0.5 * (a * log(r) - r);
  kappa ~ exponential(1);
  y ~ von_mises(mu, kappa);
}

The data for this can be created as
M <- 100
y <- runif(M, min = -pi/4, max = pi/4)
true_mean <- 0

mod_unit <- cmdstan_model("unit.stan")

mod_unit_out <- mod_unit$sample(
  data = list(M = M,
              y = y,
              a = 2^(6/2),
  seed = 2309423,
  parallel_chains = 4
)

If I'm reading this correctly, I think using the keyword multiplier for this would be a mistake. I think that would be interpreted by most users as some sort of scaling on vector itself, such that e.g unit_vector<multiplier=4> would yield a vector that has norm 4

From the comment

This repels y from  y = 0, and the degree of repulsion can be tuned by the user by increasing a.

unit_vector<repulsion=...>?
The code seems to just do a division so may scaling is more appropriate?

I'm ok with it just being something simple like $k$ as in unit_vector<k=...> we note that this is related to the chisquare distribution degrees of freedom. The log-pdf of the chisquare distribution is
$$
\left(\frac{k}{2} - 1 \right) \log(x) - \frac{x}{2} + C
$$
What I have above is 0.5 * (a * log(r) - r). Clearly, $r == x$ thus
$$
\begin{aligned}
\frac{a}{2} &= \frac{k}{2} - 1 \
k &= a + 2.
\end{aligned}
$$
When a = 0 this corresponds to 2 degrees of freedom, ie the sum of the square of two standard normal variates. When k is allowed to be non-integer values then this is a gamma RV with
$$
f(x) = \Gamma \left( \frac{k}{2}, \frac{1}{2} \right)
$$
The mean of this is $\mu = k / 4$ and the variance is $\sigma^2 = k / 8$. As $k$ increases both the mean and the variance increase. But this doesn't effect the estimate of the unit_vector (unless sampling just fails because we're at the singularity).


Adding additional properties to the CRD

Adding few missing fields from crd spec.properties section which was causing a failure when deploying from operatorhub

Can you please approve and merge this change. Our operatorhub deployments are failing. Thanks

/lgtm

@svallala Looks like there is still an error in the operator logs:
https://travis-ci.com/operator-framework/community-operators/builds/111288015#L419
{"level":"error","ts":1557450068.7628732,"logger":"kubebuilder.controller","msg":"Reconciler error","controller":"robincluster-controller","request":"operators/robin","error":"Node selector node-role.kubernetes.io/compute=true does not match any nodes","stacktrace":"github.com/robin.io/robin-operator/vendor/github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/src/github.com/robin.io/robin-operator/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/robin.io/robin-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/src/github.com/robin.io/robin-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:217\ngithub.com/robin.io/robin-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/go/src/github.com/robin.io/robin-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:158\ngithub.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/go/src/github.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133\ngithub.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/src/github.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134\ngithub.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait.Until\n\t/go/src/github.com/robin.io/robin-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88"}

Is this expected?

In the automated testing, you are using minikube and we are not sure what is the label we should use. Node selector value is a selector we use to pick the nodes on which Robin storage should be deployed. Default node_selector value is currently set to 'node-role.kubernetes.io/compute=true'.
Can you please approve this request, in the next commit as an enhancement we will make this optional and pick all the nodes for deploying Robin.

/lgtm

Thanks Sami