ERROR: document.getElementById(...) is null

An unexpected error occurred while I sent some inputs
ERROR: document.getElementById(...) is null\\n@debugger eval code line 197 > eval:1:10\\nevaluate@debugger eval code:197:30\\n@debugger eval code:1:44\\n

Did this happen after a prompt that required a very long response from chatGPT?
There was an issue in the previous version that should be solved now. Please let me know if the issue is still there and provide me with the prompt in that case. Thanks!

This error has not happened before, but after updating the most recent version, the error was generated.

https://stackoverflow.com/questions/2632137/why-is-document-getelementbyid-returning-null
I think it's a timing issue. Further investigation is needed

Closing due to inactivity.


[Bug] while using Bronzor  template. The profile urls like github, linkedin are not working after pdf convertion.

Is there an existing issue for this?

[X] Yes, I have searched the existing issues and none of them match my problem.

Product Variant
Cloud (http://rxresu.me)
Current Behavior
The profile urls like github, linkedin are not working after pdf convert. In kakuna it working because it going into header sections.
Expected Behavior
No response
Steps To Reproduce
No response
What browsers are you seeing the problem on?
Chrome
What template are you using?
Bronzor
Anything else?
No response

Unable to reproduce the bug as mentioned, might be fixed. Tested Timestamp > 2nd Feb 2024@02:38 PM IST


GetDevices crash?

I'm trying to follow the simple example:
AvailabeDevices devices = _spotify.GetDevices();
devices.Devices.ForEach(device => Console.WriteLine(device.Name));

and I get a nullreference exception (see below).
Not sure why. The api is properly initialized and I am able to control the playback (Without providing a device id).
Any idea?
System.NullReferenceException: Object reference not set to an instance of an object.
at NFCSample.MainPage+<>c__DisplayClass23_0.<Button_Clicked_Spotify>b__0 (System.Object sender2, System.String code) [0x00247] in /Users/shayo/Downloads/Plugin.NFC-master/src/Plugin.NFC.Sample/Plugin.NFC.Sample/MainPage.xaml.cs:256
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
at Android.App.SyncContext+<>c__DisplayClass2_0.b__0 () [0x00000] in :0
at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in :0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in :0
at at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.41(intptr,intptr)

Solved. Make sure you have the correct scope (user-read-playback-state)


Base collection not visible on KodaDot

Yesterday we did a Base drop:

https://github.com/kodadot/ops-internal/issues/1582
https://warpcast.com/vikiival/0x86ba6499 - warpcast link
https://unfoldings.kodadot.workers.dev/

The collection in not visible on kodaDot:

Fixed by Indexer


#25962 Fix for Java SDF-based Kafka ingestion being stuck at certain offsets in certain conditions

fixes #25962
Please add a meaningful description for your change here
This fix simulate the behaviour of org.apache.kafka:kafka-clients prior to 3.2.0 even if a newer version is being used.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
~[ ] Update CHANGES.md with noteworthy changes.~
~[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.~

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java_Kafka_IO_Direct PreCommit

Run Java_Kafka_IO_Direct PreCommit

Structurally, this looks good to me. There are some test failures, and I'll defer to your judgement on whether we need the extra checking block or not

.

LGTM


Gradle configuration

From ludovic.valente on March 11, 2014 05:51:53
Please provide configuration/sample to use with Gradle/Android Studio.
Original issue: http://code.google.com/p/robotium/issues/detail?id=588

From<EMAIL_ADDRESS>on March 18, 2014 01:27:56
We will add it as soon as it becomes more stable. For now I have found this link: http://stackoverflow.com/questions/16908880/how-to-do-integration-testing-on-android-with-the-new-gradle-build-system
Status: WontFix
Owner<EMAIL_ADDRESS>

From ludovic.valente on March 18, 2014 01:30:57
Thanks
anyway it's true stability is not still there !
As a sample,grqdle 0.9 required androidTest instead instrumentTest http://tools.android.com/tech-docs/new-build-system/migrating_to_09

From<EMAIL_ADDRESS>on March 18, 2014 01:50:35
Ok. Seems as if there has been many issues with 0.9. Hopefully it gets
stable soon so people can start to migrate to the new environment.


Update set-up-multi-factor-authentication.md

Added an extra step to be on preview mode.

@nenonix @JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.


Unify style for dialog form inputs

Some dialogs have text input fields with outlines and some don't.

The dialog for connect peer looks good, but the dialog for add contact does not:

Bump

https://github.com/yzernik/squeaknode/pull/1819


Update DG & PPP

Update DG to include design considerations for help and stats windows
Added UML diagrams for help and stats windows
Added manual testing for help window, stats window, and saving data
Update PPP

Codecov Report

Merging #224 (3c2dcec) into master (86869a2) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #224   +/-   ##
=========================================
  Coverage     73.89%   73.89%
  Complexity      777      777
=========================================
  Files           109      109
  Lines          2528     2528
  Branches        273      273
=========================================
  Hits           1868     1868
  Misses          586      586
  Partials         74       74

Continue to review full report at Codecov.

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

Thanks for point out the missing parts for my diagram!


chore: use ephemeral workspaces in tests

Summary
Closes https://github.com/PrefectHQ/terraform-provider-prefect/issues/218
To do

[x] Add helpers for ephemeral workspaces
[ ] Implement helpers for ephemeral workspaces where workspaces are referenced
[ ] (Maybe in a separate PR) Ensure random names for resources, even where workspaces are not used, for better test isolation

@parkedwards - I got the ball rolling here and will pick it back up after the move 👍🏼

awesome - thank you @mitchnielsen

@parkedwards - after some thinking, I wonder if it's nicer to just merge this one before it gets too big. Instead of doing it all in one big change, we can use this one to add the new helpers and implement it in a few places, and then I'll follow up with further implementation in separate PR(s). If you disagree just lmk and I'm happy to continue with making the changes here 👍🏼

@parkedwards - after some thinking, I wonder if it's nicer to just merge this one before it gets too big. Instead of doing it all in one big change, we can use this one to add the new helpers and implement it in a few places, and then I'll follow up with further implementation in separate PR(s). If you disagree just lmk and I'm happy to continue with making the changes here 👍🏼

totally reasonable to me - we could also do something like "if you touch some code, update the tests"

No worries at all, it's helped me get up to speed on how all of this works together 👍🏼


[Event Hubs] Event Processor Release Prep

Summary
The focus of these changes is to prepare the Event Processor for release.  This aligns the processor with the changes made to the Event Hubs core package for the OOB release in late July.

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


[BUG] Intermittent Issues with OAK-D W PoE Cameras Streaming Left Camera Data

Describe the bug
I'm experiencing intermittent issues with streaming data from the left camera of OAK-D W PoE cameras. The left camera data is not always present, and the device sometimes fails to be recognized upon service restart. This is the log I get from my service:
Failed to resolve stream: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND
Some other times, I get this log:
[1844301051BEC41200] [<IP_ADDRESS>] [1718734907.447] [host] [warning] There was a fatal error. Crash dump saved to /tmp/depthai_LR3TVl/1844301051BEC41200-depthai_crash_dump.json
I'm attaching the crash reports here, but they all seem like code bugs.
Setup Details:

Camera Model: OAK-D W PoE
depthai Dependency Version: <IP_ADDRESS>
Streams Enabled: Left Camera (Right, RGB, and Disparity streams are disabled)

Streaming Configuration:

Raw images at 10 fps
Resolution: THE_800_P
IMU streaming enabled

Issues Encountered:
Intermittent Left Camera Data:

IMU data is consistently available, but left camera data is intermittently missing.
When this happens, the camera is still active and can be pinged, but no measurements are received.

Occasionally, after rebooting the PC, the left camera stream works without any issues.
Minimal Reproducible Example
It's hard to add everything here, I have a gRPC server that streams the oak topics and a python gRPC client that subscribes to them. Here's how I created my dai pipeline:
void add_to_pipeline_mono(
    std::shared_ptr<dai::Pipeline> pipeline,
    std::shared_ptr<dai::node::MonoCamera> cam,
    const MonoStreamOptions &options,
    std::shared_ptr<dai::node::XLinkIn> xin_tracked_features_config) {

  auto xout_img = pipeline->create<dai::node::XLinkOut>();
  xout_img->setStreamName(std::string(options.queue_name));

  // As per depthai docs, reducing Isp3a rate (it defaults to capture fps)
  // reduces CPU load and seems to help with performance, especially when
  // performing feature tracking.
  cam->setIsp3aFps(5);
  cam->setBoardSocket(to_camera_board_socket(options.camera_board_socket));
  cam->setResolution(to_sensor_resolution(options.resolution));
  cam->setFps(options.fps);

  cam->out.link(xout_img->input); // Link raw output directly

  if (options.enabled && xin_tracked_features_config) {
    auto xout_tracked_features = pipeline->create<dai::node::XLinkOut>();
    xout_tracked_features->setStreamName(std::string(options.tracked_features_queue_name));

    // Set number of shaves and number of memory slices to maximum as per
    // depthai documentation to ensure good performance.
    auto feature_tracker = pipeline->create<dai::node::FeatureTracker>();
    feature_tracker->setHardwareResources(2, 2);

    cam->out.link(feature_tracker->inputImage);
    feature_tracker->outputFeatures.link(xout_tracked_features->input);

    xin_tracked_features_config->out.link(feature_tracker->inputConfig);
  }
}

I've tried both with and without cam->setIsp3aFps(5);.
Expected behavior
I expect the left camera data to be consistently available and the device to be reliably recognized upon service restart.
Attach system log
depthai_DX4bJu_1844301051BEC41200-depthai_crash_dump.json
depthai_tYFDEE_18443010E147C31200-depthai_crash_dump.json
depthai_Zgzmrx_1844301051BEC41200-depthai_crash_dump.json
Additional context
Described above...

@jakaskerl would you mind checking if we can reproduce the issue?
I think this will likely fall down to a HW issue.

Sorry, I forgot to mention that I have two oaks connected to my laptop (oak0 and oak1).
I have seen the same problem happening w/ both of them. Sometimes on boot I will get oak0/left but not oak1/left. Sometimes it's the other way around (I will get oak/1, but not oak/0).
The fact that it happens w/ both cameras makes me wonder if it's a hardware issue. Please let me know if there's any further information I can share to help you better understand the issue.

Can anyone please provide me with an update?
@moratom @jakaskerl

Thanks for getting back to me.
After some further testing, it seems that the real issue occurs when I "drop the camera" and then try to open it again. I wonder if there are recommendations/best practices for gracefully shutting down the device.
For more context, here's what I did:

Power up the cameras
Start pipeline and start subscribing to the camera streams for x amount of time (e.g., 30 s)
Drop cameras
Wait some time, e.g., 60 s
Try to open cameras again (restart pipeline, etc)

I believe that somewhere in this process, the device crashed. In fact, I cannot even ping it.
To be clear, I'm not powering it down. The power source is never touched. However my code that creates the pipeline and actively subscribes to the camera stream goes out of scope. So, to "reopen" the camera, I need to start the pipeline all over again...
I would appreciate your fast communication on this issue. We have more than 400 oak cameras at farm-ng and can't afford to have them not working properly.

I am also happy to set up an offline meeting to explain in greater detail any questions you may have.

Update
I upgraded both the depthai SDK version (from v2.25.1 to v2.26.0) and the bootloader version (from 0.0.18 to 0.0.28) on both oak cameras connected to my device. The cameras seem to behave way better now!
However, from time to time I get the following error message:
Monitor thread (device: 18443010E147C31200 [<IP_ADDRESS>]) - ping was missed, closing the device connection

Despite this error, I can still ping the device from my system, and after restarting my service, I can re-establish the connection without needing to power cycle the device.
After some digging, I found that the error message I'm getting comes from the depthai's watchdog timeout. Here's a relevant code snippet I found:
// Example code snippet from DeviceBase::init2
if(watchdogTimeout > std::chrono::milliseconds(0)) {
    // Watchdog thread setup
    watchdogThread = std::thread([this, watchdogTimeout]() {
        try {
            XLinkStream stream(connection, device::XLINK_CHANNEL_WATCHDOG, 128);
            std::vector<uint8_t> watchdogKeepalive = {0, 0, 0, 0};
            while(watchdogRunning) {
                stream.write(watchdogKeepalive);
                {
                    std::unique_lock<std::mutex> lock(lastWatchdogPingTimeMtx);
                    lastWatchdogPingTime = std::chrono::steady_clock::now();
                }
                // Ping with a period half of that of the watchdog timeout
                std::this_thread::sleep_for(watchdogTimeout / 2);
            }
        } catch(const std::exception& ex) {
            // ignore
            pimpl->logger.debug("Watchdog thread exception caught: {}", ex.what());
        }

        // Watchdog ended. Useful for checking disconnects
        watchdogRunning = false;
    });

    // Monitor thread setup
    monitorThread = std::thread([this, watchdogTimeout]() {
        while(watchdogRunning) {
            // Ping with a period half of that of the watchdog timeout
            std::this_thread::sleep_for(watchdogTimeout);
            // Check if wd was pinged in the specified watchdogTimeout time.
            decltype(lastWatchdogPingTime) prevPingTime;
            {
                std::unique_lock<std::mutex> lock(lastWatchdogPingTimeMtx);
                prevPingTime = lastWatchdogPingTime;
            }
            // Recheck if watchdogRunning wasn't already closed and close if more than twice of WD passed
            if(watchdogRunning && std::chrono::steady_clock::now() - prevPingTime > watchdogTimeout * 2) {
                pimpl->logger.warn("Monitor thread (device: {} [{}]) - ping was missed, closing the device connection", deviceInfo.mxid, deviceInfo.name);
                // ping was missed, reset the device
                watchdogRunning = false;
                // close the underlying connection
                connection->close();
            }
        }
    });
}

Assistance Requested
I am looking for guidance on how to:

Prevent the device from shutting down due to missed pings.
Programmatically restart the connection if it gets dropped.
Any potential configurations or environmental adjustments that could help mitigate this issue.

Thanks again @jakaskerl

On a different note, I wanted to clarify that I can't upgrade my depthai SDK version to v2.27.0 because this release relies on the latest version of hunter, which is not compatible with aarch64-linux-gnu-gcc.
Could you provide any information on when the new hunter will be compatible with aarch64-linux-gnu-gcc, or if DepthAI can create a patch for me with the latest stable version of hunter that supports aarch64-linux-gnu-gcc?
Thank you for your assistance!

@guilhermedemouraa
WRT the watchdog, you may try increase it from 4 to 4.5s or disable it with the following env variables:

DEPTHAI_WATCHDOG=4500
DEPTHAI_WATCHDOG=0

Programmatically restart the connection if it gets dropped.

This can be done manually by catching any exceptions and restarting the pipeline/program flow to again boot the device.

Any potential configurations or environmental adjustments that could help mitigate this issue.

If its not crash induced, then this likely comes from high network congestion. See if it possible to remove certain other traffic, make sure ETH is 1Gbit through the whole network, etc...

Could you provide any information on when the new hunter will be compatible with aarch64-linux-gnu-gcc, or if DepthAI can create a patch for me with the latest stable version of hunter that supports aarch64-linux-gnu-gcc?

We'd gladly take a look at this - do you have any repro steps already, which makes it fail?

Hello DepthAI team,
Thank you for the initial suggestions regarding the watchdog and network settings. I wanted to follow up with a bit more detail on how our system is structured and request further guidance on handling dropped device scenarios.
In our application, we register a callback for new frames using DepthAI's API. This callback is triggered whenever a new packet/frame is received. However, this design leaves me uncertain about how to catch exceptions or handle a dropped device event.
Specifically, I'm looking for recommendations on how to implement reconnection logic in a situation where the device is dropped, but no new frames are being received (i.e., the callback is not triggered). Since I rely heavily on the callback to process data, I am unsure where or how to catch any exceptions that might arise due to a device being dropped or encountering other issues.
Could you provide any examples or guidance on how to detect and handle these cases within the callback system or elsewhere in the data flow? Additionally, if there are best practices for managing reconnections, I would greatly appreciate your insights.
Thank you for your continued support.
cc @themarpe @jakaskerl

Hi @themarpe and @jakaskerl,
Just following up on my previous message. Any guidance on how to implement a robust reconnection logic using the callback approach?


How can I convert my dataset into xviz protocol?

Hi,
I have just start a streetscape.gl example with xviz stream data which is kitti dataset, if I want to convert my dataset into xviz protocol, maybe json files, are there anything guides?
Thanks.
Best wishes.

Have you already looked at this: https://github.com/uber/xviz-data ?

@jon-tri I had got it. thanks so much.


[SPARK-28520][SQL] WholeStageCodegen does not work property for LocalTableScanExec

Code is not generated for LocalTableScanExec although proper situations.
If a LocalTableScanExec plan has the direct parent plan which supports WholeStageCodegen,
the LocalTableScanExec plan also should be within a WholeStageCodegen domain.
But code is not generated for LocalTableScanExec and InputAdapter is inserted for now.
val df1 = spark.createDataset(1 to 10).toDF
val df2 = spark.createDataset(1 to 10).toDF
val df3 = df1.join(df2, df1("value") === df2("value"))
df3.explain(true)

...

== Physical Plan ==
*(1) BroadcastHashJoin [value#1], [value#6], Inner, BuildRight
:- LocalTableScan [value#1]                                             // LocalTableScanExec is not within a WholeStageCodegen domain
+- BroadcastExchange HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)))
   +- LocalTableScan [value#6]

scala> df3.queryExecution.executedPlan.children.head.children.head.getClass
res4: Class[_ <: org.apache.spark.sql.execution.SparkPlan] = class org.apache.spark.sql.execution.InputAdapter

For the current implementation of LocalTableScanExec, codegen is enabled in case parent is not null
but parent is set in consume, which is called after insertInputAdapter so it doesn't work as intended.
After applying this cnahge, we can get following plan, which means LocalTableScanExec is within a WholeStageCodegen domain.
== Physical Plan ==
*(1) BroadcastHashJoin [value#63], [value#68], Inner, BuildRight
:- *(1) LocalTableScan [value#63]
+- BroadcastExchange HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)))
   +- LocalTableScan [value#68]

## How was this patch tested?

New test cases are added into WholeStageCodegenSuite.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13305/
Test PASSed.

Test build #108205 has started for PR 25260 at commit 24d51ba.

Test build #108205 has finished for PR 25260 at commit 24d51ba.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108205/
Test PASSed.

Good catch. Thanks for the fix!

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13351/
Test PASSed.

Test build #108249 has started for PR 25260 at commit da3f193.

cc: @dongjoon-hyun

Test build #108249 has finished for PR 25260 at commit da3f193.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108249/
Test PASSed.

Thank you for pinging me, @maropu . I'll take a look today.

Test build #108265 has started for PR 25260 at commit 050c4c4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13367/
Test PASSed.

Test build #108265 has finished for PR 25260 at commit 050c4c4.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108265/
Test FAILed.

retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13370/
Test PASSed.

Test build #108268 has started for PR 25260 at commit 050c4c4.

Test build #108268 has finished for PR 25260 at commit 050c4c4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108268/
Test PASSed.

Thanks! Merged to master.

Thanks, all @sarutak @juliuszsompolski @dongjoon-hyun @kiszk

Thanks @reactormonk for the comment!

There are a few things I'm wondering about, though. Is LocalTableScanExec the only case where we're doing this kind of "if root then don't codegen" cutoff? If there are other cases, it might make more sense to extract a trait and make the insertWholeStageCodegen logic cleaner and more flexible.

Yes for now. First I considered adding new trait but I found the case we need to cut off was only LocaTableScanExec so I decided to change insertWholeStageCodegen like a SMJ case in insertInputAdapter.  But it's  worth re-considering to add new trait. I'll try it.

Also, what about the case when the immediate parent of a LocalTableScanExec is a Spark stage boundary, e.g. an Exchange? That case seems to be covered by this PR already (which doesn't insert a WholeStageCodegenExec right above LocalTableScanExec. Is that correct?

Yes, this PR cover the case you mentioned. Actually, I added a test case for test that case but I removed in response to the review comment. Do you think it's still good to add a test case for the case?

Sorry, I withdraw my comment above.
Yes, this PR covers the case which LocalTableScanExec has parent of Exchange but there is no test case for testing it. Actually I added such a test case but removed in response to comment. Do you think it's good to add test case for that case? If so, I'll add it.


NIFI-7888 Add support for SAML authentication

This PR adds the ability to authenticate to NiFi via a SAML identity provider, similar to how OIDC authentication works.
In addition, there is an option to obtain group membership info from the assertions in a successful SAML AuthN response from the IDP. These groups are then passed along in the NiFiUser instance in order to be leveraged during authorization. Currently if using the file-based policy provider, then these groups would also have to exist in the configured user-group-provider in order to have created policies against them.
The integration with spring-security-saml is heavily based on the primary example application here:
https://github.com/vdenotaris/spring-boot-security-saml-sample
I've primarily tested against KeyCloak and the SSOCirlce IDP which is used by the example app above (https://www.ssocircle.com/en/).
High-level changes:

Add dependency on spring-security-saml2-core
Updated AccessResource with new SAML end-points
Updated Login/Logout filters to handle SAML scenario
Updated logout process to track a logout request using a cookie
Added database storage for cached SAML credential and user groups
Updated proxied requests when clustered to send IDP groups in a header
Updated X509 filter to process the IDP groups from the header if present
Updated admin guide
Fixed logout action on error page
Updated StandardManagedAuthorizer to combine groups from request with groups from lookup
Updated UserGroupProvider implementations with more efficient impl of getGroupByName
Added/updated unit tests

Thanks for the PR @bbende! Will review...

I've also been reviewing this. I was able to set up Google Suite as a SAML IDP and log in. I am still testing a few things such as signing validation.

@mcgilman @thenatog added some additional commits to address some of the review feedback and improve a few things I ran into while testing, here is a summary of the changes...

Refactored some of the DB operations to have "replace" methods instead of calling "delete" and "create" in separate transactions where one could succeed and the second could fail

Added properties for configuring the values of AuthnRequestsSigned and WantAssertionsSigned for the service provider metadata that is generated for nifi at /nifi-api/access/saml/metadata
nifi.security.user.saml.request.signing.enabled=false
nifi.security.user.saml.want.assertions.signed=true

Remove the property for specifying the signing key alias, it now inspects the keystore and finds the private key entry and gets the alias automatically, if more than one private key entry exists then an exception is thrown (nifi already assumes a single private key in the keystore)

Added a property for specifying an attribute to obtain the user identity from, if an attribute is not specified or if the attribute is not found in the response, then the Subject NameID is used by default
nifi.security.user.saml.identity.attribute.name=

@bbende Thanks again for the PR! My earlier concerns have been addressed and things look good. Was able to verify the functionality. I am a +1 once the comments from @thenatog are addressed.

Thanks @mcgilman  !
@thenatog I pushed up another commit that makes SHA-256 the default when no value is provided in nifi.properties for the signature or digest algorithms. Let me know if there is anything else needed to get this merged, thanks!


PureComponents are allowed

Hi, this is not flagged as wrong:
export class SomeRandomStuff extends PureComponent {}
Can I PR a change here?
PS: I can't push branches on this repo

Hi @eBitzu thanks for reporting this. Happy to accept a PR.
Yes, generally open source repositories don’t accept branches from everyone. You can fork the repo and push a branch to your fork, and then open the PR from your branch.

Hi @eBitzu I'm unable to recreate this issue. What version of this library are you using?
The following is flagged:
        import { PureComponent } from 'react';

        class Foo extends PureComponent {
          render() {
            return <div>{this.props.foo}</div>;
          }
        }


[Summer 2021] [SAPP] Bug - Previously applied filter in Web UI to Run n persists across accesses to different Runs

Scenario
Suppose a user has a saved filter named Test Filter 1 that only filters for issues with code 5003
Steps to reproduce
Ensure you have two Pysa runs in a SAPP db that both contains issues with code 5003

sapp --database-name test.db server and go to http://localhost:5000/
Click Issues for Run 1
Click the Filter button
Apply Test Filter 1 and notice only issues with code 5003 are shown
Go to http://localhost:5000/runs
Click Issues for Run 2
Notice the list only displays issues with code 5003 and Test Filter 1 is still applied
The expected behavior after step 5 and 6 is to remove  Test Filter 1 and display the full list of issues in Run 2. Same behaviour should apply when loading the same Run again basically we want to remove every filters when a Run is loaded

I got this!

Closed via https://github.com/facebook/sapp/commit/080b52013fe2c68d49382c1494975f702c1e251f


Google Drive backup

Everytime when cloud share got expire and if we go to confirm it again then it says GoogleDrive backup failed and home page it shows that "Level 1 Automated Cloud BAckup is complete".
First time after wallet initialsation it shows  "Level 1 Automated Cloud BAckup is complete" on home page. but when we go to the history page it is showing "GoogleDrive backup failed".
Even after wallet restore when I go to confirm googledrive backup then it is showing that error modal but on home page it is showing  "Level 1 Automated Cloud BAckup is complete".
It is only happening on Adroid device.Tested on One plus 9R dev app v2.0.1(372)

'Everytime when cloud share got expire and if we go to confirm it again then it says GoogleDrive backup failed and home page it shows that "Level 1 Automated Cloud BAckup is complete'
Not reproducing

Same issue is happening again on android device.
Tested on dev app v2.0.69(426)
It shows "Level 1 Automated Cloud BAckup is complete" on home page. but when we go to the history page it is showing "GoogleDrive backup failed".

The Google Drive backup messaging seems to be working fine on my android. I've tried quite a few times.
@cakesoft-swati Can you please take a look at it again and come back with more details(exact steps taken)

Verified this issue on dev app v2.0.70(431)
Unable to recreate this issue.


Fix tab focus when no widget is currently focused

I'm giving this another scan as part of https://xi.zulipchat.com/#narrow/stream/354396-xilem/topic/Focus.20chain.20for.20tabbing, and it's not actually clear to me how this logic is any different - I agree that this new code is clearer, but I'm finding it hard to see where the supposed difference in behaviour comes from

I agree that this new code is clearer, but I'm finding it hard to see where the supposed difference in behaviour comes from

Basically the old code was "If there is not focused widget return None. Otherwise, look for the next item in the focus chain, or the first/last if it can't be found". This PR rerouted the first case (return None) into the last (return first/last).

Thank you for confirming. I agree that that is the change which was made.
I missed that the chain was a.and_then(|a| b(a).or_else(||c))


Can't build an app shell and prerender at the same time, each builds overwrites one another.

🐞 Bug report
Command (mark with an x)

[ ] new
[x] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

No.
Description
Running prerender runs browser and server builds, the same with running app-shell. It overwrites one another, both of these features are very impactful to a website. Both run separate builds so technically they will overwrite each other and won't be able to use alongside each other. I can't search for a way/workaround to run them simultaneously, I also can't find hints on prerender/app-shell docs. I need both of these features on my app, this is an issue on my part.
N/A

I'm closing the issue, I found a solution.

I'm also interested in this. I found out that there is one catch. I'm using prerendering for the homepage on route "/", so it uses index.html. My hosting config rewrites all routes to index.original.html, which is created during prerendering (only contains ), so it works perfectly for SPA, and it doesn't blink my prerendered homepage on page load. But if I wanted to use the app shell, a different solution would have to exist since the app shell is rendered to index.html by default. It could render the app shell to a different file, e.g., index.shell.html which could be used for rewriting all routes that don't match any prerendered static file.


Test added jan28

Added New Scripts:
1.TC_DIAG_TH_NW_1_2
2.TC_PS_2_1
3.TC_WNCV_4_1
4.TC_WNCV_4_2
Modified Scripts:
TC_OO_2_2
Execution log for reference:
Test_Execution_logs.zip

Restyling is failing due to that closing


Support Skinned Meshes

It looks like the plugin currently always raycasts against the static mesh data, which is typically a T or V pose for rigged meshes. It would be useful if it respected the current bone poses to accurately cast rays against deformed meshes.

This is beyond my knowledge. I understand the basics of bones deforming mesh vertices, but I'm not very familiar with how to apply this to the mesh. Hopefully we could re-use bevy's internal code for skinned meshes. This isn't something I'm planning to implement, but I'd happily support a PR if someone wants to tackle this.


ENG-45 | Fix Address xyz is invalid bug

Closes https://linear.app/decent-labs/issue/ENG-45/addess-xxx-is-invalid

Hm, at first glance this change doesn't actually do anything different. Is the bug reproducible?

@adamgall  Yep, see the comment in the issue.
I think the thing is that getAddress takes two args, and doing .map(getAddress); causes it to not actually run as intended. Assumes only one arg

Yep you're right @DarksightKellar , thank you


Is there anyway to get fixed size data block

For now, i'm using timeSlice & ondataavailable to upload the video slice to server. We need the size of each block must larger then 5MB. Is there a good way to do so. Thanks

For now, i'm using timeSlice & ondataavailable to upload the video slice to server. We need the size of each block must larger then 5MB. Is there a good way to do so. Thanks

I have the same question , do u have some solution?


gimp plugin wavelet-sharpen replaces gimp on upgrade

Describe the bug
Using the current unstable channel, if install gimp in my user environment and then do an upgrade, Nix replaces gimp with the wavelet-sharpen plugin and effectively uninstalls gimp itself from the user environment. This does not happen in the stable branch 20.09.
To Reproduce
Here is a transcript of what happens:
$ which gimp
which: no gimp in (/run/wrappers/bin:/home/manu/.nix-profile/bin:/etc/profiles/per-user/manu/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin)
$ nix-env -iA nixpkgs.gimp
installing 'gimp-2.10.22'
$ which gimp
/home/manu/.nix-profile/bin/gimp
$ nix-env -q | grep gimp
gimp-2.10.22
$ nix-env --upgrade
upgrading 'gimp-2.10.22' to 'gimp-2.10.22-plugin-wavelet-sharpen-0.1.2'
$ which gimp
which: no gimp in (/run/wrappers/bin:/home/manu/.nix-profile/bin:/etc/profiles/per-user/manu/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin)
$ nix-env -q | grep gimp
gimp-2.10.22-plugin-wavelet-sharpen-0.1.2
$ nix-env --uninstall gimp
uninstalling 'gimp-2.10.22-plugin-wavelet-sharpen-0.1.2'

Expected behavior
I expect gimp to be upgraded.
Apparently, the fact that that gimp-2.10.22-plugin-wavelet-sharpen-0.1.2 contains numbers in the middle is the source of the problem, as if 2.10.22-plugin-wavelet-sharpen-0.1.2 was a version number, and higher than 2.10.22.
Notify maintainers
The gimp package is maintained by @jtojnar, I don't know about the wavelet-sharpen plugin.
Metadata

system: "x86_64-linux"
host os: Linux 5.4.99, NixOS, 20.09.3246.d4189f68fdb (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(manu): "nixpkgs-21.05pre273332.5df05c902cd"
channels(root): "nixos-20.09.3343.8d82c865b41"
nixpkgs: /home/manu/.nix-defexpr/channels/nixpkgs

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: gimp
# a list of nixos modules affected by the problem
module:

Ugh, I can’t wait for nix-env to be abandoned.
This is a regression caused by https://github.com/NixOS/nixpkgs/commit/ef5475235ce4f3d1405dca5653cbe3599f0ff637 cc @erictapen

On NixOS you probably shouldn't use nix-env at all (use configuration.nix or home-manager instead) and documentation should not encourage to use it imo: https://github.com/NixOS/nixos-homepage/issues/672

I'm all for using the declarative approach to handle user packages, and actually my current setup consists mostly in defining an environment with buildEnv in ~/.config/nixpkgs/config.nix with the packages I want. However I find the stateful system of nix-env to be a useful middle-ground between full declarative and using nix-shell for short-term usage of specific packages.
As a side note, Gimp ended up installed through nix-env instead of config*.nix because of space constraints. On a system with a few gigabytes of storage allocated for /nix/store, upgrading a whole system with several big packages (e.g. Gimp, TeXlive, Haskell and other things) becomes a problem because you must have two versions of each present at the same time before you can switch to the new generation and garbage-collect the old one. At least, with nix-env, you can uninstall those, collect garbage, upgrade and then install them back without having to hack on your declarative configuration.
As for Home Manager, I admit I am reluctant to make the switch from my years-old tuned and portable home configuration as long as the first words of its documentation are a big warning on the fact that it may break things.

Ugh, I can’t wait for nix-env to be abandoned.

To be fair, we would need to also get rid of this behaviour:
nix-repl> builtins.parseDrvName "gimp-2.10.22-plugin-wavelet-sharpen-0.1.2"
{ name = "gimp"; version = "2.10.22-plugin-wavelet-sharpen-0.1.2"; }

Yes, I would kill parseDrvName too, if I could.


Export Button added

Add Import JSON File Functionality

Implemented a download button to export sections data as a JSON file

looks good


Alternatives to AVOID initializing providers in a widget

Respecting this don't in AVOID initializing providers in a widget.
class WidgetState extends State<MyWidget> {
  @override
  void initState() {
    super.initState();
    // Bad: the provider should initialize itself
    ref.read(provider).init();
  }
}

I have seen these 2 other ways to initialize a provider apart from Eager initialization.
I would like clarification if these 2 cases are okay or could lead to possible race conditions and unexpected behavior.
I've used before and seems to work fine, but I would like you to clarify this please.
Thanks.
Case 1: Initializing with addPostFrameCallback in initState
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'main.g.dart';

@Riverpod(keepAlive: true)
class TextNotifier extends _$TextNotifier {
  @override
  String build() => 'build';
  void init() async {
    state = 'loading';
    await Future.delayed(Duration(seconds: 2));
    state = 'initiated';
  }
}

void main() {
  runApp(
    ProviderScope(
      child: MaterialApp(home: HomePage()),
    ),
  );
}

class HomePage extends ConsumerStatefulWidget {
  @override
  ConsumerState<HomePage> createState() => _HomePageState();
}

class _HomePageState extends ConsumerState<HomePage> {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      ref.read(textNotifierProvider.notifier).init();
    });
  }

  @override
  Widget build(BuildContext context) {
    final text = ref.watch(textNotifierProvider);
    return Center(child: Text(text));
  }
}

Case 2: Initializing in the main and UncontrolledProviderScope
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'main.g.dart';

@Riverpod(keepAlive: true)
class TextNotifier extends _$TextNotifier {
  @override
  String build() => 'build';
  void init() async {
    state = 'loading';
    await Future.delayed(Duration(seconds: 2));
    state = 'initiated';
  }
}

void main() {
  final container = ProviderContainer();
  container.read(textNotifierProvider.notifier).init();
  runApp(
    UncontrolledProviderScope(
      container: container,
      child: MaterialApp(home: HomePage()),
    ),
  );
}

class HomePage extends ConsumerWidget {
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final text = ref.watch(textNotifierProvider);
    return Center(child: Text(text));
  }
}

