Global color cast of rendered images

Hi! Thanks a lot for sharing your excellent project!
When I run your code on cook spinach scene of Neural 3D Video dataset, I found that there exists a global color cast. Namely, the rendered images of all frames are showing a little pinkish, which is distinct when switching between predicted images and ground truth ones. Here is an example.
Is this normal? And what's the possible reason? Looking forward to your reply!

Hi! This may be due to the imperfect color calibration of the neural 3D video dataset -- there is a noticeable color shift between individual video streams (for example cam20.mp4 and  cam00.mp4 in the cook spinach sequence). Our model will likely absorb these color changes into view dependent color from the dynamic volume (represented as spherical harmonic coefficients), or in the ray-dependent color scale and color shift terms described in section C.4. in the appendix of our work. Unfortunately, because the heldout view is not observed during training, there is no guarantee that this view-dependent color will accurately capture it's color shift of the heldout view (hence the difference that you're observing)


Embedding symbol index seems to be unnecessary

https://github.com/mruby/mruby/blob/eebb56713e27cde27a7b899da8636a0634704863/include/mruby/ops.h#L73-L83

They are used when forwarding to OP_SEND. I didn't want to call mrb_intern each time forwarding.

Is it possible to reserve symbols used in language features in the symbol table like:

ID
String

1
+

2
-

3
*

...
...

10
method_missing

...
...

XXX
user defined symbols

...
...

So that we can always access the reserved symbol with constant.

Ah, they will not be required when embedded symbols are available. OK, remove them from the OP code.

We can use mrb_intern for now.

Moving to #4151


Add gazebo plugins to rosdep dependencies

Change from gazebo_ros to gazebo_ros_pkgs to include gazebo_plugins (such as skidsteer)

since gazebo_ros_pkgs is a "meta" package, could you also remove gazebo_msgs and gazebo_dev? those would be included as well

Good point, done.


Use specific options for layout thoroughness instead of any number

Describe your issue
Most of the time, layout thoroughness (which allows the layout algorithm to try more layout variations to try and use space efficiently) only affects the layout for a few ranges of numbers. Usually 1 behaves differently from 2, and then sometimes 20+ can behave differently from those. For this reason, having granularity to enter any number 1-100 is not really necessary, can be cumbersome, and can give the illusion that many of the numbers should have a more significant impact.
https://github.com/user-attachments/assets/212efb6f-cdff-47c4-a0ec-bc157ac4dcc3
Solution you'd like
Use a dropdown for layout thoroughness, where "low" = 1, "medium" = 10, and "high" = 100.
Alternatives you've considered
No response
Additional context
No response
Technical ideas and questions
Code should be pretty similar to the Watch dropdown's code, except using the current thoroughness value/onChange instead of making API requests:

Hi @keyserj , I’d like to take up this task. Could you please assign it to me?
Thanks!

@shibv yep! Let me know if you run into any issues or have any questions.


Skill - Outrider

-1 damage taken and +3 crit % per tile moved this turn.

This PR has serious conflicts and requires you to resubmit

Should be okay now


demonstrate basic http authentication

Part of #436
Perform a basic HTTP authentication with reqwest's blocking client.
If you'd prefer to use an asynchronous client instead, just say the word. (Personally, I don't have a strong preference for the sake of this example in either direction. But ultimately opted to go with the synchronous client to minimize the complexity of this example and purely focus it on the authentication aspect.)

thx

thx


OCM-9270 | ci: include default account role prefix for classic cluster

What this PR does / why we need it:
Fix test case id 65380.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story (OCM-xxxx):
Fixes OCM-9270
Change type

[ ] New feature
[x] Bug fix
[ ] Build
[x] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/test ?

/test rosa-sts-advanced-optional-presubmit

/test rosa-hcp-advanced-optional-presubmit

/hold

75067 and 70337 are known issue. Other one looks like a flaky issue
/test rosa-sts-advanced-optional-presubmit

/test rosa-sts-advanced-optional-presubmit

/test rosa-sts-advanced-optional-presubmit

/retest

/retest

/hold cancel

/lgtm

/retest


Consider using a VLM server

Use a model server like ollama or vllm.
Two advantages:

it works as an abstraction for a lot of models, so we don't have to write a describer class for each type of model
speed up prompt engineering phase by keeping the model in memory between executions of bvqa

See this list examples. Lots of vlms supported. But prompt is idiosyncratic. However we could call the functions from that module to unify the interface.Wondering why VLLM doesn't have that.


[FS] Sidechains move

Sorry it's so big...

Shouldn't touch FN / SC code except for solution.
Adds .Sidechains.Networks project
Adds .Features.FederatedPeg project
Adds .Features.FederatedPeg.Tests project
All tests pass

Is there any way to disable the CI just for Stratis.Features.FederatedPeg.Tests? Don't want to block others while we're still making these tests stable.
Will also slowly start moving over and improving the integration tests too.
In case you're wondering why do this:

Sidechains moves faster. No package redeployment, no time lost amending code to keep up with breaking API changes between packages, easier debugging.
Hopefully helps us think about how to best build the core FN components to let others (and ourselves) build on top of them.
The long-term plan remains the same: to move smart contracts and sidechains out to their own repos when the API is a bit more locked-down

NOTE: This code is more or less identical to what was in the sidechains repo, I don't expect it to be reviewed, more just check with everyone that this is okay to do. If you do come across style issues, just note 1 of them and I'll try and fix all of the same issue in the rest of the files.

@bokobza I did as suggested, but when viewing commits here I'm getting this...


📊 covid: mdim

This continues the work started in https://github.com/owid/etl/pull/3249.
Overall work is tracked in https://github.com/owid/owid-issues/issues/1659
Work:

Add multidimensional page for COVAX
BONUS: Support indicator paths for config.dimensions.variableId and config.sortColumnSlug.

Just an FYI @danyx23 @rakyi.
I will be merging this before leaving, just so the PR doesn't go too much out of sync with master.
On my way back, I'll look at https://owid.slack.com/archives/C0193RW5E2J/p1728895454660919.

Seems fine to me!


fix Arithmetic overflow

We're getting the following warning:
Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2).
This PR resolves the warning by making 0.7 a double instead of a float.

@kgabis  could you please take a look at this one-line change?

I'm on holiday, I won't be able to merge it before Monday. In the meantime please increment patch version and change https://github.com/kgabis/parson/pull/204/files#r1184870569.
Since you work at Microsoft, could you contact me with someone responsible for open source? Few weeks ago I applied for Azure credits to test parson on windows and still didn't receive any reply. Also, Microsoft has been using parson for years now and I've provided continuous support for various PRs and bugfixes so I wanted to discuss Microsoft becoming a sponsor but I couldn't find a way to contact anyone about it.

Unfortunately, I don't have any more information internally than you can find externally about open source contacts, sorry!
I updated the patch version and made the change you suggested, thanks for taking a look at this!

@kgabis Is there anything else I need to do for the patch version?

Done :)


Update supported Python versions in docs

Current Botocore docs don't reflect the versions that are supported. Bringing things up to date.

Codecov Report

Merging #2141 into develop will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2141      +/-   ##
===========================================
+ Coverage    93.11%   93.14%   +0.02%
===========================================
  Files           60       60
  Lines        11143    11143
===========================================
+ Hits         10376    10379       +3
+ Misses         767      764       -3

Impacted Files
Coverage Δ

botocore/credentials.py
98.95% <0.00%> (+0.31%)
:arrow_up:

Continue to review full report at Codecov.

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


Add "SSH port forwarding" Guide

Another guide to protect prometheus from unauthenticated access.

@took Could you possibly squash your current commits into a single commit and then use more descriptive/differentiated commit messages for future commits?

@took Could you possibly squash your current commits into a single commit and then use more descriptive/differentiated commit messages for future commits?

sure, please see my new pull request https://github.com/prometheus/docs/pull/1346

@took For future reference, you don’t need to create a new PR, you just need to squash and then force push the squashed commits.


feat(contracts): integrate protocol defense changes

What ❔
The work done in the protocol defense project introduced a number of changes, namely custom errors in our solidity contracts. We need to update the server code to handle these new errors.
Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via zk fmt and zk lint.

Need to wait for https://github.com/matter-labs/zksync-era/pull/2490 to get merged for the toolbox tests to pass

@perekopskiy For the server side increases of those values, given it will take a non-trivial amount of work I think we should do it in a follow up PR, the important this here is that it will be enabled from a protocol perspective. For performance, I ran the performance test locally on main and on this branch.
Here are the results:

currently im trying to investigate the degraded performance for access_memory

Do you plan to increase MAXIMUM_L2_GAS_PRICE, MAXIMUM_PUBDATA_PRICE in server? It won't be easy if go over i32::MAX because db columns are of type bigint, so non-trivial migration will be required. Also, no matter what the increase will be (if any) it should be covered with tests

@perekopskiy bigint in postgresql is 8bytes

@cytadela8 yep, but signed, replace i32 with i64 in my message


Remove resource specific invalid properties when updating kube resources

Epic https://github.com/rancher/dashboard/issues/9016

This is the second step to tackle the epic
It involves understanding where properties that aren't common are being sent when updating resources

There's a lot in workload / pod world

@richard-cox Can you sync with @Shavindra as to what needs to be done for this one?


ARROW-13574: [C++] Add count_all and hash_count_all kernels

Pandas calls this 'size'. I opted not to extend ScalarAggregateOptions as the option wouldn't apply to any other kernel.

Hmm... It's weird that Count takes ScalarAggregateOptions, yet 1) completely ignores min_count 2) has an unexpected interpretation of skip_nulls.
Can we instead make Count take a CountOptions that would have a enum describing whether one wants to 1) count non-nulls 2) count nulls 3) count everything?

Rebased, fixed conflicts, added CountOptions, added GLib/Python/R bindings for CountOptions.


Added parameter 'verbose' when exporting TF SavedModel

When exporting a Keras model into a TF SavedModel, the current output is like this:
The following endpoints are available:

* Endpoint 'serve'
  inputs (POSITIONAL_OR_KEYWORD): ...
  training (POSITIONAL_OR_KEYWORD): ...
  mask (POSITIONAL_OR_KEYWORD): ...
Output Type:
  ...
Captures:
  * Huge list of variables, usually in this form: TensorSpec(shape=(), dtype=tf.resource, name=None) *

This could be quite overwhelming whenever you have to export models many times.
This PR adds a parameter that allows choosing whether to print all the variables when exporting or not.

Codecov Report
Attention: Patch coverage is 57.14286% with 3 lines in your changes missing coverage. Please review.

Project coverage is 57.66%. Comparing base (8b1ca95) to head (39f44c2).

Files with missing lines
Patch %
Lines

keras/src/export/export_lib.py
60.00%
2 Missing :warning:

