Fix sessions and add alpine binary creation for musl support

This resolves ECS task errors and config files as well.   I have tested this on mac, in docker and in ECS.

@slimm609 thanks for your contribution! Can you add a section to the README that describes this change? Honestly I need a little more context as well to understand what's being fixed.

There are 2 ways to get AWS credentials.
session.NewSession
gets configuration from the credentials file in ~/.aws/ directory
session.NewSessionWithOptions
gets configuration from a ec2 IAM role.   (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)
The credentials are first pulled from the host from the AWS IAM role, if those credentials do not exist then it looks to the local configuration in ~/.aws/
still getting the credentials, just supporting the AWS IAM roles.

@slimm609 thank you for submitting this!
I will be able to evaluate the PR when:

it has a more clear description of the errors and/or problems that it's solving
it has a section in the README explaining its behavior to users

Can you update it with those things?

I'm not sure what you want me to add to the README...
The old AWS SDK did not support IAM roles, only credentials files.
With the update of the SDK it added support for IAM roles.  (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)
The old way  (session.NewSession) only checked for the credentials in $HOME/.aws/credentials,  with the updated SDK it was updated to add support for the old way that was supported ($HOME/.aws/credentials) and added support for AWS IAM roles.    The way the code operates didn't change.   The change first checks for user credentials provided via the IAM roles and if they do NOT exist, then it checks for the local config file in the $HOME/.aws/  directory.
The other change was added support for alpine docker image which uses MUSL instead of glibc.   This now builds both a linux-x86_64 and a linux-x86_64 alpine binary.
None of this is in the README currently so I don't know where to add it.   Do you want an "Update" section added to the README?
The change added support for the recommended way to do AWS authentication when running on an EC2 instance.

In your current README you have a link to
https://github.com/aws/aws-sdk-go#configuring-credentials
Which has 3 options

Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles.

Shared Credentials file (~/.aws/credentials) - This file stores your credentials based on a profile name and is useful for local development.

EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.

This option below was not working.   This is now working

EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.

This looks great, sorry for the delay on merge @slimm609. Merging and cutting a new release now.


WIP: Preserve PTS information

Hi there! We've noticed that the Decoder is not preserving Buffer pts information. We've a first draft for solving the problem

Use the pts information of the first buffer to obtain a starting point
For each frame decoded, compute its duration. Use that value to update the base pts
Update the buffer pts field

Waiting for your feedback. (BTW, KIM is back on Membrane 😉💯)

In our flow we have:

FLV demuxing
AAC audio parsing & decoding
Transcription
subtitle generation

With the code provided above, if we compare the ptsAAC and ptsWAV (computed with the above calculation, i.e., start from ptsAAC and then add the actual duration of each frame) the two get out-of-sync almost immediately, ptsAAC grows faster. It is expected? We use the FLV timestamp to recover the actual PTS of the stream if the pipeline connects to an RTMP stream in the middle of a live transmission.

I believe this code is confusing the duration of the payload and pts, but if that is the case, how are we supposed to handle the situation in which one buffer contains more than one frame? We cannot produce buffers that have the same pts value.

Maybe we could preserve a pts delta and split the pts update with the number of buffers present. Anyway, I still don't get why the to pts streams should not increase linearly together!

This is wrong in many ways, updates coming.

Things are complicated as:

@dmorn yeah, we generally need to refine some plugins, especially those operating on audio, amd make sure they forward timestamps properly

OK, I'm reopening the PR since now with https://github.com/membraneframework/membrane_rtmp_plugin/pull/42 everything makes sense again 😆 This implementation now uses the incoming PTS (defaults to 0) as a base, then computes the PTS delta using the RawAudio.bytes_to_time function. I compared the AAC and computed PTS and they shift a bit on the microsecond range but still, this might be a worthy contribution. Check it out!


Add Fabric and Switch models  to lib-dmtf package

Add Fabric and Switch models  to lib-dmtf package

Closing the issue based on  the merge of #401


DataViewer hangs over remote connection

iopub_data_rate_limit is required to be set prior to using the dataviewer (at least for large data frames).
The only solution I can see is to detect when this error occurs and tell the user they need to restart their server.
There does not seem to be a way to set this programmatically when we start a kernel.

Looking here you can see that Jupyter only checks this from the config:
https://github.com/jupyter/notebook/blob/d17caf92c0817e8bc771209a1e867f0c73e34724/notebook/services/kernels/handlers.py


Fix detected secret

Changes

Current dependencies on/for this PR:

#528  👈
main

This stack of pull requests is managed by Graphite.


DBZ-6585 Support dropping multiple Oracle partitions

https://issues.redhat.com/browse/DBZ-6585
Upstream PR: https://github.com/antlr/grammars-v4/pull/3542

@vjuranek Applied, thanks


add hyper-window-size

Hyper-window-size is a simple plugin for Hyper.app that lets you set the size and position of the window
Link to the repo

Hi! Thanks for the submission @romainwn! This looks really great.
Would it be possible for you to provide a gif that is @2x density so it looks good on retina screens etc.?
Thanks 🙏

Hi! Sure, I'll try to do it by the end of the week :)


add jwt support

Coverage decreased (-0.8%) to 64.402% when pulling 3b41afbd0d0cddc9e9861fd025721d33d0b094b4 on tianxiaoliang:dev into f61a697f667a0015699fde963993469422259584 on go-chassis:master.


fpp: 0.9.2 -> 0.9.5

https://github.com/facebook/PathPicker/releases/tag/0.9.5

Motivation for this change
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Congrats you fixed https://github.com/NixOS/nixpkgs/issues/159114 and thanks


Benefit of MCTS-based RL approaches over PPO, SAC, etc for dynamic robot

Hello, is there any known benefit for the MCTS approaches for dynamic robots? Or what is your take on the matter? Thank you in advance!

Hello,

MCTS-based RL approaches, such as AlphaZero/MuZero, may have the following advantages in the field of robotics compared to model-free RL methods like PPO, SAC:

High sample efficiency:

Efficient Exploration-Exploitation Trade-off: MCTS employs the Upper Confidence Bound (UCB) algorithm to strike a balance between exploration and exploitation, thereby enhancing the algorithm's effectiveness in identifying the optimal policy. Notably, MCTS doesn't indiscriminately expand all nodes; instead, it selectively expands based on their predicted prior policy logits and predicted value. This approach prioritizes actions that are anticipated to yield high returns, consequently improving sample efficiency.
Forward search: MCTS predicts future rewards by starting from the current state and searching forward, which allows it to consider longer-term returns. Compared to methods that only rely on single-step rewards, it can use each sample more effectively.
Use of model prediction: In model-based MCTS (like MuZero), the model's prediction is used to guide the search. This means that each sample is fully utilized to improve the model's prediction, thereby improving sample efficiency.

Interpretability: MCTS provides a natural search method for the decision-making process, allowing people to better understand and interpret the behavior of the robot. This can be very important in some applications, such as scenarios that require human-robot collaboration.

Better handling of complex and delayed reward functions: MCTS can find long-term rewards through search, even in the case of reward delay. This makes MCTS potentially perform better in tasks that require complex strategies and long-term planning, such as multi-step manipulation tasks, compared to PPO, SAC, etc.

Adaptability: MCTS can conduct a new search at each decision step, allowing it to adapt to dynamic changes in the environment, especially in those dynamic robotic tasks that require real-time decisions and responses.

However, it should be noted that MCTS usually requires a large amount of computational resources and may be slower than  model-free RL methods in the early stage of training. In addition, MCTS may also need carefully designed reward functions and models for effective search.

You might refer to the relevant paper Learning to Plan in High Dimensions via Neural Exploration-Exploitation Trees for more information. If you come across other insightful papers on MCTS used in real robotic environments, feel free to add them to this issue.

Please note that we currently do not have much practical experience in developing actual robots. The above is only an intuitive analysis and is for reference only.


Introduction to Trees

Description
Discuss in detail Introduction to Trees and explain some basic concepts and operations.
Domain
DSA
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


SDK-1347 timeattribute flexible parsing

Add

Dependency on araddon/dateparser

Change

TimeAttribute to support flexible parsing, allowing it to parse datetimes as well as dates.

Comments
I'm not sure whether this is an approach we want to take with time attribute, as it doesn't contain information on what was parsed - since it leaves 'unused' attributes as the 0-value (or 1 for day) there's no way to tell the difference between 1st Jan and No Data.

Changeset - https://github.com/getyoti/yoti-go-sdk/compare/SDK-539-RenameGoFiles...SDK-1347-TimeattributeFlexibleParsing
Would be good to include a link to the changeset like this in the PR description if we're branching off another branch, so the reviewers don't have to look it up and work out which branch has been branched off 😃 👍
RE: the unused attributes - do you mean if clients are initialising the struct manually, rather than using NewTime?
Or do you mean if they are using NewTime, but it's an invalid date?
If it's the latter - we're actually returning nil for the value, not the default time.Time{}, right?

RE: the unused attributes - do you mean if clients are initialising the struct manually, rather than using NewTime?
Or do you mean if they are using NewTime, but it's an invalid date?

If they're using NewTime, and the attribute has the Value "2006-01-02", the resulting time.Time object will have the value corresponding to Jan 1 2006 @ 00:00:00.000000000 UTC which is the same value as if the attribute value is 2006-01-02T00:00:00.000000Z
On the other side: if the attribute Value is the string 15:30:26 you get the time.Time object for 0-1-1T15:30:26.000000000Z which is at least easy to filter for.

I think Jan 1 2006 @ 00:00:00.000000000 UTC makes sense in this instance because it's a time attribute.
Hmm yes I don't think we want anyone to be passing in 15:30:26, I'm thinking it might be good to put some validation on that, if it is allowed by the dateparser library.

Reply

I think Jan 1 2006 @ 00:00:00.000000000 UTC makes sense in this instance because it's a time attribute.
Hmm yes I don't think we want anyone to be passing in 15:30:26, I'm thinking it might be good to put some validation on that, if it is allowed by the dateparser library.

Just updating. Since we've decided not to do flexible parsing - just to rename the Attribute, this will still validate against YYYY-MM-DD in NewDate, otherwise it'll return error.


Support BitVec 1.0