Case 1: Initializing with addPostFrameCallback in initState

That's still initialising providers in a widget. You just added a delay, which confuses Flutter/Riverpod and therefore silences the possible warning.
You didn't solve the inherent problem of widget initialization, which is that it causes a possible bad state in the UI for a few frames.

Case 2: Initializing in the main and UncontrolledProviderScope

That's "alright". But the way it is presented in the doc is preferred. Relying on the main like that is a bit hard to test and requires various escape hatches to be able to access the state correctly in the main.


May be add a lisence?

I think "snowflake-cpp" is a cool tool, and hope use it in my application, but found no lisence in the code. So may be you add it? Thanks for you.

see https://github.com/sniper00/snowflake-cpp/blob/master/LICENSE


Document retrying delete and create by deleting the job

We might want to expose this via azimuth, retry delete/create by deleting the associated job.

also retry create by clicking on patch.


Adds AMR Profile status to periodic meter reads E & G

Connects to SmartSocietyServices/Protocol-Adapter-DLMS#18
Connects to SmartSocietyServices/Webapps#239

All is well.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

All is well.


[3500] Do not prompt for missing data on completed records

Context
Once a trainee has been 'awarded', 'recommended for award', or 'withdrawn' we don't want to show the missing data UI.
Changes proposed in this pull request
For trainees in 'awarded', 'recommended for award', or 'withdrawn' states:

