nixos/manual: fix cross-compilation

Description of changes
Remove absolute reference to xsltproc. This reference breaks cross-compilation: instead of host version builder tries to execute binary for target and fails.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

PR template doesn't allow to specify that, but I'm testing these changes by building image for RISC-V from https://github.com/NickCao/nixos-riscv with them. Build is still not finished yet, but documentation seem to have been built successfully.

* instead of build version builder tries to execute binary for host and fails.


How to make authentication work?

I have a single page static web app built with vuejs (path being "/") and have successfully deployed it to azure static web. However, when trying to add authentication, it still takes me to the main page without asking me to log in.
my route.json looks like this:
{     "routes": [         {             "route": "/",             "allowedRoles": ["authenticated"]             },         {             "route": "/login/aad",             "serve": "/.auth/login/aad"         },         {             "route": "/.auth/login/twitter",             "statusCode": "401"         },         {             "route": "/.auth/login/facebook",             "statusCode": "401"         },         {             "route": "/.auth/login/google",             "statusCode": "401"         },         {             "serve": "/.auth/login/github",             "statusCode": "401"         }     ] }
Can someone pls kindly advise what I have done wrong?

This looks ok to me, did you mean to call it route.json? It should be routes.json.

Yea, that was the issue. Thanks for the help!


About the version of keras

Hello ， I want to ask if the version of keras has an impact on the results of my network operation. I wrote a residual network, adding some modules I wrote myself, with the goal of doing a second classification. But I found that when my version of keras is different, the predicted results are different. I used the same configuration on the same computer, and the weight I load is the same. Only the version of keras is different. I used keras2.2.4 and 2.1.2. So I want to ask, the different versions of keras will affect the results of my network predictions?

Keras doesn't break compatibility with saved models when you upgrade it. When it does, it's a bug. If you are sure that it's due to the version of keras, file a bug with a standalone python script to reproduce. Thanks!


Elasticsearch index in Cluster Logging is wrong

rancher/rancher: 2.0.1-rc1
Elasticsearch index in Cluster Logging is wrong.

Actually, it is as follows.
xxxxx-2018.05.14

Version - 2.0 master 5/14
Can we verify that this format is correct and fix please.

rancher/rancher:master
Index format is correct.


Operation methods for author and game classes

In this Branch, I did the following:
Create Methods that do the following operations :

List of games
List all authors (e.g. 'Stephen King')
Add a game

Hi @KareemWilson ,
Status: Changes Required ♻
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Good Highlights✔

Linter checks are passing
Good commit messages
Adhered to Gitflow

Required Changes ♻
Check the comments above the review.
Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

I also suggest you add the following method in your Author class inside the author.rb file (between line 15 and 16).
It will allow you to save data instead of the hole instance of the class.
def to_json(options = {})
{
id: @id,
first_name: @first_name,
last_name: @last_name
}.to_json(options)
end


Launching Code to edit a file with an unsaved file from prior hot exit focuses incorrect file on start

VSCode Version: 1.12.1
OS Version: Windows 10 v1703 15063.296

Steps to Reproduce:

Launch Code
New File
Type 'asdljahdfg'
Quit Code
Right-click any file in Explorer > Open with Code
File opens, then after a moment hot-exit restores prior tab and tab with content 'asdljahdfg' grabs focus

Expected results: the file I right-clicked remains focused.

Great catch 👍


Support ASP.NET Core with OData

The implementation to support API versioning on ASP.NET Core using OData.

Any idea when these changes will be merged and a nuget package created? We will be starting to implement OData with our .Net Core apps, and the updates in the PR will be needed.

Weird how GitHub is showing this. Oddly, it doesn't even show the branch. Must be because of how I started.
The story up to now...
I started on this work while OData was in beta. I found a couple of issues, which they fixed, and I didn't have batching supported. In the meantime, a critical bug was discovered in the ASP.NET Core implementation by an internal team. That fix lead me down a path that pre-emptively started the work for v3.0 of all libraries. Since this is the first release, it didn't make sense to do two variations so close to each other. Plus, I just don't have that much extra bandwidth or capacity. What I end up doing was moving everything toward v3.0 and rebase this work on top of it. I think started work on the remaining pieces. I renamed the original branch to "v3", but it looks like GitHub still sees it as the original name. The commit history is clearly showing all of the new stuff.
The state of the union is that I'm hammering out the last bits of support for Swagger with OData on ASP.NET Core and the acceptance tests. There have also been some additional changes to OData since the beta that I had to account for. As soon as that is working reasonably well, I'll publish the beta. That will give me a chance to catch up on the new documentation and such. It's o-so-close. Sorry it's taken so long, but I'm up against physics. ;)
I have some unpushed changes still. If you're interested in helping, reviewing, or just testing I can push them up in a buildable state. The Swagger stuff, in particular, is in flux, but most of the rest is stabilizing.

@philcarbone and @cstheriot I finally have a working end-to-end build that I think is worthy of the beta quality gate. There is a ton of new work and features since this PR started. Since this feature was merged into overall 3.0 change set, I'm going to close this PR out to start an official 3.0 change set. Arguably I should have done this a different way, but it is what it is. Kind of a consequence of working as a one-man show. Lesson learned for building out the next major feature set (4.0+?).
Feel free to comment, provide feedback, etc for anything new. I'm preparing the release notes and I'm hoping to get a beta release out by tomorrow. Thanks.


New version: RestrictedBoltzmannMachines v0.2.17

Registering package: RestrictedBoltzmannMachines
Repository: https://github.com/RBMpro/RestrictedBoltzmannMachines.jl
Created by: @cossio
Version: v0.2.17
Commit: c219e745691f10670708ca7757092afdbdd35b50
Reviewed by: @cossio
Reference: https://github.com/RBMpro/RestrictedBoltzmannMachines.jl/commit/c219e745691f10670708ca7757092afdbdd35b50#commitcomment-42237670

DO NOT MERGE.
Close this.


How to get no of screenshot count and no of view for particular media?

Is there any provision to get no of screenshot or no of time view particular media ? I have seen in api but didn't find that function yet.
Please help me on this its require for me.
Looking Forward

You can download any snap without sending any notification by default :)
I dont remember if the functions is called getSnaps or saveSnaps or similar.
Regards


Feature request: Add headers option to new job

Add headers option to new job
POST /job/{job_category}
actual
POST /job/test_job1 HTTP/1.1

{
    "url": "http://example.com/process_job1",
    "payload": {
        "id": 1234,
        "value": "foo bar",
        "description": "The payload is just arbitrary data that will be passed to the target URL"
    }
}

callback
POST /process_job1
Host: example.com
Content-Length: xxxx
...
Content-Type: application/json; charset=utf-8

{"id":1234,"value":"foobar","description":"ThepayloadisjustarbitrarydatathatwillbepassedtothetargetURL"}

expected
POST /job/test_job1 HTTP/1.1

{
    "url": "http://example.com/process_job1",
    "headers": {
        "X-Token": "xxxxxxxxx"
    },
    "payload": {
        "id": 1234,
        "value": "foo bar",
        "description": "The payload is just arbitrary data that will be passed to the target URL"
    }
}

callback
POST /process_job1
Host: example.com
Content-Length: xxxx
X-Token: xxxxxxxxx
...
Content-Type: application/json; charset=utf-8

{"id":1234,"value":"foobar","description":"ThepayloadisjustarbitrarydatathatwillbepassedtothetargetURL"}

I agree that this is a useful feature.  We are going to implement this feature.


Compiler crashing when using constant derived from other constant

Aim
Create a global constant using another global constant and then use it to create an array:
global L1: u64 = 1;
global L2: u64 = L1 + 1;

type T = [u8; L2];

Expected Behavior
Compiler shouldn't crash. Either should display it as an error in code, or accept this usage of globals.
Bug
Compilation crashing with:
The application panicked (crashed).
Message:  ice: all globals should correspond to a let statement in the interner
Location: compiler/noirc_frontend/src/node_interner.rs:861

To Reproduce

Use https://github.com/vlayer-xyz/repro-derived-constant
Run nargo compile in the main folder in above repo

Project Impact
Nice-to-have
Impact Context
No response
Workaround
Yes
Workaround Description
Creating globals with hardcoded values without depending on other globals' values.
Additional Context
No response
Installation Method
Binary (noirup default)
Nargo Version
nargo version = 0.26.0 noirc version = 0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336
NoirJS Version
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response

This compiles correctly on master.


reduce unnecessary expansions for ConcurrentLong map and set

Motivation
Cleanup all the buckets that were in Deleted state, so that we can reduce unnecessary expansions.
Documentation
Check the box below or label this PR directly (if you have committer privilege).
Need to update docs?

[ ] doc-required
(If you need help on updating docs, create a doc issue)

[x] no-need-doc
(Please explain why)

[ ] doc
(If this PR contains doc changes)

@eolivelli @merlimat PTAL,thanks!

LGTM, But It's better to provide some unit test to cover this change.

I didn't expect a better test solution, unless I design a switch, such as: isCleanDeletedStatus=true, to compare the effect of opening and closing.
do you have a better idea？  @Jason918

LGTM, But It's better to provide some unit test to cover this change.

@Jason918 Fixed,PTAL,thanks!

/pulsarbot run-failure-checks

@eolivelli PTAL,thanks!

@eolivelli PTAL,thanks!

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@eolivelli PTAL,thanks!


DO NOT MERGE - wait for feedback - added taxon constraint fixes #13159

Done this instead: https://github.com/geneontology/go-ontology/commit/4286d94cba6f79e9da36fcf5220b2dcc8b1becb6


Expand conditional blocks logic in Kernel parsing

Kernel parsing logic now supports:

conditional blocks based on any of the listed features, similarly to the any Rust attribute syntax, i.e.:

#[cfg(any(feature = cdk_erigon,polygon_pos))]
{
    // Do something if any of `cdk_erigon` or `polygon_pos` features are enabled
}

Note that the default listing of features will behave as an any block:
#[cfg(feature = cdk_erigon,polygon_pos)]
{
    // Do something if any of `cdk_erigon` or `polygon_pos` features are enabled
}

