docs: Convert debugging page

Noting here that the Python debugging page contains additional information, which has been transferred into the language-specific page. See https://github.com/dagger/dagger/pull/7408/

https://dagger.cloud/dagger/traces/8b7aa1a600a20884ffd6f895633babbc - TS lint shows a failure, but https://github.com/dagger/dagger/actions/runs/9140565827/job/25134037910?pr=7407 - TS lint (which is presumably doing the same thing) shows success. Not quite sure what this means or how to turn it green. Please lmk if any suggestions @gerhard @matiasinsaurralde

I am assuming that the trace failed because the span never terminated:

The only way that I was able to make this type of check green is to run it again, even if the job succeeded. CC-ing @vito & @crjm @aluzzardi  in case they have a different suggestion. Triggering the re-run to check if that still works as I remember.

I am assuming that the trace failed because the span never terminated

Yes, this is the reason why this is happening.
The error comes from the API, and not from the engine, as the span signaling the end of the execution never reached the API.
This is also why the engine doesn't exit with an error code in CI.
@vito it seems like we are setting the state in the FE for timeouts, but we are not showing any UI for that state.
Should we add an element to represent it?

@vikram-dagger when I run this I see the following final output:
✔ initialize 5.3s
✔ debug: Debug! 0.9s
┃ [DEBUG] dagger.mod._resolver: func => <Signature () -> None>
┃ [DEBUG] dagger.mod._resolver: input args => {}
┃ [DEBUG] dagger.mod._resolver: structured args => {}
┃ [DEBUG] dagger.mod._module: result => Debug()
┃ [DEBUG] dagger.mod._module: output => '{}'
┃ [DEBUG] dagger.client._session: Closing client session to GraphQL server
  ✔ connect 0.1s
✔ Debug.echo(msg: "hello"): String! 0.9s
┃ [DEBUG] dagger.mod._resolver: func => <Signature (msg: str) -> str>
┃ [DEBUG] dagger.mod._resolver: input args => {'msg': 'hello'}
┃ [DEBUG] dagger.mod._resolver: structured args => {'msg': 'hello'}
┃ [DEBUG] dagger.mod._module: result => 'hello'
┃ [DEBUG] dagger.mod._module: output => '"hello"'
┃ [DEBUG] dagger.client._session: Closing client session to GraphQL server
  ✔ connect 0.1s

hello

However, while its executing I see a ton of DBG messages like this:
15:41:17 DBG recording span span=moby.buildkit.v1.Control/Session id=cd9772c3f2d5b7a0
15:41:17 DBG recording span child span=moby.buildkit.v1.Control/Session parent=3c1b9516c5eb911a child=cd9772c3f2d5b7a0
15:41:17 DBG new end old="2024-05-20 15:41:16.972974556 -0700 PDT" new="2024-05-20 15:41:17.077128834 -0700 PDT"
15:41:17 DBG recording span span="dagger call --debug echo --msg=hello" id=2998d3b4f5ce8c55
15:41:17 DBG got EOF
15:41:17 DBG got EOF
15:41:17 DBG run finished err=<nil>

I think it might be fine to explain that the user will see a lot of DBG
info in the output and then end with the nicely formatted thing that
gets printed out at the end.
Are you seeing something completely different?
On Mon, May 20, 2024 at 01:08:39PM -0700, vikram-dagger wrote:

@vikram-dagger commented on this pull request.

@@ -40,19 +54,19 @@ Using the command dagger call --debug echo --msg="hello", should print
something like:

-✔ MyModule.echo(msg: "hello"): String! 0.5s
+✔ Mymodule.echo(msg: "hello"): String! 0.5s

@helderco this is not the current output. The current output contains a very large number of spans, and I wasn't able to find anything similar to what is shown here. Please suggest what should be done for this output.

--
Reply to this email directly or view it on GitHub:
https://github.com/dagger/dagger/pull/7407#pullrequestreview-2066937037
You are receiving this because your review was requested.

Message ID<EMAIL_ADDRESS>

that the user will see a lot of DBG info in the output and then end with the nicely formatted thing that gets printed out at the end.

@levlaz Yes, I see the DBG output but at the end I only see this output, which only partially matches what you have:
✔ connect 1.9s
✔ initialize 58.2s
✔ myModule: MyModule! 2.4s
┃ [DEBUG] dagger.mod._module: output => '{}'
┃ [DEBUG] dagger.client._session: Closing client session to GraphQL server
  ✔ connect 0.2s
✔ MyModule.echo(msg: "hello"): String! 2.3s
┃ [DEBUG] dagger.mod._module: output => '"hello"'
┃ [DEBUG] dagger.client._session: Closing client session to GraphQL server
  ✔ connect 0.1s

hello

Which of the two outputs is correct. @helderco ?

Fyi, to show Python logs you don't need to have --debug in the CLI. They're independent.


aes-gcm: simplify fixed field to four random bytes

Implement changes in https://github.com/ambiata/ops/pull/582.
! @markhibberd @erikd-ambiata @thumphries

👍
/jury approve


Clarify "number of pods in terms of percentage"

One can clearly understand CPU or RAM requested in relation to the capacity of a Node.
But when reporting a value for Pod utilisation, the documentation mentions number of pods in terms of percentage.
How is a number of running Pod per Node expressed in %, based on maxPods?

It is just a percentage of the pods currently on the node vs the capacity of pods for that node. The percentage is calculated based on the capacity and allocatable values for pods configured on the node in this section of code.

Thanks @damemi . Thank we could make that a little clearer in the description?

@tux-o-matic sure, I opened a change for that here: https://github.com/kubernetes-sigs/descheduler/pull/515


README: Note that rustfmt_skip on non-inline mod quiets line length warnings