Don't display the missing data banner even when data is missing
Don't show the change links on missing data fields, except if the user is an admin.

Guidance to review
On the review app,

as an admin, visit any of qualification recommended, qualification awarded or withdrawn trainnees, the missing data banner is not shown, but against each attribute that is missing, the missing text, and the change button is visible.

as a regular user, visit any of qualification recommended, qualification awarded or withdrawn trainnees, the missing data banner is not shown, the change button is not visible, and the text says "Not Provided"

Important business

~Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?~
~Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?~

 [M] Complete records shouldn't prompt for missing data


Problem with pip install

Hello everyone, I'm just getting started looking at this excellent piece of work. It looks promising!
I found some minor issues while playing around with the example scripts. I am using anaconda as the package manager for python libraries, and I installed this library through pip install. However there seems to be a problem with the media.py library, it is missing (see screenshot below).

Trying to solve it, I added manually the missing file to the folder by taking it out directly from the repo, but then I get an error when trying to import the library. This is the error line:
from CoolProp.CoolProp import PropsSI
So I couldn't solve the issue and I can't get the media library up and running.

Hello @pmcmm. Thank you for the good words.
The pip install command installs the latest official release, in this case v1.1.2, dated Jan 22, 2021. The media module will be part of the next major release (v2.0.0) very soon.
There is always the possibility of installing the current state of pygfunction on the master branch by clcking on the green "Code" button on the main page. You can then run the installation script on the Anaconda Prompt (in administrator mode, if you are using windows), as shown on the main page. Coolprop is part of the requirements, so it should be automatically installed when running the script. If not, you can also install it manually using pip install Coolprop.

