Delete/delete conflicts cause crashes

This is a really interesting case. A delete/delete conflict will result in a disjoint child list. This wasn't mentioned in the paper :(. The reason is that vanilla 3DM-merge actually doesn't detect the conflict. For example, consider these three revisions (with simplified pred/succ PCSes):
Base:
a b

which gives (START, a), (a, b), (b, END)
Left:
a

which gives (START, a), (a, END)
Right:
b

which gives (START, b), (b, END)
The raw merge is thus (START, a), (a, b), (b, END), (a, END), (START, b). There are four conflicting pairs.

(START, a) and (START, b). As (START, a) is in the base revision, we keep (START, b).
(b, END) and (a, END). As (b, END) is in the base revision, we keep (a, END).
(a, b) and (a, END). As (a, b) is in the base revision, we keep (a, END).
(a, b) and (START, b). As (a, b) is in the base revision, we keep (START, b).

This leads to a computed merge like so: (START, b), (a, END), which forms a disjoint child list. Yet, it isn't structurally conflicting. It's just structurally incomplete.
In the current implementation, situations like this lead to a NullPointerException

As of 02ad893fe4b71a50d3ce5b075678c289083df105, this is not the case anymore. Delete/delete conflicts trigger the node-local line-based fallback.


Storing raw VSK_map files via DVC

We want to investigate using DVC to store large in progress map files.
Todo: write as a proposal
Initial list of binaries to transfer to DVC
Use a Linux command to get the top 20 by size file types.

*.glb
*.gltf
*.bin*
*.png
*.webp
*.jpg
*.jpeg
*.exr
*.scn

Remotes

Google drive does not have two implementions
S3 Compatible has multiple implementations. Intent on using digital ocean spaces.

Github vs Gitlab

Gitlab is rejected because it causes friction as a social network
Use github

Permissions vs Cost

Permissions?
Open bucket
Cost of storage

Installing

https://dvc.org/doc/install/windows
https://dvc.org/doc/install/linux

Test using chibifire dvc bucket and avatar wellness repository.

Discussed how it is possible to make a V-Sekai alternative organization for creator repositories.

Proposal written on https://github.com/V-Sekai/V-Sekai/commit/ab0e39b2996d20cd9d12bc94e143507cede2aa02 commit.


clang constexpr error: constexpr variable 'result' must be initialized by a constant expression

clang & gcc disagree on contstexpr evaluation:
2024-06-01T09:08:52.7324596Z In file included from /work/tests/index/src/roll.cpp:1:
2024-06-01T09:08:52.7326602Z /work/include/nmtools/array/index/roll.hpp:278:32: error: constexpr variable 'result' must be initialized by a constant expression
2024-06-01T09:08:52.7344845Z                 constexpr auto result  = index::roll(shape,indices,shift,axis_t{});
2024-06-01T09:08:52.7345811Z                                ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2024-06-01T09:08:52.7354560Z /work/include/nmtools/meta/transform.hpp:73:5: note: in instantiation of template class 'nmtools::meta::resolve_optype<void, nmtools::index::roll_t, std::tuple<nmtools::meta::integral_constant<unsigned long, 2>, nmtools::meta::integral_constant<unsigned long, 4>>, std::tuple<nmtools::meta::integral_constant<unsigned long, 0>, nmtools::meta::integral_constant<unsigned long, 0>>, nmtools::meta::integral_constant<unsigned long, 1>, std::tuple<nmtools::meta::integral_constant<unsigned long, 1>, nmtools::meta::integral_constant<unsigned long, 0>>>' requested here
2024-06-01T09:08:52.7359228Z     using resolve_optype_t = typename resolve_optype<void,op_t,tparams...>::type;
2024-06-01T09:08:52.7360126Z     ^
2024-06-01T09:08:52.7362036Z /work/include/nmtools/array/index/roll.hpp:68:32: note: in instantiation of template type alias 'resolve_optype_t' requested here
2024-06-01T09:08:52.7363861Z         using result_t = meta::resolve_optype_t<roll_t,shape_t,indices_t,shift_t,axis_t>;
2024-06-01T09:08:52.7364807Z                                ^
2024-06-01T09:08:52.7374728Z /work/tests/index/src/roll.cpp:294:5: note: in instantiation of function template specialization 'nmtools::index::roll<std::tuple<nmtools::meta::integral_constant<unsigned long, 2>, nmtools::meta::integral_constant<unsigned long, 4>>, std::tuple<nmtools::meta::integral_constant<unsigned long, 0>, nmtools::meta::integral_constant<unsigned long, 0>>, nmtools::meta::integral_constant<unsigned long, 1>, std::tuple<nmtools::meta::integral_constant<unsigned long, 1>, nmtools::meta::integral_constant<unsigned long, 0>>>' requested here
2024-06-01T09:08:52.7380034Z     ROLL_SUBCASE( case2d1, shape_ct, indices_ct, shift_ct, axis_ct );
2024-06-01T09:08:52.7380837Z     ^
2024-06-01T09:08:52.7381715Z /work/tests/index/src/roll.cpp:12:35: note: expanded from macro 'ROLL_SUBCASE'
2024-06-01T09:08:52.7382794Z     auto result = nmtools::index::roll(__VA_ARGS__); \
2024-06-01T09:08:52.7383484Z                                   ^
2024-06-01T09:08:52.7386236Z /work/include/nmtools/array/index/roll.hpp:183:32: note: non-constexpr function 'operator()<unsigned long, std::tuple<nmtools::meta::integral_constant<unsigned long, 1>, nmtools::meta::integral_constant<unsigned long, 0>>>' cannot be used in a constant expression
2024-06-01T09:08:52.7388600Z                 auto m_shift = normalize_length(shift,axis);
2024-06-01T09:08:52.7389246Z                                ^
2024-06-01T09:08:52.7391498Z /work/include/nmtools/array/index/roll.hpp:278:42: note: in call to 'roll(shape, indices, shift, std::tuple<nmtools::meta::integral_constant<unsigned long, 1>, nmtools::meta::integral_constant<unsigned long, 0>>{})'
2024-06-01T09:08:52.7393643Z                 constexpr auto result  = index::roll(shape,indices,shift,axis_t{});
2024-06-01T09:08:52.7394518Z                                          ^
2024-06-01T09:08:52.7395361Z /work/include/nmtools/array/index/roll.hpp:98:37: note: declared here
2024-06-01T09:08:52.7399104Z             auto normalize_length = [](const auto& lhs, const auto& rhs){

success on gcc, but clang rejects
full clang logs (error):
job-logs-clang-index-error.txt
full gcc logs (success):
job-logs-gcc-index-success.txt
commit: cca38c3

fixed by moving normalize_length as lambda + add custom type resolver


Says who...

I was able to change the name of the fork no problem.

Deleting the pull as some unintended commits snuck in.


doc/manifest: turn the list in Rules into an unordered one

Please see the comments in #2493.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 8513dc5da0a57814985e3d8596eaba18625bfeed

:hourglass: Testing commit 8513dc5 with merge ff02b15...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


Bug: Idempotency DynamoDB _put_record method overwrites static_pk_value

Expected Behaviour
When I pass a static_pk_value value into the DynamoDBPersistenceLayer, I expect that value to be used in the Primary Key.
Current Behaviour
The PK value is overwritten with data_record.idempotency_key.
Code snippet
[This test](https://github.com/Tankanow/aws-lambda-powertools-python/pull/1/files) shows the problem. Running this test results in this failure:

E           aws_lambda_powertools.utilities.idempotency.exceptions.IdempotencyPersistenceLayerError: Failed to save in progress record to idempotency store - (Error getting response stub for operation PutItem: Expected parameters:
E           {'ConditionExpression': 'attribute_not_exists(#id) OR #expiry < :now OR '
E                                   '(#status = :inprogress AND '
E                                   'attribute_exists(#in_progress_expiry) AND '
E                                   '#in_progress_expiry < :now_in_millis)',
E            'ExpressionAttributeNames': {'#expiry': 'expiration',
E                                         '#id': 'id',
E                                         '#in_progress_expiry': 'in_progress_expiration',
E                                         '#status': 'status'},
E            'ExpressionAttributeValues': {':inprogress': {'S': 'INPROGRESS'},
E                                          ':now': {'N': <ANY>},
E                                          ':now_in_millis': {'N': <ANY>}},
E            'Item': {'expiration': {'N': <ANY>},
E                     'id': {'S': 'static-value'},
E                     'in_progress_expiration': {'N': <ANY>},
E                     'sk': {'S': 'test-func.functional.idempotency.test_idempotency.test_idempotent_lambda_compound_static_pk_value_has_correct_pk.<locals>.lambda_handler#be4755f20c4e6f94f43bc3f5849a26fb'},
E                     'status': {'S': 'INPROGRESS'}},
E            'TableName': 'TEST_TABLE'},
E           but received:
E           {'ConditionExpression': 'attribute_not_exists(#id) OR #expiry < :now OR '
E                                   '(#status = :inprogress AND '
E                                   'attribute_exists(#in_progress_expiry) AND '
E                                   '#in_progress_expiry < :now_in_millis)',
E            'ExpressionAttributeNames': {'#expiry': 'expiration',
E                                         '#id': 'id',
E                                         '#in_progress_expiry': 'in_progress_expiration',
E                                         '#status': 'status'},
E            'ExpressionAttributeValues': {':inprogress': {'S': 'INPROGRESS'},
E                                          ':now': {'N': '1677689099'},
E                                          ':now_in_millis': {'N': '1677689099925'}},
E            'Item': {'expiration': {'N': '1677692699'},
E                     'id': {'S': 'test-func.functional.idempotency.test_idempotency.test_idempotent_lambda_compound_static_pk_value_has_correct_pk.<locals>.lambda_handler#be4755f20c4e6f94f43bc3f5849a26fb'},
E                     'in_progress_expiration': {'N': '1677689100925'},
E                     'sk': {'S': 'test-func.functional.idempotency.test_idempotency.test_idempotent_lambda_compound_static_pk_value_has_correct_pk.<locals>.lambda_handler#be4755f20c4e6f94f43bc3f5849a26fb'},
E                     'status': {'S': 'INPROGRESS'}},
E            'TableName': 'TEST_TABLE'})

Possible Solution
Simply remove the offending line, self.key_attr: {"S": data_record.idempotency_key}, in https://github.com/Tankanow/aws-lambda-powertools-python/blob/5f9addda12d3c4066fe7f480f99184126b154d57/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py#L149.
Steps to Reproduce
Run the tests in this PR
I will happily fix if this issue is accepted.
AWS Lambda Powertools for Python version
latest
AWS Lambda function runtime
3.9
Packaging format used
PyPi
Debugging logs
No response

Hey @Tankanow - feel free to send a PR for this, as you're a highly regarded contributor ;-)
I do wonder if we missed this earlier during implementation, or if it's a regression.
Since you last contributed we now have E2E tests ;-)
Thank you as always

Hi @heitorlessa, I believe it is a regression. We found it in our unit tests that consume this code after upgrading to 2.8.0.

sadly it was added in the PR that addressed thread-safety (larger structural change) - got my laptop now, eye dropper and looking into it what test was changed that shouldn't have, and cutting a patch release

looking at git blame and history, there wasn't an explicit test for this feature static_pk_value, otherwise that dict mutation line would've raised an error.
@Tankanow  You opened a PR in your base branch instead of the origin ;) Feel free to correct it, and I can make minor modifications, merge, and release

