Added shared library and pkg-config support for LibSPDM.

Changes:

spdm_device_secret_lib_sample has its own dump_hex_str_sample method
added pkg-config libspdm.pc.in file for cmake to use as template

CMakeLists.txt changes:

added BUILD_SHARED_LIB cmake parameter (ON/OFF) to enable/disable building of libspdm.so in addition to the static libraries
added two build paths for libspdm.so that generate distinct pkg-config pc files, for runtime linking with either mbedtls or openssl

Hi, thank you for reviewing my change and for the feedback. I added some comments above and fixed some of the issues raised.

@uvinrg what is the use case for this? Will this primarily be used to construct SPDM Requesters, Responders, or both?

Hi Steven, the intent is to package libspdm as a regular shared library on linux distributions for future work around SPDM attestation. Depending on target platform and usecase, the libspdm shared library can act as either requester or responder.
Thank you for all the feedback, I responded to some of the comments and concerns raised and I will make the changes in the next commit.

Sorry for the delay, I committed the new change with three shared libraries, one for libspdm, one for the platform code and one for the crypto libraries interfaces. Thank you.

Is it possible to add support to build shared libraries for Windows platform?  Thanks a lot in advance.

Is it possible to add support to build shared libraries for Windows platform? Thanks a lot in advance.

Unfortunately, I only used libspdm under linux, so I don't have the know-how. Feel free to add the Windows support if you need it.


migrate to mdc tabs wip

@zackcl i'm having a hard time figuring out how to style these tabs in a similar way, I've tried on a few different occasions to re-style it and it just is not so easy, or I'm going the wrong way about it. I've committed basically what the migration does, I've opened this as a draft work-in-progress if you wanted to take a stab at it.

@danoswaltCL This one is ready for review.


Code tidy up in Manager - Makoto

@brantlymillegan Please provide some visual indication of which part of wording fits into which section of current page (commented in the draft google doc) .


Updated PR check and push github workflows to run with mvp_demo branch

Signed-off-by: Chandrakala Subramanyam<EMAIL_ADDRESS>

Have opened it by mistake from autotune repo, will create a PR from my fork, closing this one.


SimulateTransactions should fail if one of the txns gets reverted

there was a social consensus on this

Consensus changed to not do this anymore.


Make rootblocks objective

Make optsRootBlocksEvictionDelay a protocol parameter: The value needs to be sufficiently large - MaxCommittableAge comes to mind but maybe more?

The main issue we're having is imo that root blocks are not (entirely) objective. The issue is twofold:

Currently we only mark a block as root block if it is accepted and is referenced by an accepted block in a future slot. Technically, according to this definition a block can always become a root block from any point in the future. The problem here is that it now depends on eviction and when slots become evicted before that is not possible anymore (which is subjective, nodes evict at different times).
The second is as you state optsRootBlocksEvictionDelay, which should indeed be a protocol parameter or implicitly part of the protocol rules.

Status quo

red blocks: root blocks according to the current definition
green block: not clear what happens with this block and its parent. especially problematic when another node wants to warp sync and thus doesn't see the green block's parent as a root block.
Suggested solution
Instead of having subjective root blocks, I'd suggest making all accepted/committed blocks of a slot become root blocks. But only for blocks up to slot + maxCommittableAge. This rule is objective, simple and it is always clear which blocks can be referenced from a future block.

An exception to this rule is when the chain halts and is revived: here the commitment the block A points to is empty. So the parent of block A should be any block within the last non-empty slot before the empty commitment of block A.

Conclusion
This change should actually simplify the entire engine/eviction package.
Another note is the snapshot: We probably need to export all blockIDs (+ commitmendIDs?) starting from slot - maxCommittableAge.


add cleanup

OK https://github.com/amyu/setup-android/actions/runs/6959670030/job/18937427544?pr=222


[desktop] Stop frostwire complaining about mplayer (in linux)

Hi.
Everytime we start frostwire we get the warning popup "FrostWire requires Mplayer to play your media but I could not find it in your computer"
Although mplayer project is still not dead, most of the distros moved on to the mpv project
Please make it possible either to:
1-  stop this checking of happening, so we don't have this warning anymore OR
2-  Make the player configurable (changing the video player in the options, doesn't do anything regarding this warning popup).
Best regards,
David Santiago

is pretty much impossible because FrostWire communicates with mplayer and the way it communicates with it will not work for any other player.

So let's do the first option David.
Let's add a checkbox on that dialog that says something like:
[ ] Don't warn me again about this
Once that's checked it will not warn you again.
Sounds cool?

Also, thanks for letting me know about mpv project, perhaps the pipe interface we created to talk to mplayer will work with mpv. And we'll probably want to recompile our version of mplayer for windows and mac using the mpv project.

1. is pretty much impossible because FrostWire communicates with mplayer and the way it communicates with it will not work for any other player.

So let's do the first option David.
Let's add a checkbox on that dialog that says something like:
[ ] Don't warn me again about this
Once that's checked it will not warn you again.
Sounds cool?

I'm cool with that.

Also, thanks for letting me know about mpv project,

No problem.

perhaps the pipe interface we created to talk to mplayer will work with mpv. And we'll probably want to recompile our version of mplayer for windows and mac using the mpv project.

Probably. If i'm not mistaken mpv is a fork of mplayer where the devs added the missing features from mplayer2 (mplayer fork) , removed legacy code, and tried to make saner command line options. I also believe that most of the devs of both projects migrated as well to mpv.
More info about the project here

Tested integrating mpv and the current interprocess communication protocol would not work with it.
Therefore decided to compile a fresh new version of mplayer for mac and windows, and will make sure mplayer is a dependency for the packaged version.
Will implement a "Don't ask me again" for mplayer setting, so the dialog doesn't become a nag for linux users outside .deb and .rpm distros.
https://github.com/frostwire/frostwire-jmplayer/releases/tag/frostwire-jmplayer-1.5.0-jan-2023

Hi,
My 2 cents here.
Would it be possible in the more or less near future to use something like MPRIS 2.2[1] to relax the dependency to a specific media player?
It exists some libraries that may help like: https://github.com/hypfvieh/dbus-java
I am not a Debian Developer but I am very confident on the state and the future of the mplayer package (based on 1.4) in Debian for instance. It is tied to an old ffmpeg (4.4.x vs. 5.1.x) version and may block its transition into the next Debian release, isn't it?  And I do not know if packaging mplayer 1.5 will solve everything.
Thanks!
[1] https://specifications.freedesktop.org/mpris-spec/latest/

I think the ultimate solution will be to have FrostWire focus more on its search and download capabilities and leave things like media playback to the user's favorite player, this way we can focus more on our core functionality.
For now mplayer 1.5 seems to work.
Not sure if even communicating through DBUS to the player's process changes the fact that the commands sent and the output coming out of the player process are different (mplayer vs mpv's input/output)
It's nice to know dbus-java exists though.


fixes #136

fixes #136 by adding missing linux specific dependencies for linux password manager to setup.cfg and github workflow

this should now fix the core problem of #136, avoiding the gnome-keyring package will be moved to a separate "nice to have" issue


Encode version 1 in layers

Connects to https://github.com/mapzen/mapbox-vector-tile/issues/42
@zerebubuth could you review please?

Coverage remained the same at 93.131% when pulling 53ab7079139d0e4ee89e9ee922927a87309c5e93 on encode-version-1 into 773dbfdc38e75ab08f572f6a1c5fc321007dc252 on master.

Thinking about this a little bit more, could it have consequences in tangram wrt the multipolygon winding order changes?

As far as I can tell from Tangram's decoder, it isn't checking the version, so I think we're safe to "downgrade" to v1 for the moment.

:+1:

Cool. I forgot that tangram itself was handling decoding multipolygons.


Stripe var added to SBAccount + Removed camera unused var + Follow/Unfollow

:+1:

Couple of things:

When will we not have the full SBAccount to pass through to these methods? Most of our other methods take the models themselves.
Does the response include new models to deserialize?

The following response returns the user and account objects keyed to user and account. So no, models already exist.
Regarding having the full object, I guess it's just nice to not have to have that object if you don't need the whole thing. We're only using the one property from it anyways.

@joshholat  [...] So no, models already exist.

There may be models in memory already, but it doesn't mean we shouldn't still be feeding back the latest data to the subscriber of the signal. And it would be completely wacky to have just one signal out of the entire framework break the convention of sending nexts of deserialized models from the response.
If a subscriber of the signal doesn't need that data, they should simply subscribe to the complete and error events.

@JRHeaton I meant that user and account models already exist for #2 of your questions. So they do need to be deserialized, but the methods to do so should already exist.
Regarding what we pass, let's just do whatever keeps things consistent at this point. Fetching an account object isn't that hard and theoretically it would already be stored on disk somewhere or something.