@MassimoCimmino, thanks for the quick reply!
Yes, I can imagine that copying the entire repo would also work, but the point of the pip install is to simplify that process :)
as the documentation shows support for pip installation, I just found useful to report my findings, but it turns out you are already aware of it, so never mind my issue. I can now go back to play around with your tool :)


RestServlet is not closed on deregistration.

The servlet does not get closed upon deregistration. This causes the servlet path to be shadowed and breaks subsequent calls to that path.
This small patch simply closes the servlet and fixed the problem.

Invalidated by PR #43.


refactor: use embedding clr host in version 251

CI for 251: https://github.com/ansys/pymechanical/actions/runs/11279647370/job/31370911088
There are no crashes on terminate there


Update homepage (placeholder)

@arcondello a first draft so there's something for now and to get started with this repo

Coverage remained the same at 97.342% when pulling 718d3797c4c6f34e2636efa10f461992a9eb798c on JoelPasvolsky:homepage into afd6832ca7e6be90d650d9ccb866877210638dfa on dwavesystems:master.


Fix double-question-mark output by builder.query.

Resolves this error - "Sorry, the company context for this request is missing"

Hi @rdefulio  - sorry this PR got completely missed from my notifications. What bug is it actually addressing?

The extra question mark was causing the following error to be returned by
the clubhouse.io webapi - "Sorry, the company context for this request is
missing" even though it was included.
On Tue, Mar 26, 2019, 6:27 PM Chad Tolkien<EMAIL_ADDRESS>wrote:

Hi @rdefulio https://github.com/rdefulio - sorry this PR got completely
missed from my notifications. What bug is it actually addressing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ctolkien/ClubHouse/pull/6#issuecomment-476877264, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AcIOYrWrptrEolZOERJhmDf19TURG7zrks5vap62gaJpZM4a4jop
.

Ah, I see what this fixes now. Merging
Thanks!