PR up, copied tests over to make this quicker, will credit as usual, and will double check one more time to be safe.

@Tankanow - good to go.

Release in process - might take ~2m for PyPi and 30m for Lambda Layer (v23) to be available across all regions.
https://github.com/awslabs/aws-lambda-powertools-python/actions/runs/4307792440/jobs/7513280230

PyPi test is under maintenance... 🤦 removed PyPi test endpoint from the release temporarily, and it's now available as 2.9.1: https://pypi.org/project/aws-lambda-powertools/
Starting to build Layers and will deploy across all regions if canaries pass - ~30m ETA.
Progress: https://github.com/awslabs/aws-lambda-powertools-python/actions/runs/4307953507/jobs/7513645453

@Tankanow please let us know if it didn't fix it somehow. Just published the release notes and credited you accordingly
PS: I'd love to hear from you one of these days on how you're using Powertools, share our main ideas for this year (all public either way), and gather your feedback on areas we could innovate/do better -- shoot an email to<EMAIL_ADDRESS>and we can send you a link for a call.

Thanks @heitorlessa. I would love to help! I'll send an email over this morning.


feat: abel_nf, abel tactic

This is basically a copy-paste job from ring_nf. It adds the analogous things for abel:

abel1 solves abelian group equalities
abel_nf rewrites abelian group equalities in hyps or target to a normal form, including recursively inside atoms
abel_nf is also a conv tactic that does the same thing
abel calls abel1 and then abel_nf with a trace message
abel is also a conv tactic that solves equalities by rewriting them to True

bors merge


Provide Streams for FormBuilderState

Environment
Package version: 7.7.0
Description
What you'd like to happen:
For example, the package connectivity_plus has a onConnectivityChange stream. When you subscribe to it, you get the changes in real time.
_formKey.currentState!.onChange.listen((Map<String, FormBuilderFieldState<FormBuilderField, dynamic>> values) {
  // do what you want to do with fields
});

This is especially useful in state managers, specifically Bloc. Here, from Flutterly's Bloc tutorial from 8:34, you can see how streams can be utilized in Bloc.

This will be a nice feature. Things to consider:

This onChange should be apply only entire form, for single fields or for both?
The strem should send the instantValue or savedValues? I think that should be instantValues
Idea to implement: can be create a streamController on FormBuilder or FormBuilderField and send event each time that call onChange (on setInternalFieldValue or didChange). Is importante dispose this stream when dispose widget or remove field.

This onChange should be apply only entire form, for single fields or for both?

I think the entire form would be better. Implementing each field a stream would be a-okay, but also an overkill. Streaming the change of entire form would also cover the individual fields. So, anyone interested in subscribing the event change on one field might as well subscribe to the entire form stream and get its value.

The strem should send the instantValue or savedValues? I think that should be instantValues

I'm not quite much familiar with the underlying concept of this project. So I have one question: Can we save an invalid form? I ask this because there is a saveAndValidate method, which implies that it is actually saving even though the form is invalid. So:

if the answer is yes, we can save invalid forms, then the stream should send saved values, not instant ones. Since FormBuilderState.fields is type of Map<String, FormBuilderFieldState> and FormBuilderFieldState has many methods to check errors such as hasError and errorText, any dev can actually extract the errors with simple where on the Map.
if the answer is no, we can't save invalid forms (which doesn't look so): then the stream should send instant ones or there should be two different streams for instant and saved values, like onInstantChanged ond onSaveChanged.

Yes, can save invalid value

+1 for this request

need this too

This would be a useful feature

It's been a couple of months since I started working on this feature but the current API is so focal on event-driven approach[^1] that trying to implement stream-driven approach is such an undertake and I don't have time to take it on unfortunately. I've initially tried this on #1162, which is pretty much abandoned.
If the requesters are in a dire need, they can check out streaming_forms, a project that I started. It relies on stream-driven approach and raw material components. It is still in alpha phase, but can work on it in small steps if it shows further interest.
[^1]: It is not a terrible decision per se. It is a quite mature project. Async streams were not a thing in Dart back in the day, so the decision is sensible in its own regard.


Added pinch to zoom

I added a pinch gesture recognizer to enable zooming. In this fork zooming is enabled by default, you may want to edit this in the future.

Thanks for this. By the way, if your first gesture is to pinch the screen, it won't work. You can fix this by initially setting _effectiveScale = 1.0

@YWinters thanks for the PR, could you please open the PR for the develop branch? Then I will merge and release a new version.

to make this work you need to init the gesture recognizer with this
self.pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchGesture:)];

@YWinters Thank you so much for your update. It works fantastic. I have 2 questions. 1. How do I limit max scale? 2. When I zoom in or zoom out, it happens 0.5 sec after my action's done. In other words, zooming in & out action is not instantaneous. Is there a way to fix this problem?

This function is so essential. Please merge it~

I created a pull request on the develop branch

@YWinters Do you mind answering my two questions above? I've been trying hard to solve but could not get solutions.

@RyanKim01 I added a maxScale property to my latest commit (10 minutes ago).. thanks for the suggestion. On the other hand I don't have any clue how to fix to 0.5 seconds delay.. neither did I find it disrupting. Perhaps you can take a look at it?


klayout pull access denied

I'm running Kubuntu 22.04 on VirutualBox 6.1.40 on a Windows 10 22H2 host machine. I install docker on Kubuntu and then ran the foss-asic-tools tools install. Klayout failed to install (see below) What's the best way to install it?
[ERROR 17-Dec-22 05:06:33] pull access denied for klayout, repository does not exist or may require 'docker login': denied: requested access to the resource is denied Image |              base              | Success     Image |             magic              | Success     Image |          pdks-volare           | Success     Image |            openlane            | Success     Image |            klayout             | Fail        Image |            gtkwave             | Success     Image |            iverilog            | Success     Image |             netgen             | Success     Image |   riscv-gnu-toolchain-rv32i    | Success     Image |          gaw3-xschem           | Success     Image |            ngscope             | Success     Image |            ngspice             | Success     Image |             xschem             | Success     Image |             kicad              | Success     Image |              xyce              | Success     Image |            covered             | Success     Image |             irsim              | Success     Image |            opensta             | Success     Image |              cvc               | Success     Image |            iic-osic            | Success     Image |        foss-asic-tools         | Fail

I started installing the packages manually using Open Toolchain Installation on Kubuntu 22.04 running in on Viraualbox 6.1.40 on the Windows 10 22H2 host. I found that the klayout fails because qt5-defaults has been depreciated on Kubuntu/Ubuntu 22.04. The error reported is E: Package 'qt5-default' has no installation candidate. I installed sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools and then sudo apt-get install ruby ruby-dev.
The klayout installer then reported that *** ERROR: wrong -pylib path: /opt/anaconda3/lib/x86_64-linux-gnu/libpython3.9.a does not exist or not a file```` I created a conda environment to use python 3.10 and linked ln -s /usr/lib/x86_64-linux-gnu/ /opt/anaconda3/envs/py310/lib/` the python library to the anaconda directory.
Perhaps, something like this is happening during the foss-asic-tools docker install on Ubuntu 22.04.

I started installing the packages manually using Open Toolchain Installation on Kubuntu 22.04 running in on Viraualbox 6.1.40 on the Windows 10 22H2 host. I found that the klayout fails because qt5-defaults has been depreciated on Kubuntu/Ubuntu 22.04. The error reported is E: Package 'qt5-default' has no installation candidate. I installed sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools and then sudo apt-get install ruby ruby-dev.
The klayout installer then reported that *** ERROR: wrong -pylib path: /opt/anaconda3/lib/x86_64-linux-gnu/libpython3.9.a does not exist or not a file```` I created a conda environment to use python 3.10 and linked ln -s /usr/lib/x86_64-linux-gnu/ /opt/anaconda3/envs/py310/lib/` the python library to the anaconda directory.
Perhaps, something like this is happening during the foss-asic-tools docker install on Ubuntu 22.04.


Kestrel cannot serve 2 sites at the same time ?

I use Nginx with Kestrel and I am trying to serve 2 sites at the same machine at the same time.
first site uses port 80 => example.com:80
second site uses port 8080 => example.com:8080
I can serve both sites one by one with success.
But while first site is running on Kestrel, if I start an other Kestrel for the second site, The kestrel is terminated on the first site.
Here is my Nginx config files:
server {
listen 80;
server_name <IP_ADDRESS>;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection keep-alive;
proxy_pass http://<IP_ADDRESS>:5000;
}
}