@JRHeaton @joshholat Either way we should chose one, b/c i know there are other methods in which SBAccount/SBSomeModel are being passed. At our current state i think it makes more sense to pass in the object b/c this pattern is used almost everywhere else.


BusObserver documentation is not entirely accurate

The documentation page on observing lifecycle events isn't entirely up to date I think.
In the example code the observer is initialized using the following code:
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
    var host = cfg.Host(new Uri("rabbitmq://localhost/"), h =>
    {
        h.Username("guest");
        h.Password("guest");
    });

    cfg.ReceiveEndpoint(host, "customer_update_queue", e =>
    {
        e.Consumer<UpdateCustomerConsumer>();
    });
});

var observer = new BusObserver();
var handle = busControl.ConnectBusObserver(observer);

The ConnectBusObserver extension however doesn't support IBusControl. The extension method is declared in IBusBuilder.
So unless I'm missing something and looking at the UseInMemoryMessageScheduler implementation, shouldn't the docs have the following code?
public static class BusObserverExtensions
{
    public static void UseBusObserver(this IBusFactoryConfigurator configurator)
    {
        var specification = new BusObserverSpecification();
        configurator.AddBusFactorySpecification(specification);
    }
}

public class BusObserverSpecification : IBusFactorySpecification
{
    public void Apply(IBusBuilder builder)
    {
        builder.ConnectBusObserver(new BusObserver());
    }

    public IEnumerable<ValidationResult> Validate()
    {
        yield break;
    }
}

var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
    var host = cfg.Host(new Uri("rabbitmq://localhost/"), h =>
    {
        h.Username("guest");
        h.Password("guest");
    });

    cfg.ReceiveEndpoint(host, "customer_update_queue", e =>
    {
        e.Consumer<UpdateCustomerConsumer>();
    });

    cfg.UseBusObserver();
});

If these assumptions are correct I'd be happy to turn this into a pull request.

You are correct, the bus observer can only be configured during bus configuration, and not once you have the IBusControl interface.
The cfg.UseBusObserver() is the proper way to use it.
A pull request would be most welcome :)


New Port TMNT Shredders Revenge.

New Port for: TMNT Shredders Revenge
Thanks to @JohnnyonFlame for porting this wonderful title. ❤
Game Information

TMNT Shredders Revenge
https://store.steampowered.com/app/1361510/Teenage_Mutant_Ninja_Turtles_Shredders_Revenge/

Submission Requirements
CFW Tests
Ensure your game has been tested on all major CFWs:

[x] AmberELEC
[x] ArkOS
[x] JELOS

Resolution Tests
Test all major resolutions:

[x] 480x320
[x] 640x480
[x] 720x720 (RGB30)
[x] Higher resolutions (e.g., 1280x720)

File Structure

Your port should have the following structure:

portname/

port.json
README.md
screenshot.jpg
cover.jpg
Port Name.sh
portname/

Additional Resources
For an in-depth guide on creating a pull request, refer to: PortMaster Game Packaging Guide

Port.json architecture mising

The runtime sets the architecture. 😄


e2e/watchcache: simplify ddsif verification

Remove testing the ddsif as part of the watch cache tests as this flow
was an attempt to diagnose an issue that ultimately was from a bug in
our Kubernetes fork (see https://github.com/kcp-dev/kubernetes/pull/85
for details).

/approve

/lgtm
thank you :)

/hold

Added back StartWorker so we don't leak the informer goroutine

/unhold

The tests exercise DynamicDiscoverySharedInformerFactory only because it appeared to be broken due to enabling the watch cache at the time of creation. I think that in the end, the issue turned out to be something else (removing the crd storage?).
The goal of this PR was to lower the number of informers so that less load is put on the server. However, by running StartWorker method we are back to where we were before.
So maybe we could/should:

change the Start method to actually make use of the passed channel.
remove testDynamicDiscoverySharedInformerFactory altogether.

wdyt?

Pushed an update to remove the ddsif portion of the watch cache testing

/lgtm


Request Dataset Buku Resepi Makanan Melayu Malaysia

Request Dataset Buku Resepi Makanan Melayu Malaysia

Resepi Masakan Melayu
Resepi Masakan Malaysia

Hi there,
you could try looking into our crawled dataset from myresepi.com and resepichenom website.

https://github.com/mesolitica/malaysian-dataset/tree/master/crawl/myresipi.com
https://github.com/mesolitica/malaysian-dataset/tree/master/crawl/resepichenom.com


BE: inform FE about internet connection

@hitnik I have made some minor changes, including modifying the command used and the JSON format to match the API design and functionality document. I've tested on a live system and all seems to be working now. Let me know what you think of the changes. Feel free to merge if you are happy with the changes I made.


Support for specifying socket/core/thread counts.

Do you have any feedback as to how you would approach altering bmd to support specifying CPU topology?
At the moment because bmd executes bhyve -c 4 that results in a 4 socket, 1 core per socket VM. This is fine for most *nix guests, however some operating systems have socket limits (e.g. Windows 11).
To solve this we need to execute something like -c cpus=4,sockets=1,cores=2,threads=2 to bhyve. I was going to create a PR to add nsocket as a new configuration directive, but then it would need to make assumptions about the core and thread count.
i.e. ncpu=4,nsocket=2 would produce -c cpus=4,sockets=2,cores=2,threads=1
i.e. ncpu=6,nsocket=3 would produce -c cpus=6,sockets=3,cores=2,threads=1
i.e. ncpu=5,nsocket=2 would ERROR.
Would this be an acceptable approach for inclusion into bmd?

CPU topology is not supported for now, but it's easy to add supporting it.
I prefer to support all features of sockets/cores/threads that bhyve can handle.
So, how about extending the ncpu directive to take one of sockets, sockets:cores, or sockets:cores:threads ?
i.e. ncpu=2 would produce -c cpus=2, sockets=2, cores=1, threads=1
i.e. ncpu=1:2 would produce -c cpus=2, sockets=1, cores=2, threads=1
i.e. ncpu=2:4:2 would produce -c cpus=16, sockets=2, cores=4, threads=2
The number of cpus is calculated from sockets, cores, and threads by the configuration parser.
This keeps compatibility with the current configuration format and easy to implement.

I implemented it to support the CPU topology feature by #3.
This feature will be included in the next release.

Amazing. Thank you so much. I was going to look at this today, but you've done it so quickly.
Thank you.


SNAPSHOT builds are broken

Snapshot build are broken [0]. @onebeartoe could you clean that jenkins workspace ?
[0] https://onebeartoe.ci.cloudbees.com/job/crawler4j/

I tried clearing the workspace, but it still has an issue with pulling.
I'll reach out to cloubees.  Thanks for the heads up by the way.

Thank you for quick support. We will continue to point to your cloudbees repo. I configured Travis to push to sonatype SNAPSHOT repository, just in case.


B-19535-INT storybook changes from main

Agility ticket
Summary
Storybook change

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

  Generated by :no_entry_sign: dangerJS against 67fe717c27e27a5fd53b98176c02a01f8cf778ca


Detect Implicit Imports in Pkg Extensions

I was testing it out on https://github.com/LuxDL/Lux.jl, and it detects the imports correctly for Lux and its submodules, but it doesn't seem to work for the extensions

Before Triggering any Extension
julia> print_explicit_imports(Lux)
Module Lux is relying on implicit imports for 51 names. These could be explicitly imported as follows:
using Adapt: Adapt
using Adapt: adapt
using ArrayInterface: ArrayInterface
using ChainRulesCore: ChainRulesCore
using ChainRulesCore: AbstractZero
using ChainRulesCore: HasReverseMode
using ChainRulesCore: NoTangent
using ChainRulesCore: ProjectTo
using ChainRulesCore: RuleConfig
using ChainRulesCore: ZeroTangent
using ConcreteStructs: ConcreteStructs
using Functors: Functors
using Functors: fmap
using GPUArraysCore: GPUArraysCore
using LinearAlgebra: LinearAlgebra
using LuxCore: LuxCore
using LuxDeviceUtils: LuxDeviceUtils
using LuxDeviceUtils: cpu_device
using LuxDeviceUtils: get_device
using LuxDeviceUtils: gpu_device
using LuxLib: LuxLib
using LuxLib: alpha_dropout
using LuxLib: batchnorm
using LuxLib: dropout
using LuxLib: groupnorm
using LuxLib: instancenorm
using LuxLib: layernorm
using Markdown: Markdown
using NNlib: NNlib
using NNlib: DenseConvDims
using NNlib: PoolDims
using NNlib: batched_mul
using NNlib: conv
using NNlib: maxpool
using NNlib: meanpool
using NNlib: pixel_shuffle
using NNlib: sigmoid_fast
using NNlib: tanh_fast
using NNlib: ∇conv_data
using Random: Random
using Random: AbstractRNG
using Reexport: Reexport
using Setfield: Setfield
using SparseArrays: SparseArrays
using Statistics: Statistics
using Statistics: mean
using WeightInitializers: WeightInitializers
using WeightInitializers: glorot_uniform
using WeightInitializers: ones32
using WeightInitializers: randn32
using WeightInitializers: zeros32