scale-info and parity-scale-codec are being updated to support bitvec 1:
https://github.com/paritytech/scale-info/pull/137
https://github.com/paritytech/parity-scale-codec/issues/310
When a release of those is out with BitVec 1 support, let's update frame-metadata to use these deps.
This I think should unblock subxt being updated to use BitVec 1 (https://github.com/paritytech/subxt/issues/422), since it depends on all of the above.

Closed by #35


Fix notebooks

The julia-1.8 removal from CI comes from https://github.com/brianguenter/OpticSim.jl/pull/34#issuecomment-2275951468 (just forgot to push back then).
Until 70197f48a88dde67f6d87cf711cccae1fbba2898 can be reverted (or improved upon),
one needs a valid project.
For notebooks development, here is how I proceed
# moving to the notebooks folder is important, for the notebook to be edited in-place rather than copied
cd samples/notebooks/
julia --project --threads=auto

then
julia> import OpticSim.NotebooksUtils as NB

julia> NB.run_sample("EmittersIntro.jl")

With the other changes the Pluto notebook
samples/notebooks/EmittersIntro.jl now executes without any error,
and all Makie-related warnings have been silenced as well.
samples/notebooks/BasicCSG.jl still errors with
MethodError: no method matching leaf(::OpticSim.CSGGenerator{Float64}, ::OpticSim.Geometry.Transform{Float64})

Closest candidates are:

leaf(!Matched::OpticSim.ParametricSurface{T}, ::OpticSim.Geometry.Transform{T}) where T<:Real

@ OpticSim ~/share/prog/julia/dev/OpticSim.jl/src/Geometry/CSG/CSG.jl:126

And samples/notebooks/Samples.jl has two errors:
UndefVarError: `GridRectOriginPoints` not defined

and
MethodError: no method matching OpticSim.Emitters.Sources.CompositeSource(...
You might have used a 2d row vector where a 1d column vector was required.
Note the difference between 1d column vector [1,2,3] and 2d row vector [1 2 3].
You can convert to a column vector with the vec() function.

Those errors seem related to changes in OptimSim rather than Makie or julia, so I'd leave them for later.

Documentation failed because there were no runners:

The ubuntu-18.04 environment is deprecated, consider switching to ubuntu-20.04(ubuntu-latest), or ubuntu-22.04 instead.

=> updated to ubuntu-latest, and also updated julia to 1.10 for the docs as well.

Doc CI fails with
ERROR: Unsatisfiable requirements detected for package SHA [ea8e919c]:
 SHA [ea8e919c] log:
 ├─possible versions are: 1.1.1 or uninstalled
 └─restricted to versions 0.7.0-0.7 by OpticSim [24114763] — no versions left

From https://github.com/JuliaCrypto/SHA.jl/issues/87#issue-1595496897:

The latest version of this package is 0.7. You cannot install<EMAIL_ADDRESS>on Julia 1.6 and 1.7 as these versions already include SHA.jl as a stdlib

[see below, on 1.10 it is possible to install<EMAIL_ADDRESS>and it is still the latest version]
So let's remove SHA from compat ?
Just in case there would have been a UUID change, remove and add again:
(OpticSim) pkg> rm SHA
    Updating `~/share/prog/julia/dev/OpticSim.jl/Project.toml`
  [ea8e919c] - SHA v0.7.0
  No Changes to `~/share/prog/julia/dev/OpticSim.jl/Manifest.toml`

(OpticSim) pkg> add SHA
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `~/share/prog/julia/dev/OpticSim.jl/Project.toml`
  [ea8e919c] + SHA v0.7.0
  No Changes to `~/share/prog/julia/dev/OpticSim.jl/Manifest.toml`

Nope, 0.7.0 is still the most recent SHA version.
Besides, it is possible to use<EMAIL_ADDRESS>(it is actually the one bundled with julia-1.10):
(@v1.10) pkg> activate --temp
  Activating new project at `/tmp/jl_Aex54p`

julia> using SHA

julia> pkgversion(SHA)
v"0.7.0"

(jl_Aex54p) pkg> add<EMAIL_ADDRESS>
Works fine.
Then why did the CI say "possible versions are: 1.1.1 or uninstalled" ?
Maybe a registry corruption ?
Let me push the change anyway to see if there is any difference.

Still fails;
it looks like the CI process runs julia 1.1 instead of 1.10, despite a8be81eab0bb988b63a695da4f0e6c5e83843e61.

CI log
Run xvfb-run julia --project=docs/ -e '
   Cloning default registries into `~/.julia`
   Cloning registry from "https://github.com/JuliaRegistries/General.git"
25l    Fetching: [>                                        ]  0.0 %
    Fetching: [=====>                                   ]  10.1 %
    Fetching: [==============>                          ]  34.3 %
    Fetching: [===========================>             ]  66.9 %
    Fetching: [=====================================>   ]  90.8 %
25h     Added registry `General` to `~/.julia/registries/General`
 Resolving package versions...
┌ Warning: julia version requirement for package OpticSim not satisfied
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:154
ERROR: Unsatisfiable requirements detected for package SHA [ea8e919c]:
 SHA [ea8e919c] log:
 ├─possible versions are: 1.1.1 or uninstalled
 ├─restricted to versions * by OpticSim [24114763], leaving only versions 1.1.1
 │ └─OpticSim [24114763] log:
 │   ├─possible versions are: 0.6.0 or uninstalled
 │   └─OpticSim [24114763] is fixed to version 0.6.0
 └─found to have no compatible versions left with Bonito [824d6782]
   └─Bonito [824d6782] log:
     ├─possible versions are: [3.0.0-3.0.7, 3.1.0-3.1.2] or uninstalled
     └─restricted to versions * by OpticSim [24114763], leaving only versions [3.0.0-3.0.7, 3.1.0-3.1.2]
       └─OpticSim [24114763] log: see above
Stacktrace:
 [1] #propagate_constraints!#61(::Bool, ::Function, ::Pkg.GraphType.Graph, ::Set{Int64}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:1007
 [2] propagate_constraints! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:948 [inlined]
 [3] #simplify_graph!#121(::Bool, ::Function, ::Pkg.GraphType.Graph, ::Set{Int64}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:1462
 [4] simplify_graph! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:1462 [inlined] (repeats 2 times)
 [5] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Nothing) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:371
 [6] resolve_versions! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:315 [inlined]
 [7] #add_or_develop#63(::Array{Base.UUID,1}, ::Symbol, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1172
 [8] #add_or_develop at ./none:0 [inlined]
 [9] #add_or_develop#17(::Symbol, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:59
 [10] #add_or_develop at ./none:0 [inlined]
 [11] #add_or_develop#16 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:36 [inlined]
 [12] #add_or_develop at ./none:0 [inlined]
 [13] #add_or_develop#12 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:33 [inlined]
 [14] #add_or_develop at ./none:0 [inlined]
 [15] #develop#23 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:65 [inlined]
 [16] develop(::Pkg.Types.PackageSpec) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:65
 [17] top-level scope at none:0

Note the
┌ Warning: julia version requirement for package OpticSim not satisfied
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:154

and some julia/stdlib/v1.1/Pkg/ in the stacktrace.
The Documenter.jl documentation
puts the version inside single quotes. Let's try to do the same ?
Indeed, that's https://github.com/julia-actions/setup-julia/issues/204

OK, it now goes further but got stuck for more than one hour after installing  GLMakie:

Let me revert 9a8d8f46a450a6800a6e29a7ecc3ed101aac64d2 (it was not the culprit) to trigger the doc build again.

And it did it again:
CI log
# ... the log top was cropped
   Installed CRlibm_jll ─────────────────────── v1.0.1+0
   Installed Juno ───────────────────────────── v0.8.4
   Installed StringManipulation ─────────────── v0.3.4
   Installed WoodburyMatrices ───────────────── v1.0.0
   Installed SortingAlgorithms ──────────────── v1.2.1
   Installed ExpressionExplorer ─────────────── v1.0.2
   Installed ImageMorphology ────────────────── v0.4.5
   Installed WidgetsBase ────────────────────── v0.1.4
   Installed Luxor ──────────────────────────── v3.8.0
   Installed Pluto ──────────────────────────── v0.19.46
   Installed DelaunayTriangulation ──────────── v1.1.3
   Installed Makie ──────────────────────────── v0.20.10
    Updating `~/work/OpticSim.jl/OpticSim.jl/docs/Project.toml`
  [da1fd8a2] + CodeTracking v1.3.6
  [a93c6f00] + DataFrames v1.6.1
⌅ [e30172f5] + Documenter v0.26.3
⌅ [e9467ef8] + GLMakie v0.9.11
  [916415d5] + Images v0.26.1
⌅ [ee78f7c6] + Makie v0.20.10
  [24114763] + OpticSim v0.6.0 `~/work/OpticSim.jl/OpticSim.jl`
  [91a5bcdd] + Plots v1.40.5
  [90137ffa] + StaticArrays v1.9.7
  [1986cc42] + Unitful v1.21.0
    Updating `~/work/OpticSim.jl/OpticSim.jl/docs/Manifest.toml`
  [621f4979] + AbstractFFTs v1.5.0
  [1520ce14] + AbstractTrees v0.4.5
  [7d9f7c33] + Accessors v0.1.37
  [79e6a3ab] + Adapt v4.0.4
  [35492f91] + AdaptivePredicates v1.1.1
  [66dad0bd] + AliasTables v1.1.3
  [27a7e980] + Animations v0.4.1
  [ec485272] + ArnoldiMethod v0.4.0
  [4fba245c] + ArrayInterface v7.15.0
  [67c07d97] + Automa v1.0.4
  [13072b0f] + AxisAlgorithms v1.1.0
  [39de3d68] + AxisArrays v0.4.7
  [6e4b80f9] + BenchmarkTools v1.5.0
  [d1d4a3ce] + BitFlags v0.1.9
  [62783981] + BitTwiddlingConvenienceFunctions v0.1.6
  [824d6782] + Bonito v3.1.2
  [fa961155] + CEnum v0.5.0
  [2a0fbf3d] + CPUSummary v0.2.6
  [96374032] + CRlibm v1.0.1
  [336ed68f] + CSV v0.10.14
  [159f3aea] + Cairo v1.1.0
  [aafaddc9] + CatIndices v0.2.2
  [082447d4] + ChainRules v1.69.0
  [d360d2e6] + ChainRulesCore v1.24.0
  [fb6a15b2] + CloseOpenIntervals v0.1.13
  [aaaa29a8] + Clustering v0.15.7
  ✓ FiniteDiff
  ✓ StaticArrayInterface
  ✓ Zygote → ZygoteColorsExt
  ✓ FiniteDiff → FiniteDiffStaticArraysExt
  ✓ StaticArrayInterface → StaticArrayInterfaceStaticArraysExt
  ✓ NLSolversBase
  ✓ StaticArrayInterface → StaticArrayInterfaceOffsetArraysExt
  ✓ GtkObservables
  ✓ LineSearches
  ✓ TiledIteration
  ✓ CloseOpenIntervals
  ✓ LayoutPointers
  ✓ Optim
  ✓ MathOptInterface
  ✓ ImageView
  ✓ VectorizationBase
  ✓ GLPK
  ✓ NLopt → NLoptMathOptInterfaceExt
  ✓ JuMP
  ✓ Optim → OptimMOIExt
  ✓ SLEEFPirates
  ✓ Ipopt
  ✓ LazySets
  ✓ Plots
  ✓ Plots → FileIOExt
  ✓ Plots → UnitfulExt
  ✓ Plots → GeometryBasicsExt
  ✓ LoopVectorization
  ✓ LoopVectorization → SpecialFunctionsExt
  ✓ LoopVectorization → ForwardDiffExt
  ✓ ImageMorphology
  ✓ Makie
  ✓ ImageFiltering
  ✓ ImageDistances
  ✓ ImageSegmentation
  ✓ ImageCorners
  ✓ ImageQualityIndexes
  ✓ Images
WGLMakie Waiting for background task / IO / timer.
[pid 7269] waiting for IO to finish:
 Handle type        uv_handle_t->data
 timer              0x29c6c70->0x7f845c4ad480
This means that a package has started a background task or event source that has not finished running. For precompilation to complete successfully, the event source needs to be closed explicitly. See the developer documentation on fixing precompilation hangs for more help.
GLMakie Waiting for background task / IO / timer.
[pid 7268] waiting for IO to finish:
 Handle type        uv_handle_t->data
 timer              0x5ca5e90->0x7fd555699510
This means that a package has started a background task or event source that has not finished running. For precompilation to complete successfully, the event source needs to be closed explicitly. See the developer documentation on fixing precompilation hangs for more help.
  ✓ WGLMakie
  ✓ GLMakie

OK, this might be related to https://github.com/MakieOrg/Makie.jl/issues/3766#issuecomment-2249983093 which

shouldnt be happening anymore

So time to update to Makie 0.20 to the latest, 0.21.
Done locally, tests pass, but the notebooks error

Invalid attribute debug for plot type

I'll look into this in the next few days.

Do you want me to approve and merge this batch of changes in the meantime before you get the fix for Makie, or would you prefer to do it all at once later?

Do you want me to approve and merge this batch of changes in the meantime before you get the fix for Makie

In the current state (Makie 0.20) the notebooks are fine, only the doc CI hangs.
So if you are OK, it would be the right time to merge indeed,
before the upgrade to Makie 0.21.


fix(docgen): Same icons for GraphWiz as for Mermaid

@gabrielh OK for you?

Looks good, thanks :-)