keras/src/models/model.py
50.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (8b1ca95) and HEAD (39f44c2). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (8b1ca95)
HEAD (39f44c2)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20194       +/-   ##
===========================================
- Coverage   79.37%   57.66%   -21.71%
===========================================
  Files         501      501
  Lines       47350    47350
  Branches     8695     8695
===========================================
- Hits        37582    27306    -10276
- Misses       8011    18342    +10331
+ Partials     1757     1702       -55

Flag
Coverage Δ

keras
57.66% <57.14%> (-21.56%)
:arrow_down:

keras-jax
?

keras-numpy
57.66% <57.14%> (ø)

keras-tensorflow
?

keras-torch
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


publish<EMAIL_ADDRESS>

Requested by: @bitsandfoxes
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] nuget
[ ] github
[ ] registry

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

Dropping this to make a new release that includes:

https://github.com/getsentry/sentry-dotnet/pull/3103


move social buttons in top menu so they're not hidden

The padding looks random but it's to right-align the buttons with the login / user button.
The CSS is applied to .btn in nav.links. Is that alright or should these have their own class?

Didn't break anything but yeah that makes more sense. Done.

Looks good!


Font Size Between Multiple Text Elements

Description
When using SKFont to draw multiple text elements, the font size will be the same between all text elements. It will render all elements with the last set call font.setSize(fontSize). This makes using the same font at different sizes for multiple text elements less effective than it should be.
The reason this is an issue is that useFont([path]) is slow to load new fonts and seems inefficient to create multiple instances same font multiple times for different font sizes. font.setSize is fast. useFont is a hook as well.
Possible Solutions:

Text Elements takes in an optional font size and internally runs font.setSize before rendering on a specific element

SkFont has a copy method similar to paint