Additionally, Lux has stale explicit imports for these unused names:

AbstractLuxDevice
AbstractLuxDeviceAdaptor
AbstractLuxGPUDevice
inputsize
setup
testmode
trainmode
update_state

Module Lux.Experimental is relying on implicit imports for 15 names. These could be explicitly imported as follows:
using ADTypes: ADTypes
using ConcreteStructs: ConcreteStructs
using Functors: Functors
using LuxCore: LuxCore
using LuxDeviceUtils: LuxDeviceUtils
using LuxDeviceUtils: gpu_device
using MacroTools: MacroTools
using MacroTools: block
using MacroTools: combinedef
using MacroTools: splitdef
using Markdown: Markdown
using Optimisers: Optimisers
using Random: Random
using Random: AbstractRNG
using Setfield: Setfield

Module Lux.Training is relying on implicit imports for 2 names. These could be explicitly imported as follows:
using ADTypes: ADTypes
using Reexport: Reexport

After Triggering ComponentArrays Ext
Module Lux is relying on implicit imports for 51 names. These could be explicitly imported as follows:
using Adapt: Adapt
using Adapt: adapt
using ArrayInterface: ArrayInterface
using ChainRulesCore: ChainRulesCore
using ChainRulesCore: AbstractZero
using ChainRulesCore: HasReverseMode
using ChainRulesCore: NoTangent
using ChainRulesCore: ProjectTo
using ChainRulesCore: RuleConfig
using ChainRulesCore: ZeroTangent
using ConcreteStructs: ConcreteStructs
using Functors: Functors
using Functors: fmap
using GPUArraysCore: GPUArraysCore
using LinearAlgebra: LinearAlgebra
using LuxCore: LuxCore
using LuxDeviceUtils: LuxDeviceUtils
using LuxDeviceUtils: cpu_device
using LuxDeviceUtils: get_device
using LuxDeviceUtils: gpu_device
using LuxLib: LuxLib
using LuxLib: alpha_dropout
using LuxLib: batchnorm
using LuxLib: dropout
using LuxLib: groupnorm
using LuxLib: instancenorm
using LuxLib: layernorm
using Markdown: Markdown
using NNlib: NNlib
using NNlib: DenseConvDims
using NNlib: PoolDims
using NNlib: batched_mul
using NNlib: conv
using NNlib: maxpool
using NNlib: meanpool
using NNlib: pixel_shuffle
using NNlib: sigmoid_fast
using NNlib: tanh_fast
using NNlib: ∇conv_data
using Random: Random
using Random: AbstractRNG
using Reexport: Reexport
using Setfield: Setfield
using SparseArrays: SparseArrays
using Statistics: Statistics
using Statistics: mean
using WeightInitializers: WeightInitializers
using WeightInitializers: glorot_uniform
using WeightInitializers: ones32
using WeightInitializers: randn32
using WeightInitializers: zeros32

Additionally, Lux has stale explicit imports for these unused names:

AbstractLuxDevice
AbstractLuxDeviceAdaptor
AbstractLuxGPUDevice
inputsize
setup
testmode
trainmode
update_state

Module Lux.Experimental is relying on implicit imports for 15 names. These could be explicitly imported as follows:
using ADTypes: ADTypes
using ConcreteStructs: ConcreteStructs
using Functors: Functors
using LuxCore: LuxCore
using LuxDeviceUtils: LuxDeviceUtils
using LuxDeviceUtils: gpu_device
using MacroTools: MacroTools
using MacroTools: block
using MacroTools: combinedef
using MacroTools: splitdef
using Markdown: Markdown
using Optimisers: Optimisers
using Random: Random
using Random: AbstractRNG
using Setfield: Setfield

Module Lux.Training is relying on implicit imports for 2 names. These could be explicitly imported as follows:
using ADTypes: ADTypes
using Reexport: Reexport