In the README.md document, note, after the introduction of the
rustfmt_skip attribute, that using that attribute on a non-inline
mod item will cause the file referenced by that item to be wholly
ignored by rustfmt, in contrast to the normal behavior of still
emitting warnings on lines in skipped sections of code that exceed the
line length limit.
My motivation for this change is my former confusion as to this
behavior, as shown in issue #1399.
(I suppose, however, that merging of this patch should wait on the
resolution of solson's concerns.)

While this is correct, I don't think it is quite indicating the right mental model. Rustfmt will format the whole program skipping any nodes with a skip attribute. It will then run its warning pass on any files it knows about. Whether a module is skipped or not (c.f., any other node) doesn't really make a difference (for example if you skip an inline module, that module will be warned on, but if that module imports an out of line one, that file will not be checked).


Overflow on computing pointers

It seems CuPy does not have policy whether to check integer (Py_ssize_t) overflows on computing sizes.
Not checked:
https://github.com/cupy/cupy/blob/074a3b4ea931744c05dc8326d70abec2e21e2186/cupy/_core/internal.pyx#L21-L26
For example (2**64 + 4 = 2 * 2 * 5 * 5581 * 8681 * 49477 * 384773),
python -c 'import cupy; print(cupy.ones((2, 2, 5, 5581, 8681, 49477, 384773))[0, 0, 0, 0, 0, 0, :10])' results
[1. 1. 1. 1. 0. 0. 0. 0. 0. 0.]

Checked:
https://github.com/cupy/cupy/blob/074a3b4ea931744c05dc8326d70abec2e21e2186/cupy/_indexing/generate.py#L323-L325
https://github.com/numpy/numpy/blob/e62aa4968dd0926cf8307a24f06ae0bad4bdabc5/numpy/core/src/multiarray/ctors.c#L774-L783

I think it's better to check the overflow.


Steam Linux Games not working

Games like Castle Story are not working correctly. Crashing on startup.
In ProtonDB listed as "native". Also Rocket League from Epic Games Store. Also listed as "native". Tested on 2 Systems. One with newer Intel and Intel Graphics, second with older i7 and AMD Radeon.

Unfortunately, being marked as "native" doesn't guarantee a game will work.
For Castle Story, it looks like it doesn't work on Arch Linux (the GamerOS base distro), see details here: https://steamcommunity.com/app/227860/discussions/1/2906376154333213057
I can't confirm the workaround because I do not own the game. Another workaround could be to use Proton.
Let me know if you get anything working so I can add a configuration for the game to work out of the box.
GamerOS is pre-configured to run Rocket League through Proton because the native version is dead. But it seems the game no longer works with Proton 5 and requires Proton 5.13. I just updated the config, but sometimes the change doesn't get pulled in (you need to restart Steam through Steam Buddy to get the updated config), so if it still doesn't work try making the game start with Proton 5.13 manually.
Good luck!


Various issues identified from onnx backend tests

After running all the tests, the following issues are identified:

possible race condition (all outputs are 0)
test_Conv1d_dilated_cpu
test_shape_example_cpu
test_shape_cpu
test_constant_cpu

bugs in rewrite pooling (output shape is modified, issue #575 is created)
test_AvgPool1d_stride_cpu
test_AvgPool1d_cpu

different softmax/logsoftmax implementation (know issue)
test_softmax_default_axis_cpu
test_softmax_axis_1_cpu
test_softmax_axis_0_cpu
test_logsoftmax_default_axis_cpu
test_logsoftmax_axis_1_cpu
test_logsoftmax_axis_0_cpu

no support for column major format and 2 outputs (known issue, need support from MIOpen)
test_maxpool_with_argmax_2d_precomputed_strides_cpu
test_maxpool_with_argmax_2d_precomputed_pads_cpu

no support for dilations in maxpool (know issue, need support from MIOpen)
test_maxpool_2d_dilations_cpu

lrn unknow error, GPU results are wrong, CPU results are correct
test_lrn_default_cpu
test_lrn_cpu

eliminate_concat problem (issue #573 is created)
test_concat_3d_axis_negative_1_cpu
test_concat_2d_axis_negative_1_cpu
test_concat_3d_axis_negative_2_cpu

8 Dynamic shape is not supported (known issue)
test_expand_shape_model4_cpu
test_expand_shape_model3_cpu
test_expand_shape_model2_cpu
test_expand_shape_model3_cpu

Int64 data type is not supported (issue #581 is created)
test_operator_non_float_params_cpu
test_Embedding_sparse_cpu
test_gather_negative_indices_cpu

10 MULTIBROADCAST does not support scalar inputs (issue #580 is created)
test_clip_default_max_cpu
test_clip_default_inbounds_cpu

Issues in item 8 is resolved.

Issues in item 10 is resolved.

fixed


onyo rm --help is missleading

❱ onyo rm --help                                                                                130 !
usage: onyo rm [-h] [-a] [-d] [-m MESSAGE] PATH [PATH ...]

Delete ASSETs and/or DIRECTORYs.

Directories and asset directories are deleted along with their contents.

The `--asset` and `--dir` flags can be used to constrain actions to
either assets or directories (respectively).

If any of the given paths are invalid, Onyo will error and delete none of
them.

positional arguments:
  PATH                  Assets and/or directories to delete.

options:
  -h, --help            show this help message and exit
  -a, --asset           Operate only on assets. Asset Files are removed. Asset Directories
                        are converted into normal directories.

                        This cannot be used with the `--dir` flag.
  -d, --dir             Operate only on directories. Directories are removed. Asset
                        Directories are converted into Asset Files.

                        This cannot be used with the `--asset` flag.
  -m MESSAGE, --message MESSAGE
                        Use the given MESSAGE as the commit message (rather than the default).
                        If multiple `-m` options are given, their values are concatenated as
                        separate paragraphs.

I find the formulations of --dir and --asset could be a bit more clear. "Operate only on assets. Asset Files are removed. Asset Directories are converted into normal directories." and "Operate only on directories. Directories are removed. Asset Directories are converted into Asset Files." are of course technically true statements, but I am convinced that the "Operate only ..." part will confuse every single new onyo user (while advanced users probably wont read it) and I think that phrase should either simply be omitted or be "Assets and asset dirs".
It is also missleading in so far that "Operate only on dirs" feels weird to me as a first sentence because it sounds like this is the main effect of this flag -- but instead, if literally changes how onyo rm opperates on asset dirs. Instead of deleting them, it just undoes the asset dir aspect.
Why I find this explanation very problematic becomes obvious with this example (using onyo rm --dir to delete a dir and an asset dir in one call):
❱ onyo rm --dir ethics/Achilles\ Book/laptop_microsoft_surface.oq782j shelf
The following will be deleted:
-/Users/tkadelka/onyo/ethics/Achilles Book/laptop_microsoft_surface.oq782j
-/Users/tkadelka/onyo/shelf/None_None_None.None
-/Users/tkadelka/onyo/shelf

I know that some people will argue "asset dirs are assets" and "asset dirs are directories", and I will argue that explicite help text for commands like this will help new users to understand the "onyo mindset".

It was decided in a meeting to remove both flags and instead require a flag onyo rm --recursive to delete folders with contents.


Explore vignettes

@afermg, @jessica-ewald
The vignettes that need to be further explored are #4, #9, #15 and #16.
The colors in the heatmaps in those issues are the percentile of cosine similarities (dark blue -> 1 and dark red -> 0). The text in the heatmaps are the scores from the Knowledge Graph. A value greater than 0.4 suggests that there is some existing evidence that the gene-gene connection is previously known.
The goal here is to find a possible explanation for why we see a strong correlation/anticorrelation between pairs/groups of genes in the ORF or CRISPR profiles. All issues I have linked here are ones that have weak evidence in the knowledge graph. Therefore, any possible explanation we can come up with will likely be novel and valuable to the paper.
Make sure that you skim through the existing comments in the issues to get an idea of what we already know.
Let's use this issue to have a general discussion about these issues.

Pretty sure yes; I will close now but will tag @AnneCarpenter @niranjchandrasekaran to keep them posted


New welcome page for Intro / big picture doc [ci skip]

Description
Adding big picture doc: this is the "Welcome" page.
Note: Not adding TOC link for this yet; TBA.
Motivation and Context
Users indicate "big picture" HL fabric doc is lacking.
https://github.com/hyperledger/fabric/issues/1491
How Has This Been Tested?
Viewed on joshhus branch
joshhus branch view / check / tweak = the test case
Checklist:

[x] I have added a Signed-off-by
[x] Either no new documentation is required by this change, OR I added new documentation
[x] Either no new tests are required by this change, OR I added new tests
[] I have run goimports, go vet, and golint. I have cleaned up all valid errors and warnings in code I have added or modified. These tools may generate false positives.  The goal is clean, consistent, and readable code.

Signed-off-by: Josh Horton<EMAIL_ADDRESS>

README changes not intended as part of this; have to check my sync.


Safer & faster YAML dump

Leverage pyyaml for a couple of jobs:

Harden the possibility of dumping unsafe YAML, which was almost impossible already, but it's safer now.
Do not sort twice; pyyaml already sorts.

@Tecnativa TT20357

Great! THX!


[wip - to be squashed] Gh 70 state trees service

@lucafavatella , I don't think that its necessary to sync restarts of those services.
Indeed, we need to ensure that state is available before chain service

replaced by #158


[usbdev] Make sure wakeup and resume time is within spec

We should assess whether the wakeup and resume timing is within the USB spec.
This will probably have to be a chip-level test, since it depends on a variety of system properties and not only on the usbdev alone.
This bug is to make sure we don't forget provisioning such a test in our testplans (it might already be there, in which case we can resolve this issue).
See also #9905 for reference.
CC @a-will

estimate 16
remaining 2023-03-23 8

Thanks for opening the issue. We have an item in the testplan to check the wakeup and resume feature but it doesn't state to measure the timing.

Ok, thanks for checking. Can you copy paste the name of the item here?
@kosta-kojdic can we update that item accordingly?

it should be this one chip_sw_usb_suspend.
The test does not explicitly point out the suspend timing, it describes more the internal mechanism.
We should add a line to indicate this needs to be spec compliant during testing.

@msfschaffner Can you point me to the test plan you are referring to? For usbdev I am not aware of existing extensive testplan in OpenTitan hjson format.

I believe this one is a chip-level integration test: https://docs.opentitan.org/hw/top_earlgrey/doc/dv/

@msfschaffner

Also tagging @alees24 on this.

Agreed that it would be better to have the aon_wake_module handle it. It doesn't seem like a terribly dire situation, but it'd be nice to not have additional software delays added to boot time, however small. :)
Just to put the optimization into perspective: The device has 10 seconds to disconnect the pull-up after VBUS is removed (section 7.2.1), then afterwards, the software part requires at least 2.5 us of having the pull-ups disconnected (the max time allowed before a hub is required by spec to detect disconnection events).

From my understanding when we awaken to a 'Disconnect' report from aon/wake we need only remove the pull up for the few microseconds that you mention, to ensure that the hub/host spots it.
It's worth noting that we should probably be doing that anyway, because a break in the VBUS/SENSE signal doesn't necessarily mean that a pull up deassertion has been seen by the host; suppose there's an electrical issue/contact problem on VBUS but not on D+/D-; then we could be under the impression that we've been disconnected, but the host thinks otherwise, and we thus become unresponsive, having returned to the Powered state.

@johngt can you update timing estimates on this issue to determine what work is remaining for M2.5.2? Thanks

M2.5.2

estimate 0

Per @alees24 comment - closing this issue for this current MS.
Can re-open / create a new issue post the current milestone.


JHipster UML 2.0.3  (jhipster 2.21.1)

The issue
when try to generate the entity,
yo jhipster:import-jdl entity_Vendor_Support.jh
Error!  The table name cannot contain a MYSQL reserved keyword
entity VendorSupport {
title String required maxlength(255),
description String required maxlength(3000),
status String required maxlength(20),

createdBy String,
modifiedBy String,
created ZonedDateTime,
modified ZonedDateTime

}
entity VendorSupportReply {
description String required maxlength(3000),
createdBy String,
modifiedBy String,
created ZonedDateTime,
modified ZonedDateTime

}
relationship ManyToOne {
VendorSupportReply{vendorSupport} to VendorSupport
}

The command

Replace the content

The stacktrace
Paste it here!

Steps to reproduce

The XMI file

Versions

JHipster
JHipster UML

JHipster Version
jhipster-uml -v

The easiest solution: do not use a MySQL reserved keyword... There are other workarounds, of course.

Can you post this on Stackoverflow? This is definitely not a bug.

sure, no problem


Docker container

This pull request...
Very easy way start the music bot on a Linux server.
Description
Docker container.
Purpose
No need install java or another libraries.
Start with system.

Came here to make this. Thanks, will use your dockerfile

Try my docker wrapper
https://github.com/alshdavid/j-music-bot


Tresor-Bipa- Full-Stack-Project-Assessment

Hi there @TresorBipa . Thanks for this. Please update your PR title with your region so mentors know who is who. Thanks! 😄

@TresorBipa you can just update the name - no need to close the whole thing!

Oh sorry Sally for deleting the whole repo

I will pull request it just in second again
Thanks

Hi There @SallyMcGrath , I was struggling to pull request my work since then after making a mistake on deleting the whole repo, What should i do now.  Because i am not able to reopen or pull request again.

Hi @TresorBipa don't worry your work is still here.
If you want to checkout this pr you can do it in the terminal with gh pr checkout 182


FEM tests failing due to missing parameters

Multiple tests are failing due to missing parameters. Example:
Missing parameters.
Usage: itkFEMElement3DTest inputFileName

Description
Failing tests:

itkFEMC0HexahedralElement-GravityLoad-BCs
itkFEMC0HexahedralElement-NodalLoads-BCs
itkFEMC0HexahedralElement-NoLoads
itkFEMC0TetrahedralElement-GravityLoad-BCs
itkFEMC0TetrahedralElement-NodalLoads-BCs
itkFEMC0TetrahedralElement-NoLoads
itkImageToRectilinearFEMObjectFilter2DTest
itkImageToRectilinearFEMObjectFilter3DTest

More details here: https://open.cdash.org/viewTest.php?onlyfailed&buildid=9768301. This link will go stale within a few months, but it comes from Build Name: Windows11-VS22x64-RelWithDebInfo-Favorite-Remotes.
This was probably caused by some test refactoring, because FEM modules are disabled by default.

Issue #4417 is slightly related to this.

PR #4787 fixed:

[x] itkFEMC0HexahedralElement-GravityLoad-BCs
[x] itkFEMC0HexahedralElement-NodalLoads-BCs
[x] itkFEMC0HexahedralElement-NoLoads
[x] itkFEMC0TetrahedralElement-GravityLoad-BCs
[x] itkFEMC0TetrahedralElement-NodalLoads-BCs
[x] itkFEMC0TetrahedralElement-NoLoads

Remaining:

[ ] itkImageToRectilinearFEMObjectFilter2DTest
[ ] itkImageToRectilinearFEMObjectFilter3DTest

https://open.cdash.org/viewTest.php?buildid=9782964&onlyfailed


Handle appending consistently in the xfaLayer regardless of rendering intent (PR 17177 follow-up)

After PR #17177 the interface of XfaLayerBuilder is now inconsistent, since whether or not we directly append the xfaLayer to the DOM now depends on the rendering intent.

/botio-linux preview

/botio integrationtest


Use type declarations and bump minimum PHP version to 7.4

This PR uses type declarations that are supported by PHP 7.4+ where it and therefore increases the project’s supported PHP version to 7.4.
Ref https://github.com/roots/bedrock/pull/619:

PHP 7.3 EOL is 2021-12-06
https://www.php.net/supported-versions.php

let's pass on the type declarations for now (unless laravel 9.x is doing this), but can we get a separate PR opened for dropping PHP 7.3 support?

Closed in favour of #2925.


chore(ci): add workflow to dispatch analytics fetching

Description of your changes

This PR adds a new GitHub action workflow that runs every hour, and uses the GITHUB_TOKEN to dispatch the crawling of the analytics data.

How to verify this change

In order to merge this we'll need:

create a new GitHub environment called "analytics"
inside that new environment, create two new secrets (please contact me on Slack for the values):

AWS_ANALYTICS_ROLE_ARN
AWS_ANALYTICS_DISPATCHER_ARN

After this, the PR can be merged, and will close #1419.

Related issues, RFCs

Issue number: #1419
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[ ] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding changes to the examples
[ ] My changes generate no new warnings
[ ] The code coverage hasn't decreased
[ ] I have added tests that prove my change is effective and works
[ ] New and existing unit tests pass locally and in Github Actions
[ ] Any dependent changes have been merged and published
[x] The PR title follows the conventional commit semantics

Breaking change checklist
Is it a breaking change?: NO

[ ] I have documented the migration process
[ ] I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Added the secrets to the environment as described above, using the values shared on Slack

Let me know if it looks okay, if yes I'll approve and merge

Looks good! Ready to merge


ALVR compatibilty with SteamVR openvr-inputemulator-temporary

Hi there,
I would like to asking to make ALVR compatible with SteamVR openvr-inputemulator-temporary version. Since the current SteamVR version (The Opt. out of all beta and The newest Beta version) is not running my PS Move properly. All buttons and pointers seem not work in some certainly apps (e.g SteamVR Home, etc).
The PS move service only run properly with the SteamVR openvr-inputemulator-temporary version, but the problem is  the SteamVR openvr-inputemulator-temporary crash with ALVR (or cannot detect Heatset ~ my Oculus Go)
When i was test SteamVR openvr-inputemulator-temporary with RiftCat (with my android phone), everything run so well (and my PS Move buttons full function in every apps.)
Therefore, please make ALVR compatible with SteamVR openvr-inputemulator-temporary version.
Thanks in advance,
Warm regards
Timorsohc

I have the same problem. Thaks for your work @polygraphene.

I tried openvr-inputemulator-temporary and always get "Headset not detected" message.
I couldn't see crash error. But I will try to fix it.
Could you really use RiftCat?
Riftcat 2.2.7 beta produces same error as ALVR on my environment.

@polygraphene
Oops, after my daughter update her Riftcat 3 days ago, now it's getting "Headset not detected"too :(

@Olinkses
Woww... Thanks man! That SteamVR beta "hotfix" solved my PSMove problem. Now all buttons and pointers work again! I'm so glad with this. Once again, Thank you! 👍
Too bad, I don't have Kinect to test Driver4VR.


Increasing the maximum file size allowed in isis

Hi @foobarbecue,
Isis annoyingly does not have an easy way to override the maximum file size conveniently (say through env var).
My use-case involves very large files so would you consider a PR changing the following to 512 ?
https://github.com/nasa-jpl/sstmp/blob/d0793d26f6dbd6bab3b78206d63916933015255f/src/moon/IsisPreferences#L122
I have worked around this in a second Dockerfile for now, but I would much prefer using this repo if that can be accommodated, and if it does not cause any issues.

Yes, let's do that. I'm likely to run into this limit too.


How to provide per-request context?

Hi,
I can't find in the doc how to provide per-request context.
For example, I want to forward to the resolver a field like request_id or an header.
Thank you for this great library!

Nevermind, I've found this example. https://github.com/async-graphql/examples/tree/0ed4979a8a99926a9bbde84d290207834da55b1d/actix-web/token-from-header


Feature request: add support Animated

I am very helpful with this library, thank you in advance.
I hope my request can be realized, if you ask what kind of animation it is, maybe it's more towards making your own Shdow component that can be animated by prop or supported by Animated.createAnimatedComponent, whether it's from the Animated API or reanimated

What is your use case?

What is your use case?

so far my case is small, like i animate shadow on sticky header, when that scroll event takes place

Next time I have free time I will study about it and may do it. Thanks for the suggestion! :)

The lib has support to add shadow with Animated View?
I have a progress bar, and I'd like to put shadow to emulate a neon behavior.


Panning in Firefox is slower than on other browsers

Currently, panning in Firefox is much slower than in Chrome, IE, etc.
I've tracked this down to the the fact that Firefox uses DOM_DELTA_LINE or DOM_DELTA_PAGE as the delta mode for the WheelEvent object. Since the rate at which a user scrolls in lines will almost always be lower than the rate they scroll in pixels, this results in a slower panning speed.
Honestly, I don't know if fixing this is worth the trouble (a user can always just adjust their scroll modifier), however I figure this might be something worth noting.

Thanks for finding this issue!  I had another firefox user complain about the slow initial speed, but haven't figured out it's browser-based.
I think this is worth the trouble for a fix, though I'm not sure what the fix would be.  If it's just a multiplier to the panning/zooming while on Firefox, this could be implemented quite easily.
Do you have an idea for how this can best be detected and corrected?

Well, the stack overflow answer has this code for finding line height:
function getScrollLineHeight() {
    var r;
    var iframe = document.createElement('iframe');
    iframe.src = '#';
    document.body.appendChild(iframe);
    var iwin = iframe.contentWindow;
    var idoc = iwin.document;
    idoc.open();
    idoc.write('<!DOCTYPE html>a');
    idoc.close();
    var span = idoc.body.firstElementChild;
    r = span.offsetHeight;
    document.body.removeChild(iframe);
    return r;
}

// Get the native croll line height.
console.log(getScrollLineHeight());

But it's rather... Ugly
An easier to implement, but less reliable alternative would be to use a predetermined multiplier calculated from the line heights on a stock version of Firefox at various resolutions/DPIs.


passing arrays as items prop

Hey
Tried adding arrays to the Grid through the items prop. However, I'm getting an error

Warning: Failed propType: Invalid prop items of type Array supplied to AdaptiveGrid, expected instance of List. Check the render method of FeedStream

Are only Immutable.js lists supported ?
Thanks
 const props = {
			ItemComponent: CardWrapper,
			items: filteredFeed, //array
			minWidth: 200,
		}

return (
	<section className="feed-stream-wrapper">
	{
		<Grid {...props}/>
	}
	</section>
);

Yes, at now only Immutable List  is available in items. At first we had alowed using of a regular array, but there was a performance issue because we need to do fromJS on every update of an array


dynamic ordering

Hello,
I notice that if my data is modified the re-sorting (re-ordering) is not working. Is this normal ? Or what should I do for it to be the case.
Example:
private values = [      { name: 'a', order: 1},      { name: 'b', order: 2},      { name: 'e', order: 5} ];
`

     {{ value.name }} = {{ value.order }}

`
onClick() {      this.values[2].order = 4; }
The value is changed but the loop does not re-sort .
Thank you

You need to use immutability. All the pipes are pure for performance reasons.


Bug: Town claims are triangular and very off (#2)

It has the same bug as when first pl3xmap released when the claims were seen as triangular and not the usual square ones.
https://user-images.githubusercontent.com/33335971/110360305-d97b5b80-803e-11eb-93b6-b013292c254b.png

Hmmm weird. In order to figure out the issue, I need to see what it is supposed to look like.  Please do /towny map big in-game and post the screenshot of the claim map here and that will help me figure out what shape is not being drawn correctly.

It was a few months ago and since pl3xmap towny had memory leaks I had to give up using it and move back to dynmap.

Well, unfortunately without steps or anything replicate the issue, I cannot really fix it.

The only thing that I know is that, this was happening for every town, to reproduce it on the old version, I did a town in a shape of L or X and it would do that

If there's no way to replicate the issue, I'm going to close this.
In fact, I noticed that this was the same image you posted on the other Pl3xMap-Towny Repo. To clarify, this repo is an entirely rewritten version of the plugin, so please test with this plugin before creating bug issues (and even suggestion issues).
I have already tested the basic shapes you stated above, and there are even unit tests for basic shapes like those, so I know that it works fine with simple  L shapes and the sort.


React rewrite

Fixes #23.
I hope I found a good middle-ground between sass support and the new react syntax.
Next step would be re-adding the screen-size-based routes with react-router.

Wow that was quick 😃 , I'll review this tomorrow so you can add more commits if you want 👍


fix: fix off-by-one in uploading streams to GCS

This fixes #3432.
Before this change, seekg was called for proper behavior for every
UploadChink. Because it was expected, which was broken, the seekg
was effectively a noop, so everything worked, except for generating
warnings.
This PR also removes the seekg from that execution path altogether.
Playing with tests proved that unless there is a bug in the code, there
is no way to end up in a situation when seekg was called and even if
this situation occurred, it would be impossible to properly recover from
it. In order to not increase the likelihood of a corruption, I replaced
this logic with returning an error.
In order to make sure that resumable upload sessions are properly
handled, a seekg is added at the beginning to handle resuming a
stream.

This change is

Failures seem to be caused by #4264


clean(consumer): remove apparently unused ConsumerApiWrapper

Am I missing anything here? I don't see any purpose in this class or any usage of it. It seems like just a vestige.

Further context: I have another PR to make that either requires this to be deleted or reworked. I didn't see any reason to go to the work of redoing it.


[rest] websocket service fails when there are more than 100 tasks

How to reproduce:

Start a local cluster. bin/local
Start UI bin/services
Start wordcount example:
bin\gear app -jar examples\gearpump-examples-assembly-0.3.5-SNAPSHOT.jar org.apache.gearpump.streaming.examples.wordcount.WordCount -split 50 -sum 50

Then the services.log file size start to grow very fast.
Log snippet.

[WARN] [04/09/2015 20:18:23.224] [HttpServerConnection]

This seems only happen when task number is big.

Current work around is to use REST service Instead of web socket.

Reopen this when we re-enable the web-socket.


Removed version 1.1.1 from CHANGELOG.md

Packages impacted by this PR
Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Can't release beta 1.2.0 version because of addition of version 1.1.1 to Changelog by bot.
Are there test cases added in this PR? (If not, why?)
n/a
Provide a list of related PRs (if any)
n/a
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Travis to publish to Hex.pm (via rebar3)

Re. https://github.com/for-GET/jesse/pull/71
I have made some additions to the Hex/Rebar3 support and the Travis builds are now passing.
Hopefully this is sufficient to allow Travis to push releases to Hex.
I am not certain if this is now ready to merge but it looks good to my untrained eye - I welcome any feedback.
Cheers

@andreineculau ping :-)

@andreineculau ping2.
I would have thought that you have the necessary permissions to change Travis API Keys as well @seriyps (since you can merge the PR).
I setup rebar3 hex (btw why do we monkeypatch rebar.config on the fly, rather than commit the change https://github.com/for-GET/jesse/pull/84/files#diff-4b6714920c2cdbde45f050a1d1b4af1bR12-R14 ?) and created keys, but I have no clue as to how to retrieve the key ./rebar3 hex key ? because I'm expecting that I don't actually have to expose the key in ~/.hex/hex.config to travis, or ?

I believe the monkey patching is for Travis's ~/.config/rebar3/rebar.config rather than the one from this repo, to enable the Hex plugin. Sorry if I have misunderstood, I have very little experience with Travis so I don't know if ~/.config/rebar3/rebar.config can be edited elsewhere permanently.
./rebar3 hex key list should show you the key - https://www.rebar3.org/docs/hex-package-management#section-list-keys
From what I understand, this key and the Hex username are added as environment variables to Travis (HEX_KEY and HEX_USERNAME respectively) and the script then adds them to Travis's ~/.hex/hex.config

@andreineculau oh, you are right, I have access to Travis settings for jesse!
I see that the current publisher in hex is https://hex.pm/users/licenser . Should we try to contact him to ask for shared publisher rights?

I see that the current publisher in hex is https://hex.pm/users/licenser . Should we try to contact him to ask for shared publisher rights?

@seriyps I had a brief email conversation with @licenser and he said he'd be happy to transfer ownership of the Hex package, if you email him I'm sure he can oblige

More then happy to do it just let me know whom to add in a secret gist ( or this ticket ) so I can verify gh users :)

@licenser i guess that's me. Hit me
Regarding the key: "key list" only shows me the "names" of the keys (actually "rebar3 hex key generate" just adds new keys with undefined name") but no hexa string token as i would expect. Sorry for the lack of interest into hex and its quirks :)

@Licenser can you offer any pointers on how to retrieve HEX_KEY for Travis? Which credentials would you use, a personal user account e.g. @andreineculau's own account or something specific for Travis?

Regarding the key: "key list" only shows me the "names" of the keys

Ah @andreineculau I think rebar3 hex config key is what you need

@andreineculau Looks like the Hex key can be an encrypted environment variable in Travis https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml

Yeah, i have lots of travis/ci experience but the problem as i see it is that i would have to share my one and only secret (that controls all packages that will be published to hex by my username?!) . I was hoping for a more granular control, otherwise we need some service account with hex.

Sorry never used publishing via Travis, not sure where to start there

@seriyps is now an owner of the packet, he can add/remove people as needed :)

Maybe for now at least Travis is overkill, I just picked up the extant PR and got rebar3 working - I have no idea what's best practice in this regard. Perhaps it is satisfactory to just push manually to Hex, and now that the Hex package ownership is in-house to the project it should be a lot simpler.

Where did we get to with this? Is it possible to update Hex manually with the latest release at least for now?

@afhole Oh, sorry, I was on vacation. Seems current hex.pm version is 1.4.
I think I will publish 1.5.0, 1.5.1, 1.5.2, 1.5.3 one-by one and then will see what can be done to have auto-publishing finally working.
@Licenser thanks!

ok, it seems it's not possible to publish to hex using git links in deps now. So, th3e new plan is to replace deps with hex links, tag 1.5.4 and publish just it for now.

also, @afhole, it would be realy realy cool if you'll manage to split your PR to 2 parts: one to just migrate to rebar3 and 2nd one with all the changes related to hex.pm publishing.
Or I can do it based on your changes if you don't have time and is ok with me doing this.

current jesse depends on @andreineculau 's fork of rfc3339. I think it's safe to update it to upstream https://hex.pm/packages/rfc3339 as well as jsx. I can do that.

@seriyps thanks for stepping in. Indeed my fork of rfc3339 is not needed (it has a fix for OTP 15, but currently we support=test only OTP 18+, so I'd say it's fine). I don't know of any other upstream issues.
I also agree with your split in 2 parts 👏
PS: I have created a service account on hex.pm for the for-GET organization. I can share the credentials over keybase?! signal?! smth else?! and then we can add that user to own jesse/katt on hex.pm and create a token to use in travis. I have some time on my hands in the next weeks, so hopefully I can be of service once again and we can not just publish, but have this automated.

regarding hex.pm publishing and deps - unfortunately, it might be tricky to update deps from git to hex deps without also doing all the upgrade-to-rebar3 work, because rebar2 does not support hex AFAIK. So, I either wait a bit more for @afhole to make a rebar3 migration or just do it myself.
Regarding hex.pm keys, I checked travis and I do see that there are secrets defined in env, but I can't see or edit them (but can delete and add new ones)

So, I think you can add your new keys to travis? Or you need to share them with me so I can add those keys as jesse owner in hex.pm? Looking at rebar3 hex docs, I can only add new package owners by email, not by key: https://www.rebar3.org/docs/hex-package-management#section-add-owner

I checked travis and I do see that there are secrets defined in env, but I can't see or edit them (but can delete and add new ones)

right. you can see them, by triggering a debug build on travis and then printing the environment variables in the ssh session, but you cannot debug public repos, unless you request it via support https://docs.travis-ci.com/user/running-build-in-debug-mode/
hex.pm emails<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(for-get service account). I will add the hex credentials to travis later today

Great. I'm working on rebar3 port atm (should be done in a few hours). Will
add your emails to hex later today.
сб, 7 мар. 2020 г., 15:33 Andrei Neculau<EMAIL_ADDRESS>
I checked travis and I do see that there are secrets defined in env, but I
can't see or edit them (but can delete and add new ones)
right. you can see them, by triggering a debug build on travis and then
printing the environment variables in the ssh session, but you cannot debug
public repos, unless you request it via support
https://docs.travis-ci.com/user/running-build-in-debug-mode/
hex.pm emails<EMAIL_ADDRESS>and
<EMAIL_ADDRESS>(for-get service account). I will add the
hex credentials to travis later today
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/for-GET/jesse/pull/84?email_source=notifications&email_token=AADHA7WN4RF636HVPEXZ36DRGJLLBA5CNFSM4IWCO3R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOD24BA#issuecomment-596094468,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADHA7RHEWEOAZTEFLT2E2DRGJLLBANCNFSM4IWCO3RQ
.

@andreineculau I've added your normal email, but I'm getting an error when trying to add +forget one:
DEBUG=1 rebar3 hex owner add jesse<EMAIL_ADDRESS>                                                                                [16:46:07]
===> Load global config file /home/seriy/.config/rebar3/rebar.config
===> 22.0.7 satisfies the requirement for minimum OTP version 18
===> Expanded command sequence to be run: []
===> Provider: {default,do}
===> Expanded command sequence to be run: [{hex,owner}]
===> Provider: {hex,owner}
Local Password:
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace or consult rebar3.crashdump
===> Uncaught error: {badmatch,
                             {error,
                              {rebar3_hex_owner,
                               {404,<<"jesse">>,
<EMAIL_ADDRESS>===> Stack trace to the error location:
[{rebar3_hex_owner,handle_command,2,
                   [{file,"/home/seriy/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_owner.erl"},
                    {line,49}]},
 {rebar_core,do,2,
             [{file,"/home/seriy/workspace/rebar3/src/rebar_core.erl"},
              {line,154}]},
 {rebar_prv_do,do_task,5,
               [{file,"/home/seriy/workspace/rebar3/src/rebar_prv_do.erl"},
                {line,87}]},
 {rebar_core,do,2,
             [{file,"/home/seriy/workspace/rebar3/src/rebar_core.erl"},
              {line,154}]},
 {rebar3,run_aux,2,
         [{file,"/home/seriy/workspace/rebar3/src/rebar3.erl"},{line,182}]},
 {rebar3,main,1,
         [{file,"/home/seriy/workspace/rebar3/src/rebar3.erl"},{line,66}]},
 {escript,run,2,[{file,"escript.erl"},{line,758}]},
 {escript,start,1,[{file,"escript.erl"},{line,277}]}]

Now given that rebar3 migration is already merged in #87 I think I will:

Bump version, tag a new release and publish it manually
Will wait a bit if @afhole would like to rebase this PR (travis-related part). If not, will do myself - hope it's ok.

ok, so, I published 1.5.4.
Also on https://hex.pm/packages/jesse/1.5.4 and edocs on https://hexdocs.pm/jesse/1.5.4/

Hi @seriyps - thanks so much for this work. Sorry it's taken a ridiculously long time to reply! Please let me know if there is anything left that I can assist with.

There's no Travis CI any more, so this pull request is potentially in need of a major refactor.

better late than never. I've implemented publishing to hex.pm for github.com/for-get/katt (and tested it), and I've done the same for jsx.
Could you try again to add for-get as an owner, @seriyps ? Maybe try with \+, or since you get 404 (http code), try url-encoding it %2B? :) That should fix everything (tm).
PS: Most of the changes in this PR are in master. The rest could/should make their way in (e.g. ct target, .rebar/BARE_MODE -> _build/BARE_MODE, etc).

@seriyps i can see it works with username as well not just email. So try "for-get".
If not, use "andreineculau" or<EMAIL_ADDRESS>as owner, and i will figure out smth.
https://hexdocs.pm/hex/Mix.Tasks.Hex.Owner.html

@andreineculau sorry for delay. I added both for-get and<EMAIL_ADDRESS>as owners

Brilliant 🎉

1.6.1 has been successfully published to hex.pm via Github Actions
I'll close this PR as I think all relevant changes have made it to master. Poke me if not. Or if you notice that something is off.
Last but not least - thank you to everyone involved!


added yczars beautiful github profile

What type of PR is this? (check all applicable)

[ ✅] 🚀 Added Name
[ ] ✨ Feature
[ ] ✅ Joined Community
[ ] 🌟 ed the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Add Link of GitHub Profile

I found this github readme quite eyecatching and I hope we can all come to that conclusion, feedback would be appreciated


Bunch of small fixes

Allow reloading when passing in asset url to sandbox
Add serializers to public sandbox to allow export to glTF in inspector
Add GLTF supported checks to inspector
Fixes for enabling/disabling glTF loader extensions in the inspector

There are some conflicts


Faild to download boot2docker.iso under proxy environment

For accessing internet, my machine's network needs proxy configuration, and I did it similar to below input&output,
truman@truman:~/work/machine-bak$ env|grep proxy
http_proxy=http://xxxx:yyyy@1111.2222.3333:4444
https_proxy=https://xxxx:yyyy@1111.2222.3333:4444

Then I made docker machine by typing below command
truman@truman:~/work/machine-bak$ sudo ./docker-machine_linux-amd64 -D create -d virtualbox dev2

it printed error message:
WARN[0005] Unable to check for the latest release: Get https://api.github.com/repos/boot2docker/boot2docker/releases: dial tcp <IP_ADDRESS>:443: i/o timeout
INFO[0005] Downloading boot2docker.iso to /home/truman/.docker/machine/cache/boot2docker.iso...
ERRO[0005] Error creating machine: Get : unsupported protocol scheme ""
WARN[0005] You will want to check the provider to make sure the machine and associated resources were properly removed.

it seemed that my machine could'nt access internet.
However, actually I can download boot2docker.iso, below is output of downloading iso via wget:
truman@truman:~/work/machine-bak$ wget https://github.com/boot2docker/boot2docker/releases/download/v1.5.0/boot2docker.iso
wget https://github.com/boot2docker/boot2docker/releases/download/v1.5.0/boot2docker.iso
--2015-03-05 23:22:02--  https://github.com/boot2docker/boot2docker/releases/download/v1.5.0/boot2docker.iso
Resolving proxyus-rd.huawei.com (proxyus-rd.huawei.com)... <IP_ADDRESS>
Connecting to proxyus-rd.huawei.com (proxyus-rd.huawei.com)|<IP_ADDRESS>|:8080... connected.
Proxy request sent, awaiting response... 302 Found
Location: https://s3.amazonaws.com/github-cloud/releases/14930729/da62ebe6-b144-11e4-9ccd-6479a82c80f8.iso?response-content-disposition=attachment%3B%20filename%3Dboot2docker.iso&response-content-type=application/octet-stream&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1425540116&Signature=WzAN55X27nJYRMNAf2Btm8syhfA%3D [following]
--2015-03-05 23:22:03--  https://s3.amazonaws.com/github-cloud/releases/14930729/da62ebe6-b144-11e4-9ccd-6479a82c80f8.iso?response-content-disposition=attachment%3B%20filename%3Dboot2docker.iso&response-content-type=application/octet-stream&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1425540116&Signature=WzAN55X27nJYRMNAf2Btm8syhfA%3D
Connecting to proxyus-rd.huawei.com (proxyus-rd.huawei.com)|<IP_ADDRESS>|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 24117248 (23M) [application/octet-stream]
Saving to: ‘boot2docker.iso’

100%[==============================================================================================================>] 24,117,248   738KB/s   in 31s

2015-03-05 23:22:36 (753 KB/s) - ‘boot2docker.iso’ saved [24117248/24117248]

So I doubt the http reruest for downloading iso in machine dosen't use system proxy configuration, and I do following modification, this issue is still there, how about your idea?
diff --git a/utils/b2d.go b/utils/b2d.go
index b18235b..ecc2dc4 100644
--- a/utils/b2d.go
+++ b/utils/b2d.go
@@ -22,7 +22,8 @@ func defaultTimeout(network, addr string) (net.Conn, error) {

 func getClient() *http.Client {
 	transport := http.Transport{
-		Dial: defaultTimeout,
+		Proxy: http.ProxyFromEnvironment,
+		//Dial: defaultTimeout,
 	}

 	client := http.Client{

patch from PR #625 works for me. notice that https_proxy is not supported util go v1.4

PR #625 was merged so this should be fixed.

Ping @ehazlett @bfirsh
Just doing some triage... I think this issue can be closed as @shawnzhu, it is also working fine for me using http_proxy.

yes -- thanks!


added godoc and dockherhub pulls shields/badges

RFR @marians
I used mayu as an example for now, as that's where we're gonna use it first, but we can generalize this before merging

Why not use
https://godoc.org/github.com/giantswarm/example-opensource-repo?status.svg
https://img.shields.io/docker/pulls/giantswarm/example-opensource-repo.svg

changed, did we create an autobuild for this or push to dockerhub? the badge is not working

It's autobuild. The dockerhub badges are sometimes unresponsive, but that's nothing we can solve.

LGTM

yeah, seems like the API is down quite often


Adding control over anchor propagation

Adding an argument to to_ufos() that gives control over whether propagate_font_anchors() is run. Also enables that argument to be used by load_to_ufos(), build_masters(), build_instances(). The default remains True - that propagation is done unless specifically turned off.

I signed it!

thanks Victor! I merged it manually to resolve the merge conflicts. Next time, please make sure you git pull the latest master before branching out, or rebase your branch on the updated master.

I'm wondering if propagating anchors should be an operation happening in ufo2ft, optionally before mark feature generation instead. One may want to propagate anchors without having a .glyphs file

@moyogo I agree. We can define a private key to store in the lib so that ufo2ft markFeatureWriter can read and apply.


Blind control

Hi, This is not really a pull request. I just waned to give something back as I have been using your project to make a tradfri-go-blind-server to manage my Ikea smart blinds.
I don't know if you can use this, and maybe implement blind control in your project :)
I have also added docker components to build it and run the server as a docker container :)
Here are an export from all my devices, maybe it is useful for you as well:
[{'15015': [{'5536': 0.0, '9003': 0}],
  '3': {'0': 'IKEA of Sweden',
        '1': 'FYRTUR block-out roller blind',
        '2': '',
        '3': '2.2.009',
        '6': 3,
        '9': 62},
  '5750': 7,
  '9001': 'Right',
  '9002':<PHONE_NUMBER>,
  '9003': 65542,
  '9019': 0,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15015': [{'5536': 50.0, '9003': 0}],
  '3': {'0': 'IKEA of Sweden',
        '1': 'FYRTUR block-out roller blind',
        '2': '',
        '3': '2.2.009',
        '6': 3,
        '9': 0},
  '5750': 7,
  '9001': 'Left Blind',
  '9002':<PHONE_NUMBER>,
  '9003': 65538,
  '9019': 0,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15009': [{'9003': 0}],
  '3': {'0': '\x02KE',
        '1': 'TRADFRI open/close remote',
        '2': '',
        '3': '2.2.010',
        '6': 3,
        '9': 100},
  '5750': 0,
  '9001': 'TRADFRI open/close remote 2',
  '9002':<PHONE_NUMBER>,
  '9003': 65540,
  '9019': 1,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15014': [{'9003': 0}],
  '3': {'0': 'IKEA of Sweden',
        '1': 'TRADFRI signal repeater',
        '2': '',
        '3': '2.2.005',
        '6': 1},
  '5750': 6,
  '9001': 'TRADFRI signal repeater',
  '9002':<PHONE_NUMBER>,
  '9003': 65537,
  '9019': 1,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15015': [{'5536': 42.0, '9003': 0}],
  '3': {'0': 'IKEA of Sweden',
        '1': 'FYRTUR block-out roller blind',
        '2': '',
        '3': '2.2.009',
        '6': 3,
        '9': 86},
  '5750': 7,
  '9001': 'Right Blind',
  '9002':<PHONE_NUMBER>,
  '9003': 65539,
  '9019': 1,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15009': [{'9003': 0}],
  '3': {'0': '\x02KE',
        '1': 'TRADFRI open/close remote',
        '2': '',
        '3': '2.2.010',
        '6': 3,
        '9': 100},
  '5750': 0,
  '9001': 'TRADFRI open/close remote',
  '9002':<PHONE_NUMBER>,
  '9003': 65536,
  '9019': 1,
  '9020':<PHONE_NUMBER>,
  '9054': 0},
 {'15015': [{'5536': 20.0, '9003': 0}],
  '3': {'0': 'IKEA of Sweden',
        '1': 'FYRTUR block-out roller blind',
        '2': '',
        '3': '2.2.009',
        '6': 3,
        '9': 90},
  '5750': 7,
  '9001': 'left',
  '9002':<PHONE_NUMBER>,
  '9003': 65541,
  '9019': 1,
  '9020':<PHONE_NUMBER>,
  '9054': 0}]

Hi!
really nice work with blind control!
I'll definitely take a look at picking out the blind control parts of your PR and see if I can merge them into the codebase. I don't have any blinds myself, guess this is as good a reason as any to get a few to experiment with :)
I'll leave the PR open for now. Looking at the diff I see your point about it not really being a PR since you've removed a lot of the lights/outlet/etc. stuff.
Thanks!

Hi, no problem
I know, it is not really a PR. I only have blinds, no lights.
If you need any help or information about the blinds, please don't hesitate to reach out :)
Have fun, looking forward for the next version. :)

Hi again,
I've extracted parts of your blinds support and pushed into the master branch. I did however make a slight API change:
The REST endpoint for setting the positioning is PUT only and will only accept the positioning in the PUT JSON body. I.e: /api/device/65552/position/{pos} is not included, one must use /api/device/65552/position with your JSON body. This adheres better with the rest (pun intended!) of the endpoints.
Would be cool if you could test att see if the latest build works for you.

Hi
Awesome work. I will test it in the weekend :)

Since I manually merged the blinds code into master I'm closing this PR. Thanks!


⚠ Turnos 24x7 has degraded performance

In 327a9f0, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 988 ms

Resolved: Turnos 24x7 performance has improved in 8230dc0.


keyboard_shortcut: Add feedback for N/P shortcut after no more message.

Earlier navigating to the next unread topic or DM with N / P and reaching last unread topic or dm, nothing happened when shortcut was pressed again.
This commit changes the behaviour when shortcut reaches the last topic or dm and pressed again. Now it notifies the user that there are no more unread messages.
Fixes zulip#27862.

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@prakhar1144 Are you up for reviewing this one? I haven't tested it.

LGTM!
Did manual review. Works as expected.

Merged, thanks @pratik-pc and @prakhar1144!


[cublas] add missing support for gemv_batch

Add missing support for gemv_batch.
This allows 4 more tests to run/pass on the cublas backend.
Tests:
test_main_blas_ct_gemv.txt
test_main_blas_rt_gemv.txt

@oneapi-src/onemkl-blas-write Could you please review this?
Thanks


🐞| ⁉ TypeError: Cannot read property 'getInitialProps' of undefined

Issue
Whenever I am wrapping my page lets say pages_/login.tsx with a Context and Provider, I get this error.
TypeError: Cannot read property 'getInitialProps' of undefined

So the question is, how can I still be able to use my custom context and wrap my pages with without getting this error on yarn build
The error is located in here
if(C.getInitialProps) {
  Page.getInitialProps = ctx => C.getInitialProps({ ...ctx, lang: 'de'})
}

But if I add
if(C && C.getInitialProps)
....

the issue gets fixed, but this is not a since pages are dynamically created.

Ok, this should be fixed! Thanks to report it!

@OmarZeidan this will be solved on 0.15.0. Feel free to reopen if it still happening.

@aralroca Great to hearing that. Thanks and will def do.


Don’t apply content styles inside .not-content

What kind of changes does this PR include?

Changes to Starlight code

Description

Closes #241
Adds support for a not-content class name that can be used to opt out of Starlight’s content styling within some HTML markup. Primarily useful in custom components that don’t want Starlight’s spacing and sizing applied to their children. (Most common issue being the margin-top applied to siblings.)

size-limit report 📦

Path
Size

/index.html
13.16 KB (-0.06% 🔽)

/_astro/*.js
16.22 KB (0%)

/_astro/*.css
8.55 KB (+0.79% 🔺)


feat: add async methods

This PR
Adds the ability for open feature providers to use async methods
Related Issues
https://github.com/open-feature/python-sdk/issues/284
Notes
Just confirming the approach / POC for how this would work.
Follow-up Tasks

unit tests
forked/copied code isn't ideal, happy to refactor if the approach is correct

How to test
TODO

Nice work @leohoare, thanks for putting this out! It's a great starting point for discussing async support in the Python SDK!
As I was reviewing it, a couple of things came to my mind, and I want to hear your thoughts:

Would it make sense to split the client into both sync and async versions? One advantage I see is that it would clean the method signatures and prevent accidental use of sync versions, but I haven't fully mapped out the implications of such a split. Example:

client = openfeature_api.get_async_client()
await client.get_boolean_value("flag-key", False)

This way you won't accidentally call a sync method inside async code, as long as you grabbed the correct client first.

Do we need special considerations for hooks in async code paths? async-enabled hooks?
How does async impact provider initialization/shutdown?
For providers that implement only async methods, I'm worried that they would be breaking the FeatureProvider protocol because the sync versions would not have an implementation. In fact, users will probably only interact with one set of methods, so perhaps it makes sense to split the types?

Would it make sense to split the client into both sync and async versions? One advantage I see is that it would clean the method signatures and prevent accidental use of sync versions, but I haven't fully mapped out the implications of such a split. Example:
For providers that implement only async methods, I'm worried that they would be breaking the FeatureProvider protocol because the sync versions would not have an implementation. In fact, users will probably only interact with one set of methods, so perhaps it makes sense to split the types?

Yeah, I agree. Splitting the clients into async / sync would be a cleaner division.
Typically if you're implementing async methods, you'd have sync available so I was treating it like an extension (e.g. httpx which handles both).

Do we need special considerations for hooks in async code paths? async-enabled hooks?

If we're splitting the clients, I'd lean towards making all hooks async on that client.

How does async impact provider initialization/shutdown?

For initializiation, the provider should be kept sync. Although I'm not too fussed on this. Generally speaking, an async client should be used a singleton.

Edit: The more I look at it, I somewhat more prefer the _async suffix, but either pattern is good.

Can you elaborate a bit more on this? I'm leaning a bit towards splitting the two, particularly because they may involve different initialization/shutdown routines due to the different clients being used, but I want to make sure I understand the benefits and tradeoffs from the other side too.

Can you elaborate a bit more on this? I'm leaning a bit towards splitting the two, particularly because they may involve different initialization/shutdown routines due to the different clients being used, but I want to make sure I understand the benefits and tradeoffs from the other side too.

I more mean as a style / how it'd used, when a function has the _async suffix you're reminded to await it and handle it appropriately. Where as the AsyncClient requires you to know upfront that all functions are async.
e.g. httpx
>>> async with httpx.AsyncClient() as client:
...     r = await client.get('https://www.example.com/')

For our use case given initialization/shutdown/hooks may want to be handled differently, so having separate clients is looking more appropriate. Another advantage is if someone wants to use async methods, we shouldn't force them to implement to the sync methods. Extending and only forcing 1 of the 2 methods would be messy.

Note, the current code is not ready and needs more unit tests / evaluation for this amount of code change. What do you think about the change though?

Apologies, been a bit busy the last few days and will pick off chunks when I get time.
Things still TODO:

Unit tests for coverage, the unit tests are currently pretty coupled (i.e. usings hooks across tests etc). It gets a bit messy with async/sync sharing underlying global variables (e.g. hooks).
Cleanup and ensure hooks are implemented correctly.

Just for my own understanding, the async hooks can be used as a drop in a replacement anywhere a hook current is supported, right?

@beeme1mr
The current behaviour is:

Using the Async Client, hooks need to be converted from sync to async
All hook calls have been converted to async
AsyncHooks are a drop in replacement for the existing hooks

Do we want the AsyncClient to support both sync and async hooks?

Ideally, we would like to support providers and hooks like the standard OTel one without duplicating implementations, but I'm not sure what's the best approach for that.
@leohoare are you on the #openfeature-python CNCF Slack channel? Would you mind joining?

I'll have a play around with open telemetry hooks and the confidence provider and how they interact. Agree ideally we should support this hook out the box and it should support sync hooks. Perhaps a simpler PR for the first version would just be introducing async methods to the flag resolution and not consider async hooks.

Going to close this PR in favour of https://github.com/open-feature/python-sdk/pull/385.
It feels like a more straight forward change and natural first step to not touch the hook implementation.
I.e. the initialising, shutdown and hooks will all be run in the same fashion synchronously.
The changes will make the client a drop in replacement to resolve features async.


bpf_skb_set_tunnel_key + redirect to a non-tunnel device might crash the kernel

While developing the WireGuard host2host encryption feature (https://github.com/cilium/cilium/pull/19407), I noticed that if redirecting after calling bpf_skb_set_tunnel_key() to a device which doesn't support the tunnel metadata crashes a VM. Unfortunately, I couldn't retrieve the dmesg as VirtualBox had immediately rebooted the machine.
I had the following modification in the to-overlay section:

__section("to-overlay")
int to_overlay(struct __ctx_buff *ctx)
{
	int ret;

	ret = encap_remap_v6_host_address(ctx, true);
	if (unlikely(ret < 0))
		goto out;

#ifdef ENABLE_WIREGUARD
	ret = wg_maybe_redirect_to_encrypt(ctx);
	if (ret == CTX_ACT_REDIRECT)
		return ret;
	else if (IS_ERR(ret))
		return send_drop_notify_error(ctx, src_id, ret, CTX_ACT_DROP,
					      METRIC_EGRESS);
#endif /* ENABLE_WIREGUARD */

...

The crash was triggered immediately after a pod has sent a packet to a remote pod via the tunnel.
Affected kernels: 5.15 and 5.17

Not really related given you mentioned 5.17, but there were occasions we fixed in the past:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c4c877b2732466b4c63217baad05c96f775912c7
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a188bb5638d41aa99090ebf2f85d3505ab13fba5

@brb So basically datapath populated collect_md meta data, redirected to vxlan device, but then the above snippet decided to forward the skb to the wg dev instead which lead to eventual crash, right? (So I guess it could be repro'ed with a simple BPF prog, populating the tunnel key and then sending to a wg.)

Not really related given you mentioned 5.17

:man_facepalming: It was one of the 5.17 rc kernels. Let me try with 5.17.0.

Crashed Linux ceuse 5.17.1-arch1-1 which is my laptop. The laptop didn't freeze, but immediately rebooted. Unfortunately, nothing in journalctl -r -b -1 -k.
The diff from https://github.com/cilium/cilium/pull/19407:
diff --git a/bpf/bpf_overlay.c b/bpf/bpf_overlay.c
index 469603d45b..6d49269f54 100644
--- a/bpf/bpf_overlay.c
+++ b/bpf/bpf_overlay.c
@@ -38,6 +38,10 @@
 #include "lib/eps.h"
 #endif /* ENABLE_VTEP */

+#ifdef ENABLE_WIREGUARD
+#include "lib/wireguard.h"
+#endif
+
 #ifdef ENABLE_IPV6
 static __always_inline int handle_ipv6(struct __ctx_buff *ctx,
 				       __u32 *identity)
@@ -535,6 +539,15 @@ int to_overlay(struct __ctx_buff *ctx)
 	if (unlikely(ret < 0))
 		goto out;

+#ifdef ENABLE_WIREGUARD
+	ret = wg_maybe_redirect_to_encrypt(ctx);
+	if (ret == CTX_ACT_REDIRECT)
+		return ret;
+	else if (IS_ERR(ret))
+		return send_drop_notify_error(ctx, 0, ret, CTX_ACT_DROP,
+					      METRIC_EGRESS);
+#endif /* ENABLE_WIREGUARD */
+
 #ifdef ENABLE_BANDWIDTH_MANAGER
 	/* In tunneling mode, we should do this as close as possible to the
 	 * phys dev where FQ runs, but the issue is that the aggregate state
diff --git a/bpf/lib/encap.h b/bpf/lib/encap.h
index 5ec41ac5a7..e2614d31be 100644
--- a/bpf/lib/encap.h
+++ b/bpf/lib/encap.h
@@ -153,24 +153,24 @@ __encap_and_redirect_with_nodeid(struct __ctx_buff *ctx, __u32 tunnel_endpoint,
 {
 	int ret = 0;

-#ifdef ENABLE_WIREGUARD
-	/* Redirect the packet to the WireGuard tunnel device for encryption
-	 * if needed.
-	 *
-	 * A packet which previously was a subject to VXLAN/Geneve
-	 * encapsulation (e.g., pod2pod) is going to be encapsulated only once,
-	 * i.e., by the WireGuard tunnel netdev. This is so just to be
-	 * compatible with < the v1.12 behavior in which the pod2pod bypassed
-	 * VXLAN/Geneve encapsulation when the WG feature was on.
-	 */
-	ret = wg_maybe_redirect_to_encrypt(ctx);
-	if (ret == CTX_ACT_REDIRECT) {
-		return ret;
-	}
-	else if (IS_ERR(ret))
-		return send_drop_notify_error(ctx, seclabel, ret, CTX_ACT_DROP,
-					      METRIC_EGRESS);
-#endif /* ENABLE_WIREGUARD */
+//#ifdef ENABLE_WIREGUARD
+//	/* Redirect the packet to the WireGuard tunnel device for encryption
+//	 * if needed.
+//	 *
+//	 * A packet which previously was a subject to VXLAN/Geneve
+//	 * encapsulation (e.g., pod2pod) is going to be encapsulated only once,
+//	 * i.e., by the WireGuard tunnel netdev. This is so just to be
+//	 * compatible with < the v1.12 behavior in which the pod2pod bypassed
+//	 * VXLAN/Geneve encapsulation when the WG feature was on.
+//	 */
+//	ret = wg_maybe_redirect_to_encrypt(ctx);
+//	if (ret == CTX_ACT_REDIRECT) {
+//		return ret;
+//	}
+//	else if (IS_ERR(ret))
+//		return send_drop_notify_error(ctx, seclabel, ret, CTX_ACT_DROP,
+//					      METRIC_EGRESS);
+//#endif /* ENABLE_WIREGUARD */

 	ret = __encap_with_nodeid(ctx, tunnel_endpoint, seclabel,
 				  trace->reason, trace->monitor);

Thanks, it's really easy to reproduce actually, setup 2 wireguard peers (connected/working) and then redirect to egress
on one of them, e.g. attach this to some other interface and run packets through it:
`static __inline int redir_data(struct __sk_buff *skb)
{
struct bpf_tunnel_key key = {};
    key.tunnel_id = 50000;
    key.remote_ipv4 = 10203040;
    key.tunnel_ttl = 64;

    bpf_skb_set_tunnel_key(skb, &key, sizeof(key), BPF_F_ZERO_CSUM_TX);

return bpf_redirect(TARGET_DEV_IFIDX, 0);

}
__section("egress")
int tc_egress(struct __sk_buff *skb)
{
return redir_data(skb);
}
Interesting that my crashdump generated an empty vmcore. I was able to pull the trace via netconsole:[  263.693506] BUG: kernel NULL pointer dereference, address:<PHONE_NUMBER>0000e0
[  263.693908] #PF: supervisor read access in kernel mode
[  263.694174] #PF: error_code(0x0000) - not-present page
[  263.694424] PGD 0 P4D 0
[  263.694653] Oops: 0000 [#1] PREEMPT SMP NOPTI
[  263.694876] CPU: 5 PID: 951 Comm: mausezahn Kdump: loaded Not tainted 5.18.0-rc1+ #522
[  263.695190] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1.fc35 04/01/2014
[  263.695529] RIP: 0010:dst_blackhole_mtu+0x17/0x20
[  263.695770] Code: 00 00 00 0f 1f 44 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 8b 47 10 48 83 e0 fc 8b 40 04 85 c0 75 09 48 8b 07 <8b> 80 e0 00 00 00 c3 66 90 0f 1f 44 00 00 48 89 d7 be 01 00 00 00
[  263.696339] RSP: 0018:ffffa4a4422fbb28 EFLAGS: 00010246
[  263.696600] RAX:<PHONE_NUMBER>000000 RBX: ffff8ac9c3553000 RCX:<PHONE_NUMBER>000000
[  263.696891] RDX:<PHONE_NUMBER>000401 RSI: 00000000fffffe01 RDI: ffffc4a43fb48900
[  263.697178] RBP: ffffa4a4422fbb90 R08: ffffffff9622635e R09:<PHONE_NUMBER>000002
[  263.697469] R10: ffffffff9b69a6c0 R11: ffffa4a4422fbd0c R12: ffff8ac9d18b1a00
[  263.697766] R13: ffff8ac9d0ce1840 R14: ffff8ac9d18b1a00 R15: ffff8ac9c3553000
[  263.698054] FS:  00007f3704c337c0(0000) GS:ffff8acaebf40000(0000) knlGS:0000000000000000
[  263.698470] CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
[  263.698826] CR2:<PHONE_NUMBER>0000e0 CR3:<PHONE_NUMBER>a5c000 CR4:<PHONE_NUMBER>0006e0
[  263.699214] Call Trace:
[  263.699505]
[  263.699759]  wg_xmit+0x411/0x450
[  263.700059]  ? bpf_skb_set_tunnel_key+0x46/0x2d0
[  263.700382]  ? dev_queue_xmit_nit+0x31/0x2b0
[  263.700719]  dev_hard_start_xmit+0xd9/0x220
[  263.701047]  __dev_queue_xmit+0x8b9/0xd30
[  263.701344]  __bpf_redirect+0x1a4/0x380
[  263.701664]  __dev_queue_xmit+0x83b/0xd30
[  263.701961]  ? packet_parse_headers+0xb4/0xf0
[  263.702275]  packet_sendmsg+0x9a8/0x16a0
[  263.702596]  ? _raw_spin_unlock_irqrestore+0x23/0x40
[  263.702933]  sock_sendmsg+0x5e/0x60
[  263.703239]  __sys_sendto+0xf0/0x160
[  263.703549]  __x64_sys_sendto+0x20/0x30
[  263.703853]  do_syscall_64+0x3b/0x90
[  263.704162]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  263.704494] RIP: 0033:0x7f3704d50506
[  263.704789] Code: 48 c7 c0 ff ff ff ff eb b7 66 2e 0f 1f 84 00 00 00 00 00 90 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 11 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 72 c3 90 55 48 83 ec 30 44 89 4c 24 2c 4c 89
[  263.705652] RSP: 002b:00007ffe954b0b88 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>00002c
[  263.706141] RAX: ffffffffffffffda RBX: 0000558bb259b490 RCX: 00007f3704d50506
[  263.706544] RDX:<PHONE_NUMBER>00004a RSI: 0000558bb259b7b2 RDI:<PHONE_NUMBER>000003
[  263.706952] RBP:<PHONE_NUMBER>000000 R08: 00007ffe954b0b90 R09:<PHONE_NUMBER>000014
[  263.707339] R10:<PHONE_NUMBER>000000 R11:<PHONE_NUMBER>000246 R12: 00007ffe954b0b90
[  263.707735] R13:<PHONE_NUMBER>00004a R14: 0000558bb259b7b2 R15:<PHONE_NUMBER>000001
[  263.708132]
[  263.708398] Modules linked in: bridge netconsole bonding [last unloaded: bridge]
[  263.708942] CR2:<PHONE_NUMBER>0000e0
`
I'll prepare a fix and selftest.

Fixed in https://github.com/WireGuard/wireguard-linux/commit/c6476d123a28905e73b4e5b3169b6ebc45e8d674 . The commit will be routed to net tree, and then subsequently stable can pick it up.

The fix has been applied to wireguard's tree.


kops create cluster throws - error reading SSH key file

prabhsha:~/projects/kube1$ kops create cluster \

--name example.cluster.k8s.local
--zones $AWS_AVAILABILITY_ZONES
--yes
I1103 10:02:42.369639   39054 create_cluster.go:659] Inferred --cloud=aws from zone "eu-central-1a"

error reading SSH key file "/Users/prabhsha/.ssh/id_rsa.pub": open /Users/prabhsha/.ssh/id_rsa.pub: no such file or directory

run ssh-keygen to generate a local key and fixes the error


Using instance profile credentials?

The README says to explicitly configure the SQS Client connection:
- Add AWS_ACCESS_KEY_ID and set it to access key id of the newly created user (from Step 3).
- Add AWS_SECRET_ACCESS_KEY and set it to the secret access key of the newly created user (from Step 3).
- Add AWS_REGION and set it to the region of the SQS queue, created in Step 2.

Is it possible to use the implicit instance profile credentials when running in EC2? It seems like the environment-based configuration is pretty hard-coded, but maybe you can suggest an approach that would work?

@cbeer  Starting with version 2.0.0 the gem uses instance profiles per default.


Numeric strings in search params issue

Describe the bug
Consider the following scenario:

You have a route where you accept a string as a search param. (validate it with zod)
Pass a numeric string as a search param through the route. (e.g. navigate({search: {test: '3'}))
You'll see that an error is thrown, this is because the router will receive the query param as a number, and the zod validator will consider it illegal as it is not a string

Your Example Website or App
https://stackblitz.com/edit/github-fbut9a-bu53ju?file=src/IndexComponent.tsx
Steps to Reproduce the Bug or Issue

Open the stackblitz
Click on the Set test param to 3 // should fail button.
An error will be thrown

Expected behavior
I would hope the search param could be considered a string. I don't know if the casting could be done based on the validation?
Screenshots or Videos
No response
Platform

OS: Windows
Browser: Firefox

Version: 110

Additional context
No response

Ok, but since the parseSearch is defined on the router, I would have to decide between having the numeric strings or numbers for all of my routes. I would really like to decide on the route level whether a given search param is a string or a number.

I found a better solution myself: the preprocess zod function. This should work:
validateSearch:
z.object({
    test: z.preprocess(
        (test) => (test=== undefined ? undefined : `${test}`),
        z.string().optional()
    )
})

I was running into this issue as well, especially when it came to having a user input search string that could start with a number, or an ID string that starts with a number. I've done the same thing, but I minimized and abstracted it to be used in my search validation schemas:
export const OptionalStringURLParam = z.preprocess(String, z.string().optional())

The router's parsing of the params have something to do with this. Probably a PR that could solve this issue, since it is even parsing strings that only start with a number, and contain many other string-only characters.

In some cases, this is not enough.
When passing 0.0 as a param, useSearch shows it as a 0.
Coercing/preprocessing this to a string results in "0", while the desired result is "0.0"

Let's track this in #537


test row locks

Codecov Report

Merging #2 into master will increase coverage by 1.99%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master       #2      +/-   ##
============================================
+ Coverage     22.36%   24.35%   +1.99%
- Complexity       15       16       +1
============================================
  Files             3        3
  Lines            76       78       +2
  Branches          3        4       +1
============================================
+ Hits             17       19       +2
  Misses           52       52
  Partials          7        7

Impacted Files
Coverage Δ
Complexity Δ

...n/com/salesforce/zero/quickquartz/QuickQuartzDb.kt
72.72% <100%> (+6.06%)
4 <0> (+1)
:arrow_up:

Continue to review full report at Codecov.

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


[BUG] Gotify Server is not available

Describe the bug
I've set up Gotify & iGotify according to the docker compose file found in this repository.
Gotify itself is working and I can connect with my phone (through iGotify app) or via webbrowser and I can see Notifications.
However I dont receive push messages on my phone and looking at the log I see the error messages you can read below in "Log".
Expected behavior
Everything should work.
Used Docker Compose
version: "3.8"
services:
  gotify:
    container_name: gotify
    hostname: gotify
    image: gotify/server
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - backend
    labels:
      traefik.enable: true
      traefik.http.routers.gotify.entrypoints: web, websecure
      traefik.http.routers.gotify.tls: true
      traefik.http.routers.gotify.rule: ( Host(`gotify.REDACTED`) )
      traefik.http.services.gotify.loadbalancer.server.port: 80
    volumes:
      - /persistent/gotify/data:/app/data
    env_file:
      - .env
  igotify:
    container_name: igotify
    hostname: igotify
    image: ghcr.io/androidseb25/igotify-notification-assist:latest
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    pull_policy: always
    networks:
      - backend
    volumes:
      - /persistent/gotify/api-data:/app/data
    labels:
      traefik.enable: true
      traefik.http.routers.igotify.entrypoints: web, websecure
      traefik.http.routers.igotify.tls: true
      traefik.http.routers.igotify.rule: ( Host(`igotify.REDACTED`) )
      traefik.http.services.igotify.loadbalancer.server.port: 8080
networks:
  backend:
    external: true

Contents of .env
TZ=Europe/Berlin
GOTIFY_DEFAULTUSER_PASS=REDACTED

Smartphone (please complete the following information):

Device: iPhone 15 Pro Max
OS: 17.4.1
Version of Container :latest
Version of iGotify :latest

Log

22.04.2024 09:25:09 Database is created: True
22.04.2024 09:25:10 Gotify Server is not available try to reconnect in 10s.
22.04.2024 09:25:10 info: Microsoft.Hosting.Lifetime[14]
22.04.2024 09:25:10       Now listening on: http://[::]:8080
22.04.2024 09:25:10 info: Microsoft.Hosting.Lifetime[0]
22.04.2024 09:25:10       Application started. Press Ctrl+C to shut down.
22.04.2024 09:25:10 info: Microsoft.Hosting.Lifetime[0]
22.04.2024 09:25:10       Hosting environment: Production
22.04.2024 09:25:10 info: Microsoft.Hosting.Lifetime[0]
22.04.2024 09:25:10       Content root path: /app
22.04.2024 09:25:20 Reconnecting...
22.04.2024 09:25:20 Gotify Server is not available try to reconnect in 10s.
22.04.2024 09:25:30 Reconnecting...
22.04.2024 09:25:30 Gotify Server is not available try to reconnect in 10s.

Additional Information
The app/service I used, to test if gotify itself works, is Jellyseerr. It is deployed by docker compose too, uses also the "backend" network and does connect to gotify via: http://gotify.

I would greatly appreciate any help.
If you need more information, I'm happy to deliver them.

can you try the IP of the container instead of http://gotify to look if he can communicate in you're network?

I used the IP (<IP_ADDRESS>) of my gotify container inside Jellyseerr and had no problem connecting to the gotify server and sending a notification.
How does iGotify determine the address of the gotify server?
In the past there seems to have been an environment variable, but I read in some change notes, that it's no longer needed.

After installing (apt-get install iputils-ping) inside the igotify container, I checked if the container can reach my gotify server container:
root@igotify:/app# ping gotify
PING gotify (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from gotify.backend (<IP_ADDRESS>): icmp_seq=1 ttl=64 time=0.760 ms
64 bytes from gotify.backend (<IP_ADDRESS>): icmp_seq=2 ttl=64 time=0.102 ms
64 bytes from gotify.backend (<IP_ADDRESS>): icmp_seq=3 ttl=64 time=0.102 ms
64 bytes from gotify.backend (<IP_ADDRESS>): icmp_seq=4 ttl=64 time=0.041 ms
64 bytes from gotify.backend (<IP_ADDRESS>): icmp_seq=5 ttl=64 time=0.036 ms

root@igotify:/app# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.633 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.095 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.047 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=0.032 ms

As you can see there is no problem in reaching it.
So my guess would be, that iGotify doesn't know the correct address of my gotify server container.

oesn't know the correct address of my gotify server cont

please create an instance of the ip and port where the container is running.
maybe it helps

Okay, I now created a new instance inside the iOS App with the ip-address and port of my homeserver, which is running the two containers.
It works now - thanks in for the help.
However for me this doesn't quite feel like a solution, since I have two containers running alongside each other, both on the same docker network and both can ping and reach each other, yet I need to set ip addresses in a different app to make it work. :/

However for me this doesn't quite feel like a solution, since I have two containers running alongside each other, both on the same docker network and both can ping and reach each other, yet I need to set ip addresses in a different app to make it work. :/

normally it works, in my homelab it works with the docker network address for gotify http://gotify (i use npm), i really confused, maybe it's really the traefik that routes wrong?

in my network it works because i don't split the wlan an lan network
i have an raspi with docker running where gotify and igotify-container are deployed over the stack.
The names of the containers are the dns names and available in my network, e.g. from my iphone
thats the reason why i can connect and he can connect without problems :)

Hi, I have almost the same problem. Gotify works but no push notification.
I set it up via portainer as stack with the exact configuration from the wiki (despite password and client token).
 igotify:     container_name: igotify     hostname: igotify     image: ghcr.io/androidseb25/igotify-notification-assist:latest     restart: unless-stopped     security_opt:       - no-new-privileges:true     pull_policy: always     networks:       - net     ports:       - "8681:8080"     volumes:       - api-data:/app/data     environment:       - IGOTIFY_CLIENT_TOKEN="NTFY-DEVICE-XXXXXXXXXXXXXXXXXXXXXXXXXXXX"         # create a client in gotify an add here the client token       - GOTIFY_SERVER_URL="http://gotify"         # default container name from gotify server"
igotify log says:
`Gotify Server is not available try to reconnect in 10s.
Reconnecting...`
ping however works:
root@igotify:/app# ping gotify PING gotify (<IP_ADDRESS>) 56(84) bytes of data. 64 bytes from gotify.gotify_net (<IP_ADDRESS>): icmp_seq=1 ttl=64 time=1.16 ms 64 bytes from gotify.gotify_net (<IP_ADDRESS>): icmp_seq=2 ttl=64 time=0.140 ms 64 bytes from gotify.gotify_net (<IP_ADDRESS>): icmp_seq=3 ttl=64 time=0.212 ms 64 bytes from gotify.gotify_net (<IP_ADDRESS>): icmp_seq=4 ttl=64 time=0.144 ms

Hi did the app work?
Because you're config is deprecated
The new one didn't provide

Hi, yes - app works. I can send via curl and from my proxmox and see it in the gotify webinterface and igotify app on iphone.
I fiddled a bit around tbh to get it running. But thats the config I copied from the current portainer stack config into the post.

Did you have some firewall or an dns blocker between?
Please try to disable all and retry
Sometimes one of these thinks block the traffic

No, both containers are in the same docker network. nothing between.. thats afaik the whole idea of a stack in portainer.

I have the same issue. I believe for me this is caused because I use self signed sertificate and self signed custom CA within my homelab together with treafik.
From within iGotify container I can can see that the server IP address is resolved correctly for the Gotify traefik end point. But because iGotify container doesn't trust my self signed CA, the https calls fail.
If I expose the iGotify container port 8080 -> 80 and use the http://dockerhost:8080 as the Gotify server, it works correctly.
I belive #59 will also help me. If I would be able to define the gotify server as environment variable, I can point the igotify container to connect to gotify within the docker network with http and the igotify ios app can still use the https connection through traefik.

I actually have exactly the same problem. My setup is also the two Docker containers (gotify, igotify) in a Docker network, proxy via npm.
The DNS entries are not publicly accessible but only within my tailscale network.

Hi thx for you're solution,
I working hard to solve the problem,
at the moment I work on the app UI to make the config for the local docker network as simple as possible in Issue #59 you will find the progress.
The iGotify Notification Container in the dev branch works currently very well in my dev environment.

version <IP_ADDRESS> released
ios 1.3 in review

App is now live

Ich muss die App resetten, das kann ich aber nicht weil es keine Option dafür gibt.   Aber ich dachte, man könnte diesen Updateprozess unterbrechen und auf einem anderen Server bzw. für einen anderen Server machen, ohne den Updateprozess abzuwarten also diesen quasi zu unterbrechen.
Der Fehler ist wie im Issue bereits erklärt das eine if else Variable gedacht hat ich mach heute nicht das was ich machen soll. Sollte aber mit 1.3.2 wieder funktionieren, was gerade in Prüfung ist

Ah ok, dann habe ich den Update-Prozess falsch interepretiert, danke für die Aufklärung!
Und danke für den Fix bzw. deine Mühe in diesem Unterfangen! Have a nice day!

kein problem :) wünsche ich dir auch


How to use domain parameter in searchRead() function ?

Hello !
Is there anyone who knows how to use domain parameter in searchRead() function of angular6-odoo-jsonrpc please? Thank you!

You can directly send an prefix array(based on how your odoo server accepts conditions).
const domain = ['|', ['name', '=', 'HardieChristie'],  ['country', 'ilike', 'USA']]; this.odooRPC.searchRead('employee.data', domain, ['name'], 10, 0, {}, "write_date DESC").then((response) => {     });

thank you so much for your response :-)

Javascript doesn't have tuples. Try using array instead.
const domain = [['category_id', '=', 1]];
This should work.

It works perfectly. Thank you so much :-)


Custom Shell for Anaconda enviroment

I´m trying to create a new "Custom shell" for Anaconda env but no success.
I´m trying with: %windir%\system32\cmd.exe "/K" C:\Anaconda3\Scripts\activate.bat env_name, but not work
any idea?????
thanks......

According to the script from the shortcut of "Anaconda Powershell Prompt",
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'D:\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'D:\Anaconda3' ",
you can try custom shell settings like this.

You can try settings like this.

work... thanks...
only change the last command for:
& 'C:\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate env-name


Fs for MH Berserk, MH Vanessa and Bajie

I mimicked the X_alt class and added a listener function to Fs_alt to handle the punisher effect of Bajie's fs.
However, I wonder if there is a specific reason to keep fs' dmg_make outside of its proc function.
Otherwise, we could move it inside the proc function, keep the original listener unchanged, and only supply a new proc function to handle punisher and other effects in the future.
P.S. Thanks for proofreading my code and correcting all the errors! I'm sorry for all those messy codes. I'm trying. ; -;

There's no specific reason for location of dmg_make in regards to alt fs, just that the dmg_make of normal fs is not in fs_proc either.


docs: Tutorial for getting started

This PR makes a first try to create the Getting Started tutorial for the Data Science Stack.
It aims to explain:

How to install microK8s
How to setup microK8s to work with NVIDA drivers
How to download the dss cli snap
How to initialise the DSS
How to create a Notebook

@misohu I addressed your comments, and left 2 open in case you want to take one more look on the changes I did on those


ASP.NET  Request Validation blocks valid search queries that contain angle brackets

We've made some improvements to search to enable search terms that include punctuation, but users today can't search for expressions that contain angle brackets on the site because of ASP.NET's default restriction against them.
To repro:

Navigate to nuget.org
Search for any of the following:
<system.web>
<!DOCTYPE
<?xml
<?php

Result:  You'll be directed to the white screen of death (Oh no...).  A review of ELMAH shows that no error is logged there for this.
Expected:  Not having this impedes users of angle-bracket languages form searching for packages based on code snippets or samples, and deters owners from supplying them.  In all of the above cases, this is a shame, because each are frequently used as shorthand by people familiar with the technologies in question.  We only echo the search results back to the user in one place, and making sure it's properly encoded would seem to be a trivial task.
Note that this is specific to the gallery; this doesn't repro in the NuGet client.

Was this reopened in error or is there anything still to do here?


Dynamic component is not working.

Dynamic component using <component is="el-input" />

Please view the Nuxt document


add: badges

Codecov Report

Merging #36 (2cf1d7e) into develop (a4f4f34) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #36   +/-   ##
========================================
  Coverage    67.81%   67.81%
========================================
  Files            4        4
  Lines          233      233
========================================
  Hits           158      158
  Misses          55       55
  Partials        20       20

Continue to review full report at Codecov.

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

Codecov Report

Merging #36 (2cf1d7e) into develop (a4f4f34) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #36   +/-   ##
========================================
  Coverage    67.81%   67.81%
========================================
  Files            4        4
  Lines          233      233
========================================
  Hits           158      158
  Misses          55       55
  Partials        20       20

Continue to review full report at Codecov.

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


filter WMArchive report for performance data

send only selected parameters to WMArchive from performance data.
use int for NumberOfThreads and NumberOfStreams

@vkuznet, @amaltaro, Valentin, Alan please review.
If this is OK, I will update WMArchive schema for those parameters to int as well.

Thanks Valentin, I updated the comments.  I wanted get Alan's opinion as well, If Alan agrees I will merge it and create WMAgent branch patch.

test this please

test this please

test please

test this please

test this please

test this please

Thanks Alan, I updated the for loop order as  you suggested. Please review the logic (I always confused with this)

Looks good, Seangchan!
Just another observation though, this patch will change the performance metrics behaviour w.r.t. what is propagated by the agent.

at the moment, we propagate ALL metrics. And those "expected" metrics are properly casted.
with this patch, only "expected" metrics will be uploaded (properly casted).

I guess that is the correct behaviour that we want in the end, don't we?

As far as I know, without this patch we propagate all the information about CPU performance and properly casted what was defined here. Other values are not casted and pass as it is (mostly string)
However, WMArchive filter any variables not defined in its schema.
https://github.com/dmwm/WMArchive/blob/master/src/python/WMArchive/Schemas/FWJRProduction.py#L104
So only those defined above will be recorded. @vkuznet, Valentin, right?
With this patch we also filters out the parameters which is not defined above when we send the docs to WMArchive. So both will have the same result but we are sending less data with this patch.

yes, I think it is correct definition.
On  0, ticoann<EMAIL_ADDRESS>wrote:

As far as I know, without this patch we propagate all the information about CPU performance and properly casted what was defined here. Other values are not casted and pass as it is (mostly string)
However, WMArchive filter any variables not defined in its schema.
https://github.com/dmwm/WMArchive/blob/master/src/python/WMArchive/Schemas/FWJRProduction.py#L104
So only those defined above will be recorded. @vkuznet, Valentin, right?
With this patch we also filters out the parameters which is not defined above when we send the docs to WMArchive. So both will have the same result but we are sending less data with this patch.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/8209#issuecomment-333561440


Build: cp: can't stat 'config_template.py': No such file or directory

Trying to build it fails with the error in the title.

This file was moved in upstream.
Update Dockerfile for powerdns-admin 0.2.2


How i can hide bottom navigator on ShellRoute?

I'm creating an application with the bottom navigator.
I used a ShellRoute but our requirement is to hide bottom navigator on screen
For example:
main page can have bottom navigator when i go to another screen (such an user profile page)
I have to hide bottom navigator but i use ShellRoute and sub route in the same ShellRoute, it doesn't hide bottom navigator.
ShellRoute(
          navigatorKey: _shellNavigatorKey,
          builder: (context, state, child) {
            return MainScreen(child: child);
          },
          routes: [
            GoRoute(
              path: '/$dashboardRouteName',
              name: dashboardRouteName,
              pageBuilder: (context, state) => CustomPageRouteBuilder.route(
                key: UniqueKey(),
                child: const DashboardScreen(),
              ),
              routes: [
                GoRoute(
                  path: leaveRequestRouteName,
                  name: '$dashboardRouteName/$leaveRequestRouteName',
                  pageBuilder: (context, state) => CustomPageRouteBuilder.route(
                    key: state.pageKey,
                    child: const LeaveRequestScreen(),
                  ),
                ),
                GoRoute(
                  path: switchHolidayRouteName,
                  name: '$dashboardRouteName/$switchHolidayRouteName',
                  pageBuilder: (context, state) => CustomPageRouteBuilder.route(
                    key: state.pageKey,
                    child: const SwitchHolidayScreen(),
                  ),
                ),
              ],
            ),

after that, i separate sub route into general route like below:
  ShellRoute(
          navigatorKey: _shellNavigatorKey,
          builder: (context, state, child) {
            return MainScreen(child: child);
          },
          routes: [
            GoRoute(
              path: '/$dashboardRouteName',
              name: dashboardRouteName,
              pageBuilder: (context, state) => CustomPageRouteBuilder.route(
                key: UniqueKey(),
                child: const DashboardScreen(),
              ),
            ),
....
 GoRoute(
          path: '/$switchHolidayRouteName',
          name: switchHolidayRouteName,
          pageBuilder: (context, state) => CustomPageRouteBuilder.route(
            key: state.pageKey,
            child: const SwitchHolidayScreen(),
          ),
        ),
        GoRoute(
          path: '/$leaveRequestRouteName',
          name: leaveRequestRouteName,
          pageBuilder: (context, state) => CustomPageRouteBuilder.route(
            key: state.pageKey,
            child: const LeaveRequestScreen(),
          ),
        ),

and i use context.go(), it works but i can't back to previous screen with context.pop().
anyone has any idea?

Hi @tot14883
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Versions do not seem to be working for doc.picklesdoc.com

Hi,
I'm trying to use the Versions feature on http://docs.picklesdoc.com/. The build process pickles up the versions from the tags and shows them in the popup thing on the bottom left hand side of the pages, but when I click on the version links I am sent into virtual nirvana.
I realize that this is probably not enough information for you to tell me what I'm doing wrong. What information do you need?
Thank you for you time!

This is a known issue with Mkdocs. There is a PR open for a fix somewhere, but it was blocked on a Mkdocs release. Closing this as a duplicate.