Version
latest
Steps to reproduce
Use useFont
Set font size to some number
Draw Text
Set font size to a new number
Draw Text
The text will be the same fontSize. I expect it should be the set size at call.
I can also provide a JSX example as well as well
Snack, code example, screenshot, or link to a repository
font.setSize(30); canvas.drawText("Test 1', 0, 30,"black", font); font.setSize(10); canvas.drawText("Test 1', 0, 50,"black", font);

Found a solution using:     const fontInstance = Skia.Font(font.getTypeface(), fontSize);


feat: Test support extensible enum types in Typescript (box/box-codegen#520)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 42.032%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
12651

Relevant Lines:
23453

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 42.045%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
12655

Relevant Lines:
23453

💛  - Coveralls


Completely irrelevant for Visual Studio for Mac

I'm running Visual Studio for Mac with Unity. Hardly anything from this guide seems to apply... Where should I look?

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

ID: 56378a75-b639-d64b-d7fb-00a7eafa20b5
Version Independent ID: c66870c5-4153-7b42-7aad-fc454c39f9cd
Content: Using Visual Studio Tools for Unity - Visual Studio
Content Source: docs/cross-platform/using-visual-studio-tools-for-unity.md
Product: visual-studio-windows
GitHub Login: @therealjohn
Microsoft Alias: johmil

Hi @jelmerS2 thanks for your feedback. There is some Mac-specific info here
https://docs.microsoft.com/visualstudio/mac/unity-tools
We'll try to make this more obvious on the pages.


Bottom sheet doesn't dim status bar

Same issue and fix as here: https://stackoverflow.com/questions/69560253/modal-bottom-sheet-scrim-color-is-not-shown-in-status-bar-in-jetpack-compose/73887258#73887258

Fixed in code, pending test and deploy


Carthage seems broken

When using with Carthage, the framework is generated... but when added in the project, Reachability is not found.
Any suggestions?

Nevermind, seems Xcode make me a joke 😨


Fix using static behavior for anonymous enums

Do not use the mangled anonymous name in using static directives. Additionally, a using static directive should not be added when members of the enum are already available in context (for example, when inside the method class.)

@reflectronic are you interested in taking this forward still?

Looks like the tests I added are passing in main as-is, so I'll just update this PR to add these tests (anonymous enums seem to be untested currently).


[BUG] Most uses of ObjectExt::set_qdata leak memory

In the following example I'm subclassing gtk4::EntryBuffer in order for gtk_entry_buffer_get_text to call into gtk4-rs. In the trampoline, set_qdata is called to keep the returned data alive:
https://github.com/gtk-rs/gtk4-rs/blob/fb59005041d06bc275de3ff23a740395b6332c1e/gtk4/src/subclass/entry_buffer.rs#L234-L238
set_qdata is called with a pointer returned by the equivalent of Box::leak. However, set_qdata expects to be passed a type with a destructor that will clean up owned resources:
https://github.com/gtk-rs/gtk-rs-core/blob/9ea03f8eaacd84aa1cc850765748a779757ce93a/glib/src/object.rs#L1641-L1655
Callers of set_qdata should therefore store a pointer to the target value and then pass the box itself to set_qdata.
Almost all users of set_qdata use the same incorrect pattern.
Before running the following example, note that it will rapidly allocate memory.
use imp::EbImp;
use gtk4::subclass::prelude::*;
use gtk4::prelude::*;
use gtk4::glib::Object;

mod imp {
    #[derive(Default)]
    pub struct EbImp;
}

#[gtk4::glib::object_subclass]
impl ObjectSubclass for EbImp {
    const NAME: &'static str = "EbImp";
    type Type = Eb;
    type ParentType = gtk4::EntryBuffer;
    type Interfaces = ();
}

glib::wrapper! {
    pub struct Eb(ObjectSubclass<EbImp>) @extends gtk4::EntryBuffer;
}

impl ObjectImpl for EbImp {}

impl EntryBufferImpl for EbImp {}

fn main() {
    gtk4::init().unwrap();

    let entry_buffer: Eb = Object::new(&[]).unwrap();
    entry_buffer.set_text(&"a".repeat(4096));
    loop {
        entry_buffer.text();
    }
}

Yes all these cases need to store a struct that correctly frees the pointer on Drop::drop. Storing raw pointers is only valid if they must not be freed.
Do you want to submit a PR for this for gtk4-rs? I'm going to fix gtk-rs-core now.

See https://github.com/gtk-rs/gtk-rs-core/pull/257 for the gtk-rs-core one.


expose player inputs to lua

Pulled and tested the script and the auto run detection works great, thanks for the change!


Made a majority of the components responsive

Currently, besides a few small outliers that I will try to find and clean up, the pool select and pool page should be responsive. I do want to warn you that there may be small visual bugs that may come up that I have yet to discover, but do note that this will make the app much much easier to use on any mobile platform than it ever has been. Feel free to leave some comments/questions about anything. Also, the portfolio page is mostly responsive, but since we are not shipping it right away I will hold off on working on it for the time being. As usual, below I attached some images of the components:

This looks great. Definitely want to merge it in before tomorrow. Only thing I would suggest is that as width shrinks on the Pool Details Page, the Deposit/Withdraw tabs should move below the graph, not above it (imho)

Sure thing

Just a heads up, the way I ended up putting the interaction tabs below the graph on smaller screens is not the best way to do it, but it is the most time-efficient way and honestly doesn't add too much complexity so as long as we don't continue down this path with other components, all should be good. With that being said, I don't think we will need to for other components as they won't require the amount of refactoring that the interaction tabs would have.


Allow larger gas limit in non-transactional execution

Infura allows to use eth_call/eth_estimateGas with up to 10x the block gas limit:
https://docs.infura.io/infura/networks/ethereum/json-rpc-methods/eth_call
To replicate this feature :

Runtime gas limit check is made only if call is transactional.
Client RPC have a configurable factor, and will ensure the requested gas limit is less than the block gas limit times the factor.

Changing the limit for estimateGas changes the estimation. Do we want to avoid that? Also, while I can see the point of having for exemple 10x for eth_call (perform calculations that is meant to be done off-chain), I don't see the point of estimating more than the block gas limit since you're mainly estimating to make a transaction with it.
What do you think @tgmichel @albertov19 @sorpaas ? Should it be only increased for eth_call ?

Moreover, eth_estimateGas did not change the return value when specifying different values as gas (500M, 200M, 50M, 100000). Alchemy has a similar thin in their docs, where they say the limit gas in eth_call and eth_estimateGas to 550M.


CI Failure on Adding Categories spec

CI on master started failing with the merge of #6760 : https://travis-ci.org/ManageIQ/manageiq/builds/111503787
CI on the actual PR passed, however: https://travis-ci.org/ManageIQ/manageiq/builds/111490313
To avoid blocking tests across the board due to this issue, the test in question was set to be skipped in #6937
This should be reviewed again. Be warned that the test appears to pass locally.

@miq-bot add_label bug, test
cc/ @ZitaNemeckova

jfyi, this reproduces the problem locally:
❯ pwd
/home/hild/src/manageiq

~/src/manageiq aws-sdk-v2-event_catcher*
❯ echo 1 > REGION

~/src/manageiq aws-sdk-v2-event_catcher*
❯ rspec ./spec/controllers/miq_policy_controller/miq_actions_spec.rb

Randomized with seed 56188
F.....

Failures:

  1) MiqPolicyController::MiqActions #action_get_info joins classification tags
     Failure/Error: Classification.where(:tag_id => tag.id).pluck(:description)

     NoMethodError:
       undefined method `id' for nil:NilClass
     # ./app/controllers/miq_policy_controller/miq_actions.rb:440:in `block in action_get_info'
     # ./app/controllers/miq_policy_controller/miq_actions.rb:438:in `map'
     # ./app/controllers/miq_policy_controller/miq_actions.rb:438:in `action_get_info'
     # ./spec/controllers/miq_policy_controller/miq_actions_spec.rb:79:in `block (4 levels) in <top (required)>'

Finished in 0.62421 seconds (files took 5.61 seconds to load)
6 examples, 1 failure

Failed examples:

rspec ./spec/controllers/miq_policy_controller/miq_actions_spec.rb:78 # MiqPolicyController::MiqActions #action_get_info joins classification tags

Randomized with seed 56188

TIL local is default region 0, whereas CI is region 1. Thanks @durandom!

@chrisarcand Is this still an issue that needs to be addressed?

@chessbyte Yup, thanks 💙
Fixed in 5d6e64b33037c5b26131326a5cab393eb029e2d9


Make TestDaemonNoSpaceleftOnDeviceError linux only

Adds SameHostDaemon and DaemonIsLinux req's to
TestDaemonNoSpaceleftOnDeviceError

./docker_cli_daemon_test.go:1855: cannot use SameHostDaemon (type testRequirement) as type *check.C in argument to testRequires``` :crying_cat_face:

ping @cpuguy83

LGTM

LGTM

Well I was waiting to say I updated it until the tests were done, but you guys are fast.

LGTM


Latest release

rework github_tarball to

download latest release tarball
update spec with new version string
update changes with data between current and latest release

and all triggered from github side when creating a new Release

are you willing to merge ?


Datastore projection query support for query methods

fixes #995

@meltsufin PTAL. I removed the projection entity query for name-based methods but kept the key-queries for count and exists. added the ? extends BaseEntity where relevant.


Move FixedPoint to experimental package

With the principle that backwards incompatible changes be reserved for major version releases, I think that any API associated with a research project should be put in the experimental package so that changes to its API are expected and acceptable from a community standpoint.
As such, for 3.0.0, I think that FixedPoint should be marked experimental.
Thoughts?

Resolved via https://github.com/ucb-bar/chisel3/pull/444


spec: add a interval notation to specify elements in the result of a slice expression

s := []int{1, 2, 3, 4, 5}

a := s[1:4]	// len == 3, contains {2, 3, 4}
b := s[1:4]	// len == 3, contains {3, 4, 5}

spec doesn't precisely specify which elements will be in the resulting slice.
a interval notation can be added to the spec.

b := s[1:4]	// len == 3, contains {3, 4, 5}

No. b is the same as a here. It contains {2, 3, 4}.
Not sure what you are intending. But if something is unclear in the spec, please be clearer about what it is that is confusing. You're proposing a fix and I don't understand what the problem is.

yes, here b is same as a.
i am asking for a sentence in the spec that specify the elements using a interval notation.

@cubte would you please review https://golang.org/ref/spec#Slice_expressions and explain how you would like to see it improved.

The spec does not specify which elements get included in the resulting slice using words. It is demonstrated using example code.

The indices low and high select which elements of operand a appear in the result.

Please remember that a subslice is not a copy of the source slice, it creates a new slice header value suitably adjusted.

[low, high) and (low, high] have the same length.

True, but the subslice is [low:high) not (low, high]. Are you saying that you would like to see that state explicitly in the spec?

Are you saying that you would like to see that state explicitly in the spec?

Yes.

Thank you for explaining.
/cc @ianlancetaylor

It seems clear to me:
a := [5]int{1, 2, 3, 4, 5}
s := a[1:4]

the slice s has type []int, length 3, capacity 4, and elements

s[0] == 2
s[1] == 3
s[2] == 4

I don't see any possibility for confusion here. It shows exactly the entries in the resulting slice. You can map them back to the input slice easily enough.

Note that the prose says explicitly: "The indices low and high select which elements of operand a appear in the result."
The reason for the example's choice of element values 1, 2, 3, 4, 5 is exactly so we don't need to introduce another formalism but can illustrate the behavior with a simple example in case it shouldn't be already clear from the prose.
Happy to revisit if you have a concrete suggestion as to how to make this clearer without making it more complicated. Closing for now. Thanks.

Note that the prose says explicitly: "The indices low and high select which elements of operand a appear in the result."

But it does not say exactly which elements gets selected.

The reason for the example's choice of element values 1, 2, 3, 4, 5 is exactly so we don't need to introduce another formalism but can illustrate the behavior with a simple example in case it shouldn't be already clear from the prose.

I think that sentence doesn't make it fully clear. Instead it requires to explicitly rely on the example.
An interval notation specifying the indices of elements get selected from operand can make it much better to understand. Then the example will be an example.

It may not be "fully clear" in a mathematical sense, but it is sufficiently obvious what is meant that for 12+ years nobody objected.
As I said, I am not against improving this if you send us a concrete suggestion that is clearly better and just as easy to read. Thanks.

for 12+ years nobody objected.

Maybe everyone here is old and took it for granted. But i am 19 years old and i can't.
I am not a native English speaker. Constructing such sentence is relatively hard for me. I wish you will understand me and improve this.
The best i have tried is,
Elements from index low to high - 1 of operand a appear in result.

@griesemer will this change?

@griesemer will this change?

I looked at this again. The suggestion "Elements from index low to high - 1 of operand a appear in result." looks promising at first but doesn't hold up: a[0:0] is valid and leads to an empty result, but speaking of element high - 1 which would be element at index -1 is rather confusing.
The current prose says: "The indices low and high select which elements of operand a appear in the result." Together with the next sentence "The result has indices starting at 0 and length equal to high-low." it's pretty clear what is meant. To make it extra clear, we have an example.
One could talk about the non-inclusive (for the upper end) interval [low, high) of elements etc. but it gets quickly and needlessly complicated for little reason. At least I haven't seen a much better suggestion and this is not important enough for the Go team to spend time on.
More generally speaking, we have tried to strike a balance between precision and readability in the spec. Sometimes we have sacrificed a bit of precision if favor of a simpler and more compact prose if the meaning of the prose seemed obvious enough. This may be one of those cases. Please also note that while we intend the spec to be fairly easy to read and understand, it is not a tutorial into programming or into Go. There's plenty of other literature.
In summary, this is not going to change at this point. Thanks.
Related: #43545.

I looked at this again. The suggestion "Elements from index low to high - 1 of operand a appear in result." looks promising at first but doesn't hold up: a[0:0] is valid and leads to an empty result, but speaking of element high - 1 which would be element at index -1 is rather confusing.
The current prose says: "The indices low and high select which elements of operand a appear in the result." Together with the next sentence "The result has indices starting at 0 and length equal to high-low." it's pretty clear what is meant. To make it extra clear, we have an example.
One could talk about the non-inclusive (for the upper end) interval [low, high) of elements etc. but it gets quickly and needlessly complicated for little reason. At least I haven't seen a much better suggestion and this is not important enough for the Go team to spend time on.
More generally speaking, we have tried to strike a balance between precision and readability in the spec. Sometimes we have sacrificed a bit of precision if favor of a simpler and more compact prose if the meaning of the prose seemed obvious enough. This may be one of those cases. Please also note that while we intend the spec to be fairly easy to read and understand, it is not a tutorial into programming or into Go. There's plenty of other literature.
In summary, this is not going to change at this point. Thanks.
Related: #43545.


stuck at Lightning progress: "prepare to sync"

I recently rebooted my raspiblitz and have been unable to get LND to load.
https://termbin.com/wjmt
https://termbin.com/4qze
Upon running LND I get the following error message.
loadConfig: either bitcoin.active or litecoin.active must be set to 1 (true)

Looks weird. Porbably a hardware (disk) error causing corruption of the files.
If you don't have funds in LND can try to reset the wallet from REPAIR.
If there a re funds make backups (RESCU and SCB), reflash the SD and import the RESCUE backup if not picked up automatically during recovery.

There are funds. I will make rescue and scb, and reflash. But if it is a hardware error do I need to get another hard drive to do this?

you might. Make sure your USB adapter is one of the recommended ones.

thanks

Same error is happening. stuck at prepare sync and all lncli commands return [lncli] rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:10009: connect: connection refused"

try reserring the TLS cert and macaroons isn LNDCREDS.
Try an LND reset and restore from the latest backup in REPAIR
if none works, you can force close your channels with the SCB, see the FAQ for the details

"failed to generate new LND cert"
/bin/cp: cannot stat '/mnt/hdd/lnd/data/chain/bitcoin/mainnet/admin.macaroon': No such file or directory
/bin/cp: cannot stat '/mnt/hdd/lnd/data/chain/bitcoin/mainnet/invoice.macaroon': No such file or directory
/bin/cp: cannot stat '/mnt/hdd/lnd/data/chain/bitcoin/mainnet/readonly.macaroon': No such file or directory

LND reset and restore didn't work.

share some error messages if you need more help

okay, i could use more help. what is best way to share the error messages you are thinking of?

I was going to buy a new SSD, reflash raspiblitz, and try to restore from seed words and old SCB. Is that the recommended way to force close channels you mentioned?

lnd.credentials.sh reset
Resetting Macaroons
all your macaroons get deleted and recreated
rm: cannot remove '/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/macaroons.db': No such file or directory
Resetting TLS
tls cert gets deleted and recreated
checking if LND is running
making sure services are not running
keep old tls data as backup
mv: cannot stat '/mnt/hdd/lnd/tls.cert': No such file or directory
mv: cannot stat '/mnt/hdd/lnd/tls.key': No such file or directory
start to create new generate new TLSCert
wait until generated

I was going to buy a new SSD, reflash raspiblitz, and try to restore from seed words and old SCB. Is that the recommended way to force close channels you mentioned?

Yes, that is it. From the SCB use the latest (so it has all your channels).
Guide here: https://github.com/rootzoll/raspiblitz/blob/v1.6/FAQ.md#2-recover-from-wallet-seed

I had it setup on drop box. That was a week ago. Will it be latest SCB? I have been unable to get a transfer to USB drive.
Is there a way to get the latest from the HDD?
Sent from ProtonMail mobile
-------- Original Message --------
On Mar 24, 2021, 08:40, openoms wrote:

I was going to buy a new SSD, reflash raspiblitz, and try to restore from seed words and old SCB. Is that the recommended way to force close channels you mentioned?

Yes, that is it. From the SCB use the latest (so it has all your channels).
Guide here: https://github.com/rootzoll/raspiblitz/blob/v1.6/FAQ.md#2-recover-from-wallet-seed
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

the channel.backup only changes when a channel is opened or closed.
it is stored on the disk and copied tp the sdcard too.
See:
sudo find / -name channel.backup

Thanks, as soon as I'm home from work I will update you.
Sent from ProtonMail mobile
-------- Original Message --------
On Mar 24, 2021, 09:55, openoms wrote:

the channel.backup only changes when a channel is opened or closed.
it is stored on the disk and copied tp the sdcard too.
See:
sudo find / -name channel.backup
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks so much. The SCB and seed words restored it.


Fixed #32980 -- Made models cache related managers.

Ticket is #32980.
This is currently a proof of concept and doesn't pass muster, so don't be surprised if it looks a bit ropey :)
Issues I have with it currently:

~Bleh, hardcoded _manager_for prefix. I can't find a nice solution for avoiding it, as finding it out involves getting the instance's descriptor to find the names...~
~Introduction of _get_accessor method isn't ideal, I had to update StartsWithRelation to fix a test, which suggests it could be problematic.~
Not actually sure if there's better methods/attributes I could/should be using within related_manager_cache_key ... is get_cache_name appropriate, perhaps? My concern with that was that it might collide with something else? IDK.

I think it's probably in a position to be looked at again; I've been through the wringer trying to figure out which attributes to use when (get_accessor_name, attname, name, rel.<thing>, field.<thing>, remote_field.<...> etc), but hopefully I've got them nailed down now, by deferring some of it to the existing get_cache_name and trial and error for the rest (🤷). I think I incorporated all the prior comment feedback, but I need to double check it, having become lost within it.
I've updated the release notes, but I'm not entirely sure about the wording (without taking time away and re-reading it later). It's easy to have it sound like a scary change, but gut feeling is that few are (intentionally) relying on the behaviour, because of the way forward managers work, and how the API interface is taught.
There's one thing that isn't handled, because I'm not sure if/how it can actually happen, and that's the case of a ManyToManyField which is symmetrical and the branch entered is self.reverse is True. As far as I know, it's impossible to get a reverse manager for symmetrical m2ms, but if it's possible, it would currently pose a problem because get_cache_name defers to get_accessor_name and that returns None for symmetries, so there would be the possibility of a collision.


Remove setters from Options.  Add tests for custom fixtures

@yury-s I added some tests because i found a bug in the options.  Also removed all setters as they don't seem useful (correct me if i'm wrong)

@yury-s I added some tests because i found a bug in the options. Also removed all setters as they don't seem useful (correct me if i'm wrong)

The idea with setters is that they could be chained one after another (.setChannel().setHeadless().setViewportSize() etc.). I think we should keep them for convenience and I'd rather remove getters to avoid any confusion, I don't think we want clients to extend options with any smart logic e.g. in getChannel, if such logic exists it should compute the channel name and set it once. The extension can read Options field values and be sure that there are no side effects. This is the approach we follow in options in the library APIs.

@yury-s how would setters work when the user has to pass in a class to the UsePlaywright annotation?  I think something may have gotten lost in my understanding when we moved away from factories.

@yury-s how would setters work when the user has to pass in a class to the UsePlaywright annotation? I think something may have gotten lost in my understanding when we moved away from factories.

That's a good point. I was thinking about something like:
    new Options().setHeadless(false).setBrowserName("firefox").setViewportSize(1024, 768);

but since we need a custom class for the options, it would be:
class MyOptions extends Options {
  public MyOptions() {
    setHeadless(false).setBrowserName("firefox").setViewportSize(1024, 768);
  }
}

which is to my taste no better than:
class MyOptions extends Options {
  public MyOptions() {
    headless = false;
    browserName = "firefox";
    viewportSize = new ViewportSize(1024, 768);
  }
}

I guess the setters make sense if we allow to specify options factory rather than custom Options class, i.e. something like:
@UsePlaywright(optionsFactory="com.microsoft.test.OptionsFactory#createHeadedFirefoxOptions")

this seems a bit too verbose to my taste but perhaps it's better than requiring users to inherit from Options every time. What do you think about these approaches?

@yury-s, I think it might be better if we went back to an OptionsFactory and did something like
public interface OptionsFactory {
  Options getOptions();
}

public class MyOptions implements OptionsFactory {
  @Override
  public Options getOptions() {
    return new Options().setHeadless(false).setBaseUrl("https://microsoft.com");
  }
}

```java
@UsePlaywright(MyOptions.class)
public class TestClass {
}

I think the interface clearly explains what is necessary for the user to provide.  Where as extending the Options class leaves a lot to interpretation and documentation.

I think the interface clearly explains what is necessary for the user to provide.

Agreed. Leet's start with @UsePlaywright(optionsFactory= MyOptionsFactory.class) then? We'll be able to add other ways to parametrize it in the future if we need to (e.g. passing custom options subclass).
We discussed this in the team meeting today and figured that since we don't have strong opinion at this point, we should start with something that would be easier to maintain and change (if needed) in the future based on the client feedback. From that perspective I think it'd be the safest to make all options fields private and have public getters/setters for those that we want to expose to the users. This way we'll have more flexibility to change implementation without breaking existing code. Does it make sense?

@yury-s that makes sense to me. However, in order to use the existing clone method, the fields have to be public. Or I can add the appropriate setAccessible(true) calls in the clone method and make the fields private. What do you prefer?

I'm worried that calling setAccessible(true) may cause exceptions is non-standard security configurations. We can also manually clone the options or even have a clone/copy method on it.

@yury-s added back OptionsFactory to define custom options

@yury-s updated tests to use local url


Cannot compile v0.12.25 on linux (Ubuntu 14.04).

app_1  | Compile Swift Module 'SSLService' (1 sources)
app_1  | /usr/include/openssl/bn.h:187:19: error: integer literal is too large to be represented in any integer type
app_1  | #define BN_MASK         (0xffffffffffffffffffffffffffffffffLL)
app_1  |                          ^
app_1  | /root/Kitura-Starter/Packages/SSLService-0.12.25/Sources/SSLService.swift:817:31: error: use of unresolved identifier 'SSL_CTRL_SET_ECDH_AUTO'
app_1  |                                 SSL_CTX_ctrl(context, SSL_CTRL_SET_ECDH_AUTO, 1, nil)
app_1  |                                                       ^~~~~~~~~~~~~~~~~~~~~~
app_1  | OpenSSL.SSL_CTRL_SET_READ_AHEAD:1:12: note: did you mean 'SSL_CTRL_SET_READ_AHEAD'?
app_1  | public var SSL_CTRL_SET_READ_AHEAD: Int32 { get }
app_1  |            ^
app_1  | OpenSSL.SSL_CTRL_SET_SRP_ARG:1:12: note: did you mean 'SSL_CTRL_SET_SRP_ARG'?
app_1  | public var SSL_CTRL_SET_SRP_ARG: Int32 { get }
app_1  |            ^
app_1  | :0: error: build had 1 command failures
app_1  | swift-build: error: exit(1): /root/swift-3.0.2-RELEASE-ubuntu14.04/usr/bin/swift-build-tool -f /root/Kitura-Starter/.build/debug.yaml
kiturastarter_app_1 exited with code 1
Ricardos-MacBook-Pro:Kitura-Starter olivieri$

Looks like we now custom flags to compile on linux: swift build -Xswiftc -DOPENSSL_TOO_OLD.
I will update the swift starter app on bluemix as well.

I updated Kitura-Starter, added the new compilation flags, updated docker-compose file, and tested the app on Bluemix. Buildpack was able to provision the app. I will merge the changes to the master branch (Kitura-Starter) once the build passes on Bluemix. Closing this issue since the issue was due to the need of passing custom compilation flags: swift build -Xswiftc -DOPENSSL_TOO_OLD.

This change will affect all of our sample apps. Maybe we should have tagged this new version of BlueSSLService library by increasing the major number?

This has broken everyone who uses BlueSSLService on Ubuntu 14.04, this includes all Kitura users.
Adding a compile flag is not the way to fix this.


Enhancement: Allow annotated discriminated unions in OpenAPI schema

Summary
I have a pydantic model that uses a list of discriminated unions. Because of the list I need to annotate the union with the discriminator. But then the schema generation throws an error that it can't map the type.
Basic Example
class Base(BaseModel):
    pass

class A(Base):
    type: Literal["a"] = "a"

class B(Base):
    type: Literal["b"] = "b"

MyUnion = Annotated[Union[A, B], Field(discriminator="type")]

class Test(BaseModel):
  entries: List[MyUnion] = []

If you now use Test as a parameter in a handler function and open for example the swagger documentation you get an error like

500: Parameter '' with type 'typing.Annotated[typing.Union[A, B], FieldInfo(default=PydanticUndefined, discriminator='type', extra={})]' could not be mapped to an Open API type. This can occur if a user-defined generic type is resolved as a parameter. If '' should not be documented as a parameter, annotate it using the Dependency function, e.g., : ... = Dependency(...).

Drawbacks and Impact
No response
Unresolved questions
No response

Hey, I tried to reproduce, can you look at this and tell me what to change to get it to fail please?
"""Minimal Starlite application."""
from __future__ import annotations

from typing import Annotated, Any, List, Literal, Union

from pydantic import BaseModel, Field
from starlite import Starlite, get

class Base(BaseModel):
    """A base model."""

class Foo(Base):
    """A Foo model."""

    type: Literal["foo"] = "foo"

class Bar(Base):
    """A Bar model."""

    type: Literal["bar"] = "bar"

AnnotatedUnion = Annotated[Union[Foo, Bar], Field(discriminator="type")]

class Test(BaseModel):
    """A Test model."""

    entries: List[AnnotatedUnion] = []

@get("/")
def hello_world(test: Test) -> dict[str, Any]:
    """Route Handler that outputs hello world."""
    return {"hello": "world"}

app = Starlite(route_handlers=[hello_world])

On starlite 1.51, python 3.11, I get:

from /schema/swagger

When I comment out from __future__ import annotations, I get the error.
I'm running Python 3.10.9 on top of the main (commit 23b84b67dd20d2836caf8e3b54797b2d15f42e7e) branch.
I seems that import is still needed in 3.10. Is starlite intentionally using the new behaviour?
Grepping through the code it is used alot, but I can't find any mention of it in the documentation.
The future import is very easy to miss. Is it possible to fix this when the user code does not do the import?

Oh - you're on main, OK that changes things. There were some pretty big changes to openapi internals for v2 which are in main and not in 1.51.
I have reproduced, thanks for the extra info.

The future import is very easy to miss. Is it possible to fix this when the user code does not do the import?

It should work either way - I just use it without thinking.

@NomAnor - PR up for this, which boiled down to "data" models with an annotated attribute value not having that annotated type unwrapped before the schema was being generated for the attribute.
The reason that the issue occurred without __future__.annotations and not with, is because when __future__.annotations were invoked, we pass that annotation through to typing_extensions.get_type_hints() which was unwrapping those for us. That inconsistency is not ideal, so will address that in another PR.
@hadware - v1 signature parsing with forward-referenced annotations is flaky at best - but if as you say it was working before this is worthy of its own tracking issue. While the outcome might seem similar to the OP, there is a difference as OPs issue originated out of us recursing into the data model to produce a schema for its attributes. Also, OPs issue is specifically on main branch while yours is on the v1.51 branch.

Alright, i'm back: on starlite 2.0.0alpha2, I tried running
starlite schema typescript

And i got the starlite.exceptions.http_exceptions.ImproperlyConfiguredException: 500: Parameter '' with type ... could not be mapped to an Open API type. .... error again (even though the starlite app can run perfectly fine). I'm mentioning it to make sure that your fix also works with the CLI.

Ok, I found out that it was because i had forgotten to put from __future__ import annotations in some file.
However, I still have some issues:
Let's take this example:
"""Minimal Starlite application."""
from typing import Annotated, Literal

import uvicorn
from pydantic import BaseModel, Field
from starlite import Starlite, get

class Base(BaseModel):
    """A base model."""

class Foo(Base):
    """A Foo model."""

    type: Literal["foo"] = "foo"
    a: int

class Bar(Base):
    """A Bar model."""

    type: Literal["bar"] = "bar"
    b: float

AnnotatedUnion = Annotated[Foo | Bar, Field(discriminator="type")]

@get("/")
def hello_world(test: AnnotatedUnion, var: int) -> str:
    """Route Handler that outputs hello world."""
    return "hello"

app = Starlite(route_handlers=[hello_world])

if __name__ == '__main__':
    uvicorn.run("fake_app:app", reload=True)

Running starlite --app fake_app:app schema typescript will produce the following error:
ValueError: cannot specify `Annotated` and value `Field`s together for 'test'

However, if I add the infamous from __future__ import annotations at the beginning of the file, running the same command will output:
TypeError: received an unexpected openapi type: None

Something that I noticed: when I run fake_app.py and reach for the swagger/redoc webpage, all the Schema (here, Foo and Bar) have the right fields, but their types are all any instead of the right type.

Thanks for providing more info @hadware

Ok, I found out that it was because i had forgotten to put from future import annotations in some file.

Which file? You should not need to include this directive for anything to work properly.

TypeError: received an unexpected openapi type: None

I'm working on this right now, as I came across it while trying to reproduce your error from here. I believe this is an issue with the openapi generator not using the return annotation that we have resolved from forward references, and instead using the return annotation from inspect(handler).signature.return_annotation which is a string if __future__.annotations is invoked. My in-browser testing is working, but unfortunately it broke a lot of tests.

ValueError: cannot specify Annotated and value Fields together for 'test'

This, I have no idea. It only happens with the typescript generator, i.e., nothing runtime?

Something that I noticed: when I run fake_app.py and reach for the swagger/redoc webpage, all the schemas (here, Foo and Bar) have the right fields, but their types are all any instead of the right type.

I'd say this is a different issue but won't be sure until all this other stuff is resolved. Feel free to open a separate issue to track it.

Tracking the issue with the return annotation here: https://github.com/starlite-api/starlite/issues/1409

Thanks for providing more info @hadware

Ok, I found out that it was because i had forgotten to put from future import annotations in some file.

Which file? You should not need to include this directive for anything to work properly.

Well, i'd need to test that out, but for it to work i needed to put it in some of the files that contain Controller classes. Note that:

if i don't use from __future__ import annotations at all, I get the ValueError: cannot specify Annotated and value Fields together for 'test' error at app startup time
if i fail to use it on some files, I get the starlite.exceptions.http_exceptions.ImproperlyConfiguredException: 500: Parameter '' with type 'typing.Annotated[...]' could not be mapped to an Open API type. .... when accessing any of the /schema/ pages.

ValueError: cannot specify Annotated and value Fields together for 'test'

This, I have no idea. It only happens with the typescript generator, i.e., nothing runtime?

As per previous answer, I get also get it at app startup time, without using the typescript schema command. I wish I could pinpoint the error to something more precise, but my app's code is already quite lengthy, and the error isn't super helpful. I'll try building a minimal example by investigating with the dbg.
Also, noted regarding the error in the documentations. I'll make another issue for this.

No worries, if you can get an MCVE going for any of these things, please open a new issue report.


gyro and accel chain full scale values match configurable values

Fixes #44 , but please confirm that the issue is real.

Also an issue with accel chain full scale

added a fix: in the beginning :D


Feature/deployment file creation

Rules
Make sure that your pull request contains the following:

[x] Good branch naming convention (e.g. feature/ or doc/ prefixes)
[x] Relevant Issue related to the PR
[ ] Add the reviewer
[x] Add the fields to the pull request (e.g. project, labels)

Describe the change (new feature or documentation)
Déploiement continue sur k8s implémenter avec succès.

merci

accomplie

durant


pipeline: Don't filter out local repository as stale repo

This commit fixes the bug introduced in
2ff8bb142205b15fcf8e43262515bd70cca5e303 which incorrectly filters out
"local/local" repository when filtering stale repositories.

Merci ! ^^


[FEAT] Slash Command Permissions

See the draft PR here: https://github.com/discord/discord-api-docs/pull/2737
No need to implement until the spec is finalised, but it could be good to get a head start.

Since it was just implemented to the Discord API, will this be worked on now?

Since it was just implemented to the Discord API, will this be worked on now?

Since nobody has picked it up, I plan on implementing it myself soon.

How's the progress coming on this update?


Make the title bar of the Powertoys settings window dark in dark mode

The title bar of the Powertoys settings window is still in light mode even the OS and the app itself is in dark mode.
Expected:
The title bar should be in dark mode.
If you'd like to see this feature implemented, add a 👍 reaction to this post.

We can't do this right now because of the limitation of XAML Islands.

Duplicate of #1547


Markdown parsing error for Chinese Text

If we break the line for each sentence, then the lib will add a white space after the sentence period, which should not happen for Chinese context, As the mark itself contains enough spaces by designed. However many people will break a line for each sentence in editor to make it more readable, just like what we do in English.
For example, there is some dummy text, each sentence a line, just to simulate how people usually type:
工拉根又这证性建干式进九离，强无北原得F书雨方适。
片真我即积证导主打，总片性样千斗下公观，地3指辰文露茅。
观前全听马周速它状张，题半素根话质难所压，复主L器强十你折。
提支多果做下斯化精王照器更，办且间每员两虚雨包众。
科称观者入原切何空机，转重干流广济将土生，林众1连红四学取。
率是非的律热权构手反，运活整个全代给把型小，速土V护五属积准。
增便养王太以参么，于非七本回导，代技7完战文。
京族石派置技动战何，系战压反叫少应，度声2虚时起电。
术听四想在信个基取，然去步律太转按都，究豆该吩以杨军。

And you ll get
工拉根又这证性建干式进九离，强无北原得F书雨方适。 片真我即积证导主打，总片性样千斗下公观，地3指辰文露茅。 观前全听马周速它状张，题半素根话质难所压，复主L器强十你折。 提支多果做下斯化精王照器更，办且间每员两虚雨包众。 科称观者入原切何空机，转重干流广济将土生，林众1连红四学取。 率是非的律热权构手反，运活整个全代给把型小，速土V护五属积准。 增便养王太以参么，于非七本回导，代技7完战文。 京族石派置技动战何，系战压反叫少应，度声2虚时起电。 术听四想在信个基取，然去步律太转按都，究豆该吩以杨军。
Maybe it is because Markdown is designed for Latin-characters.  We always add space between each words in this context. However that will not work for East Asia Languages
How about just recognize the symbols "。" and "，", they are period and comma in Chinese-style.

Hello there,
Sorry for the very late answer. For sure, Redcarpet doesn't deal well with non-ASCII stuff in general but I'm not sure that's something we should enable or support out of box.
Maybe in this case, you can rely on a custom render object to make things work as you wish. Something along these lines:
class CustomRender < Redcarpet::Render::HTML
  def preprocess(document)
    document.lines.map { |line|
      line.end_with?("。\n") ? line.rstrip : line
    }.join("")
  end
end

I'm giving this a close ; thanks.


[BUG] Azure Flexible Postgres Virtual Endpoints are not fully deleted

API Spec link
none publically available
API Spec version
2023-06-01-preview
Describe the bug
Deleting a virtual endpoint will simply clears the metadata for the endpoint. Subsequent GET operations will still return the endpoint, even though its metadata is now blank.
Strangely, through the UI you can create a new endpoint with this existing name and it works, but attempting to do this via the API fails. I suspect an update operation is being performed in the background when this scenario occurs.
Expected behavior
I would expect the DELETE operation to delete the resource entirely
Actual behavior
The deleted resource remains in an empty state.
Reproduction Steps

Create a flexible server with one replica
Create a virtual endpoint
Delete the virtual endpoint
Query the deleted virtual endpoint, observe a 200 response with properties set to an empty object.

Environment
No response

I seem to have just caught this API on a bad day, it appears to be functioning correctly now.


Using runtimeChunk optimization causes compile failure

Bug description
Since instant-mocha overrides output.filename to a constant "main.js", an error is thrown by Webpack when using a separate runtime chunk, i.e. with optimization.runtimeChunk = "single":
Error: Conflict: Multiple chunks emit assets to the same filename main.js (chunks main and runtime)

Since it's already overriding entries and other configurations, I would propose runtimeChunk also be unset as it is irrelevant for mocha tests.
Reproduction
https://github.com/home-assistant/frontend/actions/runs/4648380830/jobs/8226042521
Node.js package manager
yarn
Environment
Node 16, Webpack 5.72.1, latest mocha and instant-mocha

Can you contribute a fix?

[X] I’m interested in opening a pull request for this issue.

:tada: This issue has been resolved in version 1.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Developer Journey Level 5

Level 5: Internet Computer astronaut
5.1 Developing an encrypted notes dapp with vetKeys:
- What is vetKeys?
- Crypto primitives.
- Public key encryption (PKE).
- Identity based encryption (IBE).
- vetKD.
- BLS signatures.
- vetKeys example dapp.
- Prerequisites.
- Closing the encrypted-notes-dapp-vetkd example.
- Setting up the project.
- Reviewing the project's files.
- Starting a local replica.
- Deploying the Internet Identity canister.
- Deploying the vetKD system API canister.
- Deploying the encrypted notes backend canister.
- Updating the generated canister interface bindings.
- Deploying the frontend canister.
- Starting the local development server.
- Using the dapp.
5.2 Developing a dapp using the IC Ethereum integration:
- Deploying the ETH starter project.
- Project technology stack.
- Prerequisites.
- Downloading the starter project’s files.
- Exploring the project's files.
- Creating a testnet wallet.
- Obtaining Sepolia testnet tokens.
- Deploying the project.
- Using the dapp.
- Going further.
- Resources.
5.3 Creating a decentralized exchange (DEX):
- Decentralized exchange architecture.
- Depositing ICP.
- Depositing other tokens.
- Placing orders.
- Withdrawing funds.
- Creating a decentralized exchange.
- Prerequisites.
- Cloning the defi example.
- Reviewing the project's files.
- Starting a local replica.
- Deploying the project.
- Using the decentralized exchange user interface.
5.4 Creating NFTs on the IC:
- How do NFTs work?
- NFT standards.
- DIP721.
- ICRC-7.
- Creating and deploying an NFT.
- Prerequisites.
- Cloning the dip-721-nft-container example.
- Confirm your local identity.
- Reviewing the project's files.
- Starting a local replica.
- Deploying the project’s canister.
- Minting an NFT.
- Transferring an NFT.
- Querying the balance of NFTs for your user principal.
- Querying the maximum amount of NFTs that can be minted.
- Querying the NFT”s metadata.
- Querying token IDs owned by your user.
- Querying the NFT’s information.
- Querying the owner of a specific token ID.
- Resources.
5.5 Launching an SNS:
- How an SNS works.
- SNS asset canisters.
- Decentralized swaps.
- SNS tokenomics and rewards.
- Planning an SNS launch.
- Stages of an SNS launch.
- SNS launch checklist.
- Creating a sample SNS.
- Prerequisites.
- Cloning the ins-testing repo.
- Setting up the local ins-testing repo.
- Running a basic SNS scenario.
- Testing your own app’s SNS decentralization.
- Testing the operation of the dapp under SNS control locally.
- Testing your SNS using SNS testflight.
- How to launch your SNS on the mainnet.
- Managing an SNS once launched.
- Resources.
5.6 Next steps:
- Developer grants.
- Developer bounties.
- Hackathons.
- ICP.Hubs.
- Contributing to the IC.
- Developer resources.

I started reviewing the SNS section, but I have one fundamental high-level question: What is the purpose of this documentation and how does it compare with the rest of the SNS developer documentation? My main worry is that we seem to replicate a lot of the information, which is always very hard to keep up to date with new features. The SNS dev docs should already be a guide for devs, starting with the paramters, going through testing, then the launch, etc. We also seem to include a lot of details here (e.g., where SNSs wasms are stored etc). Is this really needed here? Who is the audience? If it is similar to the SNS dev docs, would it maybe be an option to write more of the journey here but then link to the existing pages for more details rather than duplicating them?

@LaraAS This series is designed to be 'stand-alone' from the rest of the documentation, such that a developer can start the Developer Journey, follow all tutorials in it, and walk away with a comprehensive understanding of developing on the IC. This series is also written in a format that will translate well into video, since each tutorial in the Developer Journey will have a video walkthrough to accompany it.

@LaraAS This series is designed to be 'stand-alone' from the rest of the documentation, such that a developer can start the Developer Journey, follow all tutorials in it, and walk away with a comprehensive understanding of developing on the IC. This series is also written in a format that will translate well into video, since each tutorial in the Developer Journey will have a video walkthrough to accompany it.

Thanks for the quick answer @jessiemongeon1! I agree with the general goal, but am still a bit worried about the fact that we almost copy-paste what we have elsewhere.. I guess my two main questions are:

I am worried about ownership and making sure that it will be kept up to date. Will your team own this? It is already very hard for us to keep good documentation up to date and I think with the SNS we have just reached a status that is acceptable.  Adding more copies of the same concepts will certainly make this harder.

If this is a starter tutorial, I wonder: could we maybe get away with less details? I wonder if readers might be a bit overwhelmed by the details if it includes architecture, and canister, and how to test, and how to deploy an SNS..
If anyone would like to truly launch an SNS, wouldn't it be justified that they need to put in more thought and maybe read through more documentation than just a tutorial? I think having a comprehensive understanding could also be just 1) understanding what an SNS is and 2) understanding how to start or maybe play around with it on a testnet... Could this maybe cover less than the full explanation and story of how to launch an SNS?
If I imagine this as a tutorial video, I wonder for example whether as a developer I have to know where the SNS wasm modules are stored exactly.. I wonder if the value would be even more if we focused on fewer details but go deeper for those?

Also happy to have a quick conversation about this as I am certainly missing some context.

The SNS tutorial has been removed per my conversation with @LaraAS


Clarifications for "Zowe API Mediation Layer Security" page

Description
This issue captures few places on "Zowe API Mediation Layer Security" page which needs clarifications. Exact fixes should be consulted with the team.
Pages to Update
Zowe API Mediation Layer Security
Expected behavior

https://docs.zowe.org/stable/extend/extend-apiml/api-mediation-security#authentication

"TLS client certificates" section states that "Certificates are used for service-only requests".
However /gateway/login endpoint is also able to process certificates and it is for clients.
Comment from @balhar-jakub : "It should probably be written differently. This means that the TLS certificates set for API ML itself will be used in this way".

https://docs.zowe.org/stable/extend/extend-apiml/api-mediation-security#zowe-api-ml-services
Section "Authentication and Authorization Service (AAS)" states that "The API ML uses z/OSMF API for authentication."
Direct SAF authentic authentication is also supported but not mentioned here.

Suggestion from @balhar-jakub : "It probably should be mentioned at least as an option".

https://docs.zowe.org/stable/extend/extend-apiml/api-mediation-security#authentication-for-api-ml-services
There is a common sentence in sections "Authentication for API ML services" -> "API Gateway" and "Authentication for API ML services" -> "Discovery Service":
Diagnostic endpoints https://{gatewayUrl}:{gatewayPort}/application/** in API Gateway/Discovery Service are protected
by basic authentication or Zowe JWT token.

In addition to that x509 authentication is also supported.

SAF authentication has been addressed: https://docs.zowe.org/stable/extend/extend-apiml/authentication-for-apiml-services/#saf-authentication-provider


Check in with NFC

Motivation
QR codes can be somewhat of a hassle to scan. Sometimes the process works well, but sometimes the camera doesn’t focus and one needs multiple seconds for a scan. Of course, this is counterproductive at an entrance where guests need to move quickly, like in public transport. In this example, there would need to be multiple codes spread throughout the vehicle so that each passanger could check in from their seat.
Additionally, placing the phone ~15 cm in front of a QR code is a somewhat odd physical motion, especially if the code is placed in an inconvenient location (or printed so big that you need to step away from it).
Suggested improvement
Many smartphones nowadays come with NFC chips. The venue could provide a check-in NFC beacon that guests could scan with their NFC-capable mobile devices, in addition to the print-out QR codes.
To help spread this convenient technology, CWA could offer cheap NFC beacon stickers to venues which would then encode their check-in data into the beacon using their mobile, NFC-capable devices (more data-saving compared to encoding the data in the factory).

Internal Tracking ID: EXPOSUREAPP-5922

Using an NFC tag sounds great! I like the idea!
Should the NFC tag be used in conjunction with the QR-Codes?

Is an app using ENF able to use NFC?

@jucktnich
Good question, Apples Developer Addendum doesn't talk about it at all 🤷🏻♂
So this would probably have to be clarified with Apple & Google.

@KST1810 Both options should be provided by the venue.
@jucktnich @Ein-Tim If nothing speaks against it I don’t see why not.

@fynngodau Thanks for this very interesting idea.

Internal Tracking ID: EXPOSUREAPP-5922

The luca app has now the problem that the venues are posting there Qr-Codes via social media, etc.
This makes it possible that everyone can check in from everywhere to an event.
This problematic is described in https://github.com/corona-warn-app/cwa-documentation/blob/master/event_registration.md#targeting-specific-venues for the upcoming CWA feature.
The use of NFC chips would reduce and IHMO nearly mitigate the risk of this attack, since you need physical access to NFC chips to use them.
Yes it is possible to copy NFC chips, but it isn't as easy as posting a picture of a QR-Code on social media.

@Ein-Tim That's a great thought. However, my personal smartphone is one of those not equipped with an NFC reader, which is a use case that has to be considered. Hence, I advocate for the availability of both options.

See #476 - I simply tried it. Extracted the URL from teh QR code, wrote it to a standard NFC 216 tag and it Just Works(tm). I used the NFC Tools app on my iPhone to write the NDEF and write-protect the tag to avoid someone rewriting the tag.

Did you tried to read the tag without the nfc app installed? I think it won't work without the app right?

Yes. The NFC App is not needed. The CWA registers an URL handler and iOS doesn't really care where the URL comes from, be it from the camera or the NFC subsystem. For background NFC tag reading you need an iPhone XS or newer. See https://developer.apple.com/documentation/corenfc/adding_support_for_background_tag_reading

Ok, seems to work without nfc app. I heard about, that you need to have an app installed, which only has to say "I'm an nfc app", to enable the system nfc reader (I think cause of legal reasons)

I can only comment on iOS/iPhone. There it Just Works :) When your iphone is at least XS or newer. Woth older iPhones you need to add support in the app. Whcih I think would be confusing for the CWA, as it adds more complexity for a feature that is rather niche. I mainly wanted to see if it works and it does. So it's a little hack for those that like it, nothing more, I guess.