ah yeah. The reason is that the argument isn't actually a "package", it is a module, and we use pathof to get the source code of that module, then traverse include statements. But with pkgextensions, there is no source code include statement.
I think you could do
print_explicit_imports(Base.get_extension(Lux, :MyExtension), joinpath(pkgdir(Lux), "ext", "MyExtension.jl")

to get the actual extension module + the source code. Not sure if there's a way we can automate it 🤔

Perfect that works:
julia> print_explicit_imports(Base.get_extension(Lux, :LuxComponentArraysExt), joinpath(pkgdir(Lux), "ext", "LuxComponentArraysExt.jl"))
Module LuxComponentArraysExt is relying on implicit imports for 9 names. These could be explicitly imported as follows:
using ComponentArrays: ComponentArrays
using ComponentArrays: ComponentArray
using ComponentArrays: FlatAxis
using ComponentArrays: getaxes
using ComponentArrays: getdata
using Functors: Functors
using Lux: Lux
using Optimisers: Optimisers
using Optimisers: AbstractRule

That sounds good! We just have to add checks so it doesn’t error for local modules (without Project.toml) and do it at the level of explicit_exports (rather than printing), so the check_* functions will work. Want to PR it?


proposal: CPU Normalization

This is the proposal of #1570.

/cc @saintube @eahydra @zwzhang0107

/lgtm

/hold until we make final confirmation of the impl detail of koord-manager and koord-scheduler.

Update: Move the scheduler part to #1700 and update some impl details with the latest actual impls.
/unhold PTAL @hormes

Update: Move the scheduler part to https://github.com/koordinator-sh/koordinator/pull/1700 and update some impl details with the latest actual impls.
/unhold
PTAL @hormes

/lgtm
/approve


[Bug]: On forking an application into a new workspace, modal opens inside the app, thus query errors pop up even before saving DS configs

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I fork an application containing a few Datasources into a new workspace, the reconnect modal opens inside the app, and thus query errors pop up even before saving DS configs
This is incorrect behavior.
The expected behavior is to have it behave similar to import behavrior in which case the reconnect modal opens on the home page itself. and thus only after saving DS configs, the app is opened, and queries pass.
Steps To Reproduce

Create an app with a few datasources like mongo/dynamo/s3/gsheets
Fork this application into a new workspace
Note that the reconnect modal opens inside the application, and thus query errors pop up even before saving DS configs
This is incorrect behaviour.
The expected behaviour is to have it behave similar to import, in which case the reconnect modal opens on the home page itself. And thus only after saving DS configs, the app is opened, and queries pass thereof

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

Still reproducible on Prod

Updated the labels as once the modal appears, the fork/import operation is complete.


Add Scoop support in docs

Added argocd-autopilot to scoop https://github.com/ScoopInstaller/Main/blob/master/bucket/argocd-autopilot.json and updated docs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

awesome, thank you @zacharyrgonzales!


Potential out-of-bounds write with MbedTLS

The value of LIBSPDM_MAX_HASH_SIZE is adjusted based on the largest supported SHA algorithm : https://github.com/DMTF/libspdm/blob/955350eff19ff9cf2af29663b5407bb7e9cede57/include/library/spdm_crypt_lib.h#L60-L66
This value is used to allocate memory, for example https://github.com/DMTF/libspdm/blob/955350eff19ff9cf2af29663b5407bb7e9cede57/library/spdm_common_lib/libspdm_com_crypto_service.c#L759
This memory gets passed to MbedTLS and its mbedtls_sha512_finish_ret function which states
 * \param output   The SHA-384 or SHA-512 checksum result.
 *                 This must be a writable buffer of length \c 64 Bytes.

In the case of LIBSPDM_SHA384_SUPPORT the value of LIBSPDM_MAX_HASH_SIZE is 48 which is in violation of the function's precondition. Note that this issue is "fixed" in more recent versions of Mbed TLS  where the size of the buffer is conditional based on whether the context is 384 or 512.
Note that, at least for the version of Mbed TLS that libspdm currently uses as a sub-module this out-of-bounds write does not occur if the context is 384.

I think we need to fix mbedtls stub - https://github.com/DMTF/libspdm/blob/main/os_stub/cryptlib_mbedtls/hash/sha.c#L365

Another way is to upgrade to mbedtls 3.x.

This issue has been resolved by transitioning to Mbed TLS 3.


UI - Not able to enable recurring snapshots on an upgraded setup where backup snapshot was disabled.

Rancher server version - 2.1.7  (recurring snapshots disabled) -> upgrade to 2.2.0-rc11
Steps to reproduce the problem:
Fresh install of Rancher server version - 2.1.7.
Disable recurring snapshots .
Upgrade to Rancher server version - 2.2.0-rc11.
Try to enable recurring snapshots by editing cluster and going to "Advanced settings"
It says "Recurring etcd Snapshot Enabled" but both "Yes" and "No" are not selected .

"etcd": {
"creation": "12h",
"extraArgs": {
"election-timeout": "5000",
"heartbeat-interval": "500"
},
"retention": "72h",
"snapshot": false,
"type": "/v3/schemas/etcdService"
},

Try to select "yes" , Recurring etcd Snapshot Creation Period and Recurring etcd Snapshot Retention Count remain greyed out.

Clicking on "Save" does not result in recurring snapshot being enabled.
Also when I try to toggle between yes and no , both end up being selected.

Tested with latest build from master:
Steps to reproduce the problem:
Fresh install of Rancher server version - 2.1.7.
Disable recurring snapshots .
Upgrade to Rancher server version - 2.2.0-rc11.
Try to enable recurring snapshots by editing cluster and going to "Advanced settings"
It says "Recurring etcd Snapshot Enabled" as "No" as expected.
Able to select "Yes" and enable snapshots.
Snapshot gets enabled as expected in API.
"etcd": {
"backupConfig": {
"enabled": true,
"intervalHours": 12,
"retention": 6,
"s3BackupConfig": null,
"type": "/v3/schemas/backupConfig"
},
"creation": "12h",
"extraArgs": {
"election-timeout": "5000",
"heartbeat-interval": "500"
},
"retention": "72h",
"snapshot": false,
"type": "/v3/schemas/etcdService"
},

I also see a snapshot being created shortly (after about couple of minutes) after the cluster went to updating and active state.
Edit cluster again and go to "Advanced Settings". Snapshot shows as being disabled even though it is enabled at the API level.

Available in 2.2.17 and master

Tested with master and ui-index set to  - https://releases.rancher.com/ui/latest2/index.html".
Fresh install of Rancher server version - 2.1.7.
Disable recurring snapshots .
Upgrade to Rancher server version - 2.2.0-rc11.
Able to enabled recurring snapshots .
Edit cluster and go to "Show Advanced options" . "Recurring etcd Snapshot enabled" section reflects the correct information that snapshot is enabled with the correct creation period and retention count.

Also tested the following scenarios using 2.2.0-rc12.
Fresh install of Rancher server version - 2.1.7.
Create a cluster - c1 (with recurring  snapshots enabled by default)
Create a cluster - c2 (with recurring  snapshots enabled by default)
Disable recurring snapshots .
Create a cluster - c3 with recurring  snapshots disabled while creation.
Create a cluster - c4 with recurring  snapshots enabled and customized creation period and retention hours.
Upgrade to Rancher server version - 2.2.0-rc12.
After upgrading , Edit cluster and enable snapshots (turn on the new way of enabling snapshots) for all the above clusters.
Able to enable snapshots successfully.
Once snapsots are enabled , going to "Edit" cluster page ->"Show Advanced options"  , "Recurring etcd Snapshot enabled" section reflects the correct information that snapshot is enabled with the correct creation period and retention count.


Accessing cvat from server IP and using CLI

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

I want to be able to access CVAT from both localhost and from a server IP. The way we had it set up before the change from CVAT_HOST in the docker-compose file to the export CVAT_HOSTS in bash, was that we had both access through localhost and the server IP. This allowed multiple users to use CVAT while at the same time being accessible from the CLI, which we rely heavily on for managing tasks. This is no longer possible as I have been unsuccessful in finding a way to enable access through both localhost and server IP, as
export CVAT_HOST=
"localhost {Server IP}"
["localhost","{Server IP}"]
"localhost, {Server IP}"
"*"
neither of these options  seem to work. I have tried to find documentation on this subject but been unsuccessful
Expected Behaviour
CLI can access server locally and users can access server
Current Behaviour
Users can not access server at the same time as CLI, CLI gets error 404
Possible Solution
Change export -> docker compose up -d -> do CLI stuff -> change export -> docker compose up -d -> users have access again
Steps to Reproduce (for bugs)

export CVAT_HOST="{Server IP}"
docker compose up -d
try to do something with CLI
get error

Context

I can no longer use CLI as effectively as before the latest change
Your Environment

Git hash commit (git log -1): commit b5a9a0fbfd7957517db73098878e755e874da6bd (HEAD -> develop, origin/develop, origin/HEAD)
Docker version docker version (e.g. Docker 17.0.05): 20.10.12
Are you using Docker Swarm or Kubernetes? No
Operating System and version (e.g. Linux, Windows, MacOS): Ubuntu
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Error from cli

Traceback (most recent call last):
  File "cli.py", line 46, in <module>
    main()
  File "cli.py", line 36, in main
    cli = CLI(session, api, args.auth)
  File "/home/kallah/probotic/cvat/utils/cli/core/core.py", line 24, in __init__
    self.login(credentials)
  File "/home/kallah/probotic/cvat/utils/cli/core/core.py", line 272, in login
    response.raise_for_status()
  File "/home/kallah/.local/lib/python3.8/site-packages/requests/models.py", line 953, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://localhost:8080/api/v1/auth/login

Next steps
You may join our Gitter channel for community support.

I have since posting this found the
parser.add_argument(
    '--server-host',
    type=str,
    default='localhost',
    help='host (default: %(default)s)'
)

argument in the definitions.py, which I had not previously noticed. I would suggest adding this to the CLI documentation

Hello Lasse,
Have you tried this: https://openvinotoolkit.github.io/cvat/docs/faq/#how-to-specify-multiple-hostnames ?

That worked, thanks!


Fix for issue 112

I added the suggested code to SequenceFileStorage and the problem I had in issue 112 appears resolved.
I can't imagine a clean test for this.

Sent pull request with a fix for this problem.

Thanks Ted. We need to get Pig to fix this inconsistency as well.
I think you auto-reformatted the whole file. was that intentional?

That was not intentional.
Would you like for me to back that out?
On Wed, Jan 4, 2012 at 3:45 PM, Raghu Angadi <
<EMAIL_ADDRESS>
wrote:

Thanks Ted. We need to get Pig to fix this inconsistency as well.
I think you auto-reformatted the whole file. was that intentional?

Reply to this email directly or view it on GitHub:
https://github.com/kevinweil/elephant-bird/pull/113#issuecomment-3363286

yes, please.
I had looked into where Pig fails to set the context a while back. I will file a PIG jira after confirming it.


Pass GA userId as a string

@njam please review. We are setting the userId twice, once with ga("create") and once with ga("set", "userId"). The first one was passed as an integer, the second one as a string... It should always be a string according to the docs. Maybe this is related to our tracking issues?

lgtm

Tagged 1.127.9


Added shortcuts to update file permissions quickly

Just thought that we do this ever so often and sometime we don't remember

no activity


Amazon Bedrock Client for AutoGen

Why are these changes needed?
Amazon Bedrock also offers a broad set of capabilities to build generative AI applications with security, privacy, and responsible AI. The AWS bedrock has acquired all the latest open-source and closed-source models for inference, making it more flexible for the users to manage the complete infrastructure from AWS. this addition will increase the capability of AutoGen to support the models from bedrock.
API Documentation: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html
For testing:
# Authentication parameters:
# aws_region (mandatory)
# aws_access_key (or environment variable: AWS_ACCESS_KEY)
# aws_secret_key (or environment variable: AWS_SECRET_KEY)
# aws_session_token (or environment variable: AWS_SESSION_TOKEN)
# aws_profile_name

config_list = [
    {
        "api_type": "bedrock",
        "model": "meta.llama3-1-8b-instruct-v1:0",
        "aws_region": "us-west-2",
        "aws_access_key": "",
        "aws_secret_key": "",
        "price" : [0.003, 0.015]
    }
]

Related issue number

Checks

[X] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

(3232)

hi @marklysze , good to see you here. thanks for adding the PR here.


renode-dts2repl: unstable-2024-02-23 -> unstable-2024-02-26

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for renode-dts2repl is: A tool for converting device tree sources into Renode's .repl files
meta.homepage for renode-dts2repl is: https://github.com/antmicro/dts2repl
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found unstable-2024-02-26 in filename of file in /nix/store/7fhnrfkjc8m55gq3xp5mg9w0pclppvn5-renode-dts2repl-unstable-2024-02-26

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
renode-dts2repl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7fhnrfkjc8m55gq3xp5mg9w0pclppvn5-renode-dts2repl-unstable-2024-02-26 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A renode-dts2repl https://github.com/r-ryantm/nixpkgs/archive/62c0d92c35a60467f407f2346c248078194037e5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/62c0d92c35a60467f407f2346c248078194037e5#renode-dts2repl

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7fhnrfkjc8m55gq3xp5mg9w0pclppvn5-renode-dts2repl-unstable-2024-02-26
ls -la /nix/store/7fhnrfkjc8m55gq3xp5mg9w0pclppvn5-renode-dts2repl-unstable-2024-02-26/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

renode-dts2repl
renode-dts2repl.dist

Maintainer pings
cc @otavio for testing.

@NixOS/nixpkgs-merge-bot merge


Fix postgres JSON type

The JSON type for Postgres was wrong, as it accepts a JSON itself directly via Kysely for insertion and update, no need to convert to string
Fixes #124
Video showing result:
https://github.com/RobinBlomberg/kysely-codegen/assets/46006784/51862d76-cc47-43da-85d9-adf9a820b07a

@RobinBlomberg Would love this to be checked 🙏🏼

Great! Thanks for the fix!


Avoid NSTimer retain cycle in audio media item

Pull request checklist

[x] All tests pass. Demo project builds and runs.
[x] I have resolved any merge conflicts.
[x] I have followed the coding style, and reviewed the contributing guidelines. Confirmation: ____

This fixes issue #1877
What's in this pull request?
Avoiding NSTimer-related retain cycle in audio media item by using a weak target.
Based on: http://stackoverflow.com/questions/16821736/weak-reference-to-nstimer-target-to-prevent-retain-cycle

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


Ensure compatibility with preserve_order feature of schemars

When using the preserve_order feature of schemars, BTreeMap is internally replaced with an IndexMap, which does not have the first_key_value() method. This PR uses iter().next(), which has the same semantics, but is available both in BTreeMap and IndexMap.

Thanks for the PR !


#19 embedding tutorial basics

#19 Basic Tutorial for prerequisites for RAG-based LLMs.
Introduction to RAG-based LLMs to follow in a subsequent notebook.

@anujsinha3: Renamed the notebook and added it to _toc.yml to render it.

This is really great @anujsinha3! Very informative, I learned quite a bit going through it. 😄 Thank you! There are a few typos, otherwise it looks good. I'll let @anantmittal give the final approval for it.


add query.submitter field when querying TRAPI resources

The TRAPI standard defines an optional submitter property, meant for callers to self-identify so resource owners can quickly/easily contact someone if needed.  When BTE calls downstream TRAPI resources, we should populate this field with "BTE (sync)" or "BTE (async)".

As this is already partially implemented, should this issue be closed?

yes, I think this feature already seems to be implemented, so let's close. Thanks!


Change beneficial owners source of data from draft

Details

Beneficial owners list is currently retrieved from the defaultValue which makes the draft that a user has is never shown. This PR prioritize to retrieved from draft first, then from the defaultValue.
Fixed Issues

$ https://github.com/Expensify/App/issues/16938
PROPOSAL: https://github.com/Expensify/App/issues/16938#issuecomment-1513403194
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open Settings > Workspaces
Open any workspace or create a new one if there is no existing workspace
Open Connect Bank Account > Connect bank manually
Complete step 1-3
On step 4, check "Somebody else owns more than 25% of ..."
Fill the Additional beneficial owner
Close the page
Reopen the page
Verify the data you filled before is shown

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://user-images.githubusercontent.com/50919443/235301022-49ca8aa2-5d50-4b1a-b3cd-8a4b5b2a5dab.mov

Mobile Web - Chrome

https://user-images.githubusercontent.com/50919443/235301187-4ccfb2b8-82c3-46d4-a981-0aa1d8a21f6a.mov

Mobile Web - Safari

https://user-images.githubusercontent.com/50919443/235301248-a0f8e69b-af50-4c26-8b0f-6575da31c74d.mov

Desktop

https://user-images.githubusercontent.com/50919443/235301314-cfdcef3c-c6d0-4fce-8898-9274c6284100.mov

iOS

https://user-images.githubusercontent.com/50919443/235301348-b5e30af7-e202-4fed-bcec-67b7f23a2fe6.mov

Android

https://user-images.githubusercontent.com/50919443/235301318-97b7d6ac-6123-43f5-aa07-93933a327d5e.mov

@AndrewGable @Santhosh-Sellavel One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@Santhosh-Sellavel please have a look when you got the chance

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web & Desktop
https://user-images.githubusercontent.com/85645967/235818922-fe3b7f3c-a7ad-4258-813f-d89dd023ee40.mov

iOS & Mobile Web - Safari
https://user-images.githubusercontent.com/85645967/235818896-d36b3e07-ce7f-48fa-951f-ac2f6042f4ff.mp4

Android & Mobile Web - Chrome
https://user-images.githubusercontent.com/85645967/235820020-2992b351-1f89-45f7-ba14-04e2cfea0d1c.mp4

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


.NET Core 3 application cannot connect to database when deployed on a Docker image

I have a .Net Core 3.0 project that I've been trying to deploy to a docker container that cannot seem to connect to the database context ever since I upgraded from Core 2.2 to Core 3.0. I can run the project locally just fine, but when it's deployed to a Docker container, the app hangs at the first instance where I call my context, which happens to be in my main() method in my Program.cs:
    public static void Main(string[] args)
    {
        IHost host = CreateHostBuilder(args).Build();

        using (IServiceScope scope = host.Services.CreateScope())
        {
            IServiceProvider services = scope.ServiceProvider;

            try
            {
                VideoContext context = services.GetRequiredService<VideoContext>();
                // my project never makes it past the following line:
                context.Database.Migrate();
                SeedData.Initialize(services);
            }
            catch (Exception e)
            {
                Console.WriteLine("error");
                IErrorLogService logger = services.GetRequiredService<IErrorLogService>();
                logger.LogError(e);
            }
        }

        host.Run();
    }

The app will hang indefinitely and never make it past the context.Database.Migrate() method. There isn't even a SQL Connection Timeout exception thrown, so it has to be something before it even tries to make the SQL connection. My docker container doesn't throw any errors either.
Here's my dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.0.100 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0.0
WORKDIR /app
# Make sure this folder exists
RUN mkdir -p /app/PrivateAssets/Attachments
COPY --from=build-env /app/out .
COPY secrets.json /root/.microsoft/usersecrets/44EFF06F-8817-4BCE-9CD3-872D7E944C3D/secrets.json
EXPOSE 80
ENTRYPOINT ["dotnet", "JPLTube.dll"]

Any ideas as to why my app hangs indefinitely? Please let me know if there's any other files needed to debug. I figured the only thing necessary was the dockerfile because the whole project runs fine on my local machine. Thank you!

Similar problem.  Seems like a thread wait is blocked on a semaphore from another (native?) thread  that died perhaps.  I had a call stack window open at one point, and by looking at my search history today:

system.data.sqlclient.sni.sniTcpHandle.EnableSSL
system.data.sqlclient.sni.sniproxy.enablessl
were involved about midway between the basic open connection/pooling stuff and the basic socket stuff.

Using sdk:3.0-alpine and aspnet:3.0-alpine instead of the default "3.0-buster" (Debian) got me past that.  SQL has some issues with the "globalization invariant mode" on alpine, but that's solvable with:
https://github.com/dotnet/SqlClient/issues/220

    public static void Main(string[] args)
    {
        var _app = CreateHostBuilder(args).Build();
        using (var _connect = new SqlConnection(@"server=sqlserver;Database=test;User Id=test;integrated security=false;Password=test;Connection Timeout=10"))
        {
            _connect.Open();
            using (var _command = new SqlCommand(@"select * from test.test", _connect))
            {
                using (var _reader = _command.ExecuteReader())
                {
                    while (_reader.Read())
                    {
                        Debug.WriteLine(_reader.GetValue(0).ToString());
                    }
                }
            }

        }

            _app.Run();
    }

I put this in a generic/empty ASPNET CORE 3 harness (use the VS 2019 wizard) and added some stuff in Main to get a SqlConnection.  This stripped down use case mimicked my initial encounter with this hanging connection issue, without me having migrated anything from CORE 2.2.
Put a breakpoint on the _connect.Open() line, run in Docker, see that you hit the breakpoint, step into, wait a bit, press the debugger break button, see you're still on the _connect.Open() line, then open the call stack window.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY ["DataCore3/DataCore3.csproj", "DataCore3/"]
RUN dotnet restore "DataCore3/DataCore3.csproj"
COPY . .
WORKDIR "/src/DataCore3"
RUN dotnet build "DataCore3.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "DataCore3.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DataCore3.dll"]

I have the same problem, I'm using mcr.microsoft.com/dotnet/core/aspnet:3.0.0-alpine image.
I got more question in https://github.com/dotnet/SqlClient/issues/220

same issue here as well. Any new developments on this?

Same issue, though the interesting point is:

I do NOT have this issue when my project is built and started via VisualStudio;
I do have this issue when I call docker-compose up  or docker-compose up --build from PowerShell.

@leecow @MichaelSimons any idea what's going on here?

@uncvrd we had the same issue and followed one of the answers in https://github.com/dotnet/SqlClient/issues/222 and found a workaround. By adding these two lines to our dockerfile it successfully connected. Prior to adding these lines it was completely hanging on the sqlconnection .Open(). This seemed to be to a SQL 2014 instance specific issue for us as no issues with our SQL 2017 instances.
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /usr/lib/ssl/openssl.cnf
For example:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS base
WORKDIR /app
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /usr/lib/ssl/openssl.cnf

@sep15ms we're currently running SQL 2017 so this probably won't fix things, but I'll report back after we try this in the office next week, thanks!

FYI: my SQL server was a SQL2016 instance; and I didn't try with other version instances.

@sep15ms  thanks for the workaround, it has solved the issue for our .NET Core 3 application running in a Docker container mcr.microsoft.com/dotnet/core/aspnet:3.0 connecting to a SQL Server 2014 instance.

The issue seems to be resolved, thank you @MichaelSimons for pointing out the issue.
Closing. If anyone in this thread has additional questions, feel free to reopen or create a new issue.

I am also facing kind of similar problem.My code is also stuck on db context and if i try to see it in quick watch it just break the application.Any other suggestion on it ?

@uncvrd we had the same issue and followed one of the answers in dotnet/SqlClient#222 and found a workaround. By adding these two lines to our dockerfile it successfully connected. Prior to adding these lines it was completely hanging on the sqlconnection .Open(). This seemed to be to a SQL 2014 instance specific issue for us as no issues with our SQL 2017 instances.
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /usr/lib/ssl/openssl.cnf
For example:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS base
WORKDIR /app
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /usr/lib/ssl/openssl.cnf

thanks.

Hi everyone, I had a similar issue and I was solving it by switching to mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic as suggested here https://github.com/dotnet/SqlClient/issues/222

I still have the connection problem even with
mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic
and this command
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf
RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /usr/lib/ssl/openssl.cnf

I am using a the standard aspnetcore3.1 image from the sample
https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/Dockerfile
Does anyone know what is the issue?
Btw I'm trying to connect my container to a remote azure sql instance.
And here is the exception I'm getting
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

I am facing the same issue. Has anyone got this resolved? Please help!

For those still dealing with this issue, we were able to overcome this problem by changing our image to Ubuntu Bionic.

Hello,
I was fighting this issue for 2 days and I was always getting the error: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server).
Finnally I was able to fix this issue ussing the following connection string:
"MindleDb": "Server=YourDatabaseServerName;Database=DatabaseName;User=sa;Password=YourPassword"
Take into consideration that YourDatabaseServerName reffers the name that you set on you docker-compose file for your database container in case that you are using docker compose to deploy the database also.
I hope you find this information usefull, thanks!