server {
listen 8080;
server_name <IP_ADDRESS>-beta;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection keep-alive;
proxy_pass http://<IP_ADDRESS>:5050;
}
}
Any ideas ?

My bad.. Such a mistake..
I check the PID of the Kestrel and terminate it from bash script!!!
It is working.


Header-only ... but papi dependency ?

It appears that geiger is header-only as promised but then has dependencies on

gtest for its own unit tests (fair enough, we can live with this)
papi for its actual operations :-/

Any interest in making that optional?

Well, you get some benefits from a header-only library even if it isn't dependency-free. PAPI is the reference when it is about using hardware counters and is packaged and distributed on every Linux distribution I know, so it shouldn't be an issue.
On the other side, I already thought for quite some time to make PAPI optional (it was in the TODO :)). I just did the changes and pushed them to master.

Nice. I'll take a look.
I was basically looking for something lightweight and easy-to-use for benchmarking in the hybrid 'C++ from R' case I use quite a bit.  In that world, deployment on Mac and Windoze is more common than my Linux use case, so loosening the papi depends would help.

Thumbs-up -- works great.


Document AWS resources that are not in the CFN Stack

The EC2 key pair is not part of the CFN stack, and so, is not destroyed when the stack is destroyed.
It and any other resources created should be documented so that they can be cleaned up when the stack is destroyed.

The one time you don't submit a PR when you spot these kinds of issues. lol. This is an easy merge. :)

Yeah. Didn't know if there were more AND I was moving fast building and destroying.

Actually, I'm going to reopen this. I agree with this issue and hope to get to it next week.


Set Matrix Zeroes

Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's.
You must do it in place

Input: matrix = [[1,1,1],[1,0,1],[1,1,1]]
Output: [[1,0,1],[0,0,0],[1,0,1]]
Constraints:
m == matrix.length
n == matrix[0].length
1 <= m, n <= 200
-231 <= matrix[i][j] <= 231 - 1

Hi there!
I am the Mentor of this project .
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:
Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.
Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


[Docs]: minor grammatical fixes

Fixed some minor grammer mistakes
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Please make sure that you frame up your commit messages as per the commitlint conventions. See this guidelines


Reuse Patterns Using Capture Groups

Describe your problem and - if possible - how to reproduce it
This challenge requests that we:

Use capture groups in reRegex to match numbers that are repeated only three times in a string, each separated by a space.

However, the tests require that the numbers have two spaces (see screenshot below) and don't allow an actual space character.
Thus, valid RegEx's such as /^(\d+) \1 \1$/ or /^(\d+ )\1\1$/ fail.
Add a Link to the page with the problem
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups
Tell us about your browser and operating system

Browser Name:  chrome
Browser Version: Version 68.0.3440.106 (Official Build) (64-bit)
Operating System: MacOS 10.13.6 High Sierra

If possible, add a screenshot here

Thanks @randelldawson for catching that error on my second expression and for fixing the text expression (all those backslashes make my eyes water :=) Are you merging this change?

@JESii I had forgotten about his issue.  I just created a PR to hopefully resolve this bug.


This project is OUTDATED ~ check this issue i got the solution to all of your issues!

Hey since this is outdated I made a new project over at:
https://github.com/ruohki/lunchpad
its a whole new Application and supports almost (no pro MK3) Launchpads that are out there. It has a lot more features to offer.
you can also join the projects discord
https://discord.gg/4Ys9TRR

Indeed, this project is no longer maintained. But this is a pretty shitty way to go about trying to get people to use your software.

speaking of shitty way of doing things ~ blocking me completly giving no way of defending me ~ i tried to contact you but the only way seems to be twitter where you dont even bother to answer ... like in all your issues where people ask for help and hints. I just tried giving people an alternative. You dont even bother to flag that repo unmaintained now thats what i call a sh*t move
at least tell people you dont care about that project


perf: stop cloning self in loop (server.rs; L99)

I had to get the borrow checker to shut up, it did not want to play nice with Arc at that moment, massive skill issue, I will revisit this.


Async options

While using the library, how to increase the sleep time of workers? I tried using
InfluxDB::Client.new configuration.influxdb_database,
          :username => configuration.influxdb_username,
          :password => configuration.influxdb_password,
          :hosts => configuration.influxdb_hosts,
          :port => configuration.influxdb_port,
          # :async => configuration.async,
          :async => {# number of points to write to the server at once
                      max_post_points:    1000,
                      # queue capacity
                      max_queue_size:     10_000,
                      # number of threads
                      num_worker_threads: 1,
                      # max. time (in seconds) a thread sleeps before
                      # checking if there are new jobs in the queue
                      sleep_interval: 1000
                    },

          :use_ssl => configuration.use_ssl

but is this the right setting?

Yes, async: { sleep_interval: $time_in_seconds } is the way to go.
Note that this is the maximum time a worker thread sleeps, the true value is rand(sleep_interval) (i.e. 0..sleep_interval seconds, ± OS scheduling).

@dmke Is there a way to limit the number of workers and min sleep interval?

The number of workers is configured by async: { num_worker_threads: $num_greater_or_equal_to_1 }.
I have not tested it, but setting async: { sleep_interval: (5..10) } should do the trick.