The comment above was just iOS 😉

@jwildeboer Thanks for the demo! We will forward the information to the internal ticket.

Corona-Warn-App Open Source Team

Some more technical stuff: I simply used the normal NDEF for URLs, nothing special. It was just one of those "Will it work? Let's try!" moments. ATM the NFC tag is open, so anyone with an NFC app could overwrite the NDEF with a nefarious URL. That's why I don't think it's a "good" thing to do. You can enable write protect on the NFC tag, if you know how but that goes beyond "normal" user knowledge IMHO. So please treat this as a FYI, not as a feature request. There are a lot of risks here.

For this to work on Android, it seems we need to add an NFC deeplink intent to the app manifest. Could this be done? Even if it isn't an official feature, it would make app behaviour consistent between Android and iOS.
See https://stackoverflow.com/questions/41360527/deep-link-into-app-specific-activity-by-nfc-tag

NFC is mentioned in several places in the EU document Guidelines on the use of Digital Covid Certificates in traveller and online booking scenarios.
According to https://github.com/corona-warn-app/cwa-documentation/issues/780#issuecomment-998553495 currently only Chapter 3 is implemented in CWA i.e. the booking verification process, not NFC.

FYI: https://github.com/corona-warn-app/cwa-app-android/pull/4719

PR https://github.com/corona-warn-app/cwa-app-android/pull/4719 has been declined now.