Hi @bernatfortet  - not yet, sadly both my Nuget and GitHub API Keys used in the build steps have since expired (as it's been 2 years since working on this) so I need to update those as well before I can get a new build out.

Hi @bernatfortet  - I've manually uploaded a 2.0.1-beta release:
https://www.nuget.org/packages/ClubHouse/2.0.1-beta
Please give it a go and let me know if it solves your issues. In the interim, I'll get the CI bits fixed up again.

Thanks!
On Wed, Aug 28, 2019 at 2:28 AM, Chad Tolkien <<EMAIL_ADDRESS>> wrote:

Hi @ bernatfortet ( https://github.com/bernatfortet ) - I've manually
uploaded a 2.0.1-beta release:
https:/ / www. nuget. org/ packages/ ClubHouse/ 2. 0. 1-beta (
https://www.nuget.org/packages/ClubHouse/2.0.1-beta )
Please give it a go and let me know if it solves your issues. In the
interim, I'll get the CI bits fixed up again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (
https://github.com/ctolkien/ClubHouse/pull/6?email_source=notifications&email_token=AAC7G6SMKVQWNRZKD4JURFLQGZAKPA5CNFSM4GXCHIU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5KPPLA#issuecomment-525662124
) , or mute the thread (
https://github.com/notifications/unsubscribe-auth/AAC7G6RGZC2HFU73GSFLVYTQGZAKPANCNFSM4GXCHIUQ
).


Log user activity in the Auth Service

WHAT DOES THIS PR DO?

[x] if it is an organisation other than airqo, please do not allow the user to login. DISABLED OTHER TENANTS.
[x] Be able to view activity logs for users.
[x] Resolved a couple of runtime errors around the create-user use case.
[x] General refactoring , with a focus on the create-user use case. Mostly focusing on the error responses.
[x] Add new fields (firstName and lastName) to the inquire endpoint, following recent designs. This is the GET INVOLVED use case for the website. See on the screenshots below in this PR description
[x] Increased the default limit for users queries from 100 to 1000, using an ENV variable.
[x] Do QA tests on the verify email endpoint
[x] ensure that all user inquiries endpoints function as expected.

Jira cards

AN-322

HOW DO I TEST OUT THIS PR?
cd auth-service
npm install
npm run stage-mac

After login endpoint to get the JWT token, just run any endpoint like list users and then run the new list use activity logs endpoint to see that the user activity is now logged to the database (logs table)
As you go about this, also check out the rest of the refactored endpoints to ensure that they are working
There is also a new endpoint for listing user stats. For questions like: how many activated users do we have? @Codebmk

WHICH ENDPOINTS SHOULD BE READY FOR TESTING?:

[x] list Statistics
[x] Access User Activity Logs
[x] verify email
[x] create inquiries
[x] list inquiries

ANY SCREENSHOTS?:

Hi @123MwanjeMike , hope you are good.
I am not seeing any deploy preview for this PR, please advise.
Also, I am using node v16.9.1 on my local machine --- not sure if node version is also an issue to consider?
cc: @BenjaminSsempala

Hi @123MwanjeMike , hope you are good. I am not seeing any deploy preview for this PR, please advise. Also, I am using node v16.9.1 on my local machine --- not sure if node version is also an issue to consider? cc: @BenjaminSsempala

Hi @Baalmart
That's because the deploy preview failed. This is an indication that the changes in this PR will fail to be deployed to the cluster when merged. It's not an issue with the node version because we are using node 18 in the Dockerfile. My advise would be that you try to run it locally using Docker. It's possible there's a node package that wasn't installed.

Great work @Baalmart I found out that the Dockerfile successfully builds but the runs into the error below.

Thanks @123MwanjeMike , I have just made a new commit to fix identified issue BUT the preview is still not showing up!
I wonder what the new problem is now? Node version?

Great work @Baalmart I found out that the Dockerfile successfully builds but the runs into the error below.

Thanks @123MwanjeMike , I have just made a new commit to fix identified issue BUT the preview is still not showing up! I wonder what the new problem is now? Node version?

All is good now, saw the cloud run logs and noticed a similar issues elsewhere in the code. Now fully good and deploy preview is visible.
Thanks!


Generate tests for FHIR samples

From FHIR schema.json, I generate resources, scalars and unions.
I may generate tests with FHIR samples too !


Service CRUD

Follow up of: https://github.com/epinio/epinio/issues/1281
We now have a catalog of services. We need endpoints and command to create, delete, list, show service instances.
Acceptance Criteria

[x] There is an epinio service create command that creates services from the catalog
[x] There is an epinio service show command that displays detailed information about a service instance (e.g. the service it belongs to, whether it's ready/deployed or not, etc)
[x] There is an epinio service bind command that binds the service's secrets to an application and annotates them to makes them epinio "Configurations"
[ ] There is an epinio service delete command that deletes provisioned services
[ ] There is an epinio service list command that shows a list of all service instances (in the currently targeted namespace). The catalog service they belong to is also visible.
[ ] No relics are left behind. The custom resource helmchart should be deleted when a service instance is deleted. The same should happen when a namespace is deleted with epinio namespace delete.

Notes

No update endpoint yet. For now we won't implement "user defined values" for helm charts. If the operator wants to allow different set of values, they will have to create a different catalog service.

Automatically closed.
Reopen for the missing bullet points.


[opentitantool] improve user experience

When 'opentitiantool image manifest update ...' fails due to any input or output file name mistyped, or any of the input files does not exist, the error message is the same:
Error: No such file or directory (os error 2)
Which does not help much the operator. This patch adds some code which will print the name of the file causing the error.
Tested by invoking 'image manifest update' with incorrectly specified various input files. In case of the wrong SPX key file name the file name is printed twice, since the code is trying to read the file first trying to retrieve a private key, and then if unsuccessful - one more time trying to retrieve the public key.
This double print could be eliminated by proper return error processing, but is left as is at this time.

A mostly cosmetic change making it easier to figure out the reason for opentitnatool invocation failures.

I did not add anyhow to the sphincs library, seems more trouble than it'w worth


Skip code coverage for extensions

Fixes ADS Extensions pipeline from failing due to skipped tests.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.004%) to 41.575%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/book/bookTreeView.ts
1
36.91%

src/sql/workbench/services/connection/browser/connectionDialogWidget.ts
1
73.44%

Totals

Change from base Build<PHONE_NUMBER>:
0.004%

Covered Lines:
30787

Relevant Lines:
69355

💛  - Coveralls


【indirect display 】【IddSampleDriver】SwDeviceCreate failed with 0x80070005

THIS is exe code
`
SW_DEVICE_CREATE_INFO createInfo = { 0 };
PCWSTR description = L"Idd Sample Driver";
// These match the Pnp id's in the inf file so OS will load the driver when the device is created
PCWSTR instanceId = L"IddSampleDriver";
PCWSTR hardwareIds = L"IddSampleDriver\0\0";
PCWSTR compatibleIds = L"IddSampleDriver\0\0";

createInfo.cbSize = sizeof(createInfo);
createInfo.pszzCompatibleIds = compatibleIds;
createInfo.pszInstanceId = instanceId;
createInfo.pszzHardwareIds = hardwareIds;
createInfo.pszDeviceDescription = description;

createInfo.CapabilityFlags = SWDeviceCapabilitiesRemovable |
                             SWDeviceCapabilitiesSilentInstall |
                             SWDeviceCapabilitiesDriverRequired;

// Create the device
HRESULT hr = SwDeviceCreate(L"IddSampleDriver",
                            L"HTREE\\ROOT\\0",
                            &createInfo,
                            0,
                            nullptr,
                            CreationCallback,
                            &hEvent,
                            &hSwDevice);`

THIS is Driver‘s inf file
`
[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$
[Standard.NT$ARCH$]
%DeviceName%=MyDevice_Install, Root\IddSampleDriver ; TODO: edit hw-id, this hardware id is         used by Visual Studio remote debugging
%DeviceName%=MyDevice_Install, IddSampleDriver      ; TODO: edit hw-id, this hardware if is     used by the IddSampleApp.exe

`

Has the problem been solved? @dazhilang018900
SwDeviceCreate failed with 0x80070005

This Error number 0x80070005 indicates a permission issue. If you run visual studio as admin it should work.


Security: add specific file on git

Hi, thank you for your very practical github action!
I saw in the code that you do a git "add."
this is dangerous for certain workflows which could lead to storing "sensitive" files in previous steps and then add and commit + push in your action
From my point of view it would be cool to add only the changelog (depending on the name options chosen in the call to the github action)?
or to propose a parameter to choose the files to commit yourself?
I don't know.
PS: a simple addition in the gitignore could avoid this kind of error but it avoids errors

I agree completely.
I would expect the bare minimum files for versioning to be committed, and then use an override if you want to commit all with git add .. Or even better choose the files to add, as was suggested by OP, so that files are added and committed with intention.

@chelsea-codes @jeankev an PR would be appreciated.


Adding Controller

Hey,
when I try to add an controller I get the following message.
can't be assigned to the parameter type '(Angel) → Future<dynamic>'.
When I digged into the code I noticed that
    if (configurer is Controller)
      _onController.add(controllers[configurer.findExpose().path] = configurer);

got removed from the the configure method. Are controller not supported anymore?
Im using version
angel_framework: "^1.1.1"

They are still supported, but you should use the configureServer method of your controller:
await app.configure(new MyController().configureServer);

Still working on upgrading the documentation. See #49.

Hey @thosakwe that was super quick. Thanks a lot!!!


Add matchedRoute field to Request object

Currently on a Spark request you are able to retrieve the requested URI or path. However, there's no way to work backwards from the URI to find out which route it was mapped to. I should mention that this is specifically only an issue when parameters are involved. I can see that the request's pathInfo is "/users/bob" but I can't pull the matched route of "/users/:username".
For context, we want to inspect requests in the after() block and instrument them by route.
This is a pretty tiny change so if I get approval I'd be happy to submit a PR. Thanks ya'll. :)

This would also resolve #959

@tipsy do you have an idea of when @perwendel will be back? it seems he's been gone almost 3 months

Sorry @robax, I don't really know.

This has been merged now!

Thanks you @tipsy !

Thank you!


Feature/appveyor

This PR adds CI integration with AppVeyor. All you need to do is to add this repo to your AppVeyor projects. I assume that you would want to "own" the project on AppVeyor.
The interesting part here is that we build dotnet-script using dotnet-script :)
I figured that a little dogfooding  wouldn't hurt so I basically took what I have to build LightInject and simplified it a lot. It still represents a pretty good use case for C# scripting.
I'll will take a look at Travis next, so that we can build and verify all test fixtures on all platforms.

Excellent! I added the project to the appveyor account, for some reason it's not picking up the open PR at the moment, but let's merge and see how it works off master. Thanks again!

perfect! https://ci.appveyor.com/project/filipw/dotnet-script/build/1.0.2


Content - Fund winners

Create a list of the fund winners. Suggested columns Name, Challenge, Link, Amount Funded

Would be great to have projects who successfully got funded on the website from every funding round


In swipe callbacks, add null check on player controller object

Added null check on MediaController object before calling its methods.
JIRA: https://openedx.atlassian.net/browse/MOB-1369
@nasthagiri Please review.
cc @aleffert @shahidtamboli

:+1:


Accomodate Markdown lines which begin with '`'.

With this fix in place, all but two files in #3451 are properly detected as Markdown.

@Alhadis @brandonblack @lildude @lizzhale @mikemcquaid @pchaigno
Pingeroo.

Should there be a few sample Markdown files to test this?

Yes, that would be good!  I'm busy, so I'm not going to search for samples at this time.


Wrong path extension of HEIF image converted to JPEG

DKImageAssetExporter with imageExportPreset == .compatible converts HEIF formatted images to JPEG. It changes fileName by replacing ".heic" with ".jpg". However, localTemporaryPath where data is written remains unchanged. This results in a wrong file extension.
For now I've found workaround.
import DKImagePickerController
import Foundation