Revert changes to prepare_db.sh

With patch b89983111b2e074169e0d4c25df3a9be352cc8a8 we modified the prepare_db.sh script in order to be able to define sqlx queries under cfg(test).
This was convenient, but it turns out that the changes cause the script to trigger complete recompilation of the project every time we run it.
There may be an alternative, but for the time being we revert this change. The effect is very minor: we move some test queries to a
sqlx_test_utils annotated with #[allow(dead_code)].

bors r+


MAINT: stats.rv_discrete.ppf: fix infinite loop bug

Reference issue
Closes gh-20048
What does this implement/fix?
gh-20048 reported an infinite loop in logser.ppf.
Initially, this PR checks whether we can reproduce it in CI.
Couldn't reproduce in CI, so wrote a simple test distribution that reproduces the problem.
Fixed the problem by:

Using floats instead of Python ints as the arguments of _cdf, which is what _cdf is typically called with (output of floor; see gh-21283).
Increasing the step taken each iteration by a factor of 2 so overflow will occur within a few hundred iterations. This probably speeds up overall convergence for some problems.
Raising an error if overflow occurs. The error message is more informative than the other possible error message below, but feel free to adjust as you see fit and push.

There may be better ways of dealing with it; feel free to adjust as you see fit and push. (I'd rather not turn this into a project.)
Also avoided the possibility of an infinite loop after bracket is found by limiting the number of iterations of the second phase.

Just had one question, there is no risk missing a solution by doubling the step like that?

The CDF is monotonic, so there should only be one zero crossing mathematically. So if the CDF implementation (in code) is well behaved for abitrarily large arguments, we can't miss it unless the step results in an overflow.
It is possibly that the root is lurking somewhere in the last order of magnitude representable with the given dtype, and the argument overflows. Currently, if this occurs, the function raises an error.
A slight improvement might be to set the bound equal to the maximum magnitude number (of the appropriate sign) representable with the given dtype, check whether this gives a valid bracket, and if so let the bisection continue. I think that case is pathological. If the tail is so heavy that the root has not been bracketed before getting to 9e307, it seems unusual that the root would be between that and 1.8e308 (np.finfo(float).max). Clearly the old infrastructure was not really designed for that sort of case: considering it was taking steps in increments of 10 before, it could not possibly possibly go past ~1e18 without the steps being too small to resolve. This extends the range by quite a bit. So I focused on fixing the infinite loop, not making it perfect.
Please check me, though!

That seems sensible to me, thanks for the explanation 👍


zanata

in (http://help.unitime.org/Localization)
Pull the translation from the project (e.g., by calling zanata-cli pull in your local UniTime repository). This should download the translation files under Documentation/Translations.
or using Maven (zanata:pull task)
and do all instructions create zanata.ini, download zanata.xml
can you show me how do that? plz.
last one I use windows 10 and tomcat 8

Clone UniTime repository

git clone https://github.com/UniTime/unitime.git

Download and install Arabic translations (using Apache Maven and Apache Ant)

cd unitime
mkdir Documentation/Translations
mvn zanata:pull -Dzanata.locales=ar
ant import-translations -Dlocale=ar

Build unitime (using Apache Ant)

ant build

The resultant UniTime.war and timetable.jar files are located in the Distributions folder.
See for more details about how http://help.unitime.org/build on how to make a UniTime build.
Once you have the new UniTime.war deployed, you can open UniTime in Arabic using http://localhost:8080/UniTime/login.do?locale=ar.
Please note that the Arabic locale has the basic right-to-left support enabled that has been experimentally added in UniTime 4.5 (not all the components support the right-to-left layout yet).

Is there a way to import a complete offline translation to Zenata translate???

I think so, but I have never used the .po files (I have only used the web interface to put in translations). It is certainly possible to upload the translations from the .properties files using the Zanata client (zanata-cli push) or Zanata's maven plug-in (mvn zanata:push).


Project Unable to Import

Describe the bug
I have been working on a project over the last few days and got it to a good spot but now I have an issue that it's not being imported when I open it up - the link is https://bolt.new/~/sb1-r6b3sc
I can see there are workarounds to get it loaded again but I'd like to not have to lose a project like this.
I know its a larger one and I've actually done some manual dev work on top of what Bolt starts.
Would love if this kind of stuff is fixed.
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-r6b3sc
Steps to reproduce
Open the code base and see that it does not reload
Expected behavior
Expect it to load
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 99991313,
  "usedJSHeapSize": 67328441,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = NC-Mark
Chat ID = 1e39ad7216c3

Additional context
Error:
Failed to fetch

please ignore - it seems to be working now. All systems okay


Add check for both pa.types.is_list and pa.types.is_large_list in assertions

@chasezheng there was a problem with master, the linter wasn't working. I've fixed it. Can you update your branch to use the latest master and the CI should pass.

I rebased my branch to the latest commit on master.

@chasezheng one more thing, it looks like your code isn't ruff / black compliant and fails the pre-commit checks.
Can you run the pre-commit hook locally and commit/push the changes:
pip install pre-commit
pre-commit install
pre-commit run --all-files


[Bug] Changing UID of GrafanaDashboard causes problems

Describe the bug
Changing the uid field in the json of a GrafanaDashboard CR and deploying it causes problems. The grafana dashboard in grafana is not synced and cannot be updated because the API used by grafana-operator uses the uid to update the dashboard. Instead it cannot find the dashboard. Thus the operator tries to recreate the dashboard and fails and then tries to get it and fails again. This ultimately causes a CPU spike in grafana.
Version
Operator: v4.2.0
Grafana: v7.5.15
To Reproduce

Change uid of json in GrafanaDashboard resource and deploy it.
Check the json in grafana edit dashboard section and you will see the uid has not updated.
Check the grafana logs and you will see lots of error statements.

lvl=eror msg="Dashboard not found" logger=context userId=1 orgId=1 uname=admin error="Dashboard not found" remote_addr=<IP_ADDRESS>
lvl=eror msg="Dashboard not found" logger=context userId=1 orgId=1 uname=admin error="Dashboard not found" remote_addr=<IP_ADDRESS>

Check the operator logs and you will see multiple

DEBUG   controller-runtime.manager.events       Normal{"object": {"kind":"GrafanaDashboard","namespace":"cic-system","name":"postgres-instance","uid":"7448af4d-3ce3-4cc6-848a-f7293cb6da8e","apiVersion":"integreatly.org/v1alpha1","resourceVersion":"945350334"}, "reason": "Success", "message": "dashboard cic-system/postgres-instance successfully submitted"}

Expected behavior
The operator should delete the old dashboard and create a new one with the new uid or it should update it in place.
Suspect component/Location where the bug might be occuring
unknown
Runtime (please complete the following information):

OS: Mac
Grafana Operator Version v4.2.0
Environment: Kubernetes 1.21
Deployment type: [deployed]

Additional context
This issue causes one dashboard to not be updated. Deleting the GrafanaDashboard resource does not fix the issue as the uid is different and the operator does not have the old uid to delete. There is no recovery I can find here except manually deleting the dashboard from the UI. That does not scale for us because we run 50 clusters and 1 grafana instance for each.

I am also getting lots of grafana dashboard not found errors for various uids
t=2022-04-15T05:31:12+0000 lvl=eror msg="Dashboard not found" logger=context userId=1 orgId=1 uname=admin error="Dashboard not found" remote_addr=<IP_ADDRESS>
t=2022-04-15T05:31:12+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/dashboards/uid/4e8d4fe8f8f9c1417dd335aaaa1c59444c4cc507 status=404 remote_addr=<IP_ADDRESS> time_ms=15 size=33 referer=

I can see how this becomes an issue.
As a workaround what happens if you delete the old CRD and create a new one?
I guess you might need to delete the dashboard manually in grafana as well.

@NissesSenap I do helm deployments and when I update the CR it just updates it and grafana operator does not pick it up and throws errors in the logs. Perhaps this can be further investigated if there is a way to make it more stable?

Why do you change the uid in your helm chart?
Can you share your helm chart? To be able to debug this we would need a good way of reproducing the error.
And to understand why you do it this way.


Issue560 CSharp fix

Thanks

I used sbe-all-1.8.1,jar tool to generate C++ code for CME latest templates_FixBinary.xml. But the code doesn't work well. A couple of places have memory boundary issues. Does anyone have the same experience or know what the problem is? Thanks!

@dxwu88 It is likely to be related to this PR. Can you test with the latest build?

Sure. Thanks!

For CME group message  MDIncrementalRefreshBook46 &wrapForDecode(
     char *buffer, const std::uint64_t offset, const std::uint64_t actingBlockLength,
     const std::uint64_t actingVersion, const std::uint64_t bufferLength), what should I specified for arguments actingBlockLength and bufferLength? Thanks!

@dxwu88 It is not helpful to asked questions on PRs that do not help provide clarity on the PR. Best to raise questions as separate issues when unrelated.
To quickly answer the question from the above, the actingBlockLength is provided from decoding the message header. You can understand this by reading the SBE specification and following the examples. The bufferLength is provided as the length of the underlying buffer for bounds checking.


tsconfig strictNullChecks not working

TypeScript Version:  2.1.5
Code
// File: item-component.ts
// A *self-contained* demonstration of the problem follows...
constructor() {
        super();
        let name: string;
        name = null;
    }

// File: tsconfig.json
{
    "compilerOptions": {
        "strictNullChecks": true,
        "target": "es5",
        "module": "commonjs",
        "declaration": false,
        "removeComments": true,
        "noLib": false,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "sourceMap": true,
        "inlineSources": true,
        "pretty": true,
        "allowUnreachableCode": false,
        "allowUnusedLabels": false,
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "noImplicitUseStrict": false,
        "noFallthroughCasesInSwitch": true
    },
    "exclude": [
        "node_modules",
        "dist",
        "typings/index.d.ts",
        "typings/modules",
        "src"
    ],
    "compileOnSave": true
}

Command - doesn't work
$ tsc src/client/app/item-component.ts
Expected behavior:
A compiler error like Type 'null' is not assignable to type 'string'. would be seen and the transpile would stop.
Actual behavior:
No such error is seen.
Command - Does work
$ tsc --strictNullChecks src/client/app/item-component.ts
Expected behavior:
A compiler error like Type 'null' is not assignable to type 'string'. would be seen and the transpile would stop.
Actual behavior:
The expected error is seen and transpiling stops.

Sorry jumped the gun.  It seems our tsconfig.json is not being used.


Github - 403 for issue permission

Upgrading from 0.6.40 to 0.6.42 resulted in the following error:
error getting pull request (as issue): GET https://api.github.com/repos/ORG/REPO/issues/1316: 403 Resource not accessible by integration []
On 0.6.40 exact same workflow executes without any errors to the api nor were permissions needed to be extended. In testing with added permissions for issue and pullrequest no change in error. I have not adjusted the workflows permissions yet to test that change.
digger.yml:
generate_projects:
  blocks:
    - include: "environments/<ENVNAME>/**"
      workflow: default_work_flow
      aws_role_to_assume:
        state: "arn:aws:iam::<ACCOUNT>:role/core-digger_terraform_state_iam_role"
        command: "arn:aws:iam::<ACCOUNT>:role/ailabproduction-digger_iam_role"

auto_merge: true

workflows:
  default_work_flow:
    plan:
      steps:
        - init
        - plan
        - run: infracost breakdown --path=. | tee -a $DIGGER_OUT
    apply:
      steps:
        - init
        - apply
    workflow_configuration:
      on_pull_request_pushed: ["digger plan"]
      on_pull_request_closed: ["digger unlock"]
      on_commit_to_default: ["digger apply"]

Github action:
name: Digger PR flow

on:
  pull_request:
    branches: ["main"]
    types: [closed, opened, synchronize, reopened]
  issue_comment:
    types: [created]
    if: startsWith(github.event.comment.body, 'digger')
  workflow_dispatch:
    inputs:
      spec:
        required: true
      run_name:
        required: false

run-name: "${{inputs.run_name}}"

permissions:
  contents: write
  id-token: write
  pull-requests: write
  statuses: write

jobs:
  digger-job:
    runs-on: ubuntu-latest
    if: ${{ github.actor != 'automated-commit-application[bot]' }}
    permissions:
      contents: write # required to merge PRs
      id-token: write # required for workload-identity-federation
      pull-requests: write # required to post PR comments
      statuses: write # required to validate combined PR status
      packages: read # required to read the packages
      actions: read
    steps:
      # create a temp. token from the github app installed in the org.
      # The app needs to have read access to all private terraform repos  in the org
      # this token is used in the next step to allow cloning terraform module repos
      - name: Generate Token
        id: generate_token
        uses<EMAIL_ADDRESS>        with:
          app_id: ${{ secrets.COMMIT_AUTOMATION_APP_ID }}
          private_key: ${{ secrets.COMMIT_AUTOMATION_CLIENT_SECRET }}
      # allow terraform to download our private modules
      - name: Set git config
        run: /usr/bin/git config --global --add<EMAIL_ADDRESS>https://github.com/<ORG>
        env:
          GITHUB_TOKEN_READ_REPOS: ${{ steps.generate_token.outputs.token }}
      - uses: actions/checkout@v4
      - name: Setup Infracost
        uses: infracost/actions/setup@v3
        # See https://github.com/infracost/actions/tree/master/setup for other inputs
        # If you can't use this action, see Docker images in https://infracost.io/cicd
        with:
          api-key: ${{ secrets.INFRACOST_TOKEN }}
      - uses<EMAIL_ADDRESS>        with:
          digger-spec: ${{ inputs.spec }}
          setup-aws: false
          cache-dependencies: true
          #aws-role-to-assume: {{ ENV .assume_role }}
          no-backend: true
          disable-locking: true
          digger-hostname: "https://cloud.digger.dev"
          digger-organisation: "<ORG>"
          digger-token: ${{ secrets.DIGGER_TOKEN }}
          #upload-plan-destination: 'github'
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
          GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
          GITHUB_OWNER: Jobvite-Inc
          AWS_REGION: us-east-1
          TF_VAR_GITHUB_APP_PEM: ${{ secrets.TF_VAR_GITHUB_APP_PEM }}

Odd bit is that the main bits of code: https://github.com/diggerhq/digger/blob/9b155e3f5f6faa024abc68cdd69140504826e074/libs/ci/github/github.go#L304-L308 haven't changed in 2 months. So its not anything that should be new...

I added issue: write to the permissions: section and it continued to fail while also saying that all checks had passed.

Hi @samroweemployinc try issues: write and let me know if it resolves it for you

I suspect its related to this change
if confirmed to fix I will be updating the docs

Sorry the typo was in my comment, not in my test. I'd written issues: write in the actual file.

Ensure it looks like this:
    permissions:
      contents: write      # required to merge PRs
      actions: write       # required for plan persistence
      id-token: write      # required for workload-identity-federation
      pull-requests: write # required to post PR comments
      issues: write
      statuses: write      # required to validate combined PR status

also ensure it exists in the main branch

I'll try to test soon.

Still seeing error getting pull request (as issue): error checking if pull request is issue: with permissions like so:
permissions:
  actions: write # required for plan persistence
  contents: write # required to merge PRs
  id-token: write # required for workload-identity-federation
  issues: write
  pull-requests: write # required to post PR comments
  statuses: write # required to validate combined PR status

Still seeing error getting pull request (as issue): error checking if pull request is issue: with permissions like so:
permissions:
  actions: write # required for plan persistence
  contents: write # required to merge PRs
  id-token: write # required for workload-identity-federation
  issues: write
  pull-requests: write # required to post PR comments
  statuses: write # required to validate combined PR status

Please note we did modifications to the job and global level, and as job and global were the same stripped it down to just global for the runtime configuration.
I can also confirm for the github app, that we have read/write access to issues, and pull requests on the repo level.

Thanks for continued investigation on this. I had someone report exact same error and it was fixed with issues: write. Not sure what may be going on in your case but if at all possible could we reproduce it in a minimal repo somehow? That would be immensely helpful!

Can confirm moving the permissions from the job level to the global level has resolved this issue for me.

Great! Glad it helped

Just tested 0.6.44 with this config:
jobs:
  digger-job:
    runs-on: ubuntu-latest
    if: ${{ github.actor != 'automated-commit-application[bot]' }}
    permissions:
      actions: read
      contents: write # required to merge PRs
      id-token: write # required for workload-identity-federation
      issues: write
      packages: read # required to read the packages
      pull-requests: write # required to post PR comments
      statuses: write # required to validate combined PR status

And still have the same 403 issues:
 error getting pull request (as issue): GET https://api.github.com/repos/repo/issues/1234: 403 Resource not accessible by integration []
error checking if pull request is issue: error getting pull request (as issue): GET https://api.github.com/repos/repo/issues/1234: 403 Resource not accessible by integration []
error while running command digger plan for project thingymadoodle: Failed to set PR status. error checking if pull request is issue: error getting pull request (as issue): GET https://api.github.com/repos/repo/issues/1234: 403 Resource not accessible by integration []

Also, does the closure of this ticket imply that global permissions aren't supported?

Today I hit the same problem. Starting from digger v0.6.41, issues permissions are appear to be required. Whether issues: write permission is required or not may depending on which functionality you use, but at least the minimum issues: read permissions worked for me.


Improve processing of multi-track GPX files

When a GPX file contains more than one track, these are processed as one single continuous track. The distance between the last point of a track and the first point of the following track is added to the total distance of the activity. A straight line between the two points is drawn on  the map.
It would be nice if tracks would be kept separate for statistics and display. This would allow to have a single GPX file and a single activity per day even when two or more activity stages on the same day are separated from each other e.g. by a train or ferry trip.

A GPX file has a hierarchy of tracks, segments and points. You want to have the different tracks be split into separate activities? If so, how should the names be derived? From the activity path plus something like “track 1”, “track 2”? How would one know if one track is a cycle trip and the other track is a run?
Personally I have separate activity files for such parts of the day and therefore created #94 where I want to provide a combined view for all activities for one day. Your request seems to be the complement of that.
Removing the straight lines is easier. There is already the concept of jumps that occur when there are more than 30 seconds between the points. If you have intermediate train or ferry trips it should already remove those straight lines unless I forgot to honor them somewhere. Do you have an example where this has failed?

Personally I have separate activity files for such parts of the day and therefore created #94 where I want to provide a combined view for all activities for one day. Your request seems to be the complement of that.

I have one GPX file per day with a track per segment, e.g. one track for the ride from home to the local trains station and another track for the ride from the destination train station back home.

Removing the straight lines is easier. There is already the concept of jumps that occur when there are more than 30 seconds between the points. If you have intermediate train or ferry trips it should already remove those straight lines unless I forgot to honor them somewhere.

This would fit my needs but it does not work for my files.

Do you have an example where this has failed?

The attached file is a striped down example of the above scenario: two short segments with a length of roughly 4kms,  distant 46km from each other. geo-activity-playground displays a straight line between the segments and a distance of 50km.
20100711short.gpx.gz

I've imported your activity into my test space. It does work with the explorer tiles, there is no straight line between the activities:

But in the maps there is a straight line:

So the problem is that the segments are separated in the explorer tile computation, but they are not honored on the maps. That is something that I can fix.

That fixed it, will be released with the 0.20.0 release.

And also the length computation takes the jumps into account now.

Ah, the graphs below were also broken. This is before:

And this afterwards:

And also the share picture needed some work. Before:

And now:

I think those were all locations where it makes a difference. If I missed something, feel free to reopen this ticket.

Version 0.20.0 is released you can update and try it out. If the issue persists, please reopen this ticket.


Work around for preferredTransform bug

Talking with an Apple engineer it appears there is a bug in the preferredTransform return values.
This PR works around that bug.
Below is part of the conversation I had with the Apple engineer.

I showed your project to the AV Foundation engineers.

As you've seen, after recording with the front camera, the movie file track transform matrix as ?> > reported by ‘videoTrack.preferredTransform' is returning a value of:
(a=0, b=1, c=1, d=0, tx=0, ty=-560)

and we suspect that the y-translation value ty=-560 that is returned is a bug.  Our engineers have > filed a bug report (r. 31928389) to investigate this issue.

Thx

THANK YOU, I HAVE BEEN BANGING MY HEAD FOR AGES FOR THIS!
Why is it still not fixed though? the engineer filed a bug report and that's all she wrote?

Im curious if this is now accepted as entrenched behavior - and do all front facing cameras have the same transform bug? I just stumbled across the open radar issue and am wondering if this is still an issue, and what valid preferred transforms are expected to be.
Sigh


Feature/fiori elements writer/392/ovp v4

Adds feature: https://github.com/SAP/open-ux-tools/issues/392
Fixes issue: #437

Adds support for Overview Page floorplan generation when an odata v4 service is specified
Sets the default v4 model property groupId to $auto :

Controls the model's use of batch requests: '$auto' bundles requests from the model in a batch request which is sent automatically before rendering

I checked https://sapui5.hana.ondemand.com/sdk/#/api/sap.ui.model.odata.v4.ODataModel%23overview and it looks like groupId: $auto is the default setting. Wouldn't it be better if the templates don't set it so that the default is used?
Otherwise, the code changes look good. They adhere to our coding standards and the changes are easy to understand. Especially thanks for adding the additional information about the template structure in the readme.md

Yes I had spotted the default was $auto - Im OK to remove the explicit setting in favour of the default fallback if you think that's better. I don't have an opinion either way.


Measure test/fuzzing coverage

Measure at least branch coverage (and aim for at minimum 100% coverage of catch branches in CI).
Possibly also some kind of state space coverage to measure the efficiency of fuzzing, although this is much harder to define.

Just to throw an idea here, one thing I occasionally use is explicit coverage marks which works by manually instrumenting the code:
https://docs.rs/cov-mark/latest/cov_mark/

@sentientwaffle and I have chatted about leveraging all our log statements to track explicit coverage. For example, we have debug logs in most branches already in replica.zig and should aim to do the same for LSM. The nice thing with this is then the coverage sites have human readable descriptions given the log messages.

https://tigerbeetle.github.io/tigerbeetle/coverage/index.html


How & when the Kafka message will be redelivered if manual acknowledgment not sent due to error processing the message at consumer ?

Please use Stack Overflow channel to ask question. This GH issue tracker is used only for filing issues.


Is there any reason why Texture::GetSize() returns struct Vector2 not class Vector2?

I've noticed that Texture::GetSize() returns struct not class.
Because of that, we cannot use expressions like below which I was trying.
texture.Draw(position - texture.GetSize() / 2.0f)

I think this might be confusing.

363d576e4a126942a2c99df2beb91b7a1d9592db
Didn't tested...