handle both /modules/addon and /addon in single tree

Closes #4.
This is a naïve fix for #4. It works, but probably fails to handle any edge cases as I didn't quite understand what all the code was doing.

merging now, and I'll use this as the base to make my new optimizations.


Add telemetry services to wallaby deployment

Depends-On: https://github.com/openstack-k8s-operators/openstack-operator/pull/821

recheck

recheck

recheck Depends-On horizon fix


Qingwei/flow

I've published

Coverage remained the same at 91.132% when pulling b92314be40808d9254e5575b7dd7e0423248ad3a on qingweibinary:qingwei/flow into d65cb90304aacdb22307f63f11d3d4ff58398d96 on binary-com:master.

Coverage remained the same at 91.132% when pulling 8bc4e3dc39f53238011a7c3a5979d626e01b0a18 on qingweibinary:qingwei/flow into d65cb90304aacdb22307f63f11d3d4ff58398d96 on binary-com:master.


Dialog doesn't move up with soft keyboard when Android 10 Edge-To-Edge is enabled

Please consider making a Pull Request if you are capable of doing so.
Library Version:
Latest
Affected Device(s):
Google Pixel 3 with Android 10.0
Describe the Bug:
Dialog doesn't move up when soft keyboard is show. This occurs when Android 10 Edge-To-Edge mode has been enabled.
To Reproduce:
1.Follow this - https://medium.com/androiddevelopers/gesture-navigation-going-edge-to-edge-812f62e4e83e
2. Make a dialog with input
Expected Behavior:
Dialog moves up