HOT RELOAD: lib/math/double_pow_test flaky failure

FAILED: none-vm-checked debug_x64 lib/math/double_pow_test
Expected: Pass
Actual: RuntimeError
CommandOutput[vm]:
stderr:
Unhandled exception:
Expect.identical(expected: , actual: ) fails.
#0      Expect._fail (package:expect/expect.dart:385:5)
#1      Expect.identical (package:expect/expect.dart:148:5)
#2      test (file:///b/build/slave/vm-linux-debug-x64-live-reload-be/build/sdk/tests/lib/math/double_pow_test.dart:139:12)
#3      main (file:///b/build/slave/vm-linux-debug-x64-live-reload-be/build/sdk/tests/lib/math/double_pow_test.dart:161:32)
#4      _startIsolate. (dart:isolate-patch/isolate_patch.dart:261)
#5      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
Command[vm]: DART_CONFIGURATION=DebugX64 out/DebugX64/dart --enable_asserts --enable_type_checks --hot-reload-test-mode --optimization-counter-threshold=5 --no-background-compilation --ignore-unrecognized-flags --package-root=out/DebugX64/packages/ /b/build/slave/vm-linux-debug-x64-live-reload-be/build/sdk/tests/lib/math/double_pow_test.dart
Took 0:00:08.038699
Short reproduction command (experimental):
python tools/test.py --write-debug-log --write-test-outcome-log --copy-coredumps --exclude-suite pkg --hot-reload --builder-tag no_ipv6 --checked -t120 lib/math/double_pow_test

@fsc8000 Any idea?

@crelier This might be a canonicalization issue with reload.

I cannot reproduce this failure locally with this command:
out/DebugX64/dart --enable_asserts --enable_type_checks --hot-reload-test-mode --optimization-counter-threshold=5 --no-background-compilation --ignore-unrecognized-flags --package-root=out/DebugX64/packages/ tests/lib/math/double_pow_test.dart
Any other command I should try?

@crelier That's the right command but it is extremely difficult to reproduce. I haven't been able to locally.

Just noting that I haven't seen this since the first time.

Closing because I've never seen this issue again and no one can reproduce it.

Visible on the bots after enabling this test again.

@fsc8000 Can you take a look at this? It's easy to reproduce now.

@fsc8000 I suspect that the issue is the difference in optimized and unoptimized pow. It's not a canonical instance issue.

This is an issue of NaN being computed in different ways: I observed that even in C++ NAN from math.h and 0.0/0.0 differ in the sign bit. The test should not assert that NaNs are identical.

@lrhn The test is buggy, please fix it.