extension DKAsset {

    func fixExportedImageCompatibility() {
        let jpgExtension = "jpg"

        guard
            fileName?.hasSuffix("." + jpgExtension) ?? false,
            let originPath = localTemporaryPath,
            originPath.pathExtension.lowercased() == "heic"
        else { return }

        let destinationPath = originPath.deletingPathExtension().appendingPathExtension(jpgExtension)

        guard (try? FileManager.default.moveItem(at: originPath, to: destinationPath)) != nil else { return }

        localTemporaryPath = destinationPath
    }
}

Fixed in https://github.com/zhangao0086/DKImagePickerController/commit/a1200a16860a4c08fc5e2aa42575b458714bbe28. Thanks!!!


RFC of WIP: API adjustments

This PR contains an experiment steered towards an API which should be most usable by Cargo. The major changes are:

decouple file-creation from file-locking
object-oriented interface for Lock
more options for the actual lock to allow shared read-locks as well. This is done to be explicit about the kind of lock one acquires.

Additionally a multi-process test-case was added to verify the lock actually does as one would expect.
Open Questions
For some reason, even the multi-process test cannot verify the locking actually works, and I wonder what the problem could be.

Here is the failing inter-process test. I'd be super happy to pick your brain on why this doesn't work.

Ah, the test was fixed now and proves it actually works. Next is to try to make good use of the functionality in cargo.

Wow, big changes. Slowly going through them... sorry.
As for the original reason of the sporadic failing of tests, I remember now that it was definitely because Cargo was running tests in parallel. Whon forcing to a single thread, I couldn't reproduce it failing.

Thanks for the great work!

Thanks for merging !
I will be testing it with cargo, and add some clog configuration to allow to easily create changelogs, possibly in preparation for an upcoming release on crates.io.

No problem. I'll try to keep up with you and review as soon as you push :)


VuePress

I would like to use VuePress for this docs repository. Here is a little more information on why and how it makes life easier:

https://vuepress.vuejs.org/guide/#how-it-works

@chx2 Chris, can you do a PR to get this repo set up with VuePress?

@drewroberts yep! I'll start on it this week.
https://github.com/marketplace/actions/vuepress-deploy
Putting this here for future reference as we will need a workflow to publish to a GitHub Pages branch.


Changing AI API

Curious if you know how this can be modified to use hugging face all-minilm-l6-v2 for the embeddings and gpt-neo2.7b. Could be a similar way to do it for free (or low cost in production) I've been working on modifying it but haven't quite figured it out yet. keep running into one bug or another.

https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 and https://huggingface.co/EleutherAI/gpt-neo-2.7B

Sounds really interesting! Have you made a fork where I can check out some of the modifications you're trying? I can think of a way for the embeddings but not sure about inference for gpt-neo

Not yet, having issues trying to get it working running locally on my machine. I think it this is sort of close to what is needed in the gpt function:
def gpt(self, prompt):         print('Sending request to GPT-Neo')         r = response = requests.post(HF_API_URL, headers=HF_headers, json=prompt)         answer = r.choices[0]['text']         print('Done sending request to GPT-3')         response = {'answer': answer, 'sources': sources}         return response
where HF_API_URL = API_URL = "https://api-inference.huggingface.co/models/EleutherAI/gpt-neo-2.7B"
and headers = {"Authorization": "Bearer Hugging face API key"}
Was trying to test it with some dummy data on the HF playground but haven't figured it out yet. Will upload a fork if I get something going.

@EverythingNeurodiversity Sounds great, looking forward to it!


graphite.composer.views.send_email vulnerable to SSRF