Even using android:windowSoftInputMode="adjustPan"> in the manifest?


Unable to auto scroll to top of exapanded content

I'm having some problems trying to get an auto scroll to top once a content panel is opened. Is there any work around for this?

@trevorltw why you closed this  issue? Did you find a solution? if yes, can you post it here?


Incorrect line chart rendering in Chrome with min and max axis values set

Expected Behavior
Line chart should not wrap around the canvas.
Current Behavior
Line chart shows 2 lines when there should be only 1.
The issue is not present in Safari or Firefox.
Steps to Reproduce (for bugs)
https://codepen.io/lagnat/pen/jdoJxN
Environment
Mac OS Mojave
Safari 12.0.3
Chrome 72.0.3626.109
ChartJS 2.7.3

This was fixed in #5937. Please try master build.

Works in master.  Thanks for the quick reply.


using ui5 inside the flpSandboxMockServer.html

My opa tests are using iframes and the flpSandboxMockServer.html. I can run them with karma & karma-openui5 with an absolute reference to ui5 cdn inside the html file.
Is it somehow possible to route the ui5 to use  a relative path inside the mock server file?

Did you already look into the proxies that can be configured in karma?
See: https://karma-runner.github.io/2.0/config/configuration-file.html

Hi @CCFenner,
I suppose the question is answered here with the comment from @matz3. Thus I try to close this issue report and feel free to open it again.
Best regards,
Jiawei
Dispatcher