If I remember correctly we specified (long long ago) that NaNs are identical to each other.
Since users can see the actual values by storing them into typed arrays (which were added a later point) we might want to change the spec (if it's even part of a written spec).
In any case: if we make them non-identical, then the test shouldn't be flaky, since it must keep track of the NaNs.

It is an unnecessary burden on the implementation to make NaNs identical. The spec mandates it, but this would be a good candidate to relax the spec, since it would allow an implementation to use C library functions of the platform without checking for the correct bit pattern.

https://codereview.chromium.org/2247553002/

Dart IEEE-754 doubles are identical if they have the same bits. That includes NaNs with payloads or sign. The spec says this in a roundabout way, but the effect is that you only have to compare bit patterns.
The spec doesn't require different NaNs to be identical, rather the opposite, for the reason Florian S says - it would be unnecessarily cumbersome (not a lot of cumberance, but completely unnecessary, so the tradeoff is clear). I do believe we changed that at some point, so Florian L is probably correct that we required NaNs to be identical in the beginning, matching JavaScript behavior.
It feels wrong to have distinguishable values that are identical, and NaNs with payloads or sign are such values because you can store them into typed-data lists and see the bits. We don't want to normalize NaN values when storing or loading from a Float64List.
The pow method is specified in [https://api.dartlang.org/stable/1.16.1/dart-math/pow.html](much detail).
It is intended to match the IEEE-754 "pow" function, but it just says that an operation with a NaN input becomes NaN (except for a couple of exceptions where one of the operands may be NaN). We don't distinguish between quiet and signaling NaNs, and we don't say which NaN to use, so it isn't technically wrong to return different NaNs for different cases. I think the problem here is that the VM generates the result by calling a C library function that has the appropriate behavior, and we are not in control of which NaN it produces.
I would really prefer if we always generate the positive zero-payload quiet-NaN if possible, but I know that the negation operator doesn't do that (nor does it in the IEEE-754 spec), which is likely the problem we are seeing for computed NaNs.
For cases where one of the inputs is NaN, we should always return one of the existing NaN values, and I think C libraries probably do that.

Thanks. I checked on my Linux box with C there are different NaNs if you do
0.0/0.0 vs. NAN from math.h. One has the sign bit set, and the other does not. Other than that they are identical.


Invalid ingest-state-reader-temp-set value:

Hi @SalleryWang, could you share some details about the flag and environment variable configuration options that are being passed to Horizon on start?
That parameter can be configured with the --ingest-state-reader-temp-set flag or the INGEST_STATE_READER_TEMP_SET environment variable. It defaults to memory but you can set it to memory or postgres.

Closing as this sounds like user error. See @leighmcculloch's comment for valid choices for this variable.


(Web Components) Images not rendering on Example Page C

Description
Expected:
Images will render for the Content Block Cards section on Example Page C.
Actual:
Images are not rendering for Content Block Cards on Example Page C.
Component(s) impacted
Content Block Cards
https://carbon-design-system.github.io/carbon-for-ibm-dotcom-web-components-test/next/example-page-c/index.html

Content Block Cards and Card Link
https://carbon-design-system.github.io/carbon-for-ibm-dotcom-web-components-test/next/example-page-c/index.html

Browser
Chrome, Safari, Firefox, Microsoft Edge
Carbon for IBM.com version
v1.32.0-rc.1
Severity
Severity 3 = The problem is visible or noticeable to users but does not impede the usability or functionality. Affects minor functionality, has a workaround.
Application/website
https://carbon-design-system.github.io/carbon-for-ibm-dotcom-web-components-test/next/
Package
@carbon/ibmdotcom-web-components
CodeSandbox example
https://carbon-design-system.github.io/carbon-for-ibm-dotcom-web-components-test/next/
Steps to reproduce the issue (if applicable)

Navigate to https://carbon-design-system.github.io/carbon-for-ibm-dotcom-web-components-test/next/ on any platform
Use the Table of Contents to navigate down to the Content Block Cards section
Observe that images are not rendering

Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

Possibly the same issue as #8572 ?


liveload host name use  window.location.hostname

quote.
the string fragment is echo to a file,  so the ugly \"
js parse

":35729/livereload.js></sc" +"ript>"  !== ":35729/livereload.js>"
the later one, chrome will throw parse error.
did not think this is the best solution.  better to serve liveload.js in the same port to avoid the hack?

I signed it!

The livereload.js file is served by iBazel and the url is independent of the webserver serving your j2cl application.
The best would be to rely on the environment variable  IBAZEL_LIVERELOAD_URL set by iBazel.

The relevant code is in the generated JS via Bazel. I'm not aware of any way to utilize an env variable IBAZEL_LIVERELOAD_URL there.

Fixed in 28030bfc560bd3938cd2fb7bf9ac26714f82d5e4


cloud you consider support stage detail api?

url http://xxx.xx.xx.xx:8080/jenkins/job/showjob2/wfapi/runs
response as blow
[
    {
        "_links": {
            "self": {
                "href": "/jenkins/job/showjob2/1/wfapi/describe"
            }
        },
        "id": "1",
        "name": "#1",
        "status": "SUCCESS",
        "startTimeMillis":<PHONE_NUMBER>915,
        "endTimeMillis": 0,
        "durationMillis": 0,
        "queueDurationMillis": 62,
        "pauseDurationMillis": 0,
        "stages": [
            {
                "_links": {
                    "self": {
                        "href": "/jenkins/job/showjob2/1/execution/node/6/wfapi/describe"
                    }
                },
                "id": "6",
                "name": "Init",
                "execNode": "",
                "status": "SUCCESS",
                "startTimeMillis":<PHONE_NUMBER>977,
                "durationMillis": 12,
                "pauseDurationMillis": 0
            },
            {
                "_links": {
                    "self": {
                        "href": "/jenkins/job/showjob2/1/execution/node/11/wfapi/describe"
                    }
                },
                "id": "11",
                "name": "SCM",
                "execNode": "",
                "status": "SUCCESS",
                "startTimeMillis":<PHONE_NUMBER>011,
                "durationMillis": 3339,
                "pauseDurationMillis": 0
            },
            {
                "_links": {
                    "self": {
                        "href": "/jenkins/job/showjob2/1/execution/node/17/wfapi/describe"
                    }
                },
                "id": "17",
                "name": "Build",
                "execNode": "",
                "status": "SUCCESS",
                "startTimeMillis":<PHONE_NUMBER>362,
                "durationMillis": 22075,
                "pauseDurationMillis": 0
            }
        ]
    }
]

it is very useful, but in 0.3.7 i didn't found any api can get this info

Hs there been any update on this , even i need this

已收到，我会尽快回复你！
                     ——刘劲字


scVI 0.4.1 requires sklearn 0.21

When importing scVI (as below) with sklearn 0.20.0 installed I got the error ImportError: cannot import name '_get_n_jobs'
The solution was to upgrade to sklearn version 0.21.3, so the scVI requirements should be updated.
Import statement:
from scvi.inference import UnsupervisedTrainer
from scvi.inference.posterior import Posterior

Error message:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-9-9cec25c261a2> in <module>()
     13 from scvi.dataset import GeneExpressionDataset
     14 from scvi.models import VAE
---> 15 from scvi.inference import UnsupervisedTrainer
     16 from scvi.inference.posterior import Posterior

~/.local/lib/python3.6/site-packages/scvi/inference/__init__.py in <module>()
----> 1 from .posterior import Posterior
      2 from .trainer import Trainer
      3 from .inference import UnsupervisedTrainer, AdapterTrainer
      4 from .annotation import (
      5     JointSemiSupervisedTrainer,

~/.local/lib/python3.6/site-packages/scvi/inference/posterior.py in <module>()
     13 from matplotlib import pyplot as plt
     14 from scipy.stats import kde, entropy
---> 15 from sklearn.cluster import KMeans
     16 from sklearn.manifold import TSNE
     17 from sklearn.metrics import adjusted_rand_score as ARI

~/.local/lib/python3.6/site-packages/sklearn/cluster/__init__.py in <module>()
      4 """
      5
----> 6 from .spectral import spectral_clustering, SpectralClustering
      7 from .mean_shift_ import (mean_shift, MeanShift,
      8                           estimate_bandwidth, get_bin_seeds)

~/.local/lib/python3.6/site-packages/sklearn/cluster/spectral.py in <module>()
     15 from ..metrics.pairwise import pairwise_kernels
     16 from ..neighbors import kneighbors_graph
---> 17 from ..manifold import spectral_embedding
     18 from .k_means_ import k_means
     19

~/.local/lib/python3.6/site-packages/sklearn/manifold/__init__.py in <module>()
      4
      5 from .locally_linear import locally_linear_embedding, LocallyLinearEmbedding
----> 6 from .isomap import Isomap
      7 from .mds import MDS, smacof
      8 from .spectral_embedding_ import SpectralEmbedding, spectral_embedding

~/.local/lib/python3.6/site-packages/sklearn/manifold/isomap.py in <module>()
      9 from ..utils import check_array
     10 from ..utils.graph import graph_shortest_path
---> 11 from ..decomposition import KernelPCA
     12 from ..preprocessing import KernelCenterer
     13

~/.local/lib/python3.6/site-packages/sklearn/decomposition/__init__.py in <module>()
      9 from .incremental_pca import IncrementalPCA
     10 from .kernel_pca import KernelPCA
---> 11 from .sparse_pca import SparsePCA, MiniBatchSparsePCA
     12 from .truncated_svd import TruncatedSVD
     13 from .fastica_ import FastICA, fastica

~/.local/lib/python3.6/site-packages/sklearn/decomposition/sparse_pca.py in <module>()
      9 from ..utils import check_random_state, check_array
     10 from ..utils.validation import check_is_fitted
---> 11 from ..linear_model import ridge_regression
     12 from ..base import BaseEstimator, TransformerMixin
     13 from .dict_learning import dict_learning, dict_learning_online

~/.local/lib/python3.6/site-packages/sklearn/linear_model/__init__.py in <module>()
     36
     37 from .ransac import RANSACRegressor
---> 38 from .theil_sen import TheilSenRegressor
     39
     40 __all__ = ['ARDRegression',

~/.local/lib/python3.6/site-packages/sklearn/linear_model/theil_sen.py in <module>()
     21 from ..base import RegressorMixin
     22 from ..utils import check_random_state
---> 23 from ..utils import check_X_y, _get_n_jobs
     24 from ..externals.joblib import Parallel, delayed
     25 from ..externals.six.moves import xrange as range

ImportError: cannot import name '_get_n_jobs'

Is there any reason to pin the versions of ALL required packages?
https://github.com/YosefLab/scVI/blob/master/requirements.txt:
pip==18.1
flake8==3.7.7
coverage==4.5.1
Sphinx==1.7.1
pytest==3.7.4
pytest-runner==2.11.1
numpy==1.16.2
torch==1.0.1
matplotlib==3.0.3
scikit-learn==0.20.3
scipy==1.2.1
h5py==2.9.0
codecov==2.0.8
pandas==0.24.2
loompy==2.0.16
tqdm==4.31.1
anndata==0.6.18
xlrd==1.2.0
nbconvert==5.4.0
nbformat==4.4.0
jupyter==1.0.0
ipython==7.1.1
umap-learn==0.3.8
seaborn==0.9.0
leidenalg==0.7.0
numba==0.45.0
python-igraph==0.7.1.post6
scanpy==1.4
louvain==0.6.1
hyperopt==0.1.2
black==19.3b0
colour==0.1.5

@gokceneraslan We're just storing a list of packages in requirements.txt that works on travis-ci. The package requirements appear here, in setup.py.
@romain-lopez @gabmis Do you recall why we're disallowing sklearn later than 0.20 in setup.py? Also, how is it that our unit tests pass on travis-ci with sklearn 0.20.3 yet @Munfred is getting there error above?

@jeff-regier I makes more sense to unify requirements.txt and the dependencies defined in setup.py in order to make travis environment more similar to what users' environment. Also, < version constraint is typically very harsh since it will always downgrade both numba and scikit-learn. It'd be great if you can pinpoint the problematic versions and use something more permissive e.g. != version.

I can see the case for both ways -- for us it's problematic when unit tests fail on travis-ci due to changes to third party libraries, rather than due to changes to our code. On other hand, having multiple lists of dependencies is pretty unwieldy too (we also maintain a list of conda dependencies in the bioconda repository). Lately we're spending a lot of time struggling with dependency versions. I'd like to find a better way.
With that in mind, unifying requirements.txt and setup.py seems worth it to me, as well as doing away with pinned versions. I like the idea of using != version syntax.

Hi everyone,

I cannot remember exactly why we prohibited some version of sklearn.
I know numba is restricted because of a new version released on August 2nd that makes UMAP fail. This breaks our unit tests.

The requirements are indeed a huge pain and there is a certain overhead to maintaining bioconda, travis as well as setup.py.
Is there a decent way to merge the three of them ?
For requirements.txt and setup.py I like our philosophy that we do not want travis to fail just because of a new repo. Especially, we have two configurations in tox which tests the travis build as well as the setup.py file.
The priorities to me are then:

make the requirements from bioconda overlap with setup.py. This is particularly tedious because of the extra packages we have in the optional dependencies (igraph etc...)
make sure we do not use a < version syntaxt
trying to remove requirements.txt

Any suggestions on how to move forward with that ?

I agree with @gokceneraslan and @jeff-regier and as I have said in the past am in favour of unifying our dependecy list into a unique one.

we'd just need to remove the --no-deps flag in our bioconda recipe, and delete the explicit requirements

https://github.com/bioconda/bioconda-recipes/blob/2ee08b33c4347248e86fc5ba3232577cf04d729b/recipes/scvi/meta.yaml#L18

Take a closer look at our setup.py and translate the remaining uses of the "<" syntax.

remove requirements.txt and fix any resulting incompatibility

I think that for sklearn>=0.21, train_test_split does not accept train_size=1.0 anymore, causing some tests to fail.
I don't know if this is the reason why we prohibit more recent versions of scikit-learn, but I think we will have to deal with that issue at some point.

Seems relevant: https://realpython.com/pipenv-guide/

Alternatively, we could structure our package like is done in scanpy:
https://github.com/theislab/scanpy
They have a requirements.txt that is parsed in setup.py


Add README.md file

I have a question with that, will the contributors must add their commands in README file? Then it's required some detail in PR configurations I think.

Thanks for the PR @cengizcmataraci


⚠ Bofrost.fr has degraded performance

In 04b28ff, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1640 ms

Resolved: Bofrost.fr performance has improved in 0839bed after 6 minutes.


Mention the versions of the bundled tools on install page

File: toolbox/overview.md
It would be nice to have versions of the bundled tools not only the names.

Where can I find the appropriate versions to include here?

I think it would be better to go in a different direction. I think each of these tools has a --version flag. Maybe just mention that. The version of each tool will probably change for each release of Toolbox. There may also be release notes somewhere that list the component versions.

https://github.com/docker/toolbox/releases

I'll try to tackle this one!


Accommodate file naming structure/scheme in which timepoints are repeated (RNA)

@TLSteinacker @josephneos1010

@vreuter :

one way to accommodate the subfolders as they are now would be to allow a specification of which subfolders within the images_all parent folder are part of the same timecourse, and then the sequence of those folders w.r.t one another


feat: 59 USDC PSM

refs #19

https://agoric.explorers.guru/proposal/59 Start USDC (Noble) PSM
Voting End: 2023-11-01

adopt a passed proposal
When a proposal passes on agoric-3 Mainnet, it should be included in the history that this synthetic image tracks.

[ ] before this PR, change any fromTag using latest (such as a3p-integration) to use a fixed version (otherwise they will fail when this PR changes latest and they pick it up)
[ ] before merging this PR, include a link to a PR that adopts its fromTag use-${proposalName} (where proposalName is the part of the agoric-3-proposals proposal directory name after the colon, cf. a3p-integration/proposals)
[ ] after this PR merges, merge that other PR

image building process
This should not affect other repos but be prepared that it might.
@agoric/synthetic-chain library
These need to be published to be consumed in other apps. It's not yet on 1.0 so breaking changes are allowed, but please don't make them gratuitously.

[ ] indicate in the PR description when you expect these to be published and by whom (it's currently a manual process)

tooling improvements
As long as it passes CI it should be fine.

I'm not sure what to make of this ci error:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@agoric/synthetic-chain' imported from /usr/src/proposals/59:usdc-psm/eval_submission.js

@turadg ? clues?

I'm not sure what to make of this ci error:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@agoric/synthetic-chain' imported from /usr/src/proposals/59:usdc-psm/eval_submission.js

Seems like a bug in the default CoreEvalProposal handler. Try making an eval.sh like https://github.com/Agoric/agoric-3-proposals/blob/d55bfe013865ad3d4d790756d40ec52ecd0370a0/proposals/76%3Avaults-auctions/eval.sh

... Try making an eval.sh like  ...

tried it in 9b80e3c
no joy.
Is something supposed to run yarn install but didn't?

I see you got it all green, @turadg . Go ahead and approve?


p2p write address book file atomically

Motivation
Closes #3231
Changes
write file atomically, add crc32 checksum to validate content
Test Plan
unit tests
DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors try


Package/compress model artifacts on COS

The [checkpoint] assets are currently stored in individual files on COS, e.g.
http://max-assets.s3-api.us-geo.objectstorage.softlayer.net/audioset/vggish_model.ckpt
http://max-assets.s3-api.us-geo.objectstorage.softlayer.net/audioset/vggish_pca_params.npz. The individual files should be packaged and compressed in a tar.gz archive, following the approach used by other models. Refer to https://github.com/IBM/MAX-Object-Detector/blob/master/Dockerfile for an example.
Benefits:

Only a single file needs to be downloaded (less work)
Artifacts are compressed, potentially reducing the time it takes to download them

@kmh4321 you can probably duplicate this PR (https://github.com/IBM/MAX-Audio-Embedding-Generator/pull/4) on this repository.

Didn't realize that you had more files, I guess you should zip everything together.

It'll be cleaner to add all your required files to 1 archive. We should have an archive per model for consistency and to keep things cleanly separated.


Add API Deploy Feature

We have a light implementation of how to implement deploy through API but still missing Analytic Stories objects and Lookups through the API.
There was a github PR opened to add auth via token, but it has been closed since we should revisit implementing this feature as a core functionality.
https://github.com/splunk/contentctl/pull/23

Hello,
We use your nice tool (v3.0.2) and about your future implementation of api_deploy (that it's a very good news), could it be possible to add a secure way to authenticate through splunk ? (instead of username/password/token in clear text in contentctl.yml).
Maybe the possibility to add args via command line to "def api_deploy(args)" like username and password. This will allow us to put github environment variable in our workflow like this :

name: Deploy the app on Splunk
env:
USER: ${{ secrets.SPLUNK_USERNAME }}
PWD: ${{ secrets.SPLUNK_PASSWORD }}
run: contentctl api_deploy -u ${USER} -p ${PWD}

Thank you very much !


dero: remove package

Motivation for this change
dero: deprecate as it is no longer maintained
https://github.com/deroproject/dero/blob/master/README.md
Fails on Hydra for a while (https://hydra.nixos.org/build/158557363)
ZHF: #144627
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Been broken for almost a year so no release notes or throw alias needed imo

cc @fpletz

Are we backporting this to 21.11?


Added indexed rolling

Hello, I come from using Pandas, where the rolling function forces you to convert your data to float, so I needed to implement my own rolling loop.
Instead, I found your library and I decided to use it as a base to implement a rolling loop that iterates over an indexed array.
This comes from queue processing, where I have events with a particular timestamp, and I wanted to know how many unique users are in a time window.
Note: This is similar to a recipe found in the docs, but that recipe doesn't take time into account, it just used the latest 1000 IPs as window, without taking into account how much time has passed between "events"

Cool, it sounds like are a few possibilities that could be explored to reduce logic repeated between the indexed and non-indexed rolling iterators.
It feels like there may be a way to express _on_insert/_on_evict in terms of existing _add_new or _remove_old methods on the existing (non-indexed) rolling objects - this idea is not well-formed in my mind yet so it may not work out.
Very happy to add more indexed methods to the library in the meantime!


Fixed typo in training.py

Fixed typo in training.py in line 148 and 687.

Thanks for the PR. The current text copy is correct and accurate as far as I can tell.


Auto apply tokens when placing components from library in Figma

Placing components from a Central DS into a file with the same tokens but different values does not update automatically.
I have to click “update” everytime I drop a component in, in order for the newly placed components to update themselves to match the new token values.
The idea here would be to have a single Design System that has the main components defined.
This System would be used by 4 different “Products”. The “mechanics” of the components would have to be the same for all of the teams, but the “look” of the components not so. There would not be the freedom to tweak the functionality of these components. If this is needed, we’d built that into the component variants.
But we would allow flexibility for the teams to tweak their token values (not the tokens themselves)
I have been playing with this and I notice that when I place a component from the main library into a file that has a different token set (same tokens, different values) they do not update automatically to match the tokens. I have to click “update” in order for the newly placed components to update themselves to match the new tokens.
Unless the idea would be to use the token sets at the top, but I don’t think that’s what they’re there for. It would also make creating the initial DS quite heavy (having to switch between them and seeing the entire library switch).

my bad, wrong place


added active and inactive font weight parameters to widget

I needed to change the font weight of the active/inactive text for a project. Thought the change might be a good addition on base.

I was going to do the same. It would be nice to be part of the project.

if someone with write access merge this

Hi @shababhsiddique , thank you for opening this pull request. I'm currently doing a major update in the package's source code and will treat this as an enhancement.


sort

requested icon
sort

category suggestion
ui
search synonyms
order, arrows, arrange, organise, organize, rate, tabulate

released


Add a equal function to test two graph is equal

I think below is sufficient (and probably necessary) condition.

a deterministic traversal order (with each nodes can have a deterministic compare) to check if those are isomorphic
node has equal defined

:octocat: cibot: Thank you for posting issue #1076. The person in charge will reply soon.

Lets add some more restrictions to make the problem definition clearer.

Compare two graphs defined in the model file cannot be done - different order of layer definitions can still produce the same graph
Comaring two graphs to be equal should be done in graphRepresentation state

Two graphs can be same with the following conditions:

can be loaded from the saved model file

for tflite, this requires that the names for all the nodes in the two graphs must match

must have the same number of inputs and outputs
must have the same graph structure

in order to compare graph structure, their input node names must match (to map starting points)
for all the nodes, the connections and underlying object (layer) attributes/properties must match
nodes to be executed in parallel will also have to matched appropriately

So, lets start with :

All nodes name must match
All nodes attributes (connections) must match
All nodes underlying object attributes (layer properties) must match

I think 1 node name could be matched in a condition 2 and 3. So.. I think node name is not important. 1 should not be considered. Name is just Identifier to distinguish among nodes.


Expose Cache loader/Writer Configuration at template

This is required for #216

Failed build because of test failures - please have a look @sreekanth-r


Dma interrupt

Is there any plans to implement dma interrupt option for spi like in PWM driver.
Would be nice to able to use dma interruption to generate sine wave signals thru spi with MCP4921 DAC.

Hi Lou,
Can you please review this request?
Sincere thanks,
IoTGirl

Closing for now - please open an issue in our documentation repo if this still needs to be addressed: https://github.com/MicrosoftDocs/windows-iotcore-docs


Enables comments on key value pairings

This small change ignores stuff after double slashes when reading key-value pairs (key:: value) so comments can be made on the assignment without affecting the value
EX:
works-at:: Google // in the HR department

Would be awesome to access this note value by using
"page.works-at.comment"

Accessing it via page.works-at.comment would be difficult to make work, since page.works-at is a data value itself. It could be made accessible through page.inline-fields['works-at'].comment or something similar, though.

Just wanted to follow up on this issue, anything else needed?

Would you mind rebasing for me?

Ok i think we're good now

Ok i think we're all good here!

GitHub really not playing nice today, is it? I will merge manually.


engine with HeadlessInput fails to initialise for lack of a BindsSubsystem

amongst all the noise on the failing MTE tests, I found this
18:01:15.610 [main] ERROR o.t.engine.ComponentSystemManager - Failed to initialise system org.terasology.input.InputSystem@53ed80d3
java.lang.NullPointerException: null
	at org.terasology.input.InputSystem.initialise(InputSystem.java:115)
	at org.terasology.engine.ComponentSystemManager.initialiseSystem(ComponentSystemManager.java:164)
	at org.terasology.engine.ComponentSystemManager.initialise(ComponentSystemManager.java:148)
	at org.terasology.engine.subsystem.headless.mode.StateHeadlessSetup.init(StateHeadlessSetup.java:105)
	at org.terasology.engine.TerasologyEngine.switchState(TerasologyEngine.java:584)
	at org.terasology.engine.TerasologyEngine.changeState(TerasologyEngine.java:567)
	at org.terasology.moduletestingenvironment.ModuleTestingEnvironment.createHost(ModuleTestingEnvironment.java:459)
	at org.terasology.moduletestingenvironment.ModuleTestingEnvironment.setup(ModuleTestingEnvironment.java:168)

that Null Pointer Exception is https://github.com/MovingBlocks/Terasology/blob/077020fa31aedf48bf2aad186a6a348c5cbc637e/engine/src/main/java/org/terasology/input/InputSystem.java#L113-L116
Unsure how to proceed here. Add a BindsSubsystem to all the engines with an input subsystem? Or is it a bug for one subsystem to have a dependency on another? Or should it gracefully handle bindsManager being null?
I also am confused about how the test runner continues to execute the test here instead of abandoning it, that would have made things clearer.

oh, well here's the reason it doesn't just stop there:
https://github.com/MovingBlocks/Terasology/blob/077020fa31aedf48bf2aad186a6a348c5cbc637e/engine/src/main/java/org/terasology/engine/ComponentSystemManager.java#L163-L167
I guess I can kinda imagine you might want to not crash to desktop if any subsystem fails, but this needs to be a lot louder. especially for headless systems.

oh, except that does mean that's the only subsystem that crashed out, and the rest of MTE's setup code for the engine did run... so maybe it's not actually making MTE tests fail?
shucks, it would have been nice to have found a Reason.

and yet, when I try to remove the input subsystem  from MTE entirely, it fails here:
https://github.com/MovingBlocks/Terasology/blob/077020fa31aedf48bf2aad186a6a348c5cbc637e/engine/src/main/java/org/terasology/engine/TerasologyEngine.java#L247-L251

There is known problem.
We cannot just delete this from server or headless, because it using via CoreRegistry in several places.
Really it is not easy to fix it.

This also happens locally, and although annoying as it is, it does not seem to make tests fail locally... :thinking:


fix: use key prop

should solve:
react.development.js:315 Warning: Each child in a list should have a unique "key" prop.

Check the render method of `Droppable`. See https://fb.me/react-warning-keys for more information.
    in InlineBlock (created by Droppable)
    in Droppable (created by ConnectFunction)
    in ConnectFunction
    in ConnectFunction (created by ForwardRef(Field))
    in ForwardRef(Field) (created by InlineField)

i guess

@all-contributors please add @sakulstra for code


units: Add _export::_core

As we do in bitcoin add a module for usage in macros to prevent naming clashes if a module called core exists.
Overly paranoid yes but this is bitcoin after all.

No, I definitely think they're a good idea. And I appreciate you adding them. But I don't care that much and I wouldn't have opened a PR myself (unless somebody had filed a bug report about it).

Ah no sweat, I misinterpreted the 'lol sure' - lost in text


[WIP] Fix custom chain not used

PR-Codex overview
This PR focuses on fixing the issue where the custom chain was not being utilized in the wallet connection process.
Detailed summary

Added chain parameter to wallet connection options
Implemented logic to retrieve and use last connected chain
Updated chain handling in wallet connection functions

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Doing a quick PR to get a dev version - need to test this properly

/release-pr

@MananTank does this take care of the bug in #2843

Hey @MananTank looking at this now, I think you also need to pass props.chain to <AutoConnect> inside the connect wallet button

Hey @MananTank looking at this now, I think you also need to pass props.chain to <AutoConnect> inside the connect wallet button

I'm getting the chain from storage instead


Ember try cases

Testing Ember 1.13 with ember-try seems to work
If the tests all pass, this resolves #29

@ehubbell and @bekzod I added in the case to test Ember 1.13 in ember-try and it seems to pass, so I think #29 may be resolved. Can you confirm @ehubbell?


Keep the session alive

Currently it seems to be possible for the session to expire even when the user is actively interacting (which means a 403 response on a subsequent API request). I wonder if we're missing a step to keep the session alive?

I'm on it

I've found a couple of things here since we spoke:

i was using the level-session module incorrectly :P (about to push a fix for that)
looks like there may be a bug where generic-session expects expire to be in seconds, but level-session expects it to be in milliseconds. So with that conversion the "2 week" default value translates to about 20 minutes, which is closer to what we've been seeing.

I've changed it to use an expire value in ms, which means we should now have sessions lasting for 1 week. Downside of this quick-fix is that cookies are now set to expire in 2034 (due to conversion from ms to seconds).  Not sure if this will cause us any problems for now, we can come back and fix this up properly later.

Moving this to the later milestone since the immediate problem seems to be fixed.


Add extensibility

Idea:

The user should be able to create scripts at for example .config/laser/
These scripts could be used as configuration of for example the theme, but also extend the cli (like "plugins")

(This is merely an idea for now)

Proposed tasks:
1.Allow user to create file path for scripts/plugins lsr --create_plugin_dir <path> with needed files and dir structures like
path
.config
plugins.dir
.... etc
2.Add entry points for plugins/scripts call
Possible places:

file parsing (filename,extension, additional info from plugin)
entire output wrap (like clear screen before output or smth like that)

Database/library collection of .so plugins (if you want them)
You can use dynamic libraries as plugins to extend basic laser, even move essential functions to them as lsrBase.so. Its difficult but allows you to have different module versions and features check https://github.com/EgorWeders/SimpleMessagerBase/blob/main/base/mutatorloader.h and https://github.com/EgorWeders/DynamicMutator/blob/main/dynamicMutator.h for my idea explanation (not self-promotional)

I really liked the idea of the commands lsr  --create_plugin_dir and lsr --plugin_path. However I think that it will still need a universal config file (at eg. .config/laser/) where user can set these variables for the different paths for the scripts. I don't think using shared libraries is a good idea (for now at least).
That said, I have one concern I’d like to discuss. Introducing these scripts might impact the program's performance, especially if we move some functionality from C to scripting (e.g., Lua or another scripting language). Would the performance difference be noticeable in practice? I’d appreciate hearing opinions or insights on this.
My reasoning is that an ls-like command should be extremely responsive, generating output almost immediately, as it’s something one would expect to have at their fingertips.

However I think that it will still need a universal config file (at eg. .config/laser/) where user can set these variables for the different paths for the scripts.

You need to add argument for creating template of that config , like lsr --dump-config <path> just copies current (even empty) config keys and values

That said, I have one concern I’d like to discuss. Adding these scripts might impact the program's performance, especially if we move some functionality from C to scripting (e.g., Lua or another scripting language). Would the performance difference be noticeable in practice? I’d appreciate hearing opinions or insights on this.

Yes, especially  on recursive printing. But it depends on what use cases you imagine to cover with scripting. If you want to just print pretty title on statrt call that ok, but if you want to allow script process each entry (maybe even with masks) that will stutter a lot. And you need provide well designed interface for scripts.

I will try to make showcase for shared library plugin for external type checking to prove my point (maybe next week)

I've added the development branch with a hacky build solution and exposing the cmp_dirent to lua, I've written the default cmp_dirent in lua now also. Will be working a bit more on this making the build work cross-platform (currently it just works with homebrew on mac) better and adding more functions to the api.
The idea now is that all the laser specific functions will be starting with a L_ and then the name of the function.


Update to Cesium 1.11

fixes #67
I didn't see any examples that needed any updates for the new camera path.  If @bagnell or anyone has some input on any examples to specifically update let me know.

Looks good, thanks.


Error exporting model with field parameter

Hi,
I'm using the new Field Parameter feature in the latest May 2022 release of Power BI. When I try to use Model Documenter I get the following error :
Error 0x0003: Error exporting vpax file.
It works correctly with a model without any field parameter, and when I add one field parameter, I get the error.
In DAX Studio, if I Export Metrics I get the following error message :

Thanks for your help,
Charles

Hi @charles-dh
Thanks for flagging this! I'll pass this forward to the developers of the NuGet package that generates the vpax file, and see what I can do to contribute.
In this thread I'll keep you updated on fixes for this issue.
--Marc

Any update on this? I'm having the same issue (see above mention: Issue https://github.com/marclelijveld/External-Tools-Model-Documentation/issues/43)

Hi @sherlockspreadsheets and @charles-dh
An update to this item: I finally found time to further investigate this issue. I found what is causing it and have an idea how to solve it. This might take some time, so for now I've documented a workaround and created a dedicated page to it. You can find this work-around here
Thanks for your patience!

Hi @marclelijveld,
Thank you for your effor on this bug and the project in general!
I'm having a bit of trouble with your workaround. I'm following very closely all the steps, up to and including step 6. So far so good.
However, in Step 7, I do not see any kind of template report in C:\Program Files (x86)\Data-Marc\ModelDocumenter.
Did you mean I should run the model documenter from my model in power bi, between steps 6 and 7? I tried that too, but I get the same error message as I got before trying the workaround. Am I missing something?
I am using DAX Studio 3.0.0 and PowerBI 2.109.782.0 64-bit.
Thanks again.

Hi @geo909
Stay tuned! I'm finalizing a newer version which solves this bug. Expect to release it next week. Currently testing in a small group :)
I'll look at the c drive reference later today, cause I might have put the wrong location there.
--Marc

@geo909  you're right. Location of the template file should be:
C:\Program Files (x86)\Common Files\Data-Marc\ModelDocumenter

Fixed with release of version v2.1.0 and merge #48


Write ATS for TG requirement 14

Each of the elements shall be populated with a URL that allows access to an unambiguous metadata record. The URL shall be either an HTTP/GET call on the GetRecordById operation of the Discovery Service or a direct link to the ISO 19139 metadata document.

Same as #13 : agreed.


Allow suppressing compinit insecure warning

Description
Running zsh/antigen as root/sudo with my normal user's configuration causes a compinit prompt
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]?

I understand that this is to protect the user from using completions that could have been modified by another user and thus might be malicious.
Would it be possible to incorporate a variable test to silently ignore insecure files such as
if [[ $ANTIGEN_DISABLE_COMPAUDIT = true ]]; then
  compinit -d "<zcompdump>"
else
  compinit -i -d "<zcompdump>"
fi

Similar to how oh-my-zsh allows you to ignore insecure files: https://github.com/robbyrussell/oh-my-zsh/blob/master/oh-my-zsh.sh#L65
Steps to reproduce
Minimal steps to reproduce this behavior. Example:
1 - Open terminal
2 - sudo -s
3 - insecure files prompt is displayed

Expected behavior:
- if `$ANTIGEN_DISABLE_COMPAUDIT` is set to true, silently ignore insecure files

Software version

Antigen v2.2.2
zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
Linux myhost 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Configuration

gist of .antigenrc: doesn't exist
gist of .zshrc: https://gist.github.com/AbbyRH/a6467ac6ada924db6448bee21e4d4fc5

More information

+1 drives me nuts

Any known workarounds?

Should have been fixes on 2.2.3 with PR https://github.com/zsh-users/antigen/pull/634.

I just installed Antigen, along with a few Zsh plugins and I've got this issue, but without being sudo/root, just with my normal user, but shouldn't this be fixed already?


Add TSDF2D Grid

Adds TSDF2D Grid
Adds tests for TSDF2D Grid
Introduces Grid2D::GrowLimits(...) for multiple grids to reduce code duplication between TSDF2D and Grid2D

@wally-the-cartographer merge

Merge requested by authorized user kdaun. Merge queue now has a length of 1.


Autocomplete: Fix 26 year rate limit bug

The warning message when you exceed the rate limit is wrong

pic for ref:

🤔


axios module: axios.setToken where to run?

I am currently running this in nuxtServerInit if a token is available. Progressing a little further, I noticed that the token is no longer available from the client. Meaning I also need to run setToken again from the client side. From which nuxt lifecycle stage should I set the token with $axios.setToken?

one solution for me was to create an axios plugin that exports $axios
let axios = null

export default ({store, $axios}) => {
  console.log('axios plugin init')
  $axios.setToken(store.state.token)
  axios = $axios
}

export {
  axios
}

Looks a bit weird for me so would love some feedback if this is a bad approach.

You are on a right way. The only change required for that plugin is that you can directly access $axios and call setToken on it. No need to import/export.
plugins/auth.js
export default ({store, app: { $axios }}) => {
  $axios.setToken(store.state.token)
}

I tried to provide a solution that did not know if it was feasible.

@seekcx I've seen that PR. But directly integration of store into axios makes it optinized and maybe not everyone wants using vuex in their project. We need an enhancement in  Nuxt core indedd that plugins need a way adding things to __NUXT__ variable and access it after render. Meanwhile whats wrong with simply using per-project plugins like above to call setToken with store state?

@pi0  Sorry, just did not pay attention to see you on a comment, really perfect solution to this problem.

@pi0 the export import was added in for a different reason. It was so I can import from my store so I don't have to pass in axios to all my actions.
I remember you mentioned there is an issue with this approach. Is there an issue or is this an OK approach?

Also what is the difference between accessing $axios from the context vs grabbing from ctx.app

@uptownhr It works but unsafe for SSR. (Because global variables will be shared between concurrent requests and this is probably not what we want!). We can access token from context only ( $axios, app, store, etc )

Hello @pi0
I am confused. Do I need to call $axios.setToken both on SSR and CSR?
I ask becouse now I have o code like this, plugin:
export default function ({ store, route, redirect, req, res, isClient, isServer, app: { $axios } }) {
  if (isServer) {
    const cookies = new Cookies(req, res)
    authToken = cookies.get(AUTH_TOKEN_KEY)
    if (authToken) {
      $axios.setToken(authToken)
    }
    [...]
  }

And the user is logged correctly. But later for CSR axios don't send Authorization header. Why is it?
When I add this to the plugin everything works fine:
  if (isClient && authToken) {
    $axios.setToken(authToken, 'Bearer')
  }

Yes you do have to set on both. I'd break down your get cookie logic with
isserver and isclient
On Fri, Jul 28, 2017, 4:40 AM awronski<EMAIL_ADDRESS>wrote:

Hello @pi0 https://github.com/pi0
I am confused. Do I need to call $axios.setToken both on SSR and CSR?
I ask becouse now I have o code like this, plugin:
export default function ({ store, route, redirect, req, res, isClient, isServer, app: { $axios } }) {
if (isServer) {
const cookies = new Cookies(req, res)
authToken = cookies.get(AUTH_TOKEN_KEY)
if (authToken) {
$axios.setToken(authToken)
}
[...]
}
And the user is logged correctly. But later for CSR axios don't send
Authorization header. Why is it?
When I add this to the plugin everything works fine:
if (isClient && authToken) {
$axios.setToken(authToken, 'Bearer')
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt-community/modules/issues/89#issuecomment-318630677,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-Utrxzodzhv7pZ_pZox2_s43fPLHJqks5sScijgaJpZM4Oh9dS
.

@awronski As of rc2 we have a magical feature which allows doing that once. Just give us little more time as there are lots of works while preparing final release :)

@pi0 by any chance is there a sample code to also inject axios into the
vuex action dispatcher?
On Fri, Jul 28, 2017, 9:55 AM Pooya Parsa<EMAIL_ADDRESS>wrote:

@awronski https://github.com/awronski As of rc2 we have a magical
feature which allows doing that once. Just give us little more time as
there are lots of works while preparing final release :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt-community/modules/issues/89#issuecomment-318706713,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-UtnrKbrwsUSvFXRmBvZSbKs9NBmbLks5sShKQgaJpZM4Oh9dS
.

@pi one more question. It the global variables shared between concurrent requests fixed in the rc.3?
I have strange behavior.
Plugin code:
export default function ({ store, route, app: { $axios } }) {
  console.log( $axios.defaults.headers.common.Authorization )
   [...]
}

I log user lets say with the Chrome browser.
Than I access the page with the IE browser (without login)
In the console log of the server I see Bearer of the first user.

In the CSR the tokens are set correctly.

I don't think you want to use defaults. That affects it globally. The axios
module has a set token method avail for you to use.
On Fri, Jul 28, 2017, 10:54 AM awronski<EMAIL_ADDRESS>wrote:

@pi https://github.com/pi one more question. It the global variables
shared between concurrent requests fixed in the rc.3?
I have strange behavior.
Plugin code:
export default function ({ store, route, app: { $axios } }) {
console.log( $axios.defaults.headers.common.Authorization )
[...]
}

I log user lets say with the Chrome browser.
Than I access the page with the IE browser (without login)
In the console log of the server I see Bearer of the first user.

In the CSR the tokens are set correctly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt-community/modules/issues/89#issuecomment-318721089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-UtqS3VMf4z92rDbqQ6QiOP2gwtV9Kks5sSiBogaJpZM4Oh9dS
.

@uptownhr The problem is the axios module use defaults internally. Just check:
https://github.com/nuxt-community/modules/blob/master/modules/axios/plugin.js#L33
In the present implementation the module cannot be use on server. Therefore I cannot hydrate the store for server side rendering.
I am thinking about diffrent implementation. Where the token is not store in the axios defaults but retrived with axios interceptors from the store. This should be thread safe.

Interesting.
I do have a working version on my project right now. My approach was to set the token into the store during nuxtserverinit and then set the token again in the plugin for the client.
plugin
export default ({store, $axios}) => {
  $axios.setToken(store.state.token)
}

nuxtServerInit ({commit}, {req, route, app, store}) {
    let cookies = new Cookies(req)
    let token = cookies.get('access-token')

    if (!token) return

    commit('setToken', token)
    app.$axios.setToken(token, 'Bearer')
  }

@uptownhr Hi James!
thanks for sharing your code.
Your example is working but I think it is not correct.
You set token in the nuxtServerInit, so the token is set on the shared axios server instance.
The same for every client.
In my opinion this is potentially security problem.

I did a quick fix inside the nuxtjs/axios/plugin.js:
function tokenHandler(config, store) {
  if (store.getters.authToken) {
    config.headers.common['Authorization'] = store.getters.authToken
  }
  return config
}

  //Token handling
  axios.interceptors.request.use(config => tokenHandler(config, store), errorHandler.bind(ctx))

Now I do not need to use setToken at all and it workds bor server and client side.
I will try to fork a repo and make a PR.

Awesome solution.  Where is the store passed in from and which store instance is this?
But man handling axios is pretty scary. I would have thought axios is segmented as long as you use axios provided in the context.

Axios module has a new home and finally, SSR is safe to use setToken and setHeader. The main cause was totally crazy! commit.
Upgrade to >= 3.1.3 is recommended for everyone!
yarn add<EMAIL_ADDRESS># or
npm i<EMAIL_ADDRESS>

Thank you!
On Sun, Aug 13, 2017, 7:41 AM Pooya Parsa<EMAIL_ADDRESS>wrote:

Axios module has a new home
https://github.com/nuxt-community/axios-module and finally, SSR is safe
to use setToken and setHeader. The main cause was totally crazy! commit
https://github.com/nuxt-community/axios-module/commit/935522853674bd986380eb754b532da2dc94dcc7
.
Upgrade to >= 3.1.3 is recommended for everyone!
yarn add<EMAIL_ADDRESS>or
npm i<EMAIL_ADDRESS>—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt-community/modules/issues/89#issuecomment-322046142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-UtjqmaqFmHR6TjUk65PYwRWFgyH1sks5sXwsZgaJpZM4Oh9dS
.

@awronski As of rc2 we have a magical feature which allows doing that once. Just give us little more time as there are lots of works while preparing final release :)

@pi0 i'm on rc8 and tried to use this magical feature of using setToken just once. Can you walk me through this? Currently i'm calling setToken from the nuxtServerInit app.$axios.setToken. Works went request is made from the server but client looses the token.

Is there any progress about this issue? The token is still lost on client side. Has anyone managed to make it work and how? I went the same route as @uptownhr but I cant manage to get the setToken work for the client side. The plugin with setToken does nothing I think.

@pi0 the same problem as @uptownhr has.
After $axios.setToken on the server side, the $axios instance loses token on the client side.
Could you explain, how to use the "magic" feature of the setting once?

Same thing here, I do a this.$axios.setToken(token, 'Bearer') in nuxtServerInit() then the authorization header disappears on client side :(

[2] After $axios.setToken on the server side, the $axios instance loses token on the client side.
Same thing here, what is solution?
@TheDeveloperTom @supertino7 @uptownhr @pi0

same thing here, is there any beforeRequest method to set token before sending a request?

Hope this helps someone:
i have this:
/plugins/axios.js
import axios from 'axios';

function tokenHandler(config, store) {
    if (store.state.account.user && store.state.account.user.jwt) {
          config.headers.common['Authorization'] =  `Bearer ${store.state.account.user.jwt}`;
   }
    return config
}

export default (context) => {
    //store is the current store, both server and client side. and unique for nuxtServerInit
    let {store, app} = context;
    axios.interceptors.request.use(config => tokenHandler(config, store),
        function (error) {
            return Promise.reject(error);
        });
}

Of course add the 'plugin' to your nuxt.config.js
  plugins: [
        '@/plugins/vuetify',
        '@/plugins/axios'   <--
    ],

and inside the nuxtServerInit i set the needed store values (from cookies for example)
This is just a more complete example of some of the suggestions elsewhere..

I'm pretty lost. :'( What is the recommended way of setting the token now? When I set it on the server side only, its lost in the client side.

@m4tty-d I don't know what the recommended way but I am using this with success:
plugins/axios.js:
export default function ({ $axios, app, store }) {
  $axios.onRequest(config => {
    if (store.state.authToken) {
      config.headers.common['Authorization'] = store.state.authToken
    }
  })
}

I spent a few hours today trying to figure this out and think I finally have a working solution for Nuxt 2.6.3. I have an store for the auth token and current user. YMMV with this code since I don't really know what I'm doing.
store/index.js
export const actions = {
  async nuxtServerInit ({ dispatch, commit }) {
    const token = this.$cookies.get('x-access-token')

    if (token) {
      try {
        await commit('auth/setToken', token)
        await dispatch('auth/fetchUser', token)
      } catch(e) {
        console.log(e)
        await dispatch('auth/logout')
      }
    }
  }
}

store/auth.js
export const state = () => ({
  user: null,
  token: null
})

export const mutations = {
  setUser(store, user) {
    store.user = user
  },

  resetUser(store) {
    store.user = null
  },

  setToken(store, token) {
    store.token = token
  },

  resetToken(store) {
    store.token = null
  }
}

export const actions = {
  async fetchUser({ commit }, token) {
    const { data } = await this.$axios.get('auth/me')
    commit('setUser', data)
  },

  async login({ commit }, id) {
    const { data } = await this.$axios.post('auth/login', { id: id })
    commit('setUser', data.user)
    commit('setToken', data.token)

    this.$cookies.set('x-access-token', data.token, {
      maxAge: 60 * 60
    })
  },

  async logout({ commit }) {
    commit('resetUser')
    commit('resetToken')
    this.$cookies.remove('x-access-token')
  }
}

plugins/axios.js
export default function ({ $axios, store, redirect }) {
  $axios.onRequest(config => {
    const token = store.state.auth.token
    if (token) config.headers.common['Authorization'] = `Bearer ${token}`

    console.log('Request:')
    console.log(config)
  })

  $axios.onResponse(response => {
    console.log('Response:')
    console.log(response)
  })

  $axios.onError(error => {
    const code = parseInt(error.response && error.response.status)

    if (code === 400) {
      redirect('/400')
    }
  })
}

middleware/auth_required.js
export default function ({ store, redirect }) {
  if (!store.state.auth.user) {
    return redirect('/login')
  }
}

The key to get this working is to ensure that I commit the token before the current user, since my middleware checks the latter, and to use the async in nextServerInit, which I think blocks the middleware from processing. I'm not positive on this detail, though, and would appreciate any feedback on this code.

Why aren't people using the Nuxt $auth module?  It will make your life way easier.
https://github.com/nuxt-community/auth-module
plugins/axios.js
export default function ({ app, $axios, redirect }) {
  const authProvider = 'auth0';
  $axios.onRequest((config) => {
    console.log(`Making request to ${config.url}`);
    if (app.$auth) {
      $axios.setToken(app.$auth.getToken(authProvider));
    }
  });

  $axios.onError((err) => {
    console.error(err);
    if (err.response.status === 401) {
      app.$auth.logout();
      redirect('/auth/login');
    }
  });
}

My app will eventually use a federated authentication system (passport-cas) that isn't and will probably never be one of the ones supported by auth-module.

My app will eventually use a federated authentication system (passport-cas) that isn't and will probably never be one of the ones supported by auth-module.

Indeed https://auth.nuxtjs.org will be used by most but more traditional auth methods (enterprise) it doesn't do.

@m4tty-d I don't know what the recommended way but I am using this with success:
plugins/axios.js:
export default function ({ $axios, app, store }) {
  $axios.onRequest(config => {
    if (store.state.authToken) {
      config.headers.common['Authorization'] = store.state.authToken
    }
  })
}

Are you still using this? I can't get it to work. Why is nuxt making working with this so much more complicated?


Hide the pre-release checkbox in app store gallery

Suggested by @danielhollas,

the include pre-releases" toggle may better be hidden. If the user wants a pre-release, they should probably go to the "manage app" page anyway.

I don't fully agree with this, we have this functionality and it benefits for the user when need to keep it here. In essence, AiiDAlab encourages quick development so the pre-release should be common. Let's discuss!

After some thought I am fine with keeping the check-box as is.


CC Free FAQ storage limit

-Added a Q&A about usage limits
-Moved the sentence about storage from the first question to the usage question

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/6112ae06873cba98ec64478d7feee6956ade537f/
Edited pages:

cockroachcloud/free-faqs.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/0fbf95775bf2244b35f02cdd193db41b4e3c4ff6/
Edited pages:

cockroachcloud/free-faqs.md


@app.error_processor with specific errors

Now, @app.error_processor can be triggered by all HTTPError.
If we want to handle different errors with different logics, the code will be coupled:
@app.error_processor
def my_error_processor(error):
    if isinstance(error, AError):
        ...
        return {...}

    if isinstance(error, (BError, CError)):
        ...
        return {...}

It will be better specifying errors which can trigger the processor.
@app.error_processor(AError)
def a_error_processor(error):
    ...
    return {...}

@app.error_processor((BError, CError))
def bc_error_processor(error):
    ...
    return {...}

After reading source code, I realized we can implement this with errorhandler() in Flask.
@app.errorhandler(AError)
def a_error_processor(error):
    ...
    return {...}

@app.errorhandler(BError)
def b_error_processor(error):
    ...
    return {...}

It seems that there was a wrong issue because I didn't read the docs carefully. Sorry, please delete it. @greyli


f16 convolution gives the same performance as f32

ACL 24.07
ACL build command:
scons neon=1 opencl=0 openmp=1 cppthreads=0 os=linux data_layout_support=all arch=arm64-v8.2-a build=native --jobs=64 build=native --silent fixed_format_kernels=True Werror=0

benchdnn build command:
ACL_ROOT_DIR=$PWD/../ComputeLibrary cmake -B build -DCMAKE_BUILD_TYPE=Release -DDNNL_USE_ACL=ON -DCMAKE_RULE_MESSAGES=OFF -DACL_LIBRARY=$PWD/../ComputeLibrary/build/libarm_compute.so -DACL_CORE_LIBRARY=$PWD/../ComputeLibrary/build/libarm_compute.so -DACL_GRAPH_LIBRARY=$PWD/../ComputeLibrary/build/libarm_compute_graph.so -DDNNL_CPU_RUNTIME=OMP
cmake --build build --target benchdnn --parallel $(nproc)

Reproducer commands:
taskset -c 0 ./benchdnn --max-ms-per-prb=10e3 --mode=P --conv --reset --allow-enum-tags-only=0 --engine=cpu --dir=FWD_I --alg=direct --dt=f16:f16:f16 --stag=acdb --wtag=any --dtag=acdb --attr-scratchpad=user mb1_ic4oc12_ih70oh70kh3sh1dh0ph1_iw70ow70kw3sw1dw0pw1
taskset -c 0 ./benchdnn --max-ms-per-prb=10e3 --mode=P --conv --reset --allow-enum-tags-only=0 --engine=cpu --dir=FWD_I --alg=direct --dt=f32:f32:f32 --stag=acdb --wtag=any --dtag=acdb --attr-scratchpad=user mb1_ic4oc12_ih70oh70kh3sh1dh0ph1_iw70ow70kw3sw1dw0pw1

NHWC layout recommended by ACL is used in reproducer.
taskset is used to force single thread mode and avoid threading issues.
The 1st command (f16 convolution) gives 0.267766 ms, the 2nd one (f32 convolution) gives 0.273554 ms on Ampere.
I'd expect better f16 convolution performance.
If reproducer command is called with DNNL_VERBOSE=1 then we observe 2 convolutions in f16 case:
onednn_verbose,primitive,exec,cpu,convolution,indirect_gemm:acl,forward_inference,src_f16::blocked:acdb::f0 wei_f16:ap:blocked:Acdb8a::f0 bia_undef::undef::: dst_f16::blocked:acdb::f0,attr-scratchpad:user,alg:convolution_direct,mb1_ic4oc12_ih70oh70kh3sh1dh0ph1_iw70ow70kw3sw1dw0pw1,0.501953
onednn_verbose,primitive,exec,cpu,convolution,indirect_gemm:acl,forward_inference,src_f32:a:blocked:acdb::f0 wei_f32:a:blocked:Acdb4a::f0 bia_undef::undef::: dst_f32:a:blocked:acdb::f0,attr-scratchpad:user,alg:convolution_direct,mb1_ic4oc12_ih70oh70kh3sh1dh0ph1_iw70ow70kw3sw1dw0pw1,0.444824

and 1 convolution in fp32 case:
onednn_verbose,primitive,exec,cpu,convolution,indirect_gemm:acl,forward_inference,src_f32::blocked:acdb::f0 wei_f32:a:blocked:Acdb4a::f0 bia_undef::undef::: dst_f32::blocked:acdb::f0,attr-scratchpad:user,alg:convolution_direct,mb1_ic4oc12_ih70oh70kh3sh1dh0ph1_iw70ow70kw3sw1dw0pw1,0.112061

It's not clear the purpose of the 2nd convolution in f16 case (moreover, it's f32 convolution). Probably, it's ACL integration in oneDNN issue rather than ACL issue.

@morgolock I double checked the issue description and I think, I can't provide standalone ACL reproducer.
Perhaps this issue needs to be reviewed from oneDNN integration point of view, since oneDNN calls 2 convolution primitives in fp16 case and only 1 primitive in fp32 case.
So, probably, it's not ACL issue, but ACL integration into oneDNN issue.
Should we ask Milos to take a look at this?

Indeed, increasing channel number makes difference between f32 and f16 inference: 1.57 ms vs 0.8 ms


runWithOwner Listener pollution from previous scope.

Describe the bug
  createEffect(()=>{
      let topScopeListener = getListener()
      runWithOwner(someOwner,()=>{
       let innerScopeListener = getListener()
       console.log(innerScopeListener === topScopeListener ) // true
      })
    })

it may be expected that runWithOwner, creates a "clean" scope and may not pollute/expose other listeners un intentionally.
it is also proposed, in this https://github.com/solidjs/solid/discussions/1494 discussion
that solid will support explicit Listener primitives, runWithListener as one option, providing a fine grain control, for more advance use cases.
by default, when entering a new owner scope, the previous Listener should not be carries over unless explicitly set by the user.
which may also be supported by a 3rd  parameter for runWithOwner
Your Example Website or App
n/a
Steps to Reproduce the Bug or Issue
see description
Expected behavior
runWithOwner, unset Listener, and/or provide a way to set an explicit listener.
Screenshots or Videos
No response
Platform
playground
Additional context
No response

I agree we should unset the Listener. I don't know whether it makes sense to restart listening contexts like that. It's tricky because on re-run it wouldn't necessarily run it. It gets into a zone that is a bit messy. And I think requires some more thought.


Issue with Lazy Loading/Modules

Routing to a lazy loaded module in the front end seems to recursively load main-es2015.js
Please find attached repo with replication of the issue.
Please let us know if this should work, or if we're doing something wrong. Keen to start using this in anger, soon as possible :)
ngx-elements-router (2).zip
Steps to replicate:
Run microfront end on server
Serve platform app
Navigate to localhost:4200/quote-and-buy
Observe console window of infinite loop
Look forward to hearing from you.
Vickie & Kelvin

Hey @vickieallen-certua!
I've debugged through that issue and it looks like the load-bundle activation guard is entered over and over without additional navigations being cause by this lib.
I am not sure how lazy-loading of modules is implemented in Angular, but I would assume that it results into different files besides the main.js . However, ngx-build-plus will bundle these all together into one main.js file. So what I assume is happening here is that the lazy-loading somehow leads to the main.js being loaded again since the module to be lazy loaded is merged into this file.
Long story short: I think lazy loaded modules can not work within web-component based micro frontends due to them being defined in a single file. If you're trying to achieve more isolated modules within the micro frontend, then loadChildren: () => QuoteAndBuyModule is maybe an option? If you're trying to boost performance, I am afraid I don't think there's a solution to this with this approach right now.

Thank you this is very helpful. I have changed all our lazy loaded modules to load as you suggested above and it seems to be working now.


PluginHandle configuration not work

Describe the bug
Configure PluginHandle .
PluginName: divide
FieldName: timeout
DefaultValue: 10000
I hope when rule registered，the timeout is 10000,  but still 3000.
In the plugin processing management, configure the timeout of the divide plugin to 10000 (the system default is 3000). After the rule is registered, the timeout of the rule is still 3000. I originally hoped that the registered rules could be 10000 in accordance with the configuration timeout in the processing management
Environment

Soul version(s): 2.3.0

Steps to reproduce
Expected behavior

I will follow up this question.keep contact!

we will fix it on next version.

The current version of the interface registration does not go to the pluginhandle table to read the plugin attribute value. Under our internal evaluation, this function will be added if necessary.

Need to be optimized? @yu199195 @dengliming

After discussion, support is not considered for the time being, and the issue will be closed in one day.


[Storage] Decrease load on SRP.

Talking to SRP in each VLW test doesn't scale well causing throttling and impacting other language's pipelines.


Update HISTORY file

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
1384

💛  - Coveralls


BHBC-1983, 2069: Migrate Keycloak to Standard Realm

Overview
Links to Jira tickets

{List all applicable Jira tickets}

Description of relevant changes

{List all relevant changes, in particular anything that will help the reviewers test/verify this PR}

PR Checklist
A list of items that are good to consider when making any changes.
Note: this list is not exhaustive, and not all items are always applicable.
Code

[ ] New files/classes/functions have appropriately descriptive names and comment blocks to describe their use/behaviour
[ ] I have avoided duplicating code when possible, moving re-usable pieces into functions
[ ] I have avoided hard-coding values where possible and moved any re-usable constants to a constants file
[ ] My code is as flat as possible (avoids deeply nested if/else blocks, promise chains, etc)
[ ] My code changes account for null/undefined values and handle errors appropriately
[ ] My code uses types/interfaces to help describe values/parameters/etc, help ensure type safety, and improve readability

Style

[ ] My code follows the established style conventions
[ ] My code uses native material-ui components/icons/conventions when possible

Documentation

[ ] I have commented my code sufficiently, such that an unfamiliar developer could understand my code
[ ] I have added/updated README's and related documentation, as needed

Tests

[ ] I have added/updated unit tests for any code I've added/updated
[ ] I have added/updated the Postman requests/tests to account for any API endpoints I've added/updated

Linting/Formatting

[ ] I have run the linter and fixed any issues, as needed
See the lint commands in package.json
[ ] I have run the formatter and fixed any issues, as needed
See the format commands in package.json

SonarCloud

[ ] I have addressed all SonarCloud Bugs, Vulnerabilities, Security Hotspots, and Code Smells

@curtisupshall Looks really good!
A few minor nits.
We'll need to write a bunch of tests for the new functions, etc.
And double check the pipeline is providing the env vars (unless they are and I just missed it). Should run a few tests in the deployed PR to confirm, if you haven't already.