conditional blocks based on all of the listed features, similarly to the all Rust attribute syntax, i.e.:

#[cfg(all(feature = cdk_erigon,polygon_pos))]
{
    // Do something if both `cdk_erigon` and `polygon_pos` features are enabled
}

conditional blocks based on negated features, similarly to the not Rust attribute syntax, i.e.:

#[cfg(not(feature = cdk_erigon))]
{
    // Do something if the `cdk_erigon` is not activated
}

It does not support mixed logic (i.e. something like require feature_1 but reject feature_2), though I think this should be probably enough for supporting the different variants we need to handle, and this can always be manually crafted through nested conditional blocks anyway:
#[cfg(not(feature = feature_2))]
{
    #[cfg(feature = feature_1)]
    {
        // Do something if the `feature_1` is activated and feature_2 is not activated
    }
}

Which code in particular? The grammar rules?


Adjust layout for This Week in Fluvio newsletter publishing

The goal is to be ready for fully automate the delivery of the newsletter on the weeks we publish.
For now, there are a few manual tasks I've been performing that can be fixed with only layout updates and shortcode.
Current process

Copy markdown from our simple newsletter preamble, but exclude the subscription call-to-action, and the now hiring banner.
Add a horizontal rule
Copy rest of post to bottom of file
Replace any Hugo shortcodes (Luckily, this is usually only replacing internal link refs with external links)
If we are embedding video (so far, only YouTube), rewrite the entire section to be compatible with email, or at least Gmail (See example below)

Full title of post, as hyperlink to main YouTube page
Hotlink the official YouTube image preview
Call to action link to YouTube

Copy all that markdown into Buttondown's UI, send draft to myself to verify render and links, then send to all subscribers

Video markdown rewrite example
This is what took place for This Week in Fluvio 35
Website's video markdown
https://github.com/infinyon/fluvio-website/blob/6817dac8c6b0bb1a99af4e75abdac34fad96cb82/content/news/this-week-in-fluvio-0035.md?plain=1#L26-L32

Newsletter's video markdown
## New Video