Broadlink Spmini2 not working in 0.70.b02 but work on 0.70.b01

Home Assistant release with the issue:
0.70.b02
**Last working Home Assistant release (if known):
0.70.b01
Operating environment (Hass.io/Docker/Windows/etc.):
raspbian and HomeAssistant 0.70.b02
Component/platform:
Broadlink spmini2
Description of problem:
In HA 0.70.b02 not working no more switchs Spmini2 (broadlink) they working good on HA 0.70.b01 so a new bug is introduced in the new Beta. Please fix it before stable version is released
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:
switch spmini2 not turn off or on, not working status switch

The Broadlink component has not changed for 27 days.
You need to provide more info about the issue.
Traceback?


Need Documenetation Guide On How To Build Rust On Raspberry Pi With armv7-unknown-linux-musleabihf Platform

Crate name
armv7-unknown-linux-musleabihf
Build failure link
armv7-unknown-linux-musleabihf
Additional details
Hi Rust Doc Team,
Good day.
I've have some errors in installing rust for Raspberry Pi using armv7-unknown-linux-musleabihf platform, which is not supported.
Could provide the full documentation so we could build on it successfully?
Similar Issue:

https://github.com/rust-lang/rustup/issues/1665#issuecomment-1695156843

Thank you.

Hello @jerrychong25 ,
this repository is about docs.rs, which is hosting the documentation for rust crates, which is generated by rustdoc.
For help installing the rust toolchain on any platform you can refer to the community, for example our forum, or the chat platforms. When you suspect a bug in rustup, then the rustup repository you already linked above is the right place.

Thanks @syphar .
Managed to resolve this issue via Rust Users Forum.
References:

https://users.rust-lang.org/t/need-documenetation-guide-on-how-to-build-rust-on-raspberry-pi-with-armv7-unknown-linux-musleabihf-platform/99139/3


Introduce first "pure Spring" integration test, without Cargo (FINERACT-764)

The new SpringBootLoginTest is an illustration of what we could do more of.
NOTE: Use only https://:8443 instead of http://:7070 (redirects don't work)
see FINERACT-764

@ptuomola @vidakovic how do you like this? Where could & should we take this to next?

@ptuomola @vidakovic I'm undecided / unclear where we should take this to.. thoughts? I guess we could... EITHER (probably best AFTER #1465 will have gone in):
a) move towards entirely ditching the Cargo plugin and not start the WAR but just use this new style to fire up Spring "in-process" for (all) ITs
b) forget about this approach and abandon this PR and just close FINERACT-764 (I don't actually really mind either)
c) have some mixed form - keep testing the WAR with the Cargo plugin for some basic tests, but move other ITs to this style.

BTW #1422 has some related thoughts re. our testing strategy, I'll comment over there as well.

@ptuomola @vidakovic I'm undecided / unclear where we should take this to.. thoughts? I guess we could... EITHER (probably best AFTER #1465 will have gone in):
a) move towards entirely ditching the Cargo plugin and not start the WAR but just use this new style to fire up Spring "in-process" for (all) ITs

a) I'd prefer to go that way. The Cargo plugin requires the WAR artifact and is in the end an external process... just to say: a lot of moving parts to take care of. During a normal build it maybe doesn't make much of a difference for devs, but if you execute e. g. "./gradlew :integration-tests:test" then Cargo doesn't shutdown for some reason and leaves a zombie process (just found that out yesterday). And I have a hunch that Spring tests would run faster.

b) forget about this approach and abandon this PR and just close FINERACT-764 (I don't actually really mind either)
c) have some mixed form - keep testing the WAR with the Cargo plugin for some basic tests, but move other ITs to this style.

c) Realistically, we will probably take a moment or two to refactor all integration tests. So for a while we would be probably running in a "hybrid" mode. Maybe we could do this migration together with moving towards Fineract Client usage.

I support ditching cargo, we could save us a lot of time running tests.

It makes more sense to pick this one up only AFTER #1165 is merged.

Also, I noticed ./gradlew integrationTest is no longer a thing, I don't know since when that task was removed, I just think you might want to update the readme on how to run tests now.

Also, I noticed ./gradlew integrationTest is no longer a thing and the readme was not updated to that regards, I don't know since when that task was removed, I just think you might want to update the readme on how to run tests now.

Also, I noticed ./gradlew integrationTest is no longer a thing and the readme was not updated to that regards, I don't know since when that task was removed, I just think you might want to update the readme on how to run tests now.

That's since #1465; @vidakovic do you want to fix up the README? @xurror you could just raise a PR for it yourself as well? ;-)


An empty map and an empty case class it tests

Adding a couple of extra tests to ensure some edge cases are properly handled.

closed by https://github.com/zio/zio-dynamodb/pull/538


Guards: Provide event handler context

Feature
When an event is captured by multiple event handlers, such as by having a @On('interactionCreate') decorator, a new context will be created and sent to the various receiving parties.
While this is not bad or wrong it itself, it can cause an issue with global guards: If your guard replies or interacts to the interaction, as the guard will be executed multiple times, it can cause the message to be sent multiple times, or the second+ guard to trigger a discord error "Unknown interaction".
Note that even in the following code, as both interactions are technically a new context, interaction.replied is false in both of them.

Ideal solution or implementation

Provide the execution context within NecordExecutionContext.getInfo(), with the entity on which the decorator is applied.
This will allow us to avoid answering or replying to the guard if the execution is not on an ApplicationCommand, but on the generic InteractionCreate handler instead for example.
Provide the same discord context within the different components: The interaction itself should be shared, making it so interaction.replied is properly populated.
Provide the index of the interaction within the necord context, so we know to only block it once for example.

Alternative solutions or implementations
No response
Other context
No response

Fixed by 4.2.0


Merge Apis::PlanX::Client and Apis::PlanX::Query