I configured the num_worker_threads as 1. But I think that is not working.
D, [2016-06-02T16:24:14.372170 #24676] DEBUG -- InfluxDB: Checking background queue on thread 0 (3 active)
D, [2016-06-02T16:24:14.416417 #24686] DEBUG -- InfluxDB: Checking background queue on thread 1 (3 active)
D, [2016-06-02T16:24:14.417133 #24686] DEBUG -- InfluxDB: Checking background queue on thread 0 (3 active)
D, [2016-06-02T16:24:15.237716 #24686] DEBUG -- InfluxDB: Checking background queue on thread 2 (3 active)
D, [2016-06-02T16:24:15.314131 #24690] DEBUG -- InfluxDB: Checking background queue on thread 1 (3 active)
D, [2016-06-02T16:24:15.318132 #24690] DEBUG -- InfluxDB: Checking background queue on thread 0 (3 active)
D, [2016-06-02T16:24:15.417544 #24686] DEBUG -- InfluxDB: Checking background queue on thread 0 (3 active)
D, [2016-06-02T16:24:15.607167 #24676] DEBUG -- InfluxDB: Checking background queue on thread 2 (3 active)

I guess this means there are 3 active workers. Right?

Can you show me your code where you instantiate InfluxDB::Client?

InfluxDB::Client.new configuration.influxdb_database,
          :username => configuration.influxdb_username,
          :password => configuration.influxdb_password,
          :hosts => configuration.influxdb_hosts,
          :port => configuration.influxdb_port,
          # :async => configuration.async,
          :async => {# number of points to write to the server at once
                      max_post_points:    1000,
                      # queue capacity
                      max_queue_size:     10_000,
                      # number of threads
                      num_worker_threads: 1,
                      # max. time (in seconds) a thread sleeps before
                      # checking if there are new jobs in the queue
                      sleep_interval: 1000
                    },

          :use_ssl => configuration.use_ssl

This is how I tried.

The issue was with inflluxdb-rails. It has dependency over an old version of influx db. Works fine now. Thanks


Generate SBOM for application dependencies

Summary
Generates SBOM for application dependencies in order to conform with: Paketo RFC0038.
Closes #86
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[x] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Hey @paketo-buildpacks/python-maintainers! I'm reviewing this PR because its similar to others I've recently reviewed and seems like a time-saver since I have context. Feel free to also review it if you see fit!
I'm not a maintainer, but I am a contributor. I have also worked on a number of similar PRs to implement filesystem SBOM in other buildpacks (example), as well as reviewed a number of related PRs (example).


wineasio: 1.1.0 -> 1.2.0

Description of changes
https://github.com/wineasio/wineasio/releases/tag/v1.2.0

Add wineasio-register script for simplifying driver registration
Fix compatibility with Wine > 8

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

[ ] 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/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

I haven't included the new wineasio-register script as it is not Nix-compatible.
I've also renamed the installed shared libraries, as has upstream, to be more consistent and hopefully less confusing to users.


Docs on setting up the Clerk webhook is missing

The Clerk webhook needs to be setup (possibly using ngrok for local dev) - please add details on the local webhook endpoint.

Done
https://docs-next14.thesaasfactory.dev/installation#step-7


update(repositories.yaml): add falco-talon

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind feature

/kind stable

/kind incubating

/kind sandbox

/kind deprecated

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area governance

/area proposals

/area utils

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #403
Special notes for your reviewer:
We have first to transfer the repo, then merge the followings:

https://github.com/falcosecurity/test-infra/pull/1639
https://github.com/falcosecurity/test-infra/pull/1640

This is the last PR that will need to be merged.
/hold

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


NPE error with KOP

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
KoP <IP_ADDRESS>
pulsar 2.9.2
16:02:48.983 [pulsar-msg-expiry-monitor-28-1] WARN  org.apache.pulsar.broker.service.persistent.PersistentTopic -
 [persistent://public/__kafka/__consumer_offsets-partition-49] Error while getting the oldest message
java.lang.NullPointerException: null
16:02:48.983 [pulsar-msg-expiry-monitor-28-1] WARN  org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://public/__kafka/__consumer_offsets-partition-34] Error while getting the oldest message
java.lang.NullPointerException: null

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]

Additional context
Add any other context about the problem here.

Did you follow the guide for the configuration and configured the broker side interceptors?

Did you follow the guide for the configuration and configured the broker side interceptors?

I have not configured broker side interceptors, my network environment is very simple

You need them.
Otherwise kop doesn't work.
I am referring to the ApppendIndex interceptor

You need them.
Otherwise kop doesn't work.
I am referring to the ApppendIndex interceptor

@BewareMyPower Could you please help check this issue?

The provided info is too little. I've checked similar logs from @zcola, there is no stack trace about the NPE. So it's hard to detect where the NPE happened. Maybe we need to custom the JVM options for OpenJDK. /cc @Demogorgon314


Problem when running from a network drive.

Works just fine from a local path however, when the xll and chm file are on a network drive, clicking on the "Help on this function" link brings up a help window that lists the functions in the tree on the left panel but does not contain any detail in the right panel.

Adding the folder as a trusted location does not appear to solve this,

Does the folder name contains the "#" character by any chance? There is a known bug with CHM files where they won't work if the folder or file name contains the "#" character

No '#'.

Some info here: https://www.helpscribble.com/chmnetwork.html


Loading div is not center aligned.

Screenshot -

hi @Ajeey
that's the design decision - it is left aligned to the container.


Add 'datetime-local' to htmlValidationTypes

Hi,
according to the MDN the datetime input type is depreacted. Its successor is the datetime-local however this does not work with this library because it is not stated as a validation type
This would be an easy fix.
Best

The datetime-local is not available in all browsers according to the mozilla docs so we probably won't update to have this validation type as the default. However, if you are still wanting it feel free to send a PR.


feat(sdk): show Pending Invite in member list page

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5768

Relevant Lines:
11473

💛  - Coveralls


Cookies set via TC are getting lost when browser moves to a different page type (i.e. react pages to websphere jsp pages)

What is your Test Scenario?
To set cookies in browser and have them available throughout the test run.
What is the Current behavior?
Web application uses a combination of react pages and websphere jsp pages, cookies set on one page type are being lost when test moves to the other page type. Follow steps:

set cookies on the react pages
document.cookie shows that new cookie is present
move to websphere jsp page
document.cookie shows that new cookie is now not present
same happens if test done vice versa (websphere jsp page -> react page)

What is the Expected behavior?
Set cookies should be retained by TestCafe for full duration of test run on all page types.
What is your web application and your TestCafe test code?
import { ClientFunction } from 'testcafe';

export const setCookie = ClientFunction((name, val) => {
    document.cookie = [name, val].join('=')
});

fixture `Place Order`
    .page`https://www.sainsburys.co.uk/shop/LogonView/Identifier` // react page

test.only
('Example of browser losing previosly set cookies', async t => {
    await setCookie('NewCookieSetViaTc', 'xyz')
    await t.eval(() => location.reload(true));
    await t.debug() // check console for "document.cookie" => cookie is present: NewCookieSetViaTc=xyz;
    await t.navigateTo('https://www.sainsburys.co.uk/shop/gb/groceries') // websphere jsp page
    await t.debug() // check console for "document.cookie" => cookie is Not present
});

Steps to Reproduce:
Run test code example and manually check the cookies at the t.debug() steps.
Your Environment details:

testcafe version:                   v1.8.4
node.js version:                    v12.13.0
browser name and version: Chrome v81
platform and version:          Mac OS

You will see the same behavior if you do the same actions without TestCafe.
You need to use the path directive for your cookies. For example, set it to the root of the site: /.
The default path directive value on https://www.sainsburys.co.uk/shop/LogonView/Identifier is /shop/LogonView.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Scope_of_cookies

This does indeed work, thank you.
const setCookie = ClientFunction(() => {     document.cookie = "mycookiename=xyz; path=/;"   });


Hide found keys

Showing all the keys that have been picked up in the stat panel makes it too obvious who the traitor is. Either don't show the keys there at all, or perhaps only show your own. Or maybe show the number of keys remaining, but not who picked up those found?

06c3beea082202ba1d9caabf748297e4f7383060


Disable http forward

closes #17

CLA resubmitted

I'll work on this one after #16 is merged.

LGTM! Thanks


fix(combine/every): make every middleware work with short-circuiting middlewares

When using every middleware to compose middlewares that short-circuits the chain (i.e. return a Response object, like e.g. zod-validator, but I had also issues with e.g. cors with OPTIONS requests) and, as a result, don't call next(), it was throwing an error Error: Context is not finalized. Did you forget to return a Response object or await next()?. This fixes the issue and makes it possible to use it with (probably?) any middleware.
As a side note, I attempted to simplify the compose's middleware signature (and I did) as it could easily accept an array of functions/handlers and simplify the code. But I think the signature is so complicated because of the usage in dispatch method of the Hono class and that would require mapping to an array of handlers which would probably slightly worsen the overall performance (not sure how to measure that but presumably 0 Array.prototype.maps is better than 1) and that method seems to be rather critical. If you think it's worth considering I'll submit another PR, but it's probably not worth it.
The author should do the following, if applicable

[x] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

Hi @paolostyle
Thanks for the fix.
I think it looks good!

@paolostyle
Thank you! I'll merge this now.


BETA Readme rewrite

Altered info for the future beta

Feel free to add me to the "credits", but seriously no pressure. Just in case "KairuByte.2703".


Debloat UI by removing duplicated safety text

Currently, the warning located in Settings/Configuration seems to contain the same text as located in Disable 2 Two Step Verification modal, but is bloading the UI with the strong red color and improper fitment.
Proposed solution is to remove it correctly, so text duplication is avoided and UI is kept simple,

Why would you want to remove the warning?

I feel like there's no real value added, and the red it's quite strong visually.

Otherwise, if removal it's out of scope, I'll push another PR to remove md:w-[40rem] so it uses less vertical space on bigger screens

I think I will fix this by adding an accordion like this:

and expanded:

What do you think?

I love the idea.
I don't know why I didn't considered this approach, but I think this will do the trick.
[Maybe also add a rounded-sm to it and keep only w-full with px-4 py-2 to keep it slim?]

Done:

Is this what you would be looking for?

Oh yes, definetly looks better.
I think you can cancel this PR [as was created into main instead of next by mistake]
Thank you


Documentation Update to Support Release 0.2.0 Beta [skip ci]

Make sure you familiarize yourself with our contributing guidelines.
Describe the PR
A Documentation Update to Support Release 0.2.0 Beta
Implements
Implements #79
Implements #80
Implements #83
Changes Made
Describe your changes in detail here:

Updated Recruiter Pages to reflect current forms in V 0.2.0
Added an MP Info Section to Edit Troopers Page
Updated Pictures for Account Settings in Account Registration Page
Added a Logging in and Logging out Section to Account Registration

Notes
N/A

No write access. Can't merge the pull. This allows you to check my work anyway.


SAK-31787 Make whole roster printable

Basically, this needs just pulling in and testing on a QA server. It's pretty hard to tell by a code review how it's going to work. If it breaks in QA, I'll fix it.

https://jira.sakaiproject.org/browse/SAK-31787?focusedCommentId=211867&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-211867


[staging] openssh: 8.5p1 -> 8.6p1

Motivation for this change
New OpenSSH release

Changelog
Security

sshd(8): OpenSSH 8.5 introduced the LogVerbose keyword. When this
option was enabled with a set of patterns that activated logging
in code that runs in the low-privilege sandboxed sshd process, the
log messages were constructed in such a way that printf(3) format
strings could effectively be specified the low-privilege code.
An attacker who had sucessfully exploited the low-privilege
process could use this to escape OpenSSH's sandboxing and attack
the high-privilege process. Exploitation of this weakness is
highly unlikely in practice as the LogVerbose option is not
enabled by default and is typically only used for debugging. No
vulnerabilities in the low-privilege process are currently known
to exist.
Thanks to Ilja Van Sprundel for reporting this bug.

Changes since OpenSSH 8.5
This release contains mostly bug fixes.
New features

sftp-server(8): add a new<EMAIL_ADDRESS>protocol extension
that allows a client to discover various server limits, including
maximum packet size and maximum read/write length.

sftp(1): use the new<EMAIL_ADDRESS>extension (when available)
to select better transfer lengths in the client.

sshd(8): Add ModuliFile keyword to sshd_config to specify the
location of the "moduli" file containing the groups for DH-GEX.

unit tests: Add a TEST_SSH_ELAPSED_TIMES environment variable to
enable printing of the elapsed time in seconds of each test.

Bugfixes

ssh_config(5), sshd_config(5): sync CASignatureAlgorithms lists in
manual pages with the current default. GHPR#174

ssh(1): ensure that pkcs11_del_provider() is called before exit.
GHPR#234

ssh(1), sshd(8): fix problems in string->argv conversion. Multiple
backslashes were not being dequoted correctly and quoted space in
the middle of a string was being incorrectly split. GHPR#223

ssh(1): return non-zero exit status when killed by signal; bz#3281

sftp-server(8): increase maximum SSH2_FXP_READ to match the maximum
packet size. Also handle zero-length reads that are not explicitly
banned by the spec.

Portability

sshd(8): don't mistakenly exit on transient read errors on the
network socket (e.g. EINTR, EAGAIN); bz3297

Create a dedicated contrib/gnome-ssk-askpass3.c source instead of
building it from the same file as used for GNOME2. Use the GNOME3
gdk_seat_grab() to manage keyboard/mouse/server grabs for better
compatibility with Wayland.

Fix portability build errors bz3293 bz3292 bz3291 bz3278

sshd(8): soft-disallow the fstatat64 syscall in the Linux
seccomp-bpf sandbox. bz3276

unit tests: enable autoopt and misc unit tests that were
previously skipped

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/) - ssh, sshd, ssh-add, ssh-agent
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 119845 at 35da81b9 run on x86_64-linux 1

477 packages marked as broken and skipped:

agdaPackages.iowa-stdlib
aldor
aqemu
atom-beta
autotrace
bareos
bonfire
cassandra_2_1
cassandra_2_2
dockbarx
...

5096 packages skipped due to time constraints:

AusweisApp2
DisnixWebService
Fabric (python38Packages.Fabric)
MIDIVisualizer
R
Sylk
_1password-gui
abcl
abiword
accountsservice
...

56 packages built successfully:

cargo
common-updater-scripts
czkawka
diff-so-fancy
gibo
git
git-latexdiff
git-reparent
git-standup
git-sync
git-test
gitweb
gnome3.gnome-session-ctl
librsvg (gnome3.librsvg)
greetd.dlm
greetd.tuigreet
greetd.wlgreet
handlr
iconnamingutils
kakounePlugins.powerline-kak
krankerl
lychee
macchina
nix-pin
nix-prefetch-git
openssh
python38Packages.GitPython
python38Packages.aiohttp
python38Packages.aiohttp-cors
python38Packages.arrow
python38Packages.brotlipy
python38Packages.construct
python38Packages.cryptography
python38Packages.dateparser
python38Packages.fs
python38Packages.jeepney
python38Packages.keyring
python38Packages.oauthlib
python38Packages.pyftpdlib
python38Packages.pyjwt
python38Packages.pyopenssl
python38Packages.pytest-fixture-config
python38Packages.requests-toolbelt (python38Packages.requests_toolbelt)
python38Packages.secretstorage
python38Packages.service-identity
python38Packages.setuptools-git
python38Packages.sshpubkeys
python38Packages.trio
python38Packages.trustme
rdocker
rust-cbindgen
shellharden
ssh-ident
swaywsr
trunk
wrapGAppsHook


Question on Handling ValidSubmit in ChildContent,

Child Component contains:

                                                 .
                                                 .
                                                 .
                                                 .
Save
Test Contains:
        var cut = RenderComponent<TelerikRootComponent>(
            ChildContent<Lookup>(),
            CascadingValue("GridData", lookupEntities),
            CascadingValue("LookupName", "Item")
            );

        cut.Find("#Add_button").Click();
        cut.Find("#Name_textbox").InnerHtml = name;
        cut.Find("#Description_textarea").InnerHtml = description;
        cut.Find("#Save_button").Click(); <-- Wants an onclick

The click event should fire the OnValidSubmit.
I am unsure how to get this to work.
Any help would be appreciated.
Thanks,
Jeff

You likely have to trigger the forms submit event handler, not the submit button. E.g. cut.Find("form").Submit().
I think it might be worth enhancing the Click() logic such that if a submit button is clicked, if it does not have a event handler itself and the form it belongs to do, then the forms submit event handler is triggered.

I tried Submit as well. Submit required an on submit event handler.
Remember the component sets the OnValidSubmit property.
On Sat, Feb 1, 2020 at 3:02 PM Egil Hansen<EMAIL_ADDRESS>wrote:

You likely have to trigger the forms submit event handler, not the submit
button. E.g. cut.Find("form").Submit().
I think it might be worth enhancing the Click() logic such that if a
submit button is clicked, if it does not have a event handler itself and
the form it belongs to do, then the forms submit event handler is triggered.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/egil/razor-components-testing-library/issues/50?email_source=notifications&email_token=AHE7FB7BGBILDCNBLAG3QJ3RAXIMXA5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKRFM6Y#issuecomment-581064315,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHE7FB5Z7QYUTSDCYMRWJCLRAXIMXANCNFSM4KOICV6A
.

Ok. Try setting a break point in your test, and inspect cut.Markup. That should show you the raw rendered markup, and you can look for attributes prefixed with "blazor" for possible triggers available to you.
Post the cut.Markup here if you need more help.

It has blazor click=“12”  like that. Generated.
Sent from my iPhone

On Feb 1, 2020, at 3:10 PM, Egil Hansen<EMAIL_ADDRESS>wrote:

Ok. Try setting a break point in your test, and inspect cut.Markup. That should show you the raw rendered markup, and you can look for attributes prefixed with "blazor" for possible triggers available to you.
Post the cut.Markup here if you need more help.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Well, in that case, you can use the .Click() on the element that had the blazor attribute.

Isn’t the click element generated by Blazor?  If so, I would not be guaranteed the Click handler generate the same on each successive run.
From: Egil Hansen<EMAIL_ADDRESS>Sent: Sunday, February 2, 2020 1:28 AM
To: egil/razor-components-testing-library<EMAIL_ADDRESS>Cc: jpiell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [egil/razor-components-testing-library] Question on Handling ValidSubmit in ChildContent, (#50)
Well, in that case, you can use the .Click() on the element that had the blazor attribute.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/egil/razor-components-testing-library/issues/50?email_source=notifications&email_token=AHE7FBY2ASCIRO2L52AU45TRAZRW3A5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKRPBMY#issuecomment-581103795 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AHE7FBZ6PWXZQVFRB2K5KATRAZRW3ANCNFSM4KOICV6A .  https://github.com/notifications/beacon/AHE7FB7J5T7MQGNGRAK5F5DRAZRW3A5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKRPBMY.gif

The number in the blazor attribute is just used to tie the event handler to the binding. It is generated, but if you call Click() on the same element each time, then the same trigger should be called.

Ok I will try that tomorrow.  If I am still having trouble after trying that, I will paste the markup in the issue.
Thanks again.
Jeff
Sent from my iPhone

On Feb 3, 2020, at 4:47 AM, Egil Hansen<EMAIL_ADDRESS>wrote:

The number in the blazor attribute is just used to tie the event handler to the binding. It is generated, but if you call Click() on the same element each time, then the same trigger should be called.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok - I am trying cut.Find("#Save_button").Submit();
This throws:
System.ArgumentException
HResult=0x80070057
Message=The element does not have an event handler for the event 'onsubmit'.
Source=Egil.RazorComponents.Testing.Library
StackTrace:
at Egil.RazorComponents.Testing.EventDispatchExtensions.GeneralEventDispatchExtensions.TriggerEventAsync(IElement element, String eventName, EventArgs eventArgs)
at Egil.RazorComponents.Testing.EventDispatchExtensions.InputEventDispatchExtensions.SubmitAsync(IElement element)
at Egil.RazorComponents.Testing.EventDispatchExtensions.InputEventDispatchExtensions.Submit(IElement element)
at TIPS.ComponentTests.CommonComponentTests.LookupRendersCorrectlyAddItem() in C:\Projects\TIPS\TIPS.ComponentTests\Common.Components\CommonComponentTests.cs:line 336
Here is the cut.Markup:

 Management

Add

        <colgroup>

                <col style="width: 250px" />
                <col style="width: " />
                <col style="width: 100px" />
                <col style="width: 200px" />
                <col style="width: 130px" />
        </colgroup>

    Name

    Description

    Active

    Date

    Action

                <colgroup>

                        <col style="width: 250px;" />
                        <col style="width: ;" />
                        <col style="width: 100px;" />
                        <col style="width: 200px;" />
                        <col style="width: 130px;" />
                </colgroup>

		0 - 0 of 0 items

        Add

        <form blazor:onsubmit="11">

                    Name

                <input class="form-control" id="Name_textbox" name="Name" type="text" blazor:onchange="12" />

                    Description

                <textarea class="form-control" id="Description_textarea" name="Description" rows="7" blazor:onchange="13"></textarea>

        <input type="checkbox" id="matBlazor_id_b6c1933d-56fa-486a-96b3-efc73afb4862" class="mdc-switch__native-control" role="switch" checked blazor:onchange="15" blazor:elementreference="a6444ba6-7c8c-4ffa-a01b-b86f01984e42"></input>

 Active

                <button id="Save_button" type="submit" class="btn btn-primary ml-2">Save</button>
                <button id="Cancel_button" type="button" class="btn btn-light ml-2" blazor:onclick="14">Cancel</button>

        </form>

I do see the
How can I specify this as the submit handler? It has not been generated util run time.  Do I use a lambda?

I am not familier with the Telerik controls, so I cannot be sure, but if you are trying to submit the <form blazor:onsubmit="11"> at the bottom part of the markup, you need to use Submit() I think. At least it looks as if Blazor has added an onSubmit binding to that form. So e.g. cut.Find("form").Submit().
Btw. please use markdown and take the time to format your code snippets when posting issues here on Github. It makes it much easier to help you. Google can help you find the documentation you need.

Sorry about the formatting.
When I call cut.Find("form").Submit(); the handler
for OnValidSubmit="SaveAsync" does not get called.
One thing to note is this has nothing to do with Telerik  This is all being
done outside of the grid control.
Just a standard Edit Form:

SelectedGridItem is a ViewModel object.
On Tue, Feb 4, 2020 at 8:29 AM Egil Hansen<EMAIL_ADDRESS>wrote:

I am not familier with the Telerik controls, so I cannot be sure, but if
you are trying to submit the  at the bottom
part of the markup, you need to use Submit() I think. At least it looks
as if Blazor has added an onSubmit binding to that form. So e.g.
cut.Find("form").Submit().
Btw. please use markdown and take the time to format your code snippets
when posting issues here on Github. It makes it much easier to help you.
Google can help you find the documentation you need.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/egil/razor-components-testing-library/issues/50?email_source=notifications&email_token=AHE7FB3G3YNNJRKMMUYGKGDRBFUUXA5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKXT2TI#issuecomment-581909837,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHE7FB46DPLIPYGHXKSCZPTRBFUUXANCNFSM4KOICV6A
.

OK. To understand whats going on, you will have to post your CUT as well, so I can inspect the razor/c# code you have written. If you cannot share your code, then please provide a minimum example where this issue is present (this is the preferred way anyway). That will make it much easier for me to help and potentially fix any problems.
See the issue template for bug report for the type of information I generally prefer having available to help effectively: https://github.com/egil/razor-components-testing-library/issues/new/choose

 Management

Add

                                Name

                                Description

                                Active

                                Date

                                Action

                0 - 0 of 0 items

Add

                            Name

                            Description

 Active

Save
Cancel

Markup.txt

Jeff - I want to help you, but you also have to do some work and provide me with the information I need to be able to do so. And you really need to take a look at the GitHub markdown documentation and wrap your markup and code in the appropriate tags - https://guides.github.com/features/mastering-markdown/
As for your latest comment, we already looked at the rendered markup and it does not reveal the problem. Please look at the Bug Issue template for the appropriate information to provide to be able to get help: https://github.com/egil/razor-components-testing-library/issues/new?assignees=&labels=&template=bug_report.md&title=

Egil - I am not familiar with Markdown.  I didn't quite grasp the tags and what I should do.  I pasted the cut.Markup because you asked me to in your last message.
I think what you are really saying is could I provide a sample app?  If this is true, I would be happy to put one together,
Would that help you to figure out when I went wrong?
Also you idea of doing a submit when there is not a click event would most likely be correct as from what I read, it seems like this is the behavior that blazor follows when a button has the type submit and a form has the OnValidSubmit property.
The documentation also states that calling submit on the form will not cause the component to raise the events and that the proper way is clicking the button that has the type submit.
Here is a link to the documentation:
https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1

Jeff, take a look at the two links in my previous comment. The first is to docs on using markdown in GitHub. Hint, there is a preview button.
The second is a link to the bug report issue template. It should make it clear what you need to provide to make it easy to help you.

I did look at both the links.  I still don’t get it.  Am I supposed to code my html with markdown tags?  Where is there a preview button?
The second link I do get.  Are you asking me to do a new incident?
The template states you would prefer a sample app.  That’s why I offered to put one together.
From: Egil Hansen<EMAIL_ADDRESS>Sent: Wednesday, February 5, 2020 2:54 PM
To: egil/razor-components-testing-library<EMAIL_ADDRESS>Cc: jpiell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [egil/razor-components-testing-library] Question on Handling ValidSubmit in ChildContent, (#50)
Jeff, take a look at the two links in my previous comment. The first is to docs on using markdown in GitHub. Hint, there is a preview button.
The second is a link to the bug report issue template. It should make it clear what you need to provide to make it easy to help you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/egil/razor-components-testing-library/issues/50?email_source=notifications&email_token=AHE7FB6G4H655B3ZOEWQ47DRBMKOLA5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK4YEJQ#issuecomment-582582822 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AHE7FBZLFGYF7H6KNNOPPULRBMKOLANCNFSM4KOICV6A .  https://github.com/notifications/beacon/AHE7FB7NMIZLPUYEPECBJY3RBMKOLA5CNFSM4KOICV6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK4YEJQ.gif

How are you writing your comments here? Are you just replying to the email GitHub sends you?
In that case, I get why you can't figure out markdown or know about the preview button. Please start writing comments and creating issues through GitHub.com, that will make it much easier for everyone to read your comments and you should have a much easier time.

And yes. I need a minimum example, with as little code as possible to show the issue. Or, alternatively, the things outlined in the bug report template.

I'll close this issue. If you still need help, just comment again.

@egil
What @jpiell is saying is that when you create a form, in blazor, using the parameter OnValidSubmit, it will not cause the cut.Find("form").Submit() to fire.
This works
<EditForm<EMAIL_ADDRESS>OnSubmit="@CreateUser">
    <button type=submit>
</EditForm>

cut.Find("form").Submit()

This does not work
<EditForm<EMAIL_ADDRESS>OnValidSubmit="@CreateUser">
    <button type=submit>
</EditForm>

cut.Find("form").Submit()

Thanks for explaining @andrewmorris-dev


addToTypeIndex resolves to profile with null type index when creating the index

...because of a mistake with javascript assignment semantics.
https://github.com/solid/solid-client/blob/master/src/type-registry.js#L228

Fixed in PR #139, closing.


Build failure: viber

Steps To Reproduce
Steps to reproduce the behavior:

sudo nixos-rebuild switch --upgrade-all

Build log
error: hash mismatch in fixed-output derivation '/nix/store/vv7crjk78lmqcwlpmiddnjq5jyv1ybnk-viber.deb.drv':
         specified: sha256-RrObmN21QOm5nk0R2avgCH0ulrfiUIo2PnyYWvQaGVw=
            got:    sha256-9WHiI2WlsgEhCPkrQoAunmF6lSb2n5RgQJ2+sdnSShM=

Additional context
the last commit removed the use of webarchive
Notify maintainers

@pyrox0
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.41, NixOS, 24.11 (Vicuna), 24.11pre655136.1d9c2c9b3e71`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - channels(root): `"nixos, nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

Hello, I'm not the maintainer. I think you meant to ping @jagajaga

I think there are multiple issues with latest viber update - https://github.com/NixOS/nixpkgs/pull/323215
it use url downloaded directly from viber instead of former practice using web.archive.org which lead to the hash mismatch issues.
I tried following overlay to fix them
    viber = final.pkgs.unstable.viber.overrideAttrs (oldAttrs: {
      src = final.fetchurl {
        url = "https://web.archive.org/web/20240114085219/https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb";
        sha256 = "sha256-RrObmN21QOm5nk0R2avgCH0ulrfiUIo2PnyYWvQaGVw"; # same hash as original commit in this PR https://github.com/NixOS/nixpkgs/pull/323215
      };
    });

The latest file from viber for linux with the hash sha256-9WHiI2WlsgEhCPkrQoAunmF6lSb2n5RgQJ2+sdnSShM= have some hard code that result failed to launch with message that unable to make change to /opt/viber on NixOS


Complete platform matrix testing

[x] Linux Fedora
[x] Windows 10
[ ] Macos

I'll leave macos hanging. Will close until there's interest.


CosmosClient: UpsertItemAsync/UpsertStreamAsync/ReplaceItemAsync/ReplaceStreamAsync methods are not updating properties intermittently

To update properties for bulk items, while using CosmosClientSDK with AllowBulkExecutor Option enabled, we observed properties are not getting updated for few items. Issue is reproducible only for bulk item updates(500 items) but not while doing for 10-50 items
We tried with UpsertStreamAsync/UpsertItemAsync/ReplaceItemAsync/ReplaceStreamAsync methods
Below is code snippet where object properties are updated and converted to MemoryStream

Above memory stream is pushed to clientSDK Upsertstream similar to https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos.Samples/Usage/BulkSupport/Program.cs file

Can someone please help us on where it is going wrong? The missing updated items varies for each run and In very few times, issue doesn't even occur

@pavitrag123 are you awaiting the task? Does it eventually get updated?
@ealsur any suggestion?

yes all the tasks are awaited after loop like below

Are you getting a failure on the else clause? Could you be getting throttled?

No, there were no errors logged through else clause and also no throttling 429 errors logged.
If there are 500 tasks running async, total completed tasks are always 500 and also verified respective task's IsCompleted/IsCompletedSuccessfully/IsCanceled/IsFaulted properties, IsCompleted/IsCompletedSuccessfully status is true for all of them and IsCanceled/IsFaulted  is  false
FYI, Microsoft.Azure.Cosmos.Client version is <IP_ADDRESS>

Hi @ealsur ,
I've uploaded sample github solution https://github.com/pavitrag123/CosmosBulkUpdateWithSDK.
Above solution has an API to insert 1000 items to database with 2 different status values with 500 items each.
Another API to update those 500 items to another status value
Issue is reproducible for hosted functionappp api calls but not for localhost. Function app is under B1 service plan
During initial update run, status not updated for 100 items and after another run, 18 items were not updated
Could you please check the code and let me know where it went wrong
Thanks in advance

@pavitrag123 What do you mean by it doesn't repro on localhost? If it's the same code, connecting to the same Cosmos DB account, it should repro regardless, unless the Functions runtime is having some issue?
Couple of more questions for the code:

Why using a ConcurrentBag instead of a List?
Is the dataToImport unique (has no repetitions on Id and PK)
You are mixing Deletes and Creates, is this taking into account if an item receives a Create and then a Delete on the same bulk operation?
Does this repro on Direct Mode (the default)?
Are you by any chance calling these API endpoints concurrently? For example, could the Delete one be called while the Insert or Update are running?

@ealsur , yeah updates worked as expected when I ran the solution locally 3-4times pointing same cosmos db account in azure, but  functionapp didn't work. I haven't found any relevant logs for this in app insights logs/failures,

We faced "Destination Array not long enough" issue while using List to process huge data. So changed it to ConcurrentBag
Yes data imported is unique, Id is always unique though partitionKey is repeated
Same method is used to perform upserts/deletes in bulk. But each bulkImport object will have only one type of operation either import or delete
Yes issue is repro with Direct Mode also
No, APIs are not called concurrently
Yes, used real cosmos DB account and default consistency is set to SESSION

@ealsur, providing MaxRetryAttemptsOnRateLimitedRequests value like below seems to have fixed the issue.

We will be monitoring it for now and provide some constant value for it.
Regarding 429 errors, sorry I was checking at app insights but not at database level.  They are getting logged at database level though functionapp shows success code. Also noticed localhost is producing very less 429 errors compared to functionapp which might be reason for successful execution during localhost

Thanks for the confirmation, yes, 429s would mean those operations were retried by the SDK (it does so 9 times by default) and then failed. Increasing the Max Attempts works and explains why this doesn't happen with 10 items but it does with 500.
The reason localhost does not have an issue is probably because you are adding Network delay to the requests, so they end up being sent more slowly than when the code is running co-located in the same Azure datacenter. That extra air time reduces the 429s since the rate of requests is less.

Closing as the source of the issue has been found (throttles). Please reopen in case something else is found.

@ealsur  do we have any api where we can use the bulk update because replaceItemStreamAsync it will work for one object ..
@pavitrag123

@sachin-agarwal-by Please open a new issue describing the problem you are encountering


batch_output.png is not visible in 04 Running PCSE in batch mode.ipynb

I cannot view the image.
The markdown is as follows. Not sure where the attachment is.

Apparently PNG files cannot be loaded from the same repository when rendering on github. The files is now included in the notebook by converting it to base64 encoding.


feat: deprecate 'loader' in favor of 'context'

feat: deprecate 'loader' in favor of 'context'
docs: update defult API version
docs: add version callout
fix: don't create query store
fix: add better error messages in preview route

Resolves #103


Fastener Application

Create the mechanisms to usefully apply fasteners to a design.
Design
Avoid contrived examples; focus on examples you can see in everyday things.
Good source of inspiration would be ikea assembly instructions, these are just the first 3 I found:

ingolf-stool__AA-943676-2_pub.pdf
pahl-underframe-for-table-top__AA-1660280-4_pub.pdf
trysil-bedside-table__AA-1904650-1_pub.pdf

Examples
So to start simple, with some contrived examples :stuck_out_tongue_winking_eye:

wood-screw down a cantilever
bolt down the same cantilever

nut on the opposite side of the anchor (optional washer on both ends)
tap the anchor solid

mount a PCB with spacers (2 opposing screws, with a threaded spacer in between)

That's at least a good start

Idea for methodology

There are 2 seemingly opposite use-cases that come to mind:

A pre-selected fastener is applied to a work-piece.
A work-piece needs fastening, with whatever fits the work-piece's parameters.

a proverbial chicken / egg scenario

one solution to this is to split fastener application into 3 classes:
Evaluation
The assessment of which solids require interfacing, in what order, and through what depth
Input:

list of solids (arbitrarily ordered)
vector origin
fastener's axis (2 vertices, origin, direction)
(note: the fastener's axis must be flush with, or above the first solid, but may be any distance above it)

Output

List of effected solids (in order)
A linear edge per effected solid (overlapping the solid along the fastener's axis)

There will be 2 base methods of evaluation:

vector : faster, but may miss something (eg: vector may glance the edge of a solid, missing it)
cylindrical : slower, but more accurate

Selection
A Selector class may be given an Evaluation instance to assess what fastener to use.
For example
evaluation = VectorEvaluation([anchor, counterlever], ((0,5,1), (0,0,-1)))
wood_screw = WoodScrewSelector('10g', 'countersunk', 'phillips', anchor_ratio=1.5).select(evaluation)
# selector will select:
#    - a wood-screw with a 10g thread
#    - head will be countersunk
#    - screw drive will be phillips-head
#    - the depth of the selected fastener into the anchor will
#            be at least 1.5 * the height of the counterlever

Application
A given fastener can be applied based on a given evaluation.
So this one's simple
Applicator(evaluation, wood_screw).apply()

Why Classes over Functions?
I like the idea of these being instantiated, and possibly serialized before they're evaluated.
This way all parts, and how they're connected can be defined before they're built.
For example, if a selector is used, then the same Evaluator instance is used twice.
It's functionally "evaluated" the first time it's referenced.
Another example, you may have 2 fastener applications that interfere with each other's evaluations.
This may be simplified by performing all evaluations first, then selecting each fastener and applying it (in an arbitrary order)

@dcowden @jmwright : I'm back!
I'll be working on this issue this week, I'll post some results when it's awesome to demonstrate exactly how it works.

sweet!!!

now that #26 is in place (pun intended), this can progress.

This is particularly tricky... in #26 I've built a build-chain of:

objects built : cadquery.Workplane instances populated with solids
objects placed : cadquery.Workplane moved from their local coordinates to world, using a constraints solver

However, only after placement has occurred can fasteners be evaluated, selected, and applied.
So there needs to be 2 considerable additions to this build chain (with the following limits)

additions : components and constraints must be optionally added only after object placement has succeeded

can only add components & constraints (they can't be removed)
once a component's world coordinates are determined (by a constraints solver), they will not be changed.
additional constraints can only effect the position of a newly added component.

alterations : parts may be altered (holes, chamfers, unions, and so on) after they've been placed.

alterations may only be made to the object at it's local coordinates (local_obj not world_obj)

There may also be multiple rounds of additions & alterations (because, why not).
I think the best way to achieve this is by allowing users to create Assembly instances that return generators instead of just dicts & lists... for example:
a basic assembly now:
class Thing(cqparts.Assembly):
    def make_components(self):
        return {
            'box': Box(height=10),
        }
    def make_constraints(self):
        return [
            LockConstraint(self.components['box'], Mate((0,0,0))),
        ]

Could return generators instead
class Thing(cqparts.Assembly):
    def make_components(self):
        yield {
            'box_a': Box(height=10),
        }
        yield {
            'box_b': Box(width=20),
        }
    def make_constraints(self):
        yield [
            LockConstraint(self.components['box_a'], Mate((0,0,0))),
        ]
        yield [
            LockConstraint(
                self.components['box_b'],
                self.components['box_a'].world_coords + Mate((0,0,10)),
        ]

note that the latter references box_a's world coordinates which can only be set when a solver has completed.
So the "build chain" of build objects, then place objects will be iterated for each yield
This is effectively an equivalent of using RelativeLockConstraint.
As for alterations, this will be a 3rd step to the build chain, and will follow the same rules.

One constraints become more sophisticated ( for example, co planar,
concentric), won't it be necessary to be able to get all of the constraints
at once to evaluate them?
I understand the need to add components and constraints after assembly has
been solved.  An example would be that you have a box bottom and a lid, but
then you want to add a counter-sunk fastener and hole that goes through
both after they are assembled.
It is definitely tricky, because you additionally (probably) want to take
that original-but-now-has-a-fastener-hole-in-it box lid and export it for
manufacturing.
I need to think more about this. The system you're proposing works, but is
difficult to reason about.  My hunch is that an abstraction is missing to
help sort it out.
On Thu, Nov 30, 2017 at 11:42 PM, Peter Boin<EMAIL_ADDRESS>wrote:

This is particularly tricky... in #26
https://github.com/fragmuffin/cqparts/issues/26 I've built a
build-chain of:

objects built : cadquery.Workplane instances populated with solids
objects placed : cadquery.Workplane moved from their local
coordinates to world, using a constraints solver

However, only after placement has occurred can fasteners be evaluated,
selected, and applied.
So there needs to be 2 considerable additions to this build chain (with
the following limits)

additions : components and constraints must be optionally added
only after object placement has succeeded

can only add components & constraints (they can't be removed)
once a component's world coordinates are determined (by a
constraints solver), they will not be changed.
additional constraints can only effect the position of a newly
added component.

alterations : parts may be altered (holes, chamfers, unions, and
so on) after they've been placed.

alterations may only be made to the object at it's local
coordinates (local_obj not world_obj)

There may also be multiple rounds of additions & alterations (because, why
not).
I think the best way to achieve this is by allowing users to create
Assembly instances that return generators instead of just dicts &
lists... for example:
a basic assembly now:
class Thing(cqparts.Assembly):
def make_components(self):
return {
'box': Box(height=10),
}
def make_constraints(self):
return [
LockConstraint(self.components['box'], Mate((0,0,0))),
]
Could return generators instead
class Thing(cqparts.Assembly):
def make_components(self):
yield {
'box_a': Box(height=10),
}
yield {
'box_b': Box(width=20),
}
def make_constraints(self):
yield [
LockConstraint(self.components['box_a'], Mate((0,0,0))),
]
yield [
LockConstraint(
self.components['box_b'],
self.components['box_a'].world_coords + Mate((0,0,10)),
]
note that the latter references box_a's world coordinates which can only
be set when a solver has completed.
So the "build chain" of build objects, then place objects will be
iterated for each yield
This is effectively an equivalent of using RelativeLockConstraint.
As for alterations, this will be a 3rd step to the build chain, and will
follow the same rules.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fragmuffin/cqparts/issues/5#issuecomment-348399740,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPOA0wxusKKAUja5Qq1nSebs_1JJUi5ks5s74OugaJpZM4PxKot
.

One constraints become more sophisticated ( for example, co planar,
concentric), won't it be necessary to be able to get all of the constraints
at once to evaluate them?

Multiple constraints can be added per iteration (per yield), so as long as all constraints relating to a component are added at once, it should be fine.
If it's implemented incorrectly, then the result will be either:

an unplaced component, or
a constraint solver error

Since amateurs will be building these assemblies, issues like that will be unavoidable... I'll just try to make the error messages as pleasant as I can.

An example would be that you have a box bottom and a lid [...]

Yes, that's one of the examples I want to use. It seems like a useful one.

It is definitely tricky, because you additionally (probably) want to take
that original-but-now-has-a-fastener-hole-in-it box lid and export it for
manufacturing.

I agree, this solution will also offer that (actually, the code is already in place).
A Part is built in its local coordinates as .local_obj, then when .world_coords is set, the local object is moved to .world_obj.
If you try to set the value of .world_obj (ie: modify it), an exception is raised.
But, if you set (change) either .local_obj or .world_coords, the .world_obj is re-created from .local_obj.

I also don't like how ugly the adding of constraints is.
At the moment it takes 4 or 5 lines just to add the most basic constraints.
I think there should be "constraint helpers" as methods in an Assembly... but I also want people to be able to create their own constraints...
I'm sure I'll figure out a neat solution.
maybe something like:
class Thing(cqparts.Assembly):
    def make_constraints(self):
        return [
            self.mk_con('lock', 'box_a', ((0,0,10))),
            self.mk_con('lock_relative', 'box_b', 'box_a__mate_top'),
        ]

a fluent builder might work well:
return ConstraintBuilder(thing).lock('box_a',(0,0,10).connect('box_b', 'box_a_mate_top')

First working fastener in tests/manual/fastener.py.
Which results in:

There's still many things to improve, but I'm very happy with this result.

Awesome! It's really coming along!

@dcowden @jmwright
What are your thoughts on the design?
Key classes are:

Fastener(Assembly) class
ScrewFastener(Fastener) class

The documentation is in shambles in this regard, I want to work on that next.
There are many features I'd like to add, such as

overlap with anchoring piece:

% penetration
max & min penetration

screw / bolt selection via more human-readable metric definition (eg: M3)
final piece tapped (instead of a pilot hole)

Each of these will be a parameter passed to the Fastener class
The next Fastener class I want to make is a nut & bolt situation.
I'll just make these 2 for the release, because I'm rapidly running out of time!
(not really, but I did say this year)

@fragmuffin I've been following along and the design looks good to me. I'm sure I'll have more feedback once I get a chance to use fasteners in a project. The year-end has  been pretty crazy for me, so I'm guessing it will be after this initial release that I'll get a chance to dive deeper.

Thanks @jmwright, as long as you don't see any glaring issues with it.
I'll ping this issue again when I've applied this tool-chain to the easy install fastener example and published it.

For the easy install fastener example, I want the wood-screw & anchor variants to be added to a catalogue (#39).
This will illustrate that the Selector class can be used to either:

isolate which wood-screw & anchor to use (from a finite list), or to
hand-carve a wood-screw & anchor to fit the fastening situation perfectly.

broken link: "easy install fastener example" moved to here


Intellisense UI javascript function signatures gets cut off

VSCode Version: 1.3.1
OS Version: win 10 x64

Steps to Reproduce:

On a js file:

The function signature gets cut off. Shouldn't the box size adapt to see all the function signature?
Also, shouldn't the comment above the function definition be added to the intellisense box? Or is it managed with an additional extension?
thanks

To see the full signature and description, press Ctrl+Space a second time.

@aeschli does not work. Also tried with a different keybiding (to test for colliding keybindings). The command does not seem to work.

@rickmed Oh, I see, this only works if there is a doc comment description.
@joaomoreno I think it would be better to also allow the second Ctrl+Space if there is a detail information (like the signature)

If we only showed the signature for the highlighted item in a tooltip, the user wouldn't need to press Ctrl+Space to get more details since we could show the full signature for the highlighted item:

Leaving this to each completion item provider to fix.


make list to tuple to satisfy api

Minor bug fix for neural ODEs: use of list for states rather than tuples breaks the current torchdiffeq api.

fixed in #12


Cataclysm Classic support

Hey there. Any chance for an update for Cataclysm? Cata prepatch broke the addon.
Date: 2024-05-04 01:09:23
ID: 1
Error occured in: Global
Count: 1
Message: ...dOns/EventHorizon/EventHandling/BuffEventHandler.lua line 56:
   attempt to index field '?' (a nil value)
Debug:
   [string "@Interface/AddOns/EventHorizon/EventHandling/BuffEventHandler.lua"]:56: ?()
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:119:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:119
   [string "=[C]"]: ?
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:29:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:25
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:64: Fire()
   [string "@Interface/AddOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua"]:120:
      ...dOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua:119
Locals:
self = <table> {
 events = <table> {
 }
 buffer = <table> {
 }
}
event = "UNIT_AURA"
unitId = "player"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
UnitExists = <function> defined =[C]:-1

AddOns:
  Swatter, v3.4.6977 (SwimmingSeadragon)
  EventHorizon, v<IP_ADDRESS>
  Stubby, v3.4.6920 (SwimmingSeadragon)
  BlizRuntimeLib v<IP_ADDRESS>525(EU) <enUS>
  (ck=96)

Date: 2024-05-04 01:09:23
ID: 2
Error occured in: Global
Count: 3
Message: Interface/AddOns/EventHorizon/Spell/CoolDowner.lua line 52:
   GetSpellCooldown(): Invalid spell slot
Debug:
   [string "=[C]"]: ?
   [string "@Interface/AddOns/EventHorizon/Spell/CoolDowner.lua"]:52: CheckCooldown()
   [string "@Interface/AddOns/EventHorizon/EventHandling/CoolDownEventHandler.lua"]:34: ?()
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:119:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:119
   [string "=[C]"]: ?
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:29:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:25
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:64: Fire()
   [string "@Interface/AddOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua"]:120:
      ...dOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua:119
Locals:
(*temporary) = nil

AddOns:
  Swatter, v3.4.6977 (SwimmingSeadragon)
  EventHorizon, v<IP_ADDRESS>
  Stubby, v3.4.6920 (SwimmingSeadragon)
  BlizRuntimeLib v<IP_ADDRESS>525(EU) <enUS>
  (ck=96)

Date: 2024-05-04 01:18:10
ID: 3
Error occured in: Global
Count: 1
Message: ...dOns/EventHorizon/EventHandling/BuffEventHandler.lua line 52:
   attempt to index field '?' (a nil value)
Debug:
   [string "@Interface/AddOns/EventHorizon/EventHandling/BuffEventHandler.lua"]:52: ?()
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:119:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:119
   [string "=[C]"]: ?
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:29:
      ...zon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:25
   [string "@Interface/AddOns/EventHorizon/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:64: Fire()
   [string "@Interface/AddOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua"]:120:
      ...dOns/EventHorizon/Libs/AceEvent-3.0/AceEvent-3.0.lua:119
   [string "=[C]"]: TargetUnit()
   [string "@Interface/AddOns/Blizzard_ChatFrameBase/Classic/ChatFrame.lua"]:1355: ?()
   [string "@Interface/AddOns/Blizzard_ChatFrameBase/Classic/ChatFrame.lua"]:4981: ChatEdit_ParseText()
   [string "@Interface/AddOns/Blizzard_ChatFrameBase/Classic/ChatFrame.lua"]:4664: ChatEdit_SendText()
   [string "@Interface/AddOns/Blizzard_ChatFrameBase/Classic/ChatFrame.lua"]:4700: ChatEdit_OnEnterPressed()
   [string "*ChatFrame.xml:120_OnEnterPressed"]:1:
      [string "*ChatFrame.xml:120_OnEnterPressed"]:1
Locals:
self = <table> {
 events = <table> {
 }
 buffer = <table> {
 }
}
(*temporary) = <function> defined @Interface/AddOns/EventHorizon/EventHandling/BuffEventHandler.lua:55
(*temporary) = <table> {
 events = <table> {
 }
 buffer = <table> {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"

AddOns:
  Swatter, v3.4.6977 (SwimmingSeadragon)
  EventHorizon, v<IP_ADDRESS>
  Stubby, v3.4.6920 (SwimmingSeadragon)
  BlizRuntimeLib v<IP_ADDRESS>525(EU) <enUS>
  (ck=96)

+1 on this. New to classice but I loved EH the first time around.


Set up distributed matrix assembly

[x] Get something that works quickly (@wcwitt)  691bcb7576cd27bbd05fde683e73a2e708f3220c
[ ] Revise after discussions with Christoph/others

I've pushed something simple that works. To test it, I typically start the repo with julia -p 2. Then I change example.jl so that it passes :dist to llsq. Finally, in the example directory, I run some setup before running the example itself:
# setup.jl

using Distributed
@everywhere using Distributed

using Revise
@everywhere using Revise

using Pkg
@everywhere using Pkg

Pkg.activate(".")
@everywhere Pkg.activate(".")


Event ID 171/172

It's great to have this list with the codes. Now as 171 and 172 are errors and we have them on our machines, I'd like to know how we can solve these problems. Where do I find further information about these errors?

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

ID: adcfcc02-d931-66e3-6f4f-c14b936358e6
Version Independent ID: 8972647b-ba21-b68f-b698-5fb6e9e9f1fd
Content: Troubleshooting Windows Autopilot
Content Source: windows/deployment/windows-autopilot/troubleshooting.md
Product: w10
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

The page is updated with this information, so the issue can be closed it think.

Okay for me. Thank you.


bug gpt-3.5-turbo, gpt-4

When I use gpt-3.5-turbo or gpt-4 it works but when using gpt-4-0125-preview or other models it always gives me an error {"error": "An unexpected error occurred."}
Changing to gpt-3.5-turbo or gpt-4 works.

If you use other models, need to define the TOKEN_LIMIT in the settings: https://wagtail-ai.readthedocs.io/latest/ai-backends/#using-a-custom-openai-or-openai-compatible-model
The only known models are:
https://github.com/wagtail/wagtail-ai/blob/4fa9b396fa18933f1de6b5a65d1f4da4ace26716/src/wagtail_ai/tokens.py#L12-L22
For other models, refer to the context window value from: https://platform.openai.com/docs/models/


Reset display brightness to 0

I'd appreciate it if dmon also constantly resets the display brightness to 0. Some devices keep bugging me with that.
#import <UIKit/UIKit.h>

int dimDisplayBrightness (void)
{
    @autoreleasepool
    {
        UIScreen *mainScreen = [UIScreen mainScreen];
        mainScreen.brightness = 0.0f;
    }
    return 0;
}

Really like this idea. Will likely get this added in the next release.

I played with this over the weekend and couldn't get it to work. Since dmon isn't a UI application this might need to be moved into a tweak of some kind.

Well GC has a built-in solution, it's just not working because of the endpoint not reachable in v2. Maybe we can ask for a little code snippet to do it.


COMP: Override inherited methods in itkGPUFiniteDifferenceImageFilter

Mark inherited methods in itkGPUFiniteDifferenceImageFilter with the
override specifier.
Fixes
/Users/builder/externalModules/Core/GPUFiniteDifference/include/itkGPUFiniteDifferenceImageFilter.h:145:3:
warning: 'SetMaximumRMSError' overrides a member function but is not
marked 'override' [-Winconsistent-missing-override]

/Users/builder/externalModules/Core/GPUFiniteDifference/include/itkGPUFiniteDifferenceImageFilter.h:146:3:
warning: 'GetMaximumRMSError' overrides a member function but is not
marked 'override' [-Winconsistent-missing-override]

and
/Users/builder/externalModules/Core/GPUFiniteDifference/include/itkGPUFiniteDifferenceImageFilter.h:150:3:
warning: 'SetRMSChange' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]

/Users/builder/externalModules/Core/GPUFiniteDifference/include/itkGPUFiniteDifferenceImageFilter.h:151:3:
warning: 'GetRMSChange' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]

reported here:
https://open.cdash.org/viewBuildError.php?type=1&buildid=6738417
PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

Refer to the ITK Software Guide for
further development details if necessary.

Doesn't it do the exact same as the superclass? If so, wouldn't removing it do just as well?

Doesn't it do the exact same as the superclass? If so, wouldn't removing it do just as well?

Uops, you're right @seanm. Good catch. Thanks. Will re-work it and submit to a new branch to honor the contents of the PR.

Superseded by #1978.