(I didn't discover this, it was publicly described here: http://blog.orange.tw/2017/07/how-i-chained-4-vulnerabilities-on.html)
https://github.com/graphite-project/graphite-web/blob/master/webapp/graphite/composer/views.py#L95-L102
Some sort of validation should be performed on the server component of the URL (possibly a whitelist in settings? I'm not overly familiar with the design of this module). Currently it's possible to use this view to make HTTP requests to services visible from the server.

Hi,
So this vulnerability is still live, and this could 100% be abused to exploit the servers publicly exposing the Graphite server here:
https://www.shodan.io/search?query=Graphite+Browser
A simple version of this exploit would be to chain this together with an SSRF attack against AWS to steal very valuable information and rack up a very sizable AWS bill. Given the code paths that I've seen, I know that this is most likely possible.
This should 100% have a CVE number assigned to it.

@orangetw: Can you please make sure you sweep up after yourself when you disclose vulnerability at large hacker conferences like Defcon? ❤

Well, we overlooked that somehow and we should probably fix that even
without CVE number.
I’ll try to look at it, but I’m not sure that I’m experienced enough to fix
that properly. Any suggestions? @orangetw @alex @
JLLeitschuh ?
Otherwise I would prefer to remove that functionality completely, I’m doubt
that it widely used. What do you think @DanCech @piotr1212 @cbowman0 ?
Thanks!
On Tue, 1 Oct 2019 at 20:43, Jonathan Leitschuh<EMAIL_ADDRESS>wrote:

Hi,
So this vulnerability is still live, and this could 100% be abused to
exploit the servers publicly exposing the Graphite server here:
https://www.shodan.io/search?query=Graphite+Browser
A simple version of this exploit would be to chain this together with an
SSRF attack against AWS to steal very valuable information and rack up a
very sizable AWS bill. Given the code paths that I've seen, I know that
this is most likely possible.
This should 100% have a CVE number assigned to it.
@orangetw https://github.com/orangetw: Can you please make sure you
sweep up after yourself when you disclose vulnerability at large hacker
conferences like Defcon? ❤
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/graphite-project/graphite-web/issues/2008?email_source=notifications&email_token=AAJLTVW3EVYBDT6PDZMBK3LQMOK4VA5CNFSM4DU4S5U2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEACKBOQ#issuecomment-537174202,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJLTVT7M6LVGK6NPHIZEUTQMOK4VANCNFSM4DU4S5UQ
.

One way to fix this issue would be to convert that endpoint from accepting HTTP GET requests to accepting only Cross Site Requset Forgery (CSRF) protected POST requests that require a user to be logged in.
Part of the problem with this though is that Graphina ships with the default credentials of root root. I'd advise also preventing the use of this endpoint (at minimum) if the user is detected to still have the default credentials.

Also, I'd recommend limiting the outgoing request so that it can only be made against known safe/trusted endpoints.

@deniszh Can you also create another security advisory for something else I need to report.

Hi @JLLeitschuh ,
Sorry, I'm not really aware of Github security advisores and how it works. Created for both issues, added you to collaborators.

Oops, I only reported to GitHub at that time. Sorry for that :(

OK, I checked this function and didn't find any good use for it in the code. It was imported during  initial import 12 years ago and also not documented in API docs.
I think we just need to remove it.
Opinions? @DanCech @iksaif @piotr1212 @cbowman0 ?

I haven't used graphite in several years, and just filed this since I care about the security and health of the internet. From my perspective, deleting code is a great solution to security issues!

+1 for just removing it.  I don't see anywhere in the code that uses it.

Please also note that sending email from Dashboard is implemented in completely different commit https://github.com/graphite-project/graphite-web/commit/e2a70d8fe5a37ed52cd8166233607bcc50c15b64 and not use send_email function at all.

This issue was assigned CVE-2017-18638.

https://nvd.nist.gov/vuln/detail/CVE-2017-18638

Fix merged into master, and 0.9.x and 1.0.x branches. I'm preparing backport to current 1.1.x branch and going to release Graphite 1.1.6 shortly

@deniszh Would you be so kind as to put credit on that report for @orangetw, @alex and I?

FWIW, I don't feel I need credit (though I don't object either :-)). I just took a report from one place and made sure it was filed where the maintainers would see it.

Sure, I would be happy to give all credits! Here or any other place, much
appreciated!
On Mon, 1 Jun 2020 at 20:36, Jonathan Leitschuh<EMAIL_ADDRESS>wrote:

@deniszh https://github.com/deniszh Would you be so kind as to put
credit on that report for @orangetw https://github.com/orangetw, @alex
https://github.com/alex and me?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/graphite-project/graphite-web/issues/2008#issuecomment-637034014,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJLTVVGD5JWWPJM2ZPQUPTRUPYMTANCNFSM4DU4S5UQ
.

@deniszh This is what I mean:
https://github.blog/2020-05-26-giving-credit-for-security-advisories

@JLLeitschuh : cool, but it's not allowing me to do so.

Same for @orangetw or @alex - "isn't a Githuib member" 🤷

No @ prefix.
On Tue, Jun 2, 2020 at 10:37 AM Denis Zhdanov<EMAIL_ADDRESS>wrote:

@JLLeitschuh https://github.com/JLLeitschuh : cool, but it's not
allowing me to do so.
[image: Screenshot 2020-06-02 at 16 35 29]
https://user-images.githubusercontent.com/1227222/83532867-24d06e80-a4ef-11ea-8584-c2b41a7a99b9.png
Same for @orangetw https://github.com/orangetw or @alex
https://github.com/alex - "isn't a Githuib member" 🤷
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/graphite-project/graphite-web/issues/2008#issuecomment-637584473,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAGBAB6QZM4A722MS723TRUUFAZANCNFSM4DU4S5UQ
.

--
All that is necessary for evil to succeed is for good people to do nothing.

Ah, @ was not needed. 🤦
Fixed.

Thanks @deniszh!

Thank you all and @JLLeitschuh ! :D


Add bookmind app

BookMind from Meta Hackathon

This pull request introduces the BookMind application, a web app that allows users to explore character relationships and storylines in books using AI-powered visualizations. The changes include the addition of frontend and backend components, setup instructions, and necessary configurations.
New Application Introduction:

examples/bookmind_app/README.md: Added a comprehensive README file detailing the features, prerequisites, setup instructions, and usage of the BookMind application.

Frontend Setup:

examples/bookmind_app/package.json: Added dependencies and scripts for the React frontend of the BookMind application.
examples/bookmind_app/public/index.html: Added the main HTML template for the React application.
examples/bookmind_app/src/index.js: Set up the entry point for the React application, including the router and performance reporting.

Backend Setup:

examples/bookmind_app/server/server.py: Implemented the Flask-based API server to handle book analysis, character relationship extraction, and interactive queries using LlamaStack.
examples/bookmind_app/server/requirements.txt: Listed the necessary Python dependencies for the backend server.

Configuration Files:

examples/bookmind_app/example.env: Added an example environment configuration file for the frontend.
examples/bookmind_app/server/example.env: Added an example environment configuration file for the backend.

I've had a look at the youtube video - cool stuff


Failed to play audio file:  problems with NAudio?

I tried to start up this exciting game on Mac OS through Wine.
With the following environment settings:

Win10 32bit
.NET 4.8
XNA 4.0
VC++ 2015-2022

It successfully ran for the first time (with audio) and I enjoyed it for a while.
However, after the very first time I started it up, it failed to play the audio files every time.
I tried to uninstall the game and recreate the whole Wine environment many times, but this problem still existed.
I am not sure whether there's some other environment component that I forgot to install?
(So far as I know, NAudio is related to .NET, but I already got it.)
And not understand why it succeeded for the first time and failed in the following.
Thank you for spending time reading this issue!
Checking the log file, there was a warning as follows:
03:03:30.977ms: Warning: Failed to play audio file: System.Runtime.InteropServices.COMException (0xC00D36BB): Exception from HRESULT: 0xC00D36BB
   at NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSourceReaderFromURL(String pwszURL, IMFAttributes pAttributes, IMFSourceReader& ppSourceReader)
   at Ship_Game.Audio.NAudio.NAudioMFReader.CreateReader(MediaFoundationReaderSettings settings) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioMFReader.cs:line 143
   at Ship_Game.Audio.NAudio.NAudioMFReader.Init(MediaFoundationReaderSettings initialSettings) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioMFReader.cs:line 91
   at Ship_Game.Audio.NAudio.NAudioMFReader..ctor(String file, MediaFoundationReaderSettings settings) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioMFReader.cs:line 81
   at Ship_Game.Audio.NAudio.NAudioFileReader.CreateMFReader(WaveFormat outFormat, String fileName) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioFileReader.cs:line 37
   at Ship_Game.Audio.NAudio.NAudioFileReader.CreateReaderStream(WaveFormat outFormat, String fileName) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioFileReader.cs:line 45
   at Ship_Game.Audio.NAudio.NAudioFileReader..ctor(WaveFormat outFormat, String audioFile) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioFileReader.cs:line 25
   at Ship_Game.Audio.NAudio.NAudioPlaybackEngine.Play(AudioCategory category, AudioEmitter emitter, String audioFile, Single volume) in C:\Projects\BlackBox\Ship_Game\Audio\NAudio\NAudioPlaybackEngine.cs:line 59

Try the following versions:
.Net 3.5
vcredist 2010
XNA 3.1
These are the versions that shipped on my copy of the game. I hope that resolves the issue for you,

@VenteF
Thank you for your suggestion!

The game itself required the .NET above 4.8.
I finally solved this problem with the following:

On Mac:

Crossover 24.0.1
Win10 64bit bottle
.NET 4.8
vcredist 2010/2017
XNA 4.0

I hope my experience helps.


feat: add support for android studio which installed by jetbrains toolbox

The android studio which installed by jetbrains toolbox will not have the "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Android Studio\\UninstallString" in the registry, but Jetbrain Toolbox will auto generate a studio.cmd for Android Studio, so we can use it to launch Android Studio for toolbox user.

Seems like I'm the first one to do this...I'm confused about the package name in the change file, could you please provide an example?

it looks something like this
---
"tauri-mobile": patch
---

Change summary here

Like this?
Add_open_support_for_Andriod_Studio.md
---
"tauri-mobile": patch
---

Added open support for Android Studio installed by JetBrains Toolbox

just needs a slight word change
---
"tauri-mobile": patch
---

Added support for opening Android Studio installed by JetBrains Toolbox

thanks

Added, Thanks~


Add Relayer V5

Add RelayerV5 to the SDK
Update generalisedJoin to use RelayerV5
Update generalisedExit to use RelayerV5

Note: relayer addresses were taken from here

Should also add RelayerV5 to src/modules/contracts/implementations/relayer.ts and make sure we're using most recent contract in tests, examples, etc.

This file was one of the reasons I asked if we should keep instantiating as Contract types or as RelayerV5 type. I chose to instantiate as RelayerV5 directly on contracts.module.ts.
Following that logic, I don't even see much benefit of having this implementations folder/files.
Why do we have them?


Integration Testing With User Claim

Hi there,
How can I use Integration Testing with User Claim. When we have Authorize attribute at the top of the controller. I am trying to do this according to the this post https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/testing . but I didn't got it. Can you please put a sample for Integration testing with user claims.
Thank you

@erangaapp  this is not a support forum. Can you try asking that question on stack overflow?

@erangaapp  thanks, hopefully we can get some help writing this. Good suggestion.

Cross-ref: https://github.com/aspnet/Docs/issues/6882

@erangaapp ... This is going to be covered by #15340. Comment on the PR if you have additional remarks. That should go in today and go live within 24 hours. This issue will close automatically when that PR merges.


PHP & MySQL Tutorial

The page is unavailable.
Can you help to fix it?
Thanks.

It's moved into the repository, the documentation.md file:
https://github.com/thomasjbradley/saving-signatures-sample/blob/master/documentation.md


Handling datasets with multiple targets?

I would like to add the linnerud dataset to linfa-dataset but I've noticed that currently targets are only handled as a one-dimensional array. Should we introduce something like:
pub type MultiTargetDataset<D, T> =
    DatasetBase<ArrayBase<OwnedRepr<D>, Ix2>, ArrayBase<OwnedRepr<T>, Ix2>>;

or is there a better way?

Hey,
this wasn't considered for now but should be as multi-target prediction is very common.
The targets matrix can be 1, 2 or three dimensional in three different cases:

1dim - 1 target per N observations
2dim - M targets per N observations
3dim - L probabilities for M targets per N observations

here is L the number of labels, M the number of targets and N the number of points. Because ndarray supports three dimensional arrays we should switch the Dataset definition to
pub type Dataset<D, T> = DatasetBase<ArrayBase<OwnedRepr<D>, Ix2>, ArrayBase<OwnedRepr<T>, Ix3>>;

and then update the whole machinery in linfa/dataset/.

I added a point to #70 for this feature

Ok thanks. I was too conservative and not aware of the third case (do you have an example in mind?)

I added a point to #70 for this feature

Does it mean you plan to work on that in the coming weeks?

yes playing around with this right now, because it is a prerequisite for #66 I will open a PR once I have something useful

work started in #88, I think the basic mechanism is in place and I will finish the PR in the next days

finally merged #88, can you give feedback whether everything works as expected?

Ok, I will. I will resume my work on linnerud dataset. FYI, I am working on a port of PlsRegression which is tested against that dataset. If it goes well, maybe it could land in linfa? Where? A new member linfa-cross-decomposition or ...? What do you think?

sounds good, we should add CCA at a later point as well. If you want to implement the SVD version, you can use TruncatedSvd from ndarray-linalg

A suggestion: now that we have several targets, we could have target_names as well.

multi-target datasets were introduced #88 and a sample dataset added in #89. I also added a note in #70 regarding target naming


Add error message to failed WAST directives

Prior to this change, not all errors for failed WAST directives were being printed. For example, on certain directives, wast would fail with a Cranelift verifier error but would only print out the location of the error, not the error message itself.

cc @alexcrichton, @sunfishcode; see #434 for introduction of with_context lambas.

Technically this shouldn't be necessary, but the failure crate unfortunately has some quirks about how it deals with errors which means that you have to go out of your way to print the entire stack of errors instead of just printing the top error.
I think the right fix here would be to track down where the error is being printed and print out the entire chain of errors (iter_causes and such), since with_context in general doesn't need to be used to look at the error because the error text is already in the backtrace.

If it helps, @joshtriplett's PR migrating Wasmtime from failure to thiserror should be ready soon; it's just waiting for a Cranelift version bump: https://github.com/CraneStation/wasmtime/pull/436

@sunfishcode Thanks! It's ready now.
@abrown With the switch to thiserror and anyhow, you should automatically get a full chain of contexts (along with the original error) anytime an error gets printed with Debug. Thus, you just need to make sure that anything printing an error does so using Debug rather than Display. #436 changes several of those cases already.
Any program relying on question-mark-in-main will also automatically do the right thing, as question-mark-in-main prints the error using Debug before returning an exit code.

@joshtriplett, I think that makes sense and likely this change is then unnecessary; however, I don't (immediately) see when/how the errors are actually printed so I will wait until #436 is merged and see if I get more descriptive errors. In that case, I will close this.

@abrown want to try rerunning tests on a rebased master? In theory it should "just work" now I believe

Well, that wasn't very hard: I see that the following prints out the error message https://github.com/CraneStation/wasmtime/blob/ebef2c6b5720fce164af9ded8b7ff3dd5d7e041c/src/bin/wast.rs#L171
If I change it to eprintln!("{:?}", e) I get:
$ cargo build && RUST_LOG=cranelift_codegen=debug target/debug/wast --disable-cache -d vall_true.wast
   Compiling wasmtime v0.2.0 (/home/abrown/Code/wasmtime)
    Finished dev [unoptimized + debuginfo] target(s) in 5.92s
for directive on vall_true.wast:0:1

Caused by:
    0: Validation error: module did not validate: SIMD support is not enabled (at offset 16)
    1: Validation error: module did not validate: SIMD support is not enabled (at offset 16)

Is that the format we want? It has the information I need.

Note that switching wast over to question-mark-in-main would have the same effect as the code that's now merged.


Link to  Install or Uninstall Roles, Role Services, or Features is dead.

The link to "Install or Uninstall Roles, Role Services, or Features" is dead. Please fix this.
Expected behavior:  Install or Uninstall Roles, Role Services, or Features link goes to a valid page.
Actual behavior:  Install or Uninstall Roles, Role Services, or Features link yields a 404.
Steps to reproduce:

Go to page.
Click  Install or Uninstall Roles, Role Services, or Features .
Get a 404.

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

ID: 6062bcb6-3aa2-b8b2-4a19-83581983dbe9
Version Independent ID: 6e6854e3-bab7-fb4b-3a8f-9fff46e946ad
Content: servermanagercmd
Content Source: WindowsServerDocs/administration/windows-commands/servermanagercmd.md
Product: windows-server
Technology: windows-commands
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Thank you for the report, confirmed to be correct. The 404 page even suggests the correct link:
Dead link: https://docs.microsoft.com/administration/server-manager/install-or-uninstall-roles-role-services-or-features
Good link: https://docs.microsoft.com/windows-server/administration/server-manager/install-or-uninstall-roles-role-services-or-features
Looks like the document page was moved to a different part of the directory hierarchy at some point.
I will make a PR to update the link to a working state.

By the way, the last link at the bottom of the page (https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/servermanagercmd#additional-references), Server Manager overview also produces a 404 page, for the exact same reason, the link assumes that /administration/ is a top-level directory and not a subdirectory beneath /windows-server/. I am adding the same solution for that link to my PR.

There you go. PR #5370 is ready for review, comments and suggestions.

#assign:xelu86

Hey @rossmpersonal
Thanks again for contacting Microsoft. We value your feedback.
The issue raised with this documentation was corrected and this issue was not closed. We will now be closing this thread. Thank you and have a most pleasant day.
#please-close


Aggregate cluster properties override those of the "child" clusters

Title: Aggregate cluster properties override those of the "child" clusters
Description:
We’re using Envoy <IP_ADDRESS> with an aggregate cluster, and multiple “child” clusters.
Our aggregate cluster has a basic config, similar to the example given in the current docs [0].
name: aggregate_cluster
connect_timeout: 0.25s
lb_policy: CLUSTER_PROVIDED
cluster_type:
  name: envoy.clusters.aggregate
  typed_config:
    "@type": type.googleapis.com/envoy.extensions.clusters.aggregate.v3.ClusterConfig
    clusters:
    - primary
    - secondary
    - tertiary

Each of our “child” clusters (primary, secondary, tertiary in this example) is configured to use HTTP/2, by specifying the following, as per the cluster configuration docs [1]:
"http2_protocol_options": {
  "stream_error_on_invalid_http_messaging": true
},

We’ve used this cluster configuration in many other Envoy applications to great effect, so we were surprised to find that when used as part of an aggregate cluster, the connections were all using HTTP/1.1!  We verified this by not only looking at access logs for the Envoy upstream, but also by looking at the metrics for:

envoy.cluster.upstream_cx_http1_total
envoy.cluster.upstream_cx_http2_total

It appears that some of the configuration properties on the aggregate cluster override those in the “child” clusters, even though the docs make no mention of this.  In this specific case, the child clusters were behaving as if the lack of http2_protocol_options on the aggregate cluster was overriding its own configuration.
We were able to add the http2_protocol_options configuration to the aggregate cluster, and see that our traffic did begin to use H/2.
In other words, we changed our aggregate cluster configuration to be:
name: aggregate_cluster
connect_timeout: 0.25s
lb_policy: CLUSTER_PROVIDED
http2_protocol_options:
  stream_error_on_invalid_http_messaging: true
cluster_type:
  name: envoy.clusters.aggregate
  typed_config:
    "@type": type.googleapis.com/envoy.extensions.clusters.aggregate.v3.ClusterConfig
    clusters:
    - primary
    - secondary
    - tertiary

Which caused our traffic to be sent via H/2 as expected.
We know empirically that not all of a cluster’s top-level configuration properties are being overridden by the aggregate cluster in this manner, since we see that our configurations for things like:

upstream_bind_config
transport_socket
health_checks

are being used by the child clusters as expected.
This seems like a bug to us, since the aggregate cluster docs specifically mention that it is intended to be used “...for failover between clusters with different configuration”.
If this is not a bug and is in fact the intended behavior of the aggregate cluster, I think the docs should spell out which cluster configuration properties are overridden/inherited with those of the aggregate cluster.
Relevant Links:
[0] https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/aggregate_cluster#example
[1] https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster.proto
Thanks!

cc @snowp do you recall the history here?
cc @alyssawilk also as this is mildly related to our recent conversations about cluster.proto being a bit out of control.

I imagine there must be somewhere in the code where we read cluster configuration directly instead of from the selected host.
Looking at the code we see this:
Http::ConnectionPool::Instance* Filter::getHttpConnPool() {
  // Choose protocol based on cluster configuration and downstream connection
  // Note: Cluster may downgrade HTTP2 to HTTP1 based on runtime configuration.
  Http::Protocol protocol = cluster_->upstreamHttpProtocol(callbacks_->streamInfo().protocol());
  transport_socket_options_ = Network::TransportSocketOptionsUtility::fromFilterState(
      *callbacks_->streamInfo().filterState());

  return config_.cm_.httpConnPoolForCluster(route_entry_->clusterName(), route_entry_->priority(),
                                            protocol, this);
}

where we resolve which protocol to use before host selection is done using the top level cluster configuration.
This is a bit trickier to fix than I thought originally, since we'll need to defer protocol selection until after the host has been selected. That said this is definitely a bug for the aggregate cluster, so we should fix this.


Don't modify configured babel plugins array

Reimplementation of #675 after recent changes, with an added test. Thanks to @dcousineau for finding the bug.

@novemberborn thanks! I've been so busy I haven't been able to write tests, and thats a much simpler test than I would have done...

:shipit:

No worries @dcousineau :)


Behavior protocols in classes

Is your feature request related to a problem? Please describe.
Not all chains of functions calls and attribute accesses are valid.
Describe the solution you'd like

Specify behavior protocols
Repetition (0-n or 1-n)
Option
Alternative
Sequence
Syntax: protocol { f* g+ h? (i|j) k } - here f to k are references to callables and attributes (meaning reading accesses)
Can refer to instance methods and instance attributes the next surrounding class (cannot access anything in outer classes if nested)
Only makes sense in classes since it describes the lifecycle of a single instance
At most 1 per class
Must only be used in stub files (that's a given if it can only be used in classes)

Semantics

If a class has a protocol only call sequences that conform exactly to the protocol are allowed. There must be no unmatched call prefix or suffix and nothing unmatched in-between.
Protocol can be overridden by subclasses. However, the overriding protocol must conform to the overridden protocol. A class can only specify additionally, when its own methods/attributes can be used.
If a class Sub has no own protocol, but a superclass Super has, instances of Sub must adhere to the protocol defined in Super, when using features of Super. Methods defined in Sub, however, can be used freely.
If a class has no own protocol and neither of its superclasses does, all features can be mixed freely.

Tasks

[x] Scoping (can point to subterms and functions/attributes defined in the class or inherited from a superclass)
[x] Validation: referenced functions and attributes must not be static
[x] Validation: no duplicate names for subterms
[x] Update Prolog converter
[x] Creators
[x] Accessors
[ ] Actual validation that calls conform to the protocol

We won't work on this further until we find more use-cases. The feature is not worth pursuing just to ensure the fit is called before predict or transform. See also https://github.com/Safe-DS/DSL/pull/518.


Update dependencies instructions

Update aws-vault install command since it has changed.
Add direnv as a dependency. I'm not sure if it's strictly needed for this tool, or is needed once you are setting up a repo that will rely on your AWS creds being set up. If it isn't needed for this one, I can remove this bit and open a second pr in the other repo I was looking at.

I'm not sure who exactly I should ask for reviews from so I just went with github's suggestion.

Ah ok. In that case, I'll only leave the change to the installation for aws-vault

Ah ok. In that case, I'll only leave the change to the installation for aws-vault

Thank you for updating!!!

Thank you for updating!!!

Glad to help 😄

Glad to help 😄


Add compatibility with pyside2

Hi,
I've successfully used the PyQt5Singleton class in my PyQt5 projects, but am currently looking at a project that uses qtpy to abstract away PyQ5 and pyside2, allowing either frameworks to be used.
Unfortunately I haven't been able to get PyQt5Singleton to work with pyside2 (either directly, or via qtpy). Do you have any suggestions for how this might be approached.
Thanks,
Russ

Did you manage to implement it with PySide?

here is a PySide6 implementation
class QSingleton(type(QObject), type):
    def __init__(cls, name, bases, dict):
        super().__init__(name, bases, dict)
        cls.instance=None

    def __call__(cls,*args,**kw):
        if cls.instance is None:
            cls.instance=super().__call__(*args, **kw)
        return cls.instance
# Usage
class Foo(QObject, metaclass=QSingleton):
    ...

@fmassucci


Add permission and new API in log-manager

Add permission check in log-manage
Add log-manager API to retrieve log

Coverage remained the same at 34.391% when pulling 2147f288a008cfdd47388311444627fc4f94229c on binyli/log-manager into d434a3c096be72bc49073f176e403d303dd8df9c on master.


sendSms, sendEmail and sendLetter parameters documentation doesn't match actual implementation

Documentation for the sendEmail method states that it accepts 5 parameters:

templateId (required)
emailAddress (required)
personalisation (required)
reference (required)
emailReplyToId (optional)

However, in practice, this method actually accepts 3 parameters:

templateId (required)
emailAddress (required)
options (optional)

options should be an object, and may optionally contain any of the following keys:

personalisation
reference
emailReplyToId

The same applies to sendSms and sendLetter methods.

According to the changelog, the methods were changed in 2017. But the documentation is out of date since it doesn't reflect these changes.

Hi Ollie, as far as I can tell this issue has been fixed now. Sorry we didn’t notice and reply to your comment sooner, and thanks for writing it up so clearly.


synth_nexus: Initial implementation

This adds synthesis support for the Lattice Nexus FPGA families (currently CrossLink-NX and Certus-NX), with Radiant being the current place and route option.
Although on the face of it ECP5 and Nexus are quite similar architectures, this adds a new command and set of libraries to take advantage of a 'fresh start' and change some design decisions. In particular, there is an aim for 100% compatibility with vendor tools, similar to synth_xilinx, which makes debugging easier. I plan for a similar 'fresh start' on the nextpnr arch side as part of general ongoing research into nextpnr quality improvements - for example the prjoxide/nextpnr-nexus database build will take 10 seconds rather than 10 minutes.
Hopefully in both cases this might trickle down via backporting ECP5 to the new approach so it will benefit from this work too.
Notable current omissions:

DSP inference
Accurate timing per LUT input (this hasn't been documented yet)
Sim models for DSP primitives, block RAM, IO registers, etc

This can currently be tested in two ways:

Feeding the 'vm' file into Synplify, essentially running synthesis twice
Skipping Lattice's synthesis, by feeding the 'vm' file into postsyn - starting from command 2 of the 'Using Command Line Shell Scripts' section of the Radiant user guide

@daveshah1 is there anything pending except test fix ?

Test fixed pushed; thanks; I think everything else is OK for a first implementation now