Description of change
I originally created this based on the pattern we've used with the other APIs, but I don't think there's actually much value in splitting this into two classes. It's overcomplicated and isn't clear where the responsibilities of one end and the other begins.
At least currently, an instance of Query is only ever used to make a single query — so there can't be any benefit of storing an instance of Client to reuse it, we'll always have to reinstantiate the Client object.
(Using a module therefore might actually be more resource-efficient, because AIUI it won't be instantiated each time.)
Story Link
https://link-to-issue
Decisions [OPTIONAL]
If you had to make any decisions between different ways of doing things, what where they and why?
Known issues [OPTIONAL]
Things you know need further follow on work but aren't in scope of this issue

issue1
issue2

Further testing or sign off required [OPTIONAL]
e.g.

product manager to sign off view templates

Would you mind adding a spec to check if there is an error with saving. I think similar has been done here,
https://github.com/unboxed/bops/blob/main/spec/services/constraints_creation_service_spec.rb#L110-L131


[DOCS] Repo Rename -> Readme adjustment

Description
due to the renaming of the repository the documentation in the readme has to be changed form hacktoberfest-practice to open-source-practive.
Screenshots

assign me this issue

assign me this issue

I assigned you @vishesh-hue


Use double-sided material for RayCast (3.x)

3.x version of https://github.com/godotengine/godot/pull/49724. Follow-up to https://github.com/godotengine/godot/pull/49726.
This makes RayCasts visible if the camera is fully inside one (e.g. a RayCast parented to the current Camera).

Thanks!


Add support for defining scans using scanspec

Adds support for defining the scan axes as scanspecs instead of having to create numpy arrays from scratch. This makes it easier to write arbitrary scan rather than just rotations.
The biggest change to existing code was to replace scan_range with a dictionary that could have many axes rather than a numpy array of the points for just one axis. This hopefully hasn't broken any pre-existing code.
Note there are some places in the code where some further discussion of how to handle them with multiple axes would be good.
I have also added an example file for how a gridscan might be created and some tests for any changes I have made.

Unfortunately scanspec is Python >3.7 does nexgen need to maintain Python 3.6 support? I can modify the code to not use scanspec if you're running 3.6?

After discussion with @noemifrisina it was decided we could remove 3.6 support. Have made a ticket to do so at https://github.com/dials/nexgen/issues/44

Closing in favour of:

https://github.com/dials/nexgen/pull/58
https://github.com/dials/nexgen/pull/54


KiCost is not finding some parts

Issue / Problem report

Add the KiCost version. Type kicost --version at terminal.

KiCost v.1.1.4

Write the command used to call KiCost (or the graphical interface configuration);

[cbrake@mars is-interface]$ kicost -i is-interface.xml
No information found for parts 'D1-D3,D14-D17' query `{'mpn': {'manufacturer': 'Diodes Inc', 'part': 'US1M-13-F'}}`
No information found for parts 'PS1' query `{'mpn': {'manufacturer': 'Mean Well', 'part': 'IRM-30-12'}}`
No information found for parts 'C4' query `{'mpn': {'manufacturer': 'TDK Corporation', 'part': 'B32672P4155K000'}}`
No information found for parts 'R7-R12' query `{'mpn': {'manufacturer': 'Stackpole Electronics', 'part': 'JW60ZT0R00'}}`
No information found for parts 'J2' query `{'mpn': {'manufacturer': 'TE', 'part': '1-744048-0'}}`
No information found for parts 'F1' query `{'mpn': {'manufacturer': 'Bel Fuse', 'part': '56200001009'}}`
No information found for parts 'D4-D6,D18-D20' query `{'mpn': {'manufacturer': 'Diodes Incorporated', 'part': '1N4148WS-7-F'}}`
No information found for parts 'Q1-Q3' query `{'mpn': {'manufacturer': 'Diodes Inc.', 'part': 'FMMT734TA'}}`
No information found for parts 'R5,R6,R20' query `{'mpn': {'manufacturer': 'Vishay Dale', 'part': 'CRCW060347K0FKEAC'}}`
No information found for parts 'R22-R24' query `{'mpn': {'manufacturer': 'Vishay Dale', 'part': 'CRCW060313K0FKEAC'}}`

One BoM to reproduce the error (with the EDA version).

is-interface.zip
Feature / Enhancement request
I'm puzzled why parts like B32672P4155K000 are not found at digikey/mouser, where a search at those sites finds the parts:
https://www.mouser.com/ProductDetail/EPCOS-TDK/B32672P4155K000/?qs=%2Fha2pyFadujue6vbtQaeYPj6jk5kCLgId7Mk00UFarJVK10yhKieZQ%3D%3D
Appreciate any thoughts as to what I'm doing wrong.

Here is what the spreadsheet looks like:

Here is what the spreadsheet looks like:

Possible remove de manufacture field it use kicost --ignore_field manf.
It is given, KiCost try to match both, manf and manf#, and sometimes the first have typing errors or just different spelling on server answer.

Possible remove de manufacture field it use kicost --ignore_field manf.
It is given, KiCost try to match both, manf and manf#, and sometimes the first have typing errors or just different spelling on server answer.

That helped a lot.

It is still not finding 1-744048-0, which is available on mouser and digikey:
https://www.mouser.com/ProductDetail/TE-Connectivity-AMP/1-1744048-0/?qs=%2Fha2pyFadujJMp3AMHUiHuiMT2R%2FLcQVUHEiIbFC1iKB0%252BmAgyihBw%3D%3D
https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-1744048-0/4730081?s=N4IgTCBcDaIIwFoDsAWFAGFAOB6QF0BfIA
Any thoughts what might be going on there?

That helped a lot.

It is still not finding 1-744048-0, which is available on mouser and digikey:
https://www.mouser.com/ProductDetail/TE-Connectivity-AMP/1-1744048-0/?qs=%2Fha2pyFadujJMp3AMHUiHuiMT2R%2FLcQVUHEiIbFC1iKB0%252BmAgyihBw%3D%3D
https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-1744048-0/4730081?s=N4IgTCBcDaIIwFoDsAWFAGFAOB6QF0BfIA
Any thoughts what might be going on there?

"1-1744048-0" could be a too generic part name and not recognized into the API system.
For those disambiguation case add the specific stock number on each part using "digikey#"  and "mouser#" fields (and keep the "manf#"/"MPN" field) on KiCad (or other EDA that are you using).

"1-1744048-0" could be a too generic part name and not recognized into the API system.
For those disambiguation case add the specific stock number on each part using "digikey#"  and "mouser#" fields (and keep the "manf#"/"MPN" field) on KiCad (or other EDA that are you using).

Got it -- Thanks for your help!

Got it -- Thanks for your help!


fix: use a stoppable interface for processor

Since not every processor is stoppable.

Should we ask every processor to implement stoppable method. If there is nothing to stop, just return nil?

Should we ask every processor to implement stoppable method. If there is nothing to stop, just return nil?

This is to avoid that, so that if nothing to stop, then no need to implement it.

Should we ask every processor to implement stoppable method. If there is nothing to stop, just return nil?

This is to avoid that, so that if nothing to stop, then no need to implement it.

Personally, it is better to force users to implement a stop method in case they forget it, and return nil is kind of trivial. That's my two cents. Let's see what other people thinks about it.

I'd like to see the "stop" logic handled outside of the handler. We pass in processors anyway. They can be stopped outside as well.
See: https://github.com/abcxyz/access-on-demand/pull/7#discussion_r1189215572 We ended up remove the "stop" logic from the handler.

I'd like to see the "stop" logic handled outside of the handler. We pass in processors anyway. They can be stopped outside as well.
See: abcxyz/access-on-demand#7 (comment) We ended up remove the "stop" logic from the handler.

Created a follow up.


[KED-1271] Add a Tensorflow Model Dataset with versioning

Description
… and associated tests
used similar dummy models to TF's own test cases (e.g. 1 hidden layer, 3 nodes)
added TensorFlow2.X to requirements.txt. TF1 not supported because of differences in API and model serialization. TF2 is backwards compatible with TF1 saved models but would require h5py dependency to read.
no updates to docs but followed docstring conventions.
TensorFlowModelVersionedDataset tests had issues with Windows 260 character maximum path length limit. If use full datetime stamp as version name then the nested folder stucture often exceeds 260 chars.
Unsure how package maintainers would like to handle this error: e.g. try/catch in TensorFlowModelVersionedDataset load and save path resolution methods? Error occurs as TF tries to create the directory with model assets.
Typical Windows maxpath error details:
DataSetError due to
Failed to create a NewWriteableFile: C:\Users\aleks\AppData\Local\Temp\pytest-of-aleks\pytest-106\test_prevent_overwrite_None_sa0\test.tf\2020-03-05T<IP_ADDRESS>5Z\test.tf\variables\variables_temp_d9ec32fefa50443f8ca2168b111b1a3f/part-00000-of-00001.data-00000-of-00001.tempstate15888019707169134298 : The system cannot find the path specified.
related to issues
https://github.com/quantumblacklabs/kedro/issues/123
https://github.com/quantumblacklabs/kedro/issues/176
Development notes
New classes TensorFlowModelDataset and TensorFlowModelVersionedDataset and associated tests.
some tests break on Windows due to 260 char maximum path length. Error is a DataSetError due to TF unable to complete model writing. tested them on Unix and they pass.
Checklist

[x] Read the contributing guidelines
[n/a] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[n/a] Updated the documentation to reflect the code changes
[x] Added a description of this change and added my name to the list of supporting contributions in the RELEASE.md file
[x] Added tests to cover my changes

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Hi @w0rdsm1th, any update here? :)

hi @mzjp2 sorry fell off my radar. I will add the tests and update the PR this afternoon

hi @mzjp2 sorry fell off my radar. I will add the tests and update the PR this afternoon

*this weekend. Started writing the additional tests and noticed a couple changes to class hierarchy and the "nice" test cases ;)

@mzjp2 thanks for the detailed feedback! I had planned on doing a bit more work on this. The arbitrary paths test cases weren't passing in this class or in the "reference case" CSV Dataset tests on my Windows machine. In particular test case tests.extras.datasets.tensorflow.test_tensorflow_model_data_set.TestTensorFlowModelDataset.test_protocol_usage. It seemed like an OS path-issue and I then committed to test on unix but they weren't passing for same reason there either!
AssertionError: assert 'gcs:\bucket\test_tf' == 'bucket/test_tf'
re: fsspec passing to keras load_model and save_model. I'm not familliar with fsspec. Definitely doesn't seem like there's a quick easy fix, will have to have a look!

@mzjp2 re: fsspec context manager returning an OpenFile object... it certainly is a brainer! I can totally see why you want to use fsspec throughout but its flexibility just doesn't seem to interface with TFs public load/save methods that expect pathlike argument.
I found a couple SO answers below from TF and AWS contributors that suggest downloading the file locally with stdlib tempfile. And we would then pass the tempfile path to the load_model method. Seems hacky but the only way forward!
If this approach is acceptable to library design/road map then I am happy to write a method to save to/load from a tempfile and then pass the tempfile path to TF save/load methods.
Couple questions to support:

Are you happy using the OS default tempfile directory (this the default behaviour for tempfile)? Or would you prefer to save to/load from a nominated local "kedro workspace" location?
This seems like it will be useful functionality to make available to other extensions. Could be a single method in kedro/io/core.py? Or would you prefer to put it somewhere else?

https://docs.python.org/3.6/library/tempfile.html#tempfile.TemporaryDirectory
https://stackoverflow.com/a/47902672/3596968
https://stackoverflow.com/a/55961847/3596968

@mzjp2 re: fsspec context manager returning an OpenFile object... it certainly is a brainer! I can totally see why you want to use fsspec throughout but its flexibility just doesn't seem to interface with TFs public load/save methods that expect pathlike argument.
I found a couple SO answers below from TF and AWS contributors that suggest downloading the file locally with stdlib tempfile. And we would then pass the tempfile path to the load_model method. Seems hacky but the only way forward!
If this approach is acceptable to library design/road map then I am happy to write a method to save to/load from a tempfile and then pass the tempfile path to TF save/load methods.
Couple questions to support:

Are you happy using the OS default tempfile directory (this the default behaviour for tempfile)? Or would you prefer to save to/load from a nominated local "kedro workspace" location?
This seems like it will be useful functionality to make available to other extensions. Could be a single method in kedro/io/core.py? Or would you prefer to put it somewhere else?

https://docs.python.org/3.6/library/tempfile.html#tempfile.TemporaryDirectory
https://stackoverflow.com/a/47902672/3596968
https://stackoverflow.com/a/55961847/3596968

Thanks for following up on this @w0rdsm1th, super appreciated. We're happy to proceed with the tmpfile workaround, but will need to be careful with things. I'm cc-ing in @DmitriiDeriabinQB and @idanov to help answer the questions here.
If it's something you'd rather us do instead of you (I appreciate you've sunk a lot of work into this already), we're happy to take it over and continue (with full credit to you, of course).

@w0rdsm1th Thank you very much for your amazing work for this PR! You've done a great job and we really appreciate your effort!
From your research it seems that the tempfile is our only option for now and that's how we should proceed forward. I would suggest we restrain from making the creation of the tempfile a method of the general class since not all datasets will be filebased as well as adding tempfile helper there would encourage development of more datasets based on the tempfile, which is a suboptimal solution - it's not uncommon that Kedro pipelines are run on systems with limited disk storage, e.g. EC2 instances, and filling up the disk space by accident can be a source of strange and hard to debug problems for the pipeline developers.

thanks for the input guys! I have updated the TensorFlowModelDataset._load() and TensorFlowModelDataset._save() methods with tempfile.TemporaryDirectory intermediary functionality.
Separate point to the tempfile intermediary: TestTensorFlowModelDataset::()::test_protocol_usage() tests all fail for me on Windows or Unix but I copied them directly from TestCSVDataSet::()::test_protocol_usage which seems like a reference test case so reluctant to change my own TF test cases. They fail because of the path manipulation and protocol stripping within the test case.


IAM Policy Misconfiguration

I believe the aws-stack.yaml has 2 misconfiguration in the AWS::IAM::Poilcy
  ManagedSecretsBucketPolicy:
    Type: AWS::IAM::Policy
    Condition: CreateSecretsBucket
    Properties:
      PolicyName: SecretsBucketPolicy
      PolicyDocument:
        Statement:
          - Effect: Allow
            Action:
              - s3:Get*
              - s3:Get
              - s3:List*
            Resource:
              - !Sub "arn:aws:s3:::${ManagedSecretsBucket}/*"
              - !Sub "arn:aws:s3:::${ManagedSecretsBucket}"
      Roles:
        - !Ref IAMRole

In the above snippet, there is no aws s3 action name s3:Get 🤔 .
Line numbers:785 & 803 in aws-stack.yaml

Thanks for flagging this @priyaoz.
Forgive the naive question, but is there any impact to having s3:Get in there or does AWS/cloudformation/IAM/something silently ignore them?
It seems like they first appeared in #284.
/cc folks with more AWS experience than me @keithduncan @pda @chloeruka

I think is was a humar error , which at the moment has no impact at all. This will hold true till aws magically brings in a new api action s3:Get
The AWS/Cfn silently ignores the misconfigured actions and created the policy as defined.

However, if you look at the policy - it complaines that the action is not recognized.