[How to power event driven applications with InfinyOn Cloud](https://www.youtube.com/watch?v=o6sVgSXrOXk)

[![Click image to view on YouTube](https://img.youtube.com/vi/o6sVgSXrOXk/0.jpg)](https://www.youtube.com/watch?v=o6sVgSXrOXk)

[Link to view on YouTube](https://www.youtube.com/watch?v=o6sVgSXrOXk)

Can we add some styling?


[release-4.12] Update to go1.19

/label backport-risk-assessed

/jira refresh

/assign @divyansh42
for lgtm
/assign @jitendar-singh
for cherry-pick-approved

/retest

/label cherry-pick-approved


add a settings page

made all_urls optional which adds an optional permission every time the user opens tamper chrome
https://github.com/google/tamperchrome/commit/4f30f5a22908d7893209822af4f2268ce737f0d9
this is annoying.. maybe add a setting to let the user give global access, if at all possible

Now it's only happening once. I think it's not so annoying.


JOUR-463 don't fire the app by default

@zeeshabnc @aaustin
The reason for adding this line in the first place is lost, and it seems to be causing issues by being in.

👍 Looks good to me.

yep - simple enough 👍


IMove, IMoveWith, and fixing a bug in ISwapWith

minor bugfix in searching for the list #79

For ISwapWith, when searching for the list node in treesitter, I've made it filter out if the cursor is in a list node (defined by the query) but the cursor is not in any of the named children. This makes ISwapWith work better with nested list as it would then instead find the outer list. It does create a minor inconsistency between ISwap and ISwapWith: the same cursor position may the inner list for ISwap but the outer list for ISwapWith. It doesn't make as much sense to do this filtering for ISwap. Also technically the "not in named children" condition also filters out the inner list if you're in a comment or whitespace inside the inner list.
Its not perfect but I think its better because previously ISwapWith would kinda break when used on the braces of a list

IMove #73
The IMove and IMoveWith commands function similarly to the swap variants, but I use repeated swap to move the node. The labels are still on nodes, not between nodes, which is actually pretty intuitive. The label is basically move this node into the place of that node, and everything in between is shifted back/forth

These two are in the same PR as cherry picking to separate them into branches didn't work. I can try to disentagle harder if you want

By the way, technically there are multiple ways for it to work with the outer list:

Using :ISwapNode to first select the first level of node. Within nested lists, this may be used to determine the depth of the list you'd like to swap with its sibling.
Using :ISwap on the braces/whitespace in between outer list elements (not the comma though).

Yeah I found that ISwap works but I always preferred the *With variants, feels more intuitive. And before this ISwapWith would end up in a glitched state if you tried to use it on the brace

I need to think a bit more about the changing behavior of ISwapWith before merging this

These two are in the same PR as cherry picking to separate them into branches didn't work. I can try to disentagle harder if you want

Don't worry about it

I also wanted to consider adding highlights at different positions for IMove: highlight at start of node for nodes coming before cursor node, and highlight at end of node for nodes coming after cursor node, to better represent where the final element is going to go (going to be inserted to the side nearer to where the highlight is). Let me know if I should make the explanation of this better. but also I can add this feature on my own separately after this PR

I think that labelling sounds fine. Like I said in the original comment, after using it the intuition I developed for the labels is not moving it after or before the node I select, rather than I'm thinking about moving it into the place of that node and everything else shuffles out of the way. Visually that's what it looks like to me. But I can also understand someone thinking about it as choosing a point in between existing nodes to slot the node into. Maybe a configuration option?

Yeah, don't worry about that, I might write it up if I feel like it

This is just about ready to be merged, I am very happy about these features :)
Thank you for taking all this time to understand the codebase and add these features, it means a lot to me

Is this ready to merge?

I think so, i've been using it for the last 2 weeks and I don't think i've found anything broken


add n_vars check to test_pipeline.py

Due to a minor oversight when we first wrote the testcases, we aren't currently testing the "n_vars" column of the aggregated-stats.tsv. This is just a quick fix that adds that test.

Good catch


Medium and small edit mode overwrite each others ordering

Environment
Docker
Version
0.12.3
Describe the problem
When editing in small mode it overwrites medium mode and the opposite is also true.
Logs
what logs would you like?
Context
No response
Please tick the boxes

[X] I confirm that I attached the proper logs
[X] I've read the docs
[X] I've checked for duplicate issues
[X] I've tried to debug myself

To be clear, your doc at https://homarr.dev/docs/customizations/layout#screen-sizes says the following: "To make your dashboard look the best, configure each screen size seperatly, making sure to save your changes before continuing to the next size."
This certainly makes it seem that the 3 possible layouts are indeed separate. They are not. Small and medium layout changes always affect the other.


Add GH Actions based CI (luacheck)

As per subject.
For #24.

I opened this here for review.
PRs cannot add GH Actions to a repository, so once we agree this is what we want, I'll close it, and push it to the repo.
05c5e71 adds a minor change which removes an (actually) unused argument from modROS.lua.
Runs still fail, as there are warnings in lua/vehicle_util.lua, so those should be fixed as well. But as I didn't write that code, I wanted to get some input about that first.
Test runs are here: gavanderhoorn/FS19_modROS/actions.

I've added ca587ed which makes luacheck ignore the offending file, but only when run as part of our CI.
Locally we'll be reminded to fix it.

Successful run: gavanderhoorn/FS19_modROS/actions/runs/906620452.


is there a way for this plugin to cite blocks in logseq?

as stated in the title, it would be perfect if we can cite blocks in this plugin.
The official whiteboard interface is not as aesthetically pleasing, and it would be perfect to have the functionality of the official whiteboard with the UI of Excalidraw.
do you have any plan on this? thanks!

Thank you for the suggestion. Currently, our development plan is to complete the dashboard.
The purpose of the plugin is to avoid modifying Excalidraw as mush as possible, so that it can be keep up to date with the latest updates.
Therefore, the feature of cite logseq block may not be added. We believe that the official whiteboard will become better and better.


Refactor blob manager interface

What is the purpose of the change
Refactor blob manager interface
Brief change log
(for example:)

Refactor blob manager interface
Add configuration of scheduler to set resource download directory
Check md5 of project zip file before upload while submitting workflow

Verifying this change
(Please pick either of the following options)
This change added tests.

Codecov Report

Merging #230 (22f7e1b) into master (75e3439) will decrease coverage by 0.04%.
The diff coverage is 73.18%.

@@            Coverage Diff             @@
##           master     #230      +/-   ##
==========================================
- Coverage   65.47%   65.42%   -0.05%
==========================================
  Files         203      204       +1
  Lines       15237    15293      +56
  Branches     2298     2310      +12
==========================================
+ Hits         9976    10006      +30
- Misses       4732     4750      +18
- Partials      529      537       +8

Impacted Files
Coverage Δ

...ins/scheduler_plugins/airflow/airflow_scheduler.py
28.35% <ø> (ø)

ai_flow/store/mongo_store.py
14.11% <20.00%> (+0.02%)
:arrow_up:

...gins/scheduler_plugins/airflow/ai_flow_operator.py
67.88% <38.46%> (-0.30%)
:arrow_down:

..._plugins/blob_manager_plugins/hdfs_blob_manager.py
57.14% <44.00%> (-4.06%)
:arrow_down:

...ow_plugins/blob_manager_plugins/s3_blob_manager.py
83.63% <64.70%> (+7.24%)
:arrow_up:

...plugins/blob_manager_plugins/local_blob_manager.py
75.00% <66.66%> (-16.43%)
:arrow_down:

...w_plugins/blob_manager_plugins/oss_blob_manager.py
83.78% <70.58%> (+4.03%)
:arrow_up:

ai_flow/util/file_util/zip_file_util.py
77.27% <75.86%> (-2.73%)
:arrow_down:

ai_flow/client/__init__.py
54.85% <80.00%> (-0.06%)
:arrow_down:

ai_flow/api/workflow_operation.py
85.71% <91.30%> (+1.36%)
:arrow_up:

... and 21 more

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 8453e49...22f7e1b. Read the comment docs.


As a MLOps engineer, I would like to use a serving framework (e.g. OpenVINO, MLserver, etc.) so that I don't need to implement gRPC and REST services by myself (and other common functions)

TODO

[ ] #27

For OpenVINO, I created the following gist: https://gist.github.com/israel-hdez/1848d5a9788140c6f2e42ce316c70d5b
On that gist, there is a Container file that can be built with podman build -t ovms_face_detection -f Containerfile. The resulting container will contain OpenVINO and a sample face-detection model built-in.
The container can be ran in the background with podman run -d --rm -p 9000:9000 ovms_face_detection:latest. It should become ready quickly.
In the same gist, there is a test_inference.bash  script. To test inference (which would prove that the container is working), you may run the script on an empty directory. Alternatively, you may run manually each statement in the script if you want to check what's happening. You will end up with a results directory that should contain an image with the results of the face detection.
Feel free to add more images in the images directory and re-run inference to test some images of your liking.

Stefan's code uses MLServer, see #16

I finally was able to create a container using Stefan's models.
Here is the Containerfile to create the MLServer container for the bike-share-auto-ml model: https://gist.github.com/israel-hdez/1848d5a9788140c6f2e42ce316c70d5b#file-containerfile-mlserver-mlflow. You can change L13 to switch to the bike-rentals-auto-ml model and it still should work.
For building, invoke podman build -f Containerfile.mlserver.mlflow -t mlserver-bikes-share. For running, invoke podman run --rm -p 9000:9000 -p 8080:8080 mlserver-bikes-share.
The tricky part that give me headaches is that although the environment files have all needed python dependencies for the model to run, an additional dependency needs to be installed by invoking pip install mlserver-mlflow to let MLServer load the model correctly. I guess this is not included in the model dependencies by default, because it is specific to MLServer.

We have an example for OpenVINO and an example for MLServer.
There is an additional example for OpenVINO here: https://github.com/opendatahub-io/ai-edge/issues/2#issuecomment-1690298228.
Since we have examples for two serving runtimes, for the scope of a PoC I'll close this as done.

I think for this to be done we need the actual manifests pushed in the repo, so I'm gonna reopen it to track that this is still missing and I think once #27 is done we can close this user story.


[BUG] - Automated and manual deployment of "summary_view" fails - continued

This is similar to the previous bug that has been raised around 'product_database_engine' not being resolved, which could be resolved by launching an RDS instance for an hour
I also get the following errors after doing this and waiting for the next CUR report to be run:
com.facebook.presto.v217.sql.analyzer.SemanticException: line 43:4: Column 'product_tenancy' cannot be resolved
com.facebook.presto.v217.sql.analyzer.SemanticException: line 45:4: Column 'product_processor_features' cannot be resolved
I solely run services such as API Gateway, Lambda, DynamoDB, QLDB and Kinesis in this account, so is it just a case of running an ec2 instance for an hour, or are there others services required to appear in the CUR report

Running an ec2 instance and waiting for next report to be delivered did the trick. It would be useful if a list of services that need to be run, even for an hour, such as EC2 and RDS, where included in the README

@megareez please check if we can add more info into docs


Maximum size of string can be printed to console is too short (< 1024)

Extend max size to 2K? (current 1K)

if (< max), use jerry_string_to_char_buffer()
if (> max), use jerry_substring_to_char_buffer(), just print a part of string and then next part....

In tty.h, below functions are required.

tty_write(uint8_t *buf, size_t len)
tty_write_sync(uint8_t *buf, size_t len)

What about using tty_putc()? .flash -r command uses it with successful printing long source code.

It's a good idea. this issue is fixed with tty_putc() function.


Restructured RV32I to move Zicsr and Zifencei into their own suites

Also added a note on the RISCV compliance WG
This is a first step to repartition the Zicsr and Zifencei instructions into their own suites
Further work needs doing in order to move the tests which cause exceptions

Merging, since this a approved.


Include the Author name as well

Sorry, I'm not good enough with Git to offer a PR. However, I wonder if the script could be modified so that it can change the Author name as well as the email?
Thank!

Hi this is possible but not straightforward as I need to do a lot of argument parsing to separate email and name and keep the ability to only set email without name.

Would you be willing to install and run git filter-repo tool which is similar to git filter-branch which my tool uses?
I worked out some commands for you

Install and run the git-filter-repo tool, which is linked from the git-filter-branch official docs as a better replacement.
Examples
Example from their docs, modified here for clarity. Note use of Python code for callbacks.
$ git filter-repo --email-callback '
  return<EMAIL_ADDRESS>if email == b"old@localhost" else email
'

Take that further:
$ git filter-repo --name-callback '
  return b"New name" if name == b"Old name" else name
'

Thanks for the effort Michael and thanks for pointing me to this. I will check it out! (and sorry for the late reply).


Preverbs unrecognized on some VII verbs?

When I search itwewina.dev for ta-pê-miyonâkwaniyiw, I see results:

But when I search for ta-pê-kiwêmakaniyiw I don't get any results:

You can find an example of this word at roughly 2:35 of this video. I suspected this may be related to https://github.com/UAlbertaALTLab/cree-intelligent-dictionary/issues/573, but even without the obviate suffix the preverbs are still not recognized with that word.

The primary error was some VIIn's which had been misclassified in the CW source as VIIw, cf.
kîwêmakan:kîwêmakan3 VIIw ;
This has now been corrected in the FST and the dictionary XML. When the form was misclassified, most if not all analyses would have been incorrect, but now the FST says the following:
hfst-lookup -q src/analyser-gt-norm.hfst
ta-pe-kiwemakaniyiw	PV/ta+PV/pe+kîwêmakan+V+II+Ind+4Sg	0.000000

So what is needed is updating this to itwêwina as well.

Fixed as of 95a2fdd 🎉

See: https://sapir.artsrn.ualberta.ca/cree-dictionary/search?q=ta-pê-kiwêmakaniyiw


A process injected with Winook 1.1.0 may crash

C1rdec/Poe-Lurker#231
Same process injected with version 1.0.1 works just fine.

Windows 10 Pro
English (Australia)
AMD Ryzen 5 3600
16GB ram
GTX 970

Windows 10 Pro
English (Australia)
AMD Ryzen 5 3600
16GB ram
GTX 970

Can you paste the error information that can be found in Event Viewer? See How do I find event logs when a program crashes?.

Can you paste the error information that can be found in Event Viewer? See How do I find event logs when a program crashes?.

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x6008b964
Faulting module name: ntdll.dll, version: 10.0.19041.662, time stamp: 0x27bfa5f0
Exception code: 0xc000041d
Fault offset: 0x000000000009fde4
Faulting process id: 0x15e0
Faulting application start time: 0x01d6f4feb2f7c8f6
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 9a77d1dc-64e6-4c04-ae9a-8697c10c568d
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x6008b964
Faulting module name: ntdll.dll, version: 10.0.19041.662, time stamp: 0x27bfa5f0
Exception code: 0xc000041d
Fault offset: 0x000000000009fde4
Faulting process id: 0x15e0
Faulting application start time: 0x01d6f4feb2f7c8f6
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 9a77d1dc-64e6-4c04-ae9a-8697c10c568d
Faulting package full name:
Faulting package-relative application ID:

that was from a couple of days ago, but I've just run the old version of PoELurker again and PoE throw 3 errors from modules, ntdll.dll, KERNELBASE.dll and an unknown module.  I'll paste all 3 below.

that was from a couple of days ago, but I've just run the old version of PoELurker again and PoE throw 3 errors from modules, ntdll.dll, KERNELBASE.dll and an unknown module.  I'll paste all 3 below.

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: ntdll.dll, version: 10.0.19041.662, time stamp: 0x27bfa5f0
Exception code: 0xc000041d
Fault offset: 0x000000000009fde4
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 455bdf17-bb47-402c-9057-fce2e8c8960d
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: ntdll.dll, version: 10.0.19041.662, time stamp: 0x27bfa5f0
Exception code: 0xc000041d
Fault offset: 0x000000000009fde4
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 455bdf17-bb47-402c-9057-fce2e8c8960d
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: unknown, version: <IP_ADDRESS>, time stamp: 0x00000000
Exception code: 0x20474343
Fault offset: 0x0000000000000000
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: unknown
Report Id: 961fb97d-7509-484a-920f-d8788e2032d9
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: unknown, version: <IP_ADDRESS>, time stamp: 0x00000000
Exception code: 0x20474343
Fault offset: 0x0000000000000000
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: unknown
Report Id: 961fb97d-7509-484a-920f-d8788e2032d9
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: KERNELBASE.dll, version: 10.0.19041.662, time stamp: 0xec58f015
Exception code: 0x20474343
Fault offset: 0x000000000002d759
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 6ddb01af-0435-4452-8800-023561c75986
Faulting package full name:
Faulting package-relative application ID:

Faulting application name: PathOfExile_x64.exe, version: <IP_ADDRESS>, time stamp: 0x60110795
Faulting module name: KERNELBASE.dll, version: 10.0.19041.662, time stamp: 0xec58f015
Exception code: 0x20474343
Fault offset: 0x000000000002d759
Faulting process id: 0x4934
Faulting application start time: 0x01d6f69327d02233
Faulting application path: C:\Program Files (x86)\Grinding Gear Games\Path of Exile\PathOfExile_x64.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 6ddb01af-0435-4452-8800-023561c75986
Faulting package full name:
Faulting package-relative application ID:

Thanks! That will be helpful in my troubleshooting.

Thanks! That will be helpful in my troubleshooting.

@C1rdec, can you please create a Lurker build with this version? I simply restored the code like it was in 1.0.1.
@neal5227, if you have chance, please test the Lurker build that C1rdec will create.
Thank you both.

@neal5227 Tested a version with v1.1.1  and the process did not crash.

Deployed v1.1.1 to NuGet.


MaxiCode not scanning

Xamarin iOS MaxiCode is not scanning. Any solution for this.

MaxiCode only works with PureBarcode = true because there exists no real detector.

Thanks for reporting this issue!  Unforunately it took me way too long to respond 😭.  Sorry, I apologize!  Recently the source code for this project was completely refactored to modernize it.  Many PR's were included in this effort, and many bugs were hopefully fixed.  Please try out the latest 3.x series of NuGet packages (currently in prerelease).  To try and make the project more maintainable in my spare time going forward, I've decided to close all existing issues to start with a clean slate.  If you're still experiencing this issue on the newest version, please open a new issue with as much detail as possible.  Thank you for your patience and understanding!  Happy scanning!


[Compatibility Suggestion] compatibility with Obscuria's mods and It Takes a Pillage & a question about three certain mods

I like Dungeons mobs and gears with how it captures the Minecraft Dungeons experience, tho I have two more question now.

is there going to be compatibility with the Obscuria's mods and It Takes a Pillage, since they're have illagers in it?

with the mods Mobs Animations Plus, Dungeons Bosses mod, and Nyf's Spiders existing, is there going to be plans to get in contact with the creators of the mods in question to have compatibility with this mod?

What kind of compatibility are you looking for?
They are free to reach out. We are not planning compatibility, as we plan our own version of animations and bosses.

Well asin for Obscuria's Aquamirae maybe have the dungeons mobs illagers to appear in the Underground Illagers Shelter structure, the Pillager construction structure, and the trapped Illager fleet ship structure and have the redstone golem have a small chance to replace one of the illagers in the pillager patrol in the Ice Maze,  also have this mod's illagers and redstone golem that they can be targeted and attacked by the tortured soul mob from Aquamirae, but also have the redstone golem are more likely to go after the tortured soul mob to kill it.
And for It Takes a Pillage  just have the dungeons mobs illagers and redstone golem to appear in the Bastille and it's Snow variation structure and Pillager Camp and it's Snow variation structure.
P.S.  Well I did say the Obscuria's mods in my starting comment, but I meant to say is Obscuria's Aquamirae.

I figured that last part.
It's actually more difficult for me to add our mobs to another structure than for them to add our mobs to theirs.
All this will be easier with 1.19.2, where we can do it through a datapack. Are you fine with that?


Occupation, occupation standards endpoints

closes #6
Description

Added public occupations endpoint. Using OR search for multiple terms.
Added public occupation standards endpoint (can search by occupation_id)

QA
In Postman

[x] http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupations should return all occupations
[x] Try with some search queries:

http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupations?q=ship+welder
http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupations?q=ship+painter

[x] http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupation_standards should return all occupation standards
[x] http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupation_standards?occupation_id=1 should return a single response
[x] http://rapid-skills-staging-pr-69.herokuapp.com/v1/occupation_standards?occupation_id=1357 should return 2 responses

Notes

Set this up using JSON API specification for now.  Can change this later if we want.
I think an AND search for multiple terms might be better than the OR search for occupations.

@Pcushing this is ready for re-review.

👍 good-to-go. My one comment was just to satisfy curiosity.


Add Profile-Guided Optimization (PGO) support to dart2native

Hi!
Recently I started to evaluate the Profile-Guided Optimization (PGO) state across the whole ecosystem. I did a lot of PGO measurements - all the results are available here. According to my experience, PGO helps with achieving better optimization levels in many real-world applications. That's why I think having PGO support for compiling Dart programs with dart2native is a nice feature to have.
Multiple languages already support PGO like:

C, C++, Fortran (in Clang, GCC, MSVC, ICC)
Rust (Rustc)
Go (was recently added in the 1.21 release)
Java (via GraalVM)
C#

Also, adding PGO to dart2native was already previously mentioned in https://github.com/dart-lang/sdk/issues/39367 - I just decided to create a dedicated issue for it.

Also, adding PGO to dart2native was already previously mentioned in https://github.com/dart-lang/sdk/issues/39367 - I just decided to create a dedicated issue for it.

@zamazan4ik Thank you for filing the issue about PGO. Any reason we need 2 different github issues for this? Also notice that dart2native (aka dart compile exe/aot-snapshot) is not the only way to invoke our AOT compiler (e.g. flutter build also does invoke it). Maybe we can close this in favor of https://github.com/dart-lang/sdk/issues/53856?

Any reason we need 2 different github issues for this?

Yeah, I will explain it. https://github.com/dart-lang/sdk/issues/53855 is about adding a possibility to compile Dart programs with PGO using dart2native (also, as you mentioned above flutter build and probably other AoT compiler invocations). https://github.com/dart-lang/sdk/issues/53856 is about compiling with PGO and BOLT the DartVM itself (which is written in C++). So these are two different issues.


Isomorphic Web Apps support

Hi there,
We are currently building an isomorphic Web App which was supposed to use a Google integration.
As stated in previous closed issues, this library is not supposed to be used client side (e.g google drive is for example trying to call fs.)
The Google API Client Library for JavaScript cannot be used server side either (trying to call document etc).
Would you guys have any recommendations when trying to build an Isomorphic App (other than using two different libraries)?
Thx a lot!

You could write your own client for the Google API that you're accessing. You could use a library like axios for the http layer, which has both Node and Browser builds.

Thanks a lot Jason!


Add commit comment feature. (#40 - #43)

This commit change is to add the comment functionality for pushing changes out to network devices.

Thanks for your contribution, I left a couple of very minor comments

Thanks for your contribution, I left a couple of very minor comments

I've added the slight recommendations to the parameter naming which i agree are a bit more descriptive.

Thanks!

Have a question. At what point would this change be made when using the pip install nornir_napalm command?

@dbarrosop regarding my previous comment. I ask because when I install salt-nornir / nornir-salt it's taking the latest version via pip
Thx in advance

I will try to do a quick release tomorrow

That might take longer than expected, somehow the CI broke and I don't have the cycles right now to fix it:
https://github.com/nornir-automation/nornir_napalm/pull/21
If someone can help out with that it will certainly expedite the release.

@dbarrosop it looks like it's related to the installation of pyzmq.
Not sure how the pipeline gets executed or what it's executing specifically, but looks like it runs an Ubuntu 20.x image, that image should have libzmq3-dev installed using apt
As for the other failures it looks like it never finished off running linters to install all required packages the other ones just show ruamel is not installed
Not sure if any of this helps you but that was from my quick glance at the failure of the pipeline.

I took a quick look and I think the problem is the linter is running with Python 3.10 and for the pyzmq version 19.0.1 is no whl file on mypy for python 3.10 and pip downloads the source and tries to build it and GCC failes.
I created an PR to update all the dependencies #22

@gcasella nornir_napalm 0.2.0 has been released


Bug report - Can't run Owner Commands

What's your nodejs Version.

v16.13.2

What's the version you downloaded the bot?

10.2.1

Desktop (please complete the following information):

OS: Windows
Version 10

Describe the bug

I can't run Owner Commands (deployslash, eval, detailedeval etc). I've added in my ownerID into the config. I also get messages about the Bot joining or leaving Servers.

To Reproduce

Steps to reproduce the behavior e.g:

Create a Bot with Version 10.2.1
Add yourself in config.json
run eval command

Expected behavior

The Eval command works.

Additional context, text and screenshots!

self explanitory, but it will probably work when you have @Tomato6966's Discord ID

This should be changed, but before this code was made publicly accessible, this was a setting set on purpose, so shop bot customers can't eval,detailedeval,deployslash
just change<PHONE_NUMBER>12854784 id in those command files to your id for a fast fix


fix linting and provide fix scripts for all file types checked by Prettier

Merging even if tests are failing:

It fixes one of the tests failing in master.
The other tests were failing as well before.
The changes here cannot affect the other tests.


Data('file.csv') no longer infers fields with string values

On 0.8.0 this worked.  But since I updated, instantiating Data from a .csv is broken in cases like the following:
x,tl,z
Be careful driving.,hy,en
Be careful.,hy,en
Can you translate this for me?,hy,en
Chicago is very different from Boston.,hy,en
Don't worry.,hy,en

Actual vs expected output:
Data('data/broken.csv').fields
['0', '1', '2']
Data('data/works.csv').fields
[u'x', u'tl', u'z']

If the values are numbers, then it is inferred correctly:
x,tl,z
Be careful driving.,1,en
Be careful.,12,en
Can you translate this for me?,2,en
Chicago is very different from Boston.,2,en
Don't worry.,2,en

If the column name is 'y', then it is also inferred as expected:
x,y,z
Be careful driving.,hy,en
Be careful.,hy,en
Can you translate this for me?,hy,en
Chicago is very different from Boston.,hy,en
Don't worry.,hy,en

So it's very sensitive.

It would be nice if we could pass an argument to force the first row to be interpreted as column names.  (I'm sure the underlying CSV parser implementation supports it.)

http://blaze.pydata.org/en/latest/csv.html#correcting-csv-dialects states: In the first case of incorrect guessing of CSV dialect (e.g. delimiter) Blaze respects and passes through all keyword arguments to pandas.read_csv.
However
Data('data/broken.csv', header=0).fields
['0', '1', '2']

Moreover, pandas infers the fields as expected:
pandas.read_csv('data/broken.csv').columns
Index([u'x', u'tl', u'z'], dtype='object')

So for now the workaround is Data(pandas.read_csv('data/broken.csv')).

@bittlingmayer Pass has_header=True to the Data constructor:
d = Data('foo.csv', has_header=True)

I'm going to add a test and a bit of documentation for this issue and then close it

Documentation would be good, although I also think the original ie pandas behaviour is a bit smarter.

@bittlingmayer Yes, it's smarter, however this is a compromise between being explicit and convenience


VUMM in Rust

I plan to work on this from time to time

Noice I might hop on as well, need to rust of my rust knowledge anyways haha


fix wrong user home dir for .kube directory

Existing implementation resolves ~ placeholder to root user dir (probably because of become: yes). That breaks an intended logic, because the .kube directory is created inside the root user home, and then assigned user ownership.
    "ansible_loop_var": "user",
    "changed": false,
    "diff": {
        "after": {
            "path": "/root/.kube"
        },
        "before": {
            "path": "/root/.kube"
        }
    },
    "gid": 1000,

As a result, the Create .kube folder for the user task fails with cannot access '/home/userx/.kube/config': No such file or directory
There is yet another related issue https://github.com/istvano/ansible_role_microk8s/issues/41 with the exact cause.
Proposed changes resolve the correct user home directory, and substitute it instead of ~ , so now the logic works as intended
    "ansible_loop_var": "user",
    "changed": true,
    "diff": {
        "after": {
            "group": 1000,
            "mode": "0750",
            "owner": 1000,
            "path": "/home/userx/.kube",
            "state": "directory"
        },
        "before": {
            "group": 0,
            "mode": "0755",
            "owner": 0,
            "path": "/home/userx/.kube",
            "state": "absent"
        }

Will this change be accepted into the repository ?


test(state): add a test demonstrating patch/get parallelism issue

Goals
Demonstrate failure that occurs from mix of Update & GetAll
Implementation
The added test reliably creates a "transaction within transacction error" on my machine.
Note that if you comment out either operation (and reduce total expected error channel reads to 50), it passes, so it is the combination of Update + GetAll that triggers this.

Rebase, and I bet it will start working.

@willscott should we merge this or call it a useful thing that helped us debug and let it go?

i'd guess we're not going to catch any further issues with this test - it's more likely to be a new / different method that doesn't properly wrap itself as a txn? so i guess i'd let it go.


Skip unregistered types in included resources

Fixes issue in https://github.com/wvteijlingen/Spine/pull/90 where unregistered types in included resources break deserialization. Unsure if this is the best place to do it.

This PR would greatly improve the Api and first-use of this library. Can it be updated and merged?

Rebased and pushed. Thanks ccarnino.

Great! @wvteijlingen what do you think about it? Can you get it merged?
I think that skipping unregistered resource types make a much more solid parser. Right now if the backend guys decide to add a new resource type, the entire parsing will fail. Meaning that the production apps will stop working.
Thanks to everyone involved!

You're absolutely right. This will make deserialisation much more robust. Thanks! 👍

I think something is wrong with the Travis config. The tvOS build seems to fail randomly without any apparent reason.

Got it, can I do anything?

👏

@jensgrud: You could look into why this failure on Travis occurs if you'd like. But as long as iOS and macOS build fine I'm not too worried.

Awesome guys, thanks - saving Travis debugging for an other day ;)


Create a 'validator' to help implementors check if they are compliant

This isn't about the spec itself, but we should track progress towards tools that make it easy to check if a given file is valid GeoParquet. Ideally it'd also give warnings about any best practices - like check for bbox and explain why it's recommended.
It should help any implementor ensure that they are producing what we specified.
I have no idea of the level of effort on this, so if it's easy we can pull it forward in milestones, and it'd be good to have before we try to get lots of implementations.

Hi, I've added a quick validator Python script using JSON Schema (can be used with other languages too). Please, share your comments and ideas on the draft.

The PR is merged. There will be more updates in the future regarding the validator, but I think we can close this one because the first version has been merged.


minetest: 5.5.1 -> 5.6.0

Description of changes
https://dev.minetest.net/Changelog#5.5.0_.E2.86.92_5.6.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 186160 run on x86_64-darwin 1

1 package failed to build:

minetest (minetestclient ,minetestclient_5)

1 package built:

minetestserver (minetestserver_5)

Result of nixpkgs-review pr 186160 run on x86_64-linux 1

3 packages built:

irrlichtmt
minetest (minetestclient ,minetestclient_5)
minetestserver (minetestserver_5)

failure on darwin intel
CMake Error at /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:458 (message):
  otool -l failed: 1

  error:
  /nix/store/nq7dispfy6jj8m56963b5w990djs431y-cctools-binutils-darwin-949.0.1/bin/otool:
  can't open file: /usr/lib/libSystem.B.dylib (No such file or directory)

Call Stack (most recent call first):
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:527 (get_item_rpaths)
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:649 (set_bundle_key_values)
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:934 (get_bundle_keys)
  src/cmake_install.cmake:54 (fixup_bundle)
  cmake_install.cmake:98 (include)

failure on darwin intel
CMake Error at /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:458 (message):
  otool -l failed: 1

  error:
  /nix/store/nq7dispfy6jj8m56963b5w990djs431y-cctools-binutils-darwin-949.0.1/bin/otool:
  can't open file: /usr/lib/libSystem.B.dylib (No such file or directory)

Call Stack (most recent call first):
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:527 (get_item_rpaths)
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:649 (set_bundle_key_values)
  /nix/store/j41rvaxw9c3m8ics8pwhsr4ih525f821-cmake-3.23.2/share/cmake-3.23/Modules/BundleUtilities.cmake:934 (get_bundle_keys)
  src/cmake_install.cmake:54 (fixup_bundle)
  cmake_install.cmake:98 (include)

Looks like that's a sandboxing issue AFAIK, libSystem is proprietary and contains the system's libc.

I'll try to have a look at that later, but in the meantime maybe someone from @nixos/darwin-maintainers has a quick solution.

@viraptor Please open a separate PR for that. I don't have access to a Darwin system and thus cannot test or fix this.

Looks like this can be backported, there isn't any breaking change


DOC: Add questions/contributing section to README

Coverage remained the same at 87.492% when pulling 8306dc6be47043f4dbb9a495decb5638cbfa141d on add-readme-sections into 07a0f6a12a7aa1d432e15a1772c929295d4219f3 on master.

Coverage remained the same at 87.492% when pulling c9c3cfa1b850bf2023fd7890f1ae0a42258c8cb2 on add-readme-sections into 07a0f6a12a7aa1d432e15a1772c929295d4219f3 on master.

@richafrank good for another pass :)

Coverage remained the same at 87.492% when pulling 1ab996cf41a78d7779802b32acec6f8d7942d200 on add-readme-sections into 07a0f6a12a7aa1d432e15a1772c929295d4219f3 on master.


Unzip file after download, for get_cut() bands = "ALL"

Add code to unzip result if wanted.

These methods will be deprecated in near release with new API.


Investigate alternatives to EOS

Due to other issues, #3, #8 and #9 would replacing EOS with another AI spawn/cache script be a better option?
Candidates are DAC and a combination of ZBE_CACHE and some SHK scripts already used by EOS.

I'm going to stick with EOS for now but make some changes as I need them so that its a bit more suitable for Anvil.


Issue with django.contrib.messages session/middleware

Hello! First of all, this app is nifty. I am having some issues getting it to play nicely with django.contrib.messages. Messages aren't being passed to my templates when I'm using this app instead of Django's default session engine/middleware.
I believe the issue centres around SESSION_ENGINE = 'user_sessions.backends.db'. Say I want to pass a message to my view:
class Index(ListView):
    ...
    def get_context_data(self, **kwargs):
        context = super(Index, self).get_context_data(**kwargs)
        messages.info(self.request, 'Why, hello!')
        return context

I can access the message via messages.get_messages(), but the message doesn't appear in my template:
...
{% if messages %}

    {% for message in messages %}

{{ message }}

    {% endfor %}

{% endif %}
...

Let me know if you have additional information to share.


Problem loading model

Hey ContrastiveVI team!
I'm super excited to try out your method! I ran ContrastiveVI and saved the model, presuming that the model would have similar scVI saving and loading capabilities, as below:
model.save(out_dir + "my_model/")

without any error. But now that I try to load it using:
model = scvi.model.SCVI.load(out_dir + 'n_latent.10/my_model', adata_cv)

I get the following error:
INFO     File
         /data/peer/chanj3/HTA.fresh_plasticity.SCLC.120122/out.SCLC.ContrastiveVI.120122/n_latent.10/my_model/mode
         l.pt already downloaded
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[28], line 1
----> 1 model = scvi.model.SCVI.load(out_dir + 'n_latent.10/my_model', adata_cv)

File ~/anaconda3/envs/multiome_py_r/lib/python3.10/site-packages/scvi/model/base/_base_model.py:598, in BaseModelClass.load(cls, dir_path, adata, use_gpu, prefix, backup_url)
    596 registry = attr_dict.pop("registry_")
    597 if _MODEL_NAME_KEY in registry and registry[_MODEL_NAME_KEY] != cls.__name__:
--> 598     raise ValueError(
    599         "It appears you are loading a model from a different class."
    600     )
    602 if _SETUP_ARGS_KEY not in registry:
    603     raise ValueError(
    604         "Saved model does not contain original setup inputs. "
    605         "Cannot load the original setup."
    606     )

ValueError: It appears you are loading a model from a different class.

Is there any way to save and load the ContrastiveVI model? Thanks so much!

Hey @jmchan88! Sorry for the late reply here. During our experiments we saved/loaded contrastiveVI models using the standard torch.save and torch.load interface, and didn't end up testing out the scvi save/load interface.
We're currently working on moving contrastiveVI over to the scvi-tools codebase (see https://github.com/scverse/scvi-tools/issues/2242), and should have the scvi save/load interface implemented as part of that PR. Please let us know if you have further questions.


Add Support for onTapDown

Description:
Mix supports $on.press for styling Widgets, but the style is applied only after the press action is completed (onTapUp). Developers have expressed the need for styling during the onTapDown event.
User Stories:

As a developer using Mix,
I want to style widgets specifically during the onTapDown event,
so that I can provide immediate visual feedback, such as color changes or scaling, when a button is pressed.

Acceptance Criteria:

[ ] Add support for the onTapDown event in widget and expose it in the styling API.
[ ] Ensure that onTapDown styles are applied immediately when the user presses the widget and reset when the press is released or canceled.
[ ] Write documentation explaining how to use the onTapDown styling feature.

[ ] Add examples demonstrating use cases such as changing widget color or scaling on press.

[ ] Include unit and integration tests to validate the functionality of onTapDown event styling.

Resources:

https://github.com/conceptadev/mix/issues/452#issuecomment-2443169407
https://github.com/conceptadev/mix/issues/452#issuecomment-2439029074

Example of API
$on.press.event((e) {
  switch (e) {
    case MixPressEvent.onTapDown:
      return Style(
        $box.color.red(),
      );
    case MixPressEvent.onTapUp:
      return Style();
  }
});

If we have a StyledMaterial，then we have ripple effect
StyledMaterial(
   child: InkWell(
     onTap() {
     },
   ),
);

An alternative is to create a utility for tap that is triggered whenever any onTap method is called. The API would look like:
$on.tap((e) {
  switch (e) {
    case OnTapEvent.onTapDown:
      return Style(
        $box.color.red(),
      );
    case OnTapEvent.onTapUp:
      return Style();
  }
});

The enum OnTapEvent should contains a case for every onTap method.
The tap utility should receive a as parameter Function(OnTapEvent)

If we have a StyledMaterial，then we have ripple effect
StyledMaterial(
   child: InkWell(
     onTap() {
     },
   ),
);

@lvsecoto, We will create a specific issue to track the solution for InkWell. While support for onTapDown is related, it is not the same issue.

An alternative is to create a utility for tap that is triggered whenever any onTap method is called. The API would look like:
$on.tap((e) {
  switch (e) {
    case OnTapEvent.onTapDown:
      return Style(
        $box.color.red(),
      );
    case OnTapEvent.onTapUp:
      return Style();
  }
});

The enum OnTapEvent should contains a case for every onTap method.
The tap utility should receive a as parameter Function(OnTapEvent)

The press state must remain active while the button is held; it shouldn't replace the state for a longPress.


add e2e test for vscode

Clear and concise description of the problem
add e2e test for vscode considering we are having more and more user scenario and logic in vscode now
Checklist

[x] Follow our Code of Conduct
[x] Read the docs.
[x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

At present, manual testing is involved, so it will be postponed to find time to do


feat: add SpectreMitigation property

Checklist

[x] npm install && npm test passes
[ ] tests are included
[ ] documentation is changed or added
[x] commit message follows commit guidelines

Description of change

This PR allows the user to pass in SpectreMitigation to the msvs_configuration_attributes object, which is a sibling to the msvs_settings object.

Turns out this PR should be for GYP instead


Hints on creating a client with C++?

Hi everyone,
first of all: great work! So far I managed to get everything working using your example python client and the documentation, extended the client further (extract all measured data and dump it), built custom maps using splines, got them up running with RoutePlanners and (I think) understood the design of carla.
What I'm now trying to do is get a simple client up running with C++. For this I'm using protobuf and created the carla_server.pb.h/cc files. I already took a look at the carla_server C API. But I'm having problems at requesting a new episode and reading data, maybe I'm just not familiar enough with the protobuf messaging concept. What I have so far by looking at the python API (mostly client.py):
// create tcp communication (localhost:2000)
boost::asio::ip::tcp::iostream world_client;
world_client.connect(m_server, std::to_string(m_port));

// request new episode
carla_server::EpisodeStart episode_request = carla_server::EpisodeStart();
episode_request.set_player_start_spot_index(5);
string rq_string;
episode_request.SerializeToString(&rq_string);
const char* msg_c = rq_string.c_str();
world_client.write(msg_c, strlen(msg_c));

// read data from carla server (header with message length and actual trailing data)
// to be placed inside a loop later
char* header;
char* carla_msg;
world_client.read(header, 4);
streamsize length = header[1];
world_client.read(carla_msg, length);

So what I'm asking:

Is it going to work this way?
Does anyone have an advice on where to look at how things are done in python?
Is it necessary to create a carla_settings object or is it somehow possible to use the default CarlaSettings.ini (e.g. by not specifying any scene description)?

Thank you very much!

Update:
I've added the scene description from file to send it with a request:
try {
        // open streams for communication with carla server
        stream_world.connect(m_server, std::to_string(m_port));
        stream_gt.connect(m_server, std::to_string(m_sensor_port));
        stream_control.connect(m_server, std::to_string(m_control_port));

        // open CarlaSettings.ini
        ifstream settings_ini;
        streampos file_size;
        char* settings;
        settings_ini.open(m_settings_dir, ios::in|ios::binary|ios::ate);
        if(settings_ini.is_open()) {
            file_size = settings_ini.tellg();
            settings = new char[file_size];
            settings_ini.seekg (0, ios::beg);
            settings_ini.read (settings, file_size-2); // remove gibberish chars at end
            settings_ini.close();
            cout << "Scene description file found!" << std::endl;
            cout << settings << std::endl;
        }
        else {
            cout << "Scene description not found!" << std::endl;
            return false;
        }

        // send request with scene_description
        carla_server::RequestNewEpisode episode_request = carla_server::RequestNewEpisode();
        string scene_description(settings);
        episode_request.set_ini_file(scene_description);
        string rq_string;
        episode_request.SerializeToString(&rq_string);
        const char* msg_request = rq_string.c_str();
        stream_world.write(msg_request, strlen(msg_request));

        // send episode start with fixed start position (5)
        carla_server::EpisodeStart episode_start = carla_server::EpisodeStart();
        episode_start.set_player_start_spot_index(5);
        string ep_string;
        episode_start.SerializeToString(&ep_string);
        const char* msg_start = ep_string.c_str();
        stream_world.write(msg_start, strlen(msg_start));

        std::cout << "Connected to Carla!" << std::endl;
        return true;
    } catch (const std::exception& e) {
        // in case ue4 is not running and tcp connections fail
        std::cerr << e.what() << std::endl;
        return false;
}

But how are the sensor data and the measurements packed, or how do I know the length of the header in the sensor data before I start to read (according to the struct in carla_server.h)?

Hi @p-schulz,
First of all, we are about to change all the client-server communication, so if you are not in a hurry you can wait until we have it working. I'm in charge of making those changes, I'm trying to move the core of the client to C++ and probably stop using protobuf, if that's the case we'll have a C++ interface for the client too. This is part of the current code sprint (see #439), I expect to have it implemented by the end of June, but some functionality may be still missing. (At this point looking at how feasible is to use rpclib).
Now if you still want to continue, here are some relevant links

CarlaServer protocol documentation.
Python code: client.py implements the protocol, tcp.py the TCP connection.
The proto definition carla_server.proto (I guess you've already seen this one)
Each sensor has its own serialization (for performance), they're documented in the comments in Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor

And some things to take into account

Yes, you can load a CarlaSettings.ini as string, that works.
Yes, all messages are prepended by an uint32_t header stating the size of the coming message.
In the world thread, each write has to be followed by a read, otherwise it will block; and the messages must follow the strict order that appears in the CarlaServer documentation.
The "carla_server.h" is only for the interface with Unreal Engine, does not necessarily match the data sent through the network.

As you see, it's sort of cumbersome protocol. That's why I want to move it to something simpler and more flexible.
Also,
char* header;
char* carla_msg;
world_client.read(header, 4);
streamsize length = header[1];
world_client.read(carla_msg, length);

when you read from a boost::asio socket you need to allocate the buffer yourself before hand.
--> e.g. char header[4u]; See boost example.
Good luck ;)

Hi @nsubiron,
I overlooked the server documentation... And yes, I followed the issues about redesigning the client-server communications, but wasn't aware you actually try to implement the client in C++. That would be awesome.
Thanks for your help! :)


[FLINK-10487] [table] fix invalid Flink SQL example and add runnable SQL example for Java API

What is the purpose of the change
Fix invalid java example (which uses a non-existing API) in doc.
Also provide a new SQL example in java API not only for users' convenience, but also for developers' convenience to verify examples in our doc are correct and up-to-date.
Brief change log

Fix the invalid java example to use correct SQL API
Add a runnable Flink SQL example for Java as org.apache.flink.table.examples.java.StreamSQLExample. The example's logic is the same as the corresponding example in scala org.apache.flink.table.examples.scala.StreamSQLExample

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
The example can be run manually to verify it.
Does this pull request potentially affect one of the following parts:
none
Documentation

Does this pull request introduce a new feature? (no)

@hequn8128 @fhueske Thanks for your review. I've updated code accordingly

@bowenli86 thanks for the update. LSGTM.

Thanks for the update @bowenli86!
+1 to merge

merging


Adjust timing around onClick/onDrag* events in IE11/Edge

Fixes #450

What kind of change does this PR introduce?

[x] bugfix
[ ] feature
[ ] refactoring / style
[ ] build / chore
[ ] documentation

Did you add tests for your changes?

[x] Yes, my code is well tested
[ ] Not relevant

^^ had to fix a few tests to be async with the introduction on a setTimeout in the click handler.
If relevant, did you update the documentation?

[ ] Yes, I've updated the documentation
[x] Not relevant

Summary
Please see the issue, #450 for most of the reasoning.  Executive summary:
In IE11/Edge the file browser dialogue will block code running.  A timeout is necessary here so that setState calls in onClick and onDragRejected won't conflict when batched together.
Does this PR introduce a breaking change?
No.
Other information
There was an unrelated code style fix that sorta just happened -- see the very bottom of this diff.

Welp.  Turns out those unrelated style fixes that happened automatically broken travis....

Sure.  The formatting fail was due to using npm instead of yarn for the install.... the automagical eslint --fix did it in a pre-commit hook.  I've fixed up the rest of it.

Dangit.  I'll look into this CI failure shortly... in the middle of other things.  Stay tuned!

Thanks for working on this!

No problem, thanks for the review!

This PR and line https://github.com/react-dropzone/react-dropzone/blob/8dd2affcec0206b31bf6dccaba31bf5f422661f8/src/index.js#L204
broke onclick for safari.
Removing the settimeout fixed it for safari.

I have the same issue as @beckend, on mobile iOS the user needs to click double tap on the drop zone to open the file system. removing the setTimeout fix it. can somebody check it?

@mrharel because i don't really know how to repro it, i decided to workaround the issue, so i check i made a workaround:
/**
 * Bug with react-dropzone where onClick does not fire on safari correctly
 * https://github.com/react-dropzone/react-dropzone/issues/502
 * This component was made to fix that
 */
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import ReactDropzone from 'react-dropzone';

export default class Dropzone extends Component {

  static mapBlockingFileDialogBrowsers = {
    EDGE: true,
    MSIE: true
  };

  static propTypes = {
    ...ReactDropzone.propTypes,
    browserName: PropTypes.string.isRequired,
    // eslint-disable-next-line react/forbid-prop-types
    rootProps: PropTypes.any
  };

  handleSetRefDropzone = (ref) => {
    this.refDropzone = ref;
  }

  // basically a modified clickhandler from react-dropzone
  handleOnClick = (evt) => {
    const {
      browserName,
      disableClick,
      onClick
    } = this.props;

    if (disableClick) { return; }

    evt.stopPropagation();

    if (onClick) {
      onClick.call(this.refDropzone, evt);
    }

    if (this.constructor.mapBlockingFileDialogBrowsers[browserName]) {
      // in IE11/Edge the file-browser dialog is blocking, ensure this is behind setTimeout
      // this is so react can handle state changes in the onClick prop above above
      // see: https://github.com/react-dropzone/react-dropzone/issues/450
      setTimeout(this.refDropzone.open.bind(this.refDropzone), 0);

    } else {
      this.refDropzone.open();
    }
  }

  render() {
    // eslint-disable-next-line no-unused-vars
    const { browserName, disableClick, onClick, rootProps, ...passedProps } = this.props;

    return (
      <div {...rootProps} onClick={this.handleOnClick}>
        <ReactDropzone {...passedProps} disableClick ref={this.handleSetRefDropzone} />
      </div>
    );
  }

}

@beckend or you can just go back to version react-dropzone": "3.13.3" before this fix was done, and see if someone will fix it soon.
Thanks for sharing this code, i will give it a try.


Checkout my ORM project

Found a link to this project and completely forgot about it. Seems to be more focused on a styleguide, and while I have mixed / weak feelings about most of the points made in here, I have outlined a lot of stuff that has helped me exponentially step up my architecture game. Thought it might be worth checking out / consolidating, although I tend to stick to some fairly opinionated personal points that people may disagree with.
For example, I only like controllerAs in directives, but I do not like it anywhere else in the app. I also have mixed feelings of relying on hoisting since it means you're working with variables/functions  that it may be difficult to track down where they came from (although I understand the argument where order matters). I find verbose filenames/controller names silly.
However, I think there is a lot of things people need to learn about HOW to break up projects into routes, controllers, directives and services, and how to keep these structures sane and relevant even as your app grows into a massive scale.
https://github.com/ProLoser/AngularJS-ORM

Some remarks on your version:

Controller As views can be reused with other controlles! You just set the controller and controllerAs in your route and always name it for example vm, problem fixed.
I miss tips on how to share data between controllers, like in subcontrollers, as this is something used in almost every app, for example, you have a list of items and you want each list item to behave the same, you use the same controller for it, but you already have the data in the parent controller, then how do you give those objects to your controller? If you say: use one controller for all, then you are wrong as the behaviour of one such item is something different than the behaviour of the set of them.

@dietergeerts I don't get your second remark. You should be using resolves. You can inject resolves everywhere, at every level. I also don't get why team size matters. I also can't really speak on lazyloading since it's extremely hackish to do in ng1. If you want true lazyloading you'd be better off looking at ng2 and/or ui-router v1.0
Almost all of my recommendations on having a PROPER understanding of how ui-router works, and since one of the tenants in this styleguide is to use ui-router, I would think that knowing how to use the tools you recommend can only be seen as an improvement.
A lot of bad practices or things I disagree with are aspects that are fundamentally covered by routing and application breakdown. The breakdown I prescribe tends to be just as modular as component-heavy breakdowns, however it also lends itself to being much easier to refactor.
Renaming controllers and then reusing them in other controllers has large fundamental design issues:

Your controllers now communicate, something considered generally taboo in MV*(C)
Your controllers begin to bloat since they contain your reused logic
This means you slow down your tendency towards services
Your controllers (and therefore scope) becomes highly stateful which can lead to brittle-ness
You rely on scope inheritence which is generally bad across controllers, since this is the equivalent to global variables when you make assumptions about the existence of scope variables
By placing a controller on a scope, there is no concrete contract in one controller that another controller is on the scope. You are just telling your coworkers to do it this way and crossing your fingers when you refactor hoping things don't silently break
Renaming controllers becomes arbitrary and can lead to confusion about what this controller's state is.
You don't have the ability to control the instances of controllers, spinning up multiple clones, handling buildup/teardown lifecycle
The only way to share controllers is through scope
You are now relying on controllers to be placed onto the view with the correct names in order to function properly. This means that part of how a controller work is defined in a completely separate place from the controller itself.
The injection signature of a controller acts like a CONTRACT. An interface that clearly states "In order for this controller to work properly, I need this data.
Providing data to a controller via resolves is done before the controller kicks in
Controller responsibilities shrink to do nothing more than (lightly) populating the view and assisting in routing control
You have much stronger control over lifecycle using resolves, can spin up multiple instances of business logic packages (resolved objects) and can share them across controllers in a clearly defined contractual way.

Try looking over the project and the code before rejecting it. I have been working with angular and contributed to a huge share of the current knowledge-base that is angularjs since around v0.9 and second to the core team itself, personally have the some of the most angular-js code in the wild to date.

I could seriously go on, but this is a very specific argument that I never expected to get a lot of buy in and honestly isn't the biggest concern I have. For the most part, my main concern is getting people to leverage routing and project breakdown, relocating logic to the relevant locations and being mindful of how you go about designing your api so that it can be easily refactored and less brittle. controllerAs is merely one facet to this entire process.
Seriously, check out the repo and try giving me some example cases you don't feel would be elegantly solved by it.

@ProLoser :

Renaming controllers and then reusing them in other controllers has large fundamental design issues:

Your controllers now communicate, something considered generally taboo in MV*(C)
Your controllers begin to bloat since they contain your reused logic

I think you don't understand what I mean here. I also have to note that I come from a MVVM background and had never used MVC before that, which is a great benefit because in MVVM, your views and viewmodels are really loosly coupled, unlike MVC!
So the controllers that are being reused really don't know each other, it's the view that will use those 'subcontrollers' And in such cases, you can't use resolves etc... For example, when you have a route where you show a list and detail next to each other, the list will be powered by a controller and the detail part will be powered by another controller. The part where you 'give' the object to the detail controller is important here, as it will be the selected one. So you 'transfer' the object through your view from one controller to the other. And it doesn't stop there. What if you want to show your list items really detailed with several actions  you can do for each? then you would use a controller that acts on one such item. So your view will create a controller for each item in that list. So in this case we also need to 'give'' the object to that controller. Doing this instead of one massive controller for each major route view will give you more power to switch out controllers and views. if for example you don't want to view your list items in a detailed manner, you can just choose another view and controller to display them and your done.
All of this is hard to grasp for people that started out with MVC as they are used to boilerplate code, while starting out with MVVM will get you used to think in small pieces that act on their own and then compose into bigger stuff.
In angular, you'll get controllers that act on one model object, and they will get it from ngModel, or something you choose. No need for resolves here as those controllers aren't intended to be used by a main route view, but as part of it.

@ProLoser : the lazyloading is done with https://github.com/ocombe/ocLazyLoad, and it only requires two lines of code actually....

Everything you just described doesn't belong in a controller. It belongs in a factory or service. Your objects should be rich and highly functional and completely agnostic of angular-centric concepts, as pretty much all of my classes are. They contain 95% of my logic and can be passed around.
Data is packaged with methods / logic together, is completely self contained, and allows the logic to act upon itself using the data contained within itself. This is not something that should be packaged into a controller.
If you have a list and a details view, the details view should be a sub-state of the list. Which allows you to define a sub-state controller. Which allows you to resolve the sub-state object and inject it into that controller. This "passing" of data you describe is not defined contractually anywhere in your code. You are essentially setting scope variables that the controller now must 'assume' exist. You are also in all likeliness wrapping your ng-controller type code in ng-if statements instead of making it state-controlled.
$stateProvider.state('items', {
  controller: function Items($scope, items) { ... },
  template: '<!-- list goes here --><ui-view><!-- Details go here --></ui-view>',
  resolve: {
    items: function(Item) {
      return Item.list();
    }
  }
}).state('items.details', {
  controller: function ItemDetails($scope, item) { ... },
  resolve: {
    item: function(items, $stateParams) {
      // note we're referring to a previous resolve
      return items[$stateParams.index]; // or something
    }
  }
});

This is how what you just described SHOULD be tackled.

I should also mention that almost ALL of your logic belongs in the Item class, not in either controller. Updated with relevant code.

This demonstration shows that it's not important to pass around 'controllers', or naming them, or packaging any important logic whatsoever inside of them. Your simple factories contain most of your logic and are completely autonomous, HIGHLY testable and could in all likeliness be used completely independently of angular. They can set state flags on themselves such as if an action is in progress (like saving, creating, uploading) and require a lot less parameters and data juggling. You simply pass these objects around in your app and manage them, and the view has DIRECT access to ALL of these methods since the ENTIRE object is placed onto the view. So instead of ng-click="myController.save(myData)" you get a far more packaged ng-click="item.save()".

I'm going to throw this out because I'm starting to beat a dead horse:
I have been doing way more angular  for far longer than you may very well realize and have personally contributed to a lot of the design patterns in this guide. At the very least try my structure out before you discard it or poke holes in it as I have thoroughly done to every practice in here.
I am completely open and receptive to criticism of my design and more than happy to improve/refactor/change/drop things when it makes sense, it took me several years to arrive at where I am now, but I have built written a LOT of documentation on this stuff and without trying out what I propose I will have a hard time taking arguments against it seriously.
Understand that ui-router is far more than a simple routing system. Understand that ng2's a major new project structure feature (component router) is based entirely on the work that has gone into ui-router. Finally, understand ALL the features of the tools you're using (ui-router) inside and out, as I've come to find most people in the ng community don't, which in turn leads to problematic project structures in angular.

Please go checkout my repo, profile, and body of work before outright discarding it or ignoring my points.

@ProLoser : I'm not discarding or ignoring your work, it's just missing the thing I'm describing, like all other guides out there...

The state machine controls what is active.

It sounds like you don't leverage sub-states in your app, which is one of the core values of UI-Router. I don't really want to keep arguing over this point anymore, as it's mostly superficial syntax.

interesting points ... but i don;t see any action items here so i am closing.


Spamming input action can skip [ns] effects, even at the start

The problem
It's possible to spam the dialogic input action (e.g. spam space) to skip [ns] (no-skip) effects, even if they're the very first character in a text event. I believe this makes it impossible to have a truly unskippable text message, and it can also happen by accident if the player accidentally presses the space bar twice.
To Reproduce
Steps to reproduce the behavior:

Create a timeline with a single text event, like

[ns]You shall not skip!!

... or shall you?

Playtest the timeline, spamming the skip input action (default space bar/mouse click) before the text box even shows up
Notice how the message was skipped. If you don't spam quite as fast, it wouldn't have been skipped.

Expected behavior
The message would not be skipped, and you'd have to let it play out till the end.
Quite useful for cutscenes, and important messages that shouldn't be skipped!
System (please complete the following information):

OS: Windows
Godot Version: 4.2.2
Dialogic Version: 2.0 alpha-13 (also tested on main branch)

Solutions
Workaround
Unknown.
Possible fixes
Making it so that the effect is processed before you have the chance to skip it, or
Adding a separate option/event to make the whole message unskippable, so it can be executed before the Text event starts?

Another solution (which is what I'd do as a workaround, but I'm unaware how to do this), would be to add an variation of [ns] which would also halt skipping: any skipping attempt would only go up to that effect.
Example:
If you tried skipping a message such as
Skip me... [modified_ns]If you can!

it would skip to immediately before the word "If" which follows the text effect, disable skipping afterwards, and then continue the message reveal.
The nice bonus is, if you used that at the start of the message, it would effectively prevent you from skipping.
(the ability to stop skips at a certain point is in general quite useful, so it could be made into a separate effect without the [ns] behavior as well. Also, [n] and [n+] do not work for this exact purpose.)

Update: I've pieced together how the skipping works, and managed to make a (seemingly) working implementation of the "halt" effect that interrupts skipping, as mentioned above. It's not great though, I ended up bending the abstraction for effects a bit to achieve it as effects aren't designed for this. LMK if it's worth sharing nonetheless!
As useful as that effect is, it unfortunately didn't fix the original issue of spamming to skip [ns] at the start.
However, I found that simply moving States.REVEALING to after the await where textbox is updated is enough. It seems like a harmless change (this state is only used twice in the code, both for skipping, which is what should be changed)


Refine addon terraform provider doc

Also added how to set Region field

@hongchaodeng Please help review this. Sorry for the late response.


New gov proposal to update the perpetual pool was added

This new gov proposal has the objective of updating a perpetual pool however we're starting with a single field in order to ensure safety. The field is enabled

Before:

After to gov proposal:

@fenriz07 @amityadav0 @avkr003 instead of adding more messages to perpetual can we make so perpetual works by default with all oracle pools, so that we can get rid of those unnecessary pepertual pools settings


Connection errors

Describe the bug
The connection to the inverter dies roughly once per day. It doesn't recover so I need to reload the integration.
I think this started with 2024.3.1
Expected behavior
Connection recovers
Screenshots
No response
Diagnostic File
config_entry-solaredge_modbus_multi-b86bc24f1ca70258f7ffd41889955498.json
Debug logs
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.solaredge_modbus_multi
Quelle: helpers/update_coordinator.py:318
Integration: SolarEdge Modbus Multi (Dokumentation, Probleme)
Erstmals aufgetreten: 15. März 2024 um 20:16:20 (326 Vorkommnisse)
Zuletzt protokolliert: 08:05:52

Unexpected error fetching SolarEdge Coordinator data: AsyncModbusTcpClient.close() got an unexpected keyword argument 'intern'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 318, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus_multi/__init__.py", line 191, in _async_update_data
    return await self._refresh_modbus_data_with_retry(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus_multi/__init__.py", line 228, in _refresh_modbus_data_with_retry
    raise ex
  File "/config/custom_components/solaredge_modbus_multi/__init__.py", line 225, in _refresh_modbus_data_with_retry
    return await self._hub.async_refresh_modbus_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus_multi/hub.py", line 364, in async_refresh_modbus_data
    await inverter.read_modbus_data()
  File "/config/custom_components/solaredge_modbus_multi/hub.py", line 826, in read_modbus_data
    inverter_data = await self.hub.modbus_read_holding_registers(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus_multi/hub.py", line 452, in modbus_read_holding_registers
    result = await self._client.read_holding_registers(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 179, in async_execute
    self.close(reconnect=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/tcp.py", line 92, in close
    super().close(reconnect=reconnect)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 130, in close
    self.connection_lost(asyncio.TimeoutError("Server not responding"))
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 288, in connection_lost
    self.close(intern=True)
TypeError: AsyncModbusTcpClient.close() got an unexpected keyword argument 'intern'

Home Assistant Version
2024.3.1
solaredge-modbus-multi Version
2.4.12
Installation Type
HAOS
Read the Instructions

[X] I have read https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki
[X] My configuration follows https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki/Configuration
[X] This issue is not about a template error (template errors should not be reported as an issue, read https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki/Template-Design-Notes)

Additional Context
No response

Try asking in pymodbus.
https://github.com/pymodbus-dev/pymodbus/pull/2080

So is that a regression? Can I change the config somehow?
If that's an issue of the underlying module it would affect everybody?

I can try pushing to pymodbus 3.6.6 in a pre-release.

It's probably a regression, definitely a bug in pymodbus. Updating HA can update the version of pymodbus that HA ships with. My integration will use whatever the current version is as long as it meets the minimum API requirements (currently pymodbus 3.5.x). I will usually push releases every now and then to track some HA equivalent minimum.
You can change the pymodbus version the integration will require by editing manifest.json file.

So, for example, if you weren't seeing this problem in HA 2024.2.x but the problem started in 2024.3.1 or 2024.3.0 then you can determine which version of pymodbus is causing it based on what each those versions of HA ships with.

I'll try the version with pymodbus 3.6.6 once it is out. For now I am reloading the integration every few hours.

Just for the record, I can confirm that setting "requirements": ["pymodbus==3.6.4"] in manifest.json fixes the issue after a restart. I am running OS Version: Home Assistant OS 12.1 and Home Assistant Core: 2024.3.1 and I only noticed the issue in 2024.3.1 where the connection to the inverter terminates after only a few minutes following a restart.

HA 2024.3.1 comes with pymodbus 3.6.5
HA 2024.3.0 comes with pymodbus 3.6.4
All of the HA 2024.2.x releases had pymodbus 3.6.3

As per this comment, I have manually modified my manifest.json requirements to 3.6.6 as below:
{
  "domain": "solaredge_modbus_multi",
  "name": "SolarEdge Modbus Multi",
  "codeowners": ["@WillCodeForCats"],
  "config_flow": true,
  "dependencies": [],
  "documentation": "https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki",
  "integration_type": "hub",
  "iot_class": "local_polling",
  "issue_tracker": "https://github.com/WillCodeForCats/solaredge-modbus-multi/issues",
  "loggers": ["custom_components.solaredge_modbus_multi"],
  "requirements": ["pymodbus>=3.6.6"],
  "version": "2.4.13-pre.3"
}

Core
2024.3.1
Supervisor
2024.03.0
Operating System
12.1
Frontend
20240307.0
I will now monitor for further issues.

Basically 2.4.13-pre.3 just aligns requirements with what Home Assistant 2024.3.0 uses. There are no code changes in it.

Basically 2.4.13-pre.3 just aligns requirements with what Home Assistant 2024.3.0 uses. There are no code changes in it.

My system rebooted with the higher requirement (>=3.6.6 vs >=3.6.4), and is currently working correctly. Hopefully, the connection issue will disappear, at which point you may consider increasing the requirement more permanently. I will update if nothing happens in the next week.

Yes if that fixes it I will push the pymodbus min to 3.6.6.

hello I have the haos version so no command line access to add pymodbus higher version or there is a method thank you

hello I have the haos version so no command line access to add pymodbus higher version or there is a method thank you

If you are comfortable editing a file, you can use your favourite file viewer addon (I use the VIsual Studio Code addon in HAOS), and navigate to custom_components/solaredge_modbus_multi/manifest.json in your config folder.
You will see a file that looks like above, the line
"requirements": ["pymodbus>=3.6.4"],
needs to be changed to
"requirements": ["pymodbus>=3.6.6"],
And then you should restart Home Assistant and confirm the addon loads correctly.
Note, manual changes to the manifest will be overridden next time you update the addon, so this is a temporary change.

Home Assistant 2024.3.2 now has pymodbus v3.6.6.

bonjour j'ai la version haos donc pas d'accès en ligne de commande pour ajouter une version supérieure de pymodbus ou il y a une méthode merci

Si vous êtes à l'aise avec l'édition d'un fichier, vous pouvez utiliser votre module complémentaire de visualisation de fichiers préféré (j'utilise le module complémentaire VIsual Studio Code dans HAOS) et accéder à custom_components/solaredge_modbus_multi/manifest.jsonvotre configdossier.
Vous verrez un fichier qui ressemble à celui ci-dessus, la ligne "requirements": ["pymodbus>=3.6.4"], doit être modifiée en "requirements": ["pymodbus>=3.6.6"],
Et puis vous devez redémarrer Home Assistant et confirmer que le module complémentaire se charge correctement.
Notez que les modifications manuelles apportées au manifeste seront annulées la prochaine fois que vous mettrez à jour le module complémentaire, il s'agit donc d'une modification temporaire.

Thank you
the modification are install

Fixed in Home Assistant 2024.3.2


Complete 05_SoftwareRequirementsAndArchitecture_LaneAssistance.docx Document

Template: https://github.com/ser94mor/functional-safety-of-lane-assistance-system/blob/master/Templates/05_SoftwareRequirementsAndArchitecture_LaneAssistance_Template.docx

Merged in #13.