Flutter not working with java.lang.ExceptionInInitializerError

Steps to Reproduce

flutter run
issue produces:

* What went wrong:
java.lang.ExceptionInInitializerError (no error message)

Logs
PS C:\Programming\flutterTest\myapp> flutter run --verbose
[  +28 ms] executing: [C:\src\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
[  +72 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [C:\src\flutter\] git rev-parse --abbrev-ref HEAD
[  +46 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[        ] executing: [C:\src\flutter\] git ls-remote --get-url origin
[  +45 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[        ] executing: [C:\src\flutter\] git log -n 1 --pretty=format:%H
[  +53 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[   +2 ms] 8661d8aecd626f7f57ccbcb735553edc05a2e713
[   +1 ms] executing: [C:\src\flutter\] git log -n 1 --pretty=format:%ar
[  +57 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[   +2 ms] 9 weeks ago
[   +4 ms] executing: [C:\src\flutter\] git describe --match v*.*.* --first-parent --long --tags
[  +52 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[   +1 ms] v1.2.1-0-g8661d8aec
[ +157 ms] executing: C:\AndroidSDK\platform-tools\adb devices -l
[  +39 ms] Exit code 0 from: C:\AndroidSDK\platform-tools\adb devices -l
[   +2 ms] List of devices attached
           emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86
           transport_id:1
[ +279 ms] C:\AndroidSDK\platform-tools\adb -s emulator-5554 shell getprop
[  +63 ms] ro.hardware = ranchu
[  +33 ms] Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider
enabling
           software rendering with "--enable-software-rendering".
[ +777 ms] Launching lib/main.dart on Android SDK built for x86 in debug mode...
[  +40 ms] Initializing gradle...
[   +3 ms] Using gradle from C:\Programming\flutterTest\myapp\android\gradlew.bat.
[ +114 ms] executing: C:\Programming\flutterTest\myapp\android\gradlew.bat -v
[ +460 ms]
                    FAILURE: Build failed with an exception.

                    * What went wrong:
                    java.lang.ExceptionInInitializerError (no error message)

                    * Try:
                    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more
                    log output. Run with --scan to get full insights.

                    * Get more help at https://help.gradle.org
[  +20 ms] "flutter run" took 1,870ms.
[   +1 ms] "flutter run" took 1,870ms.

Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Crash report sent (report ID: e7989163928fb7bf)
Crash report written to C:\Programming\flutterTest\myapp\flutter_03.log;
please let us know at https://github.com/flutter/flutter/issues.

command
flutter run --verbose
exception
ProcessException: ProcessException: Process "C:\Programming\flutterTest\myapp\android\gradlew.bat" exited abnormally:

FAILURE: Build failed with an exception.

* What went wrong:
java.lang.ExceptionInInitializerError (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org
  Command: C:\Programming\flutterTest\myapp\android\gradlew.bat -v

#0      runCheckedAsync (package:flutter_tools/src/base/process.dart:250:5)
<asynchronous suspension>
#1      _initializeGradle (package:flutter_tools/src/android/gradle.dart:210:9)
<asynchronous suspension>
#2      _ensureGradle (package:flutter_tools/src/android/gradle.dart:191:37)
<asynchronous suspension>
#3      _readGradleProject (package:flutter_tools/src/android/gradle.dart:119:31)
<asynchronous suspension>
#4      _gradleProject (package:flutter_tools/src/android/gradle.dart:111:34)
<asynchronous suspension>
#5      getGradleAppOut (package:flutter_tools/src/android/gradle.dart:105:29)
<asynchronous suspension>
#6      AndroidApk.fromAndroidProject (package:flutter_tools/src/application_package.dart:137:23)
<asynchronous suspension>
#7      ApplicationPackageFactory.getPackageForPlatform (package:flutter_tools/src/application_package.dart:37:32)
<asynchronous suspension>
#8      FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:288:56)
<asynchronous suspension>
#9      HotRunner.run (package:flutter_tools/src/run_hot.dart:295:39)
<asynchronous suspension>
#10     RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:405:37)
<asynchronous suspension>
#11     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:545:18)
#12     _asyncThenWrapperHelper.<anonymous closure> (dart:async/runtime/libasync_patch.dart:77:64)
#13     _rootRunUnary (dart:async/zone.dart:1132:38)
#14     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#15     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#16     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#17     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#18     Future._complete (dart:async/future_impl.dart:473:7)
#19     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#20     _AsyncAwaitCompleter.complete (dart:async/runtime/libasync_patch.dart:28:18)
#21     _completeOnAsyncReturn (dart:async/runtime/libasync_patch.dart:294:13)
#22     RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
#23     _asyncThenWrapperHelper.<anonymous closure> (dart:async/runtime/libasync_patch.dart:77:64)
#24     _rootRunUnary (dart:async/zone.dart:1132:38)
#25     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#26     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#27     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#28     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#29     Future._complete (dart:async/future_impl.dart:473:7)
#30     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#31     _AsyncAwaitCompleter.complete (dart:async/runtime/libasync_patch.dart:28:18)
#32     _completeOnAsyncReturn (dart:async/runtime/libasync_patch.dart:294:13)
#33     AndroidDevice.targetPlatform (package:flutter_tools/src/android/android_device.dart)
#34     _asyncThenWrapperHelper.<anonymous closure> (dart:async/runtime/libasync_patch.dart:77:64)
#35     _rootRunUnary (dart:async/zone.dart:1132:38)
#36     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#37     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#38     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#39     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#40     Future._complete (dart:async/future_impl.dart:473:7)
#41     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#42     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async/runtime/libasync_patch.dart:33:20)
#43     _rootRun (dart:async/zone.dart:1124:13)
#44     _CustomZone.run (dart:async/zone.dart:1021:19)
#45     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#46     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#47     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#48     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#49     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)

flutter doctor
[✓] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.706], locale en-US)
    • Flutter version 1.2.1 at C:\src\flutter
    • Framework revision 8661d8aecd (9 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\AndroidSDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\AndroidSDK
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

• No issues found!

<!-- If possible, paste the output of running `flutter doctor -v` here. -->
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.706], locale en-US)
    • Flutter version 1.2.1 at C:\src\flutter
    • Framework revision 8661d8aecd (9 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\AndroidSDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\AndroidSDK
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

Any fix yet for this issue? Having the same problem as well.

@aslanka was the issue resolved?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Add appropriate tokio features to Cargo.toml

While working on https://github.com/routerify/routerify-websocket/issues/3, I encountered issues when trying to build the test_stream_body.rs example, after having updated routerify-websocket to use tokio 1.x.
error[E0425]: cannot find function `spawn` in crate `tokio`
   --> ~/.cargo/git/checkouts/stream-body-094892f572609189/4ca8d42/src/body.rs:104:16
    |
104 |         tokio::spawn(async move {
    |                ^^^^^ not found in `tokio`
    |
help: consider importing one of these items
    |
1   | use crate::body::io::async_write::io::sys::ext::net::raw_fd::sys_common::util::thread::spawn;
    |
1   | use std::thread::spawn;
    |

error[E0425]: cannot find function `copy` in module `io`
   --> ~/.cargo/git/checkouts/stream-body-094892f572609189/4ca8d42/src/body.rs:105:35
    |
105 |             if let Err(err) = io::copy(&mut r, &mut w).await {
    |                                   ^^^^ not found in `io`
    |
help: consider importing one of these items
    |
1   | use core::ptr::copy;
    |
1   | use crate::body::io::async_write::io::copy;
    |
1   | use crate::body::io::async_write::io::sys::ext::net::raw_fd::sys_common::fs::copy;
    |
1   | use crate::body::io::async_write::io::sys::ext::process::process::fs::copy;
    |
      and 5 other candidates

I am not 100% sure why the error did not arise while routerify-websocket was still using tokio 0.2 (probably due to some cargo dependency resolution shenanigans), but it seems to me that stream-body's Cargo.toml should list the features that are used:  "rt-core" is required by tokio::spawn and "io-util" is required by tokio::io::copy, both used in body.rs.
Having this PR merged will allow me to continue working on updating routerify-websocket. I may need to follow up with another PR on stream-body (updating to tokio 1.x and hyper 0.14) before being able to push the routerify-websocket update.

Apologies for the delayed response. I will try to look into the PR soon.

@ErwanDL maybe we should update to tokio 1 right away?

@gsserge I agree, that PR was just really a temporary fix while I was working on updating to tokio v1. However, I have tried to do the update to tokio v1 on this branch, but I am somewhat stuck at the moment as async-pipe's API has changed, due to tokio's AsyncRead's API changing in v1 (prepare_uninitialized_buffer has disappeared). Given that I'm not too familiar with stream-body's code, I'm having a hard time figuring out the correct fix to accomodate these changes 😕

@ErwanDL @gsserge  .. I have pushed a WIP here:
https://github.com/harana-oss/stream-body/commit/ba45cad86a7e5910e018a6a32acf81dd5d56d026
For me it needed this fix to be in place:
https://github.com/routerify/async-pipe-rs/pull/10
But it has an issue where if you do a curl http://localhost:3000 it returns the contents of "large-file" but the response never completes i.e. curl just hangs.
Will keep investigating but would be great if you have tips on how to debug these sort of libraries i.e. do you use rust-gdb etc ?

@ErwanDL, @gsserge , I removed the stream-body dependency from routerify-websocket in version 3, as the stream-body uses async-pipe-rs which uses unsafe code, so, for safety and security reasons, we will not use async-pipe-rs and stream-body in Routerify.


updated noobaa core\operator images in common.sh

updated the images to point to latest upstream builds
fixed dump commands in source-manifests.sh

Signed-off-by: Danny Zaken<EMAIL_ADDRESS>

/retest

shellcheck error. unrelated. ==> #1162

update now that #1120
there is an error in verify-latest-csv (uncommitted changes)

@obnoxxx any idea why verify-latest-csv is failing? I ran make gen-latest-csv and committed the changes (3rd commit in this PR). is there anything I'm missing here?
is it possible there is a difference in the output between mac and Linux?

/retest

e2e tests are failing because changes in noobaa-endpoints deployment require a dedicated SCC to allow it to run.
this need to be resolved before merging this PR

Okay, you can just add that commit to this PR.


What is the precision during computing?

Input and output matrix is float32, but it seems like using bfloat16 during computing (by jax documentations). How can I change to full precision mode?

You can see the last test in benchmarking/test_correctness.py, including an example of configuring the precision.


Some more django-admin commands added

I have added some more useful and some advanced django-admin commands with there use and description in a proper format.

Thank you :)


Keystore Service

The SSI Service will need to manage keys for DIDs amongst other things.
Keys should be stored in a key-store that exposed sign/verify, encrypt/decrypt primitives. Eventually a permissioning model can be layered on top of the key service.
The key service will need to be used by any sub-service that depends on signing or verification, such as during credential issuance, or presentation exchange flows.
The keystore should encrypt keys with a service-level key that can be provided via configuration.

Are the devs considering building out a keystore providing given primitive's or are they open to exploring exploring existing options/building interfaces to add primitives to existing options?

@rishabhmalhotra open to both. was going to provide an interface with a single implementation, though presumably it can be an external API too. open to contributions here.

Thanks for clarifying!

@rishabhmalhotra I am closing this with my implementation in #62. Please open a new issue for external keystore support if you desire it.


Is healtcheck listening on all interfaces?

Hello,
When I do nestat I see
tcp6       0      0 :::11223                :::*                    LISTEN      3314250/wg-portal-a

Does it means that it listen on all interfaces? I saw in the code you are saynig <IP_ADDRESS>.
How to disable/change port/interface on that service?
I personally don't see any need to having additional port used in case we have the web interface port and the health check can be served from there.

Which version are you using? Master and 1.0.16 give me:
tcp        0      0 <IP_ADDRESS>:11223         <IP_ADDRESS>:*               LISTEN      0          235286     -


Release 0.26.2

Description
Release 0.26.2
Related Issue
Releases changes in #1450, #1452, #1454 and #1455
Motivation and Context
Fixing bugs.
How Has This Been Tested?
Tested via automated unit tests.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@runningman84 the deb and rpm packages for 0.26.2 are already available via the unstable apt/yum channels.  IMO we need to merge #1457 and cut a new release before we can promote a build containing changes since 0.26.1 to the stable ("main") channel.

ok I thought #1457 would be included in 0.26.3 but having this in 0.26.2 would also be ok...


@oxaudo => Deploy new artwork page to a configurable percentage of users

Once https://github.com/artsy/reaction/pull/1774 is merged, we can update Reaction here and this should be good to go!
This just follows the exact same approach we took for the artist page, so we can adjust how many people see the page (from none, to a full rollout, in increments of 10%) via an ENV var.

Warnings

:warning:
Please don't include .js files, we want to be using TypeScript found: maybe_new_artwork_page.js.

  Generated by :no_entry_sign: dangerJS

@oxaudo https://github.com/artsy/force/pull/3266 was the accompanying Reaction update (already merged), so this is...good to go?!

Ok, going for it 🤞


Update World.cpp

You need to sort the list before merging otherwise. Debug Assertion Failed Exception will pop up

using splice will solve this without the need to sort the lists.
I'll check this. See issue #4 .


bugfix: inline cpi variables to fix stack violation warnings

The token extensions macro is responsible for initializing extensions while creating a mint was having way too many repetitive stack variables that resulted in a "Stack size overset" warning while building programs. It wasn't occurring until there were way too many extensions initialized. Hence this fix inlines the variables directly into arguments to fix the warning that arose while building the WNS program.

This issue applies generally to other Token Extensions projects as well, this resolves outstanding issues on the RWA Token Extension project as well. would be great to have in the next release.

My bad ser. Apologies.

Done ser @acheroncrypto

Just wanting to make sure if thats all the changes you need? The feeling of not asking you for changes again is mutual here as well hehe. Hopefully this is the last one?


Eureka Server and Client incompatible between Angel (1.0.x) and Brixton (1.1.x)

After doing a fair bit of investigation with this I have found that the Eureka server and client components have some odd functionality between the two versions. This issue is mostly just for others running into this same problem during the upgrade path. If a solution can be found then that would be great, but there seems to be some documentation that is missing if this is what is going to happen going forward.
So there are 4 scenarios in total: (Angel.SR6 and Brixton.RC2 are the versions being used below)

Server (Brixton) and Client (Brixton)
Server (Brixton) and Client (Angel)
Server (Angel) and Client (Brixton)
Server (Angel) and Client (Angel)

Numbers 1 and 4 work as expected. However, numbers 2 and 3 have some differing results.
With 2, the client registers, but continues to register time after time. I found that this is because the instanceId doesn't match what is stored in eureka server. With this setup, I don't have access to the hostname via the configuration properties, so I can't get the instanceId populated with the same value that eureka server contains without doing some code magic.
With 3, the client is able to register on the first lookup, but if the instance can't be found in eureka server then it never is able to re-register and get back to the up state. One thing to note on this flavor as well is that I had to make the eureka.instance.metadata.instanceId property look exactly like the second half of the instanceId created dynamically by the org.springframework.cloud.commons.util.IdUtils class. So the resulting value ended up being: ${spring.application.name}:${server.port} in my test case and the instanceId field was ${spring.cloud.client.hostname}:${spring.application.name}:${server.port}. Upon digging further into this version of the issues I found that in the com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient#sendHeartBeat method that it was updated to see if the response had a body or not, since the response is a 404 the body doesn't match what it's expecting to get back and then throws a mapping exception. This path is what ends up causing the failure to re-register.

So did some more poking around after the release of Brixton and I've discovered a couple more things. Also now providing the configuration that I'm using for testing this error.
https://github.com/shanman190/eureka-error
There are two branches in the above project that demonstrate the middle two issues.
So the first new thing that I've found is that at least in my setup I have the following facts:
Ubuntu 16.04 LTS
Oracle Java 8u91
Network: DHCP
When running in configuration 2 (server Brixton, client Angel), the instanceId is in the same configuration as what Spencer recommends in pr-608 from the customers service example. The thing that I notice here is that when the client calls over to the server it's trying to query for instanceId = localhost:eureka-client:8080 which doesn't exist because in the server. Instead, in the server it can be queried by instanceId = eureka-client:8080. From what I've search through in the Angel codebase there isn't a way to get the hostname onto the instanceId field at the query time on the eureka server side in order to get the values to collide correctly or to remove the localhost prefix from the instanceId property on the client side, so ultimately what the result is is that the client at every renew will perform a re-register of the lease.
When running in configuration 3 (server Angel, client Brixton), Initially, on startup, we register with an instanceId = eureka-client:8080, however when it came time to renew in my setup the lookup is sending an instanceId value of IP:eureka-client:8080 and the server is expecting to see an instanceId value of localhost:eureka-client:8080. I can force the IP to the hostname by adding an entry in my hosts file with the DHCP address, but that would only work until the IP was renewed. Once I do that though an additional issue rises up and that is that in this configuration the client registers on the startup just fine with an the hostname of localhost and an instanceId value of eureka-client:8080, however that doesn't match the same value as the instanceId when it goes to renew the lease as it's the IP version now. Once the two are consistent then the registration and renewal happens correctly. The last bit of trouble that I ran into was that if the eureka server is restarted at this point, the Brixton client won't be able to re-register without a restart of the application. This I found was because of the json response that spring boot returns on an error response.
In summary,
Config 2:

instanceId for the instance doesn't match what eureka server expects causing continuous re-registration

Config 3:

instanceId value changes during startup when using DHCP and doesn't collide for renewal, but because of the json return value is not able to re-register.
because the client is unable to re-register it is also unable to re-register after eureka server has been restarted.

+1 for this, suffering from incompatibility between 1.0.3 server and 1.1.0 client.

afe8f4d0ef6b3064df655453f941c61c1a8769a4 introduces a fix for 3) by setting the following:
eureka.instance.instanceId=${spring.cloud.client.hostname}:client1
eureka.instance.metadataMap.instanceId=${eureka.instance.instanceId}

client1 is arbitrary, could be port, could be an id from platform, random number etc...

@spencergibb That part definitely looks good to fix the instanceId problem. Is there a way that you know of to easily disable the 404 json with the Angel eureka server? That would fix the second part that the instance won't re-register.

@shanman190 I'm not seeing a 404 for 3 with my fix.

@spencergibb The 404 will come from the eureka server after performing a restart of the application and the client sending it's next heartbeat. In my example, I'm running a single node, so there isn't replication. The problem originates from a change to the Eureka DiscoveryClient.HeartbeatThread (1.1.147) and AbstractJerseyEurekaHttpClient (this is where the heartbeat moved to) where it was looking for a status code of 404 coming back from Eureka Server and now it's looking for the response body having content.
DiscoveryCleint.HeartbeatThread:
https://github.com/Netflix/eureka/blob/v1.1.147/eureka-client/src/main/java/com/netflix/discovery/DiscoveryClient.java#L1591
AbstractJerseyEurekaHttpClient:
https://github.com/Netflix/eureka/blob/v1.4.6/eureka-client/src/main/java/com/netflix/discovery/shared/transport/jersey/AbstractJerseyEurekaHttpClient.java#L104

So I realize that my previous comment isn't very clear, so I'm going to add some more information in the hope that my previous comment becomes a little bit more clear.
Steps:

Start server
Start client and wait until registration is complete
Restart server, client will no longer be registered, but the client thinks that it is
Client will send heartbeat
Server sends 404 with Spring Boot json response body (here's where things start to go wrong)
AbstractJerseyEurekaHttpClient begins capturing the values of the response because the response has a json body it also tries to deserialize that body into an InstanceInfo object causing an exception to be thrown up the stack.

If there was a way to disable the json response body then the exception caused by the incorrect deserialization would be skipped and the Eureka response would return back to the renew method of the DiscoveryClient and it then checks for the 404 response code and re-registers the client with the server.

Thanks for all the analysis. Here's my summary:

We should give a low priority to scenario 3 (Brixton client, Angel server) because upgrading the server should always be easy.

Commit a0c1b4c0 should fix scenario 2 (Angel client, Brixton server).

The 404 problem in #1033 is actually a barrier for the Brixton client, irrespective of the server anyway, so we should fix that urgently as well (in the server if necessary). It might even fix scenario 3.

Update: #1033 is only a problem with the Angel server, so it's not a high priority. As far as I can tell we have it all covered in the issue. There might still be some issues with the client thrashing its registration (see comments with log snippets in #1013), so I'm going to leave this open for a bit in case we can work out what that means.

Hi
@dsyer In which branch live Commit a0c1b4c0 ?
This scenario (2) is very important because we cannot oblige all eureka clients to release themselves if we upgrade eureka server to brixton.
Christophe.

It's on master (now).

I've tested the issue as well using the latest Brixton snapshot and can confirm that upgrading the eureka server to the Brixton snapshot allows both eureka clients running Angel and Brixton to properly register and re-register after the server has been restarted. This most definitely fixes scenario 2 and gives users an upgrade path from Angel to Brixton when utilizing Eureka service discovery.
@dsyer You're welcome. Glad to help and thank you and @spencergibb for all the work that went into correcting this issue!

Does this fix will be part of release 1.1.1 ?
Thx
Christophe

@ouaibsky yes, @dsyer's fix for item 3 a0c1b4c05d9c98d98a863b248608b2fff1177b7f would be part of 1.1.1 (Brixton.SR1).  My fix for item 2 (https://github.com/spring-cloud/spring-cloud-netflix/issues/978#issuecomment-219168252) would be part of 1.0.x and Angel.SR7.

Thx a lot
Christophe

Is there any thought on when the Brixton.SR1 release is going to be?

Probably next week (still waiting for a couple of bug fixes).

What is the process to push releases on maven central ?
I can see 1.1.1 and 1.1.2 in spring repo: https://repo.spring.io/release/org/springframework/cloud/spring-cloud-netflix-eureka-server/,
but nothing in central: http://search.maven.org/#search|gav|1|g%3A"org.springframework.cloud" AND a%3A"spring-cloud-netflix-eureka-server"
Christophe

The process isn't finished yet.

Brixton SR1 fixed the problem for me. Good job, thanks.

In my opinion this works only when in the Angel client has no custom 'eureka.instance.metadataMap.instanceId' set.
In my case the Angel client has:
eureka:
  instance:
    metadataMap:
      instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}

In this case the client tries to register itself all 30 sec:
2016-06-16 17:37:39.620  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6 - Re-registering apps/XXX-EUREKA-CLIENT-ANGEL
2016-06-16 17:37:39.620  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6: registering service...
2016-06-16 17:37:39.621  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6 - registration status: 204
2016-06-16 17:38:09.661  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6 - Re-registering apps/XXX-EUREKA-CLIENT-ANGEL
2016-06-16 17:38:09.661  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6: registering service...
2016-06-16 17:38:09.662  INFO 11044 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_XXX-EUREKA-CLIENT-ANGEL/U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6 - registration status: 204

Brixton.SR1 Eureka Server logs:
2016-06-16 17:37:39.620  WARN 11392 --- [nio-8761-exec-5] c.n.e.registry.AbstractInstanceRegistry  : DS: Registry: lease doesn't exist, registering resource: XXX-EUREKA-CLIENT-ANGEL - U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6
2016-06-16 17:37:39.620  WARN 11392 --- [nio-8761-exec-5] c.n.eureka.resources.InstanceResource    : Not Found (Renew): XXX-EUREKA-CLIENT-ANGEL - U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6
2016-06-16 17:37:39.621  INFO 11392 --- [nio-8761-exec-7] c.n.e.registry.AbstractInstanceRegistry  : Registered instance XXX-EUREKA-CLIENT-ANGEL/U245496 with status UP (replication=false)
2016-06-16 17:38:09.661  WARN 11392 --- [nio-8761-exec-6] c.n.e.registry.AbstractInstanceRegistry  : DS: Registry: lease doesn't exist, registering resource: XXX-EUREKA-CLIENT-ANGEL - U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6
2016-06-16 17:38:09.661  WARN 11392 --- [nio-8761-exec-6] c.n.eureka.resources.InstanceResource    : Not Found (Renew): XXX-EUREKA-CLIENT-ANGEL - U245496:xxx-eureka-client-angel:983d24591515138d72191e85eb0479a6
2016-06-16 17:38:09.662  INFO 11392 --- [nio-8761-exec-9] c.n.e.registry.AbstractInstanceRegistry  : Registered instance XXX-EUREKA-CLIENT-ANGEL/U245496 with status UP (replication=false)

com.netflix.eureka.registry.AbstractInstanceRegistry.register will register with hostname(instanceInfo.getId()) when no instanceId is set(never set in Angel clients).

Thanks for the logs. Can you please open a new issue specifically about this scenario?


feat: add ApiFutures.catchingAsync

I would like to use this in Firestore. I tried to match the existing signature that allows the callback to return '? extends V' but this does not seem to be possible (see transformAsync).

This exposes "Futures.catchingAsync", similar to the existing "catching", which exposes "Futures.catching".

@elharo Here is a PR that uses it https://github.com/googleapis/java-firestore/commit/d6de6ceea416068b32147cd353a6f6868d2205cc#diff-dc2367736d16b0b533729ca22cb69d50R169
catchingAsync allows me to centralize the error handling in one place.

@vam-google @elharo Is there anything else that needs to be done here?


Update sample web.config file for Blazor precompressed files

[EDIT by guardrex to add the metadata. @cornem, please use the This page feedback form at the bottom of the English-US topic to open new issues, which will automatically add the metadata]
The docs page for Hosting a Blazor WebAssembly app links to a sample web.config file. However, using this as-is leads to a number of unexpected errors. The problem is that the web.config file correctly resets the MIME types for the file extensions dat, dll, js, json and wasm, but not for other types, even though precompressed files are present for html, css, images, etc. This leads to errors in the browser and those resources are not loaded.
I think the sample web.config could be improved in two ways:

Add the proper <mimeMap> records for commonly used files that are being precompressed like html, css, woff, woff2, ico, png, svg, etc.
And/or make sure the rewrite rules only apply to configured MIME types

As for the second suggestion, I have updated my own web.config file by adding a condition that checks if the requested file matches the configured MIME types (only showing for br, same is required for gzip):
<rule name="Rewrite brotli file" stopProcessing="true">
  <match url="(.*)"/>
  <conditions>
    <add input="{HTTP_ACCEPT_ENCODING}" pattern="br" />
    <add input="{REQUEST_FILENAME}" pattern="\.(js|dat|dll|json|wasm)$" /> <!-- Added -->
    <add input="{REQUEST_FILENAME}.br" matchType="IsFile" />
  </conditions>
  <action type="Rewrite" url="{R:1}.br" />
</rule>

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

ID: be59faf1-5a20-b7e9-19ff-06589023bb15
Version Independent ID: 250e7458-3c1d-0117-261d-c03ac136f16a
Content: Host and deploy ASP.NET Core Blazor WebAssembly
Content Source: aspnetcore/blazor/host-and-deploy/webassembly.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @cornem ... I'll be able to take a closer look after .NET 5 releases. We're all 🏃😅 to get the coverage in place for the release.
A couple of quick points ...
This is a highly customizable scenario that will require tweaks for a given set of compression choices. We weren't seeking to address any further file compressions than the ones that you see. Perhaps, the text should say that the configuration will require modification for the custom specifications of a given app.

"leads to a number of unexpected errors"

You mean due to your assumptions about what the file covers in the base case, right? Aren't your errors just due to you compressing files that the configuration doesn't cover and then removing the uncompressed files from the published app?

commonly used files that are being precompressed like html, css, woff, woff2, ico, png, svg, etc.

WRT images and fonts, the general compression guidance is not to compress already compressed formats, so PNG and font files probably aren't the best candidates. I did notice that we have WOFF/WOFF2 in the current web.config file. It might be best to remove those. There might be anything from little benefit to a detrimental outcome, especially WOFF2 because I think that one has improved compression.

Well it seems that right now publishing a standalone Blazor WebAssembly projects precompresses a whole bunch of files by default. When I publish my project, pretty much every file appears to be precompressed, including images (PNG and SVG), fonts, stylesheets, HTML files. I don't recall specifically asking for the compression of these files, it just happens.
So obviously, based on the rules in the sample file, the Rewrite sections actually finds all these compressed files and uses them instead. But then - I suppose because the MIME type isn't properly mapped - stylesheets and images get rejected by the browser.
E.g. if you request example.com/assets/img0.png, IIS will look for assets/img0.png.br if br is specified as an accepted content encoding. So it returns this precompressed file instead, which leads to an error. To mitigate this, I have added this additional condition to make sure that only the file types specified at the top of the file are actually returned precompressed.

I did notice that we have WOFF/WOFF2 in the current web.config file. It might be best to remove those. There might be anything from little benefit to a detrimental outcome, especially WOFF2 because I think that one has improved compression. WRT HTML/CSS, those are usually small files anyway.

Those are not there for precompression, I think this is simply adding a mime handler absent in IIS by default.

Thanks for explaining. I see what you mean now. Given that this is more serious than I first thought, I'll move it up in priority and get to it soon.

Thanks.
And yeah, I agree it isn't necessary for all of those extensions mentioned. When I look at my own app, I still see savings of 75% on HTML and CSS files though (I guess Blazor doesn't minify those by default), not for images as you rightly pointed out.

The original file was built by @benadams for an earlier version of the framework ... in fact ... I added Ben to the author byline for doing the work on setting it up. 🥇 Thanks again, Ben!
I jokingly refer to devs on Ben's level as :pray: server gods :pray:; but seriously, Ben is the most capable software engineer I've ever known, and my guess is that aspects of compression performed by the framework have evolved since we first put the file up. IIRC, testing at the time went fine. Nothing hit my radar since that time, but that's not really unusual. There are many small changes each release that don't make it into announcements, blog posts, and docs.
I'm actually almost done with the major .NET 5 updates. :+1: I believe that the workload (and pressure 😰) will lighten up here shortly. I hope to work on this on Monday. If it goes straight to a PR, I'll ping you on the PR for a look at the updates and further discussion.

@cornem Did you hit a subresource integrity check failure for just the _framework/dotnet.timezones.blat file?
Things seem to be going ok here with testing updates to the web.config thus far, but I'm hitting this one little 🐞. I'll dig a bit more on that file and see if I can see what its problem is. Just wondering if you saw something similar in your work with compression.
btw --- Good reading here :point_right: https://github.com/dotnet/aspnetcore/issues/22999 ... that I might be able to take some doc hints for troubleshooting advice. For example, HTTPS! ... seems like the safe way to perform compression testing, especially in FF. I hit the same stuff that Darrell hit when I tried HTTP in FF.

@cornem ... Let's discuss this here. When I put the PR up, anyone who doesn't see this issue might actually think that I have a clue what's going on. 😁 .... Of course, we know that isn't true.

I note that my test app is loading a mix of gzip and br files. Not sure on that yet. I need to work it a bit more ... get a bit more rubber :duck: involved here.

I dropped your draft version into my production app, and that's working fine.
Then I changed this:
<add input="{REQUEST_FILENAME}" pattern="\.(js|dat|dll|json|wasm|blat)$" />

to this:
<add input="{REQUEST_FILENAME}" pattern="\.(js|dat|dll|json|wasm|blat|html|css|ico|png|svg|jpg|jpeg|gif)$" />

...which also works fine and happens to save me a few more bytes 🚀.
As for the precondition tags, I think the reason they exist is so they get picked up by the rules specified above, so the correct encoding header is set. So the precondition PreCompressedFile sets the Vary header for both gzip and br, and then the other two are used to set the Content-Encoding header to the correct value.

In my case all the resources loading from my own server are br encoded. However, I'm also loading some fonts from Google, and those are gzipped.

@guardrex just tried your last post config. I cant still reach js/css/images. However I dont own precompressed js/css/images in gzip/brotli. Just Blazor WASM files. Shouldn't IIS dynamic compression take care of uncompressed js/css/images?

@glararan ... Definitely a work-in-progress at this point. I stopped today as soon as the app started to run at all. I'll pick back up with this soon and continue working it forward. I'll keep that file example :point_up: updated and ping here when there are new developments with it.
@cornem Very good ... I'll perform the same update to match all of the MIMEs that we have here. WRT to the preconditions ... Ah, yes! I didn't spot before that these are named entries for preCondition in the rules above. I see that now. Ok.

@guardrex alright. Thanks!

@guardrex just tried your last post config. I cant still reach js/css/images. However I dont own precompressed js/css/images in gzip/brotli. Just Blazor WASM files. Shouldn't IIS dynamic compression take care of uncompressed js/css/images?

Could you clarify in what way you can't reach those assets? If there are no precompressed files the rules above aren't triggered and then the uncompressed files (if present) are served by IIS. Dynamic compression configured in IIS should then be applied.

@guardrex Did some more testing today. Looks like you can safely remove most of the <fileExtension> tags from the top of the file. I think the purpose really is to make sure that file types specific to dotnet-wasm get served properly. I just removed most of the entries and now have only this list, which works fine with and without compression.
Also, I removed the woff and woff2 entries. Brotli was originally conceived exactly for these types of files, so it doesn't make any difference. I guess the CLI shouldn't even try to compress those, but that's an issue for another team I guess. In fact, a funny thing I noticed is that the precompressed .woff2.br file is actually larger than the original 😲 (though only by 4 bytes in my case).
<staticContent>
  <remove fileExtension=".dat" />
  <remove fileExtension=".dll" />
  <remove fileExtension=".json" />
  <remove fileExtension=".wasm" />
  <remove fileExtension=".woff" />
  <remove fileExtension=".woff2" />
  <remove fileExtension=".blat" />

  <mimeMap fileExtension=".dat" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".dll" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".json" mimeType="application/json" />
  <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
  <mimeMap fileExtension=".blat" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".js.gz" mimeType="application/javascript" />
  <mimeMap fileExtension=".dat.gz" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".dll.gz" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".json.gz" mimeType="application/json" />
  <mimeMap fileExtension=".wasm.gz" mimeType="application/wasm" />
  <mimeMap fileExtension=".blat.gz" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".html.gz" mimeType="text/html" />
  <mimeMap fileExtension=".css.gz" mimeType="text/css" />
  <mimeMap fileExtension=".ico.gz" mimeType="image/x-icon" />
  <mimeMap fileExtension=".png.gz" mimeType="image/png" />
  <mimeMap fileExtension=".svg.gz" mimeType="image/svg+xml" />
  <mimeMap fileExtension=".jpg.gz" mimeType="image/jpeg" />
  <mimeMap fileExtension=".jpeg.gz" mimeType="image/jpeg" />
  <mimeMap fileExtension=".gif.gz" mimeType="image/gif" />
  <mimeMap fileExtension=".js.br" mimeType="application/javascript" />
  <mimeMap fileExtension=".dat.br" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".dll.br" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".json.br" mimeType="application/json" />
  <mimeMap fileExtension=".wasm.br" mimeType="application/wasm" />
  <mimeMap fileExtension=".blat.br" mimeType="application/octet-stream" />
  <mimeMap fileExtension=".html.br" mimeType="text/html" />
  <mimeMap fileExtension=".css.br" mimeType="text/css" />
  <mimeMap fileExtension=".ico.br" mimeType="image/x-icon" />
  <mimeMap fileExtension=".png.br" mimeType="image/png" />
  <mimeMap fileExtension=".svg.br" mimeType="image/svg+xml" />
  <mimeMap fileExtension=".jpg.br" mimeType="image/jpeg" />
  <mimeMap fileExtension=".jpeg.br" mimeType="image/jpeg" />
  <mimeMap fileExtension=".gif.br" mimeType="image/gif" />
</staticContent>

@cornem Well, my case is that I have all uncompressed files. However VS generates gzip/brotli for WASM (wwwroot/_framework).
What is strange example config dont use asp hosted model? I mean there is no
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\app.Server.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>

Do you have separate web.config? My issue is that IIS returns 404 for non-compressed files.
I believe URL rewrite is correct and should return uncompressed files by design..

@glararan Ah, if you're using Hosted, then you don't need this web.config file. It's specifically for standalone hosting (static files). If you're using an ASP.NET Core host, that host will take care of the compression for you.

@cornem ah that might be the issue. However if I use https://developers.google.com/speed/pagespeed/insights/ then test says I am serving uncompressed dlls. Can you point me right direction how to server compressed gzip/brotli under host? Thanks

@glararan It's on the same page in the docs.

When using an ASP.NET Core hosted project, the host project is capable of performing content negotiation and serving the statically-compressed files.

Unless you've disabled Blazor static compression (on by default), it should work by default according to the docs. You can check yourself what files are served using something like Fiddler or Postman where you can test with different Accept-Encoding request headers, or you can observe the headers sent and received by your browser in the Network tab of the DevTools windows.

@cornem Oh then I missread that. I did not disable compression during publish. wwwroot/_framework contains compressed files

Like you mention network tab. I am actually doing that. And I am getting server uncompressed files.

_framework/bin

On images you can see mscorlib is server uncompressed.
My app configuration
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
                app.UseWebAssemblyDebugging();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            app.UseSession();
            app.UseHttpsRedirection();
            app.UseBlazorFrameworkFiles();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();
            app.UseCookiePolicy();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapBlazorHub(blazorOptions =>
                {
                    blazorOptions.ApplicationMaxBufferSize = blazorOptions.TransportMaxBufferSize = 20 * 1024 * 1024;
                });
                endpoints.MapRazorPages();
                endpoints.MapControllers();
                endpoints.MapFallbackToPage("/_Host");
            });
        }

@glararan You should actually look at the Content-Encoding header, not just the filename. The server will always return the file with the same file name as requested. Otherwise you'd need a redirect first. So the filename doesn't say anything about whether the response was compressed or not:

@cornem There is none :(
But I might found issue. I turned off CloudFlare proxy. Now I can see content-encoding brotli and file is served brotli!
I guess I have to figure out how to proxy via CloudFlare content-encoding to destination server.

CLI shouldn't even try to further compress those, but that's probably an issue for another team. ... In fact, a funny thing I noticed is that the precompressed web fonts are actually larger than the original

I agree. I've asked the product unit for feedback on that.

safely remove most of the  tags from the top of the file

I don't see any reason to remove and then re-add known good MIME mappings.
I'm still in the midst of updating the file. I'll report the result and update the file shortly.

I've updated to my latest version at https://github.com/dotnet/AspNetCore.Docs/issues/20205#issuecomment-713744364.
Notes on the latest updates:

No reason AFAICT to remove and then re-add existing MIME maps. The only one that changes in Ben's file is for DLLs, which go from application/x-msdownload to application/octet-stream.
Updated dynamicTypes and staticTypes WRT applicationHost.config: Remove the ones from applicationHost.config that will be compressed by the framework, which are just text/*, JS, and SVG. Everything else is off by default, so AFAICT additional removals aren't needed.
For now, I leave the MIME maps and rewrite rules for double-compressed file types. However, I don't really think that that's correct. I'm waiting for confirmation from the product unit on the engineering issue.

Ok ... slept on it :zzz:🛌 ... I don't think we should mess around with double-compressed files. It's not really just about the size of the file (although, yeah ... some files get larger when compressed again) ... it's really about the total time to display (network transfer + decompression). Sure, there's a tradeoff, and I don't dispute that there probably are cases with certain assets that double compression might be faster. However, the (old skool 👴) guidance is to generally avoid serving double-compressed assets. If a dev wants to do that, they can just modify the file how they see fit.
I've updated the file up there ☝ with what I'll put on the PR.
I'll put the PR up now and ask Sourabh and Javier to take a look. I'll ping u on the PR.

Hey folks! Wanted to let you know that this sample file presently breaks downloading appsettings.json files for Blazor apps. It seems to be a variant of the https://github.com/dotnet/aspnetcore/issues/26897 issue mentioned earlier. I had to revert my web.config to get my app to work. Any ideas?

presently breaks downloading appsettings.json files for Blazor apps

hummmmmmm 🤔 ... I don't recall other than to say that the test app didn't flake out on me. No :boom:. Let me open a new issue, and I'll try to look into this tomorrow (Wednesday).

Hey folks! Wanted to let you know that this sample file presently breaks downloading appsettings.json files for Blazor apps. It seems to be a variant of the dotnet/aspnetcore#26897 issue mentioned earlier. I had to revert my web.config to get my app to work. Any ideas?

@robertmclaws The issue raised by that developer was caused by the fact that he was using this web.config file for a Blazor app hosted by ASP.NET, not as a standalone on IIS. If that's your case too, then you shouldn't be using this configuration at all.


OLE Files Not Reading In Correctly

Reading in my schematic using the demo website throws an error about invalid record type because it's mapping payload_length and padding to the middle of a record.
Looking into why this happens, this is what is read in:
|RECORD=41|OWNERICORD=41|OWNERINDEX=53|OWNERPARTID=-1|COLOR=8388608|FONTID=1|TEXT=GND|NAME=HiddenNetName|UNIQUEID=TLLLFVFF
And it looks like a record is written on top of another here: |OWNERI[NDEX...][|RE]CORD=41| and because of this the reading lengths are off and it messes up the script. Though, this how it's written in the SchDoc, but interestingly, python's olefile package read it in correctly and reads out this:
 'RECORD=41|OWNERINDEX=50|INDEXINSHEET=1|OWNERPARTID=-1|LOCATION.X=820|LOCATION.Y=380|COLOR=8388608|FONTID=1|ISHIDDEN=T|TEXT=PKTIIHTP|NAME=PinUniqueId|UNIQUEID=YYMMMJRP', 'RECORD=41|OWNERINDEX=53|OWNERPARTID=-1|COLOR=8388608|FONTID=1|TEXT=GND|NAME=HiddenNetName|UNIQUEID=TLLLFVFF'
The record with id YMMMJRP is located earlier in the SchDoc file and right after it is another HEADER record which makes me think OLE files have chunks to them that aren't being accounted for

I saw this happen on one document, but the problem disappeared when I re-saved the document in a newer version of Altium.
OLE is a pretty horrible format and I honestly have no idea how to go about tracking this bug down without a sample document to work with. Do you have one that you can share?

Found one on GitHub: https://github.com/NordicPlayground/nrf52-quadcopter/blob/master/Hardware/Altium Designer files/pca20017_mcu.SchDoc
altium_js: |RECORD=41|INDEXINSHEET=6|OWNERPARTID=-1|COLOR=8388608|FONTID=1|ISHIDDEN=T|TEXT=nRF52 Quadcopter - MCU|NAME=Title|READONLYDEX=58|OWNERPARTID=-1|LOCA  with the issue being READONLYDEX=58 where the two records merge.
python: b'RECORD=41|INDEXINSHEET=6|OWNERPARTID=-1|COLOR=8388608|FONTID=1|ISHIDDEN=T|TEXT=nRF52 Quadcopter - MCU|NAME=Title|READONLYSTATE=1|UNIQUEID=GHIPKTSC'

Thanks. I'll see if I can figure out the bug.


Remove Sysdig Operator

Hello I wanted to know the process of removing an operator from the k8s operatorhub? The maintainer is no longer with us, and the operator is outdated.

Since i see there is no reviewer, you can remove it by making PR to with deletion of operator directory


Search results: support update to date facet results with enter/return key

When a user wants to facet by date, the 'enter'/'return' key should update the results the same way the 'set dates' (or 'update') button does when a date has been entered
Acceptance criteria

[x] Enter/return key updates search results

@davidpmccormick Can this be closed now?

Yep.


chore: removed travis yml and added git action support

Summary

We remove travis yaml from android and moved all the stages to git action.

Test plan
All tests should pass

@mnoman09 I see unit tests fail. Can we try to revert the last commit and then upgrade compile_sdk_version only (keeping target_sdk_version to 29)? The fix to support target_sdk_version 31+ will be handled in a separate PR (#400).

I made the changes as requested.


Fixed typo on “construct“ variables (fixes #36)

Fixed typo in construct variables, removed the extra s.
This should fix #36.

Oh good catch thank you!


ISO Boot

What file would I use to make the OS boot?

Try using this guide, let me know if you encounter any issues.

You would use the main_floppy.img as it is a bootable virtual 3.5 inch floppy disk, or you could burn it to a real floppy and put it in a real pc.

You can also burn it to an USB using Balena Etcher or dd and running it from BIOS via MBR (add CSM Support).


[2.0] Re-implement GridFS

GridFS has been removed from 2.0.x-dev to limit the complexity of the switch to ext-mongodb. GridFS support needs to be readded for 2.0.
Here are the notes from previous hangouts collecting ideas for a new implementation of GridFS support:
Mapping:
/**
 * @ODM\File(bucketName=””, chunkSizeBytes=””, readConcern=””)
 * @ODM\WriteConcern() - optional
 * @ODM\ReadPreference() - optional
 */
private $file;

ODM will no longer inject additional properties like md5 or uploadDate to an owning document  - thanks to this we’ll enable having more than one @ODM\File annotated field in a document.
A field mapped as File can accept several types. From user perspective, they can assign a string or stream to the field for ODM to transform it during persist (similar to collections that are array  - they are transformed to a persistent collection). When the data is hydrated (or said transformation happens) ODM will use specialized class that wraps MongoDB\GridFS\Bucket, limiting its original API to what is needed to interact with particular file and exposing access to properties like MD5 hash, chunkFileSize et al. Effectively the class will look similar to:
class GridFSFile
{
    public function __construct(Bucket $bucket, ObjectId $id, array $options);

    public function downloadToStream();

    public function openDownloadStream();

    public function getMD5Hash();

    // other getters for file’s metadata
}

Whether we want to expose methods like delete or rename is subject to a discussion, best would be to base it on real life usages which, unfortunately, are not known to me. Removing a file could also happen any time user changes value of a field mapped as File, controlled by a mapping property.
UPDATE: Actually we might provide another implementation of said GridFSFile that would accept a string or a stream. This way end-user could rely on an (internal) interface and storage would be transparent to him:
class NotPersistedFile implements File
{
    private function __construct();

    public static function fromPath($path);

    public static function fromStream();

    // other methods from the interface (thus GridFSFile)
}

Issues with current GridFS implementation

Files are mutable - we should no longer allow changing the contents of a file document and instead treat them as write-once.
It’s possible to store data in the root document in fs.files - this is not supported by the new driver and needs to go
Mapping a single property as file feels wrong, the whole document is the “file”. What is mapped with @File is merely a placeholder for whatever currently holds the data (e.g. a string containing a path)
The “pass a string, get an object” mechanism of the file property leads to an inconsistent API. Instead, users should be able to construct the file object themselves to have a clean API. See https://gist.github.com/alcaeus/4114209a272c869c45cf7b6ed176ec06 for a sample implementation around that problem
The fields stored by MongoDB (e.g. length, md5, etc.) need to be mapped separately - this should not be necessary. Standardizing the documents involved in GridFS would solve that problem
The fields mentioned above are not filled automatically after a flush operation, instead the document needs to be refreshed once

Wish list for ODM 2.0 GridFS API

By default, don’t allow arbitrary fields in the fs.files document to be mapped
Consider allowing a legacyMode (or similarly named) flag to allow other fields to be mapped (preferably with NotSaved)
Reserved fields for in the fs.files document should be NotSaved (e.g. length, md5, filename)
Use an interface and corresponding trait for the fs.files document
The top-level fs.files document can be mapped with a GridFSDocument or FileDocument annotation.
Behaviorally, it is a subset of the generic Document type
Allow a custom class to be specified as the EmbedOne targetDocument for the “metadata” property
When you first create a GridFS file from a readable stream, we return a proxy for the fs.files document
Thereafter, the fs.files document class does not allow the stream to be modified
WriteConcern and ReadPreference are top-level document mappings. Hopefully we also add ReadConcern.

GridFS support has landed in master, closing here.


set dialog fields to ready only client side

Hi all,
I've been trying to figure out how to set a Field in xyzDialog.ts to read only? I know there is an attribute [ReadOnly] but my requirement is to make it ReadOnly when in edit mode and user has permission (using Authorization.hasPermission). There is nothing obvious in this.form.FieldName.getGridField() other than toggle but that will hide the field.
If possible to this server side on xyzForm.cs (I doubt it) that would be even better.
As always any help is appreciated.

Firstly, if you modify it from client, they can modify and send data to server.
You need check it from endpoint too. Also script side has permission information.
https://github.com/volkanceylan/Serene/blob/master/Serene/Serene.Web/Modules/Administration/User/Authentication/Authorization.ts#L10
and check this
https://github.com/volkanceylan/Serene/blob/master/Serene/Serene.Web/Modules/BasicSamples/Dialogs/SerialAutoNumber/SerialAutoNumberDialog.ts#L22

Hi Victor,
thanks for the response and understand the checks required on endpoint. I know about the Authorization class and use it in an existing dialog to hide fields using toggle(true), but what I would like to do is disable  a field on xyzDialog.ts like how [ReadOnly(true)] attribute does on .cs files.

Hi,
I've had a look through the readonly sample and know how to do this, the problem is I'd like to make a field read only based on permissions.
I guess the question is how do I make field readonly in xyzDialog.ts? I can't seem to find any properties that make it read only.

#420

Thank you!


Font loading is interfering with fonts on an HTML page

The loading of the fonts required by the chart is interfering with the fonts on the page. Allow option to load chart without loading fonts?

Added importFonts(bool) to the chart. true by default. Set to false when using it with other imports that are not the reusable charts. Make sure Source+Code+Pro:300,500 and Raleway:400,500 are included in the manually imported bundle.


Incorrect bottom padding in Text with justify alignment

Description
Text component has unwanted bottom padding when justify alignment is used. The issue depends on the amount of text contents.
React Native version:
» node_modules/.bin/react-native info
info Fetching system and libraries information...
System:
    OS: Linux 5.10 Arch Linux
    CPU: (4) x64 Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz
    Memory: 14.85 GB / 23.43 GB
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 15.6.0 - /usr/bin/node
    Yarn: Not Found
    npm: 6.14.11 - /usr/bin/npm
    Watchman: Not Found
  SDKs:
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
  Languages:
    Java: 10.0.2 - /usr/bin/javac
    Python: 3.9.1 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^17.0.0 => 17.0.1
    react-native: https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz => 0.63.2
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

Add Text component.
Set alignment to justify.
Add text contents to the component.
Run the application on an Android device.
See unwanted bottom padding depending on the length of the contents.

Expected Results
See no unwanted bottom padding.
Demo application
Minimal reproducible bug demo on expo.io.
Screenshots

I will try to solve this one

anyone have a solution for this?

Stop this nonsense please. The fact that nobody can do anything about the bug doesn't mean it has been fixed or it doesn't exist.

try to parsing props textBreakStrategy
<Text textBreakStrategy={'simple'}>...Your Text</Text>
references:  https://reactnative.dev/docs/text#textbreakstrategy-android

Bump.


Add a Typing Test Using Python Tkinter and Flask

Typing Test
I would like to propose the addition of a Typing Test feature to our project using Python Flask. This feature will provide users with an interactive platform to test their typing speed and accuracy.
Objectives

Create a user-friendly web interface where users can take typing tests.
Implement a timer to track how long it takes users to complete the test.
Measure and display typing speed (words per minute) and accuracy at the end of the test.
Include a variety of text prompts for users to type, which can be randomly selected from a predefined list.

Can you explain what you would like on this project?

Typing Practice App with Python and Tkinter
I developed a Typing Practice App using Python and Tkinter, aimed at boosting typing speed and accuracy. The app features:
User-Friendly Interface: Simple and intuitive layout for all ages.
Real-Time Feedback: Provides instant speed (WPM) and accuracy feedback.
Customizable Tests: Practice with different text inputs and difficulty levels.
Progress Tracking: Monitor improvement over time to stay motivated.
It’s a practical tool for anyone looking to improve their typing skills while enjoying an engaging experience.

@abhisheksaxena15 I don't think any of that is related to this project
This website shows github projects that are eligible for hacktoberfest contributions


Fix trading restrictions for testnet

This minor PR serves to update the UI restrictions for the MetaDEx trading interface.

Did you test this?
With the old version, TMSC didn't set testeco = true, which made me wonder a bit.

With the old version, TMSC didn't set testeco = true, which made me wonder a bit.

global_metadex_market could never be 2 (TMSC) since TMSC can't be traded against itself.

Did you test this?

Briefly, and confirmed that I could indeed send trades again on testnet.


Custom Kryo config should receive the ExtendedActorSystem

(Nice library, BTW!)
I'm using the TaggedFieldSerializer for my stuff -- I'm using Kryo for Akka Persistence, so I need the tagging mechanism to provide schema evolution.  I've mostly got that working, but have hit a snag: I need to use a custom Kryo initializer for that, and some of the classes I need require the ExtendedActorSystem in order to serialize properly.
(Specifically, I'm hitting this for serializing ChildActorRef, and I might submit a PR to add that to this library in the first place if you're interested.  But I think the point stands more generally.)
This wouldn't have been a problem in days gone by, but in the modern Play world, the old static accessors to these things are now deprecated.  For now I'm just going to work around it (I'll just do a kludge through a static member), but in principle it would be nice if the KryoSerializer detected an optional second parameter to the custom initializer, and stuffed the ActorSystem into that if so...

Additional note: okay, I might not immediately need this at all.  (Realized that simply serializing ActorRef works better for my purposes than ActorPath.)  So consider this a minor suggestion...

I'll close the issue for now - please open a new one if required


Images Adding

Admin I have added all images required for the file please review it and merge it in main branch.

Thanks AAryan you done amazing work.


Fixes on the js part

The first commit forces OCaml 5 as the minimum version (since Nightmare has no user, I think it's a good thing to force itself to use OCaml 5) and updates the version of OCamlformat.
The second fixes a problem preventing the use of the Console module (so that Nightmare was not used for ladmm-sa.
The third introduces an examples directory that we can populate as we go along. At first, it is mainly used to quickly test interactions with JavaScript.

LGTM.


Add unauthenticated proxy option

Jenkins breaks when it sits behind a proxy un-configured, in my particular use case things like plugins would not install correctly.
This is some parameters and config to allow a proxy to be configured.

@geerlingguy Any reason this can not be merged in, happy to make more changes if its no good.

Meged #256


Expand comparability testing

Widens the API to cover more of Vec (including non-panicking modes of failure) and use prop-testing to ensure comparability.

Agreed. Will tag on in a micro-commit here.


⚠ AZ-Launcher has degraded performance

In 38ce8b0, AZ-Launcher (https://az-launcher.nz/) experienced degraded performance:

HTTP code: 200
Response time: 1551 ms

Resolved: AZ-Launcher performance has improved in de89291 after 11 minutes.


macos universal binary

hi...
how can you build a macos universal binary?
is that not possible anymore?
(it was with nw-builder 3.x)

Package version: 4.13.7
Operating System: macos Sonoma 14.5 (arm64)
Node version: 22.12.0
NW.js version: 0.94.0

Could you show what steps you took to create a MacOS universal binary using nw-builder v3?


Import csrf.go fix from upstream

This is a fix from upstream repo tommy351/gin-csrf and fixes the following error:
c.Get(key string) (interface{} bool), the error cannot be converted to bool, so using OK to fix it.

This looks like a change that was required for the latest version of Gin.

Thanks! Works fine.


None of the macOS apps work

I have tried all three variants on my MacBook Air with M2.

The ARM version cannot be opened because it is damaged.
The x64 Intel version closes the window immediately after opening.
The Brew version cannot be installed because the SHA value does not match.

@Smarthome-Creator Looks like this is a permission error. I got the following when building the app in dev mode:
Failed to get output devices: Io(Os { code: 13, kind: PermissionDenied, message: "Permission denied" })

Happy for me to update this issue with the details as I dig into it?

@JeffersonBledsoe , unfortunately, I have no idea about programming, I just build all the great things you do. ;-) I tested the Linux app today on Ubuntu and will test it later on my Steam Deck. The app ran flawlessly on Ubuntu.

Following as I have the exact same problem running on an M1 Macbook Air

Thank you for staying tuned. Intel and ARM versions are now running.
Unfortunately, the Brew installation still has the same problem.

I think I fixed the homebrew tap now


2.1.3 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null)

Hello,
Recently I've been getting this error and I am almost certain this part of the code hasn't changed since previous versions.
com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #-1:-7 (cluster: null)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1780)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:243)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:217)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:347)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1550)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:120)
    at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:324)
    at com.orientechnologies.orient.server.tx.OTransactionOptimisticProxy.begin(OTransactionOptimisticProxy.java:145)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.begin(ODatabaseDocumentTx.java:1665)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1218)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:400)
    at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:223)
    at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
Caused by: java.lang.IllegalArgumentException: Cannot read record #-1:-7 since the position is invalid in database 'xxxx'
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1743)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:834)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3119)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1747)
    ... 12 more

Thanks,
Michail

You can not retrieve record with negative rid. How did you get this exception ? Could you provide more details ?

Actually it is possible to retrieve a created uncommited Vertex and it works fine. This exception is happening everytime when I commit. I checked all my Vertices and none of them have this id. I will check my Edges too.

@laa I really don't understand why that is a problem.. I have an uncommitted edge (with id #-1:-7) that is connecting two uncommitted vertices. I will try replicating that problem and get back to you asap. The exception happens when I commit..
Thanks

@laa I put some logging to see what is happening (in that case edge id#-1:-3 is failing on commit)
Vertex V(#-1:-2,Whole) was stored
Edge E(#-1:-2,ContainsEntity) was stored -V(#-1:-2,Whole) ----> V(#12:1,En)
Edge E(#-1:-3,ContainsPart) was stored -V(#-1:-2,Whole) ----> V(#21:290,Part)
Edge E(#-1:-4,ContainsPart) was stored -V(#-1:-2,Whole) ----> V(#21:288,Part)

@zifnab87 i think you can call .save() method and then yes, you can retrieve the vertex inside not commited transaction, where you can have negative uuid.

That is serialization issue , assigned to @tglman

hi @zifnab87,
do you have the code that reproduce the transaction that fail ? this is a remote+transaction management problem, it may be due also to a graph operation failed and retried without restart the transaction.
by the way which version are you using ?

@tglman I was using 2.1.3 - Unfortunately I don't have code to replicate this and other issues although I had offered to give my db for check in the past. I have migrated to TitanDB - due to all those problems.  Thanks

Cannot replicate.

I am getting this error when running REPAIR DATABASE --fix-graph from console.
SERVER LOG:
Repair of graph 'remote:/home/ubuntu/orientdb-community-2.2.21/databases/db_development' is started ...
Scanning 6190805 edges (skipEdges=0)...

Error: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #12:15017 (cluster: listing_or)
        DB name="db_development"

Error: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #12:15017 (cluster: listing_or)
        DB name="db_development"
        DB name="db_development"

Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot route read record operation for #12:15017 to the distributed node
        DB name="db_development"

Error: java.nio.BufferUnderflowException

@lvca ..Any idea why this error?

Hi, @nishantkumar1292 I answered you in another issue.


Getting data from Kaggle

Contributing to issue #11.
Getting dataset IDs from Kaggle.
Downloading the metadata from those IDs.
Putting everything into the same ttl file.

Closing in favor of https://github.com/david4096/croissant-rdf/pull/40


Added Normal known precision, Poisson distributions + alternate hazard function

For someone whoever is interested, I have added Normal known precision, poisson distributions in my fork below. Also tried adding another type of hazard function which is normally distributed over time. Usage of the same is updated in Example code as well. Find my fork here - https://github.com/kmsravindra/bayesian_changepoint_detection

Hi Ravindra,
would you consider to send a pull request? I'm happy to merge into master!
Thanks for the additional features.
Johannes

@hildensia , Sure, will do. Please give me some time.


Add "git-psykorebase" command to entry points

In order to be able to run git psykorebase ...

double :+1:

Fixed with #10


Build failed at "Installing pip"

I'm fairly new to heroku, but my python app which was working fine yesterday is not deploying today. I noticed some pip-related changes here since then -- any chance the issue is related?
This is all I get for a build log:
-----> Python app detected
-----> Installing pip
 !     Push rejected, failed to compile Python app.
 !     Push failed

Thanks in advance! (And let me know if I should take this kind of question somewhere else)

+1

Does purging and then redeploying fix the issue?
https://github.com/heroku/heroku-buildpack-python/issues/661#issuecomment-374183119

Yes, that worked! Thanks Ben.

this is fixed in master

sorry for the hiccup!

Running into this issue again, purging the repo per Benjamin-Dobell and the other thread does not fix it. Any other ideas?

Hi adamkgoldfarb,
were you able to find a solution? I am still facing this issue. Updated the app from python 2.7.12 to 3.7.0
but the build fails at pip install. Tried purging the cache and removing and adding the buildpacks, nothing helped.


removed lock for version command

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

/azp run


File Transform task not working (variable substitution) for NLog.config in azure release pipeline

Note
Issues in this repo are for tracking bugs, feature requests and questions for the tasks in this repo
For a list:
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
If you have an issue or request for the Azure Pipelines service, use developer community instead:
https://developercommunity.visualstudio.com/spaces/21/index.html )
Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: File Transform Task
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment

Server - Azure Pipelines or TFS on-premises? : Azure Pipelines

If using TFS on-premises, provide the version:

If using Azure Pipelines, provide the account name, team project name, build definition name/build number<EMAIL_ADDRESS>aipp, eSpectra, WindowsServices (release pipeline)

Agent - Hosted or Private:

If using Hosted agent, provide agent queue name:

If using private agent, provide the OS of the machine running the agent and the agent version:

Issue Description
[Include task name(s), screenshots and any other relevant details]
File Transform task not working (variable substitution) for NLog.config in azure release pipeline
Task logs
[Enable debug logging and please provide the zip file containing all the logs for a speedy resolution]
Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Error logs
[Insert error from the logs here for a quick overview]

@akshit1823 Can you share more details about the issue. What is the exact scenario that's failing? Also attach debug task logs.

Hi,
In the target file I have mentioned "NLog.config" &
"AIPP.WindowsServicesToNotifyUser.exe.config".
For both I have declared variables that needs to be substituted but it
works only for "AIPP.WindowsServicesToNotifyUser.exe.config".
For "NLog.config" it skipps variable substitution.
[image: image.png]
[image: image.png]
I have attached logs of release pipeline and also attached my "NLog.config"
file for reference.
I want to replace on line no. 78 value of minlevel="Info" to
minlevel="Debug" in NLog.config file which is not working using file
transform task in release pipeline.
Let me know if you need any more information on this from my side.
Regards,
Akshit Shah
Senior Software Engineer
Rave Technologies – A Northgate Group Company
Mobile: +91<PHONE_NUMBER>
www.rave-tech.com
Follow us on: Twitter https://twitter.com/Rave_Tech / LinkedIn
https://in.linkedin.com/in/ravetechnologies / YouTube
https://www.youtube.com/channel/UCTaO1am-cm4FqnQCGdB6ExA
Making change work
Please consider the environment before printing this e-mail
On Tue, 3 Mar 2020 at 13:51, Sumiran Aggarwal<EMAIL_ADDRESS>wrote:

@akshit1823 https://github.com/akshit1823 Can you share more details
about the issue. What is the exact scenario that's failing? Also attach
debug task logs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azure-pipelines-tasks/issues/12457?email_source=notifications&email_token=AOWVWG4AMCEGV5ZSGRDX2HTRFS4XPA5CNFSM4K7TG7DKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENSQ3KI#issuecomment-593825193,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWVWG2WJU5JEUXB3BRWUWLRFS4XPANCNFSM4K7TG7DA
.

--
This email is sent on behalf of Northgate Public Services (UK) Limited and
its associated companies including Rave Technologies (India) Pvt Limited
(together "Northgate Public Services") and is strictly confidential and
intended solely for the addressee(s).
If you are not the intended
recipient of this email you must: (i) not disclose, copy or distribute its
contents to any other person nor use its contents in any way or you may be
acting unlawfully;  (ii) contact Northgate Public Services immediately on
+44(0)1442 768445 quoting the name of the sender and the addressee then
delete it from your system.
Northgate Public Services has taken reasonable
precautions to ensure that no viruses are contained in this email, but does
not accept any responsibility once this email has been transmitted.  You
should scan attachments (if any) for viruses.
Northgate Public Services
(UK) Limited, registered in England and Wales under number 00968498 with a
registered address of Peoplebuilding 2, Peoplebuilding Estate, Maylands
Avenue, Hemel Hempstead, Hertfordshire, HP2 4NW.  Rave Technologies (India)
Pvt Limited, registered in India under number U31900MH1998PTC117068 with a
registered address of PLOT CS 445, 3 rd Floor, A-wing Madhu Corporate Park
Ltd, Pandurang Budhkar Marg, Mumbai -400013

@akshit1823 I cannot see the attachments. Can you attach logs again or email with issue link to<EMAIL_ADDRESS>

Please find the attached files.
Regards,
Akshit Shah
Senior Software Engineer
Rave Technologies – A Northgate Group Company
Mobile: +91<PHONE_NUMBER>
www.rave-tech.com
Follow us on: Twitter https://twitter.com/Rave_Tech / LinkedIn
https://in.linkedin.com/in/ravetechnologies / YouTube
https://www.youtube.com/channel/UCTaO1am-cm4FqnQCGdB6ExA
Making change work
Please consider the environment before printing this e-mail
On Thu, 5 Mar 2020 at 13:45, Sumiran Aggarwal<EMAIL_ADDRESS>wrote:

@akshit1823 https://github.com/akshit1823 I cannot see the attachments.
Can you attach logs again or email with issue link to
<EMAIL_ADDRESS>—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azure-pipelines-tasks/issues/12457?email_source=notifications&email_token=AOWVWG6CZ76LIQP4DMQJBELRF5NRNA5CNFSM4K7TG7DKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN4FKSQ#issuecomment-595088714,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWVWG4U72D6LBUMRSNMXZ3RF5NRNANCNFSM4K7TG7DA
.

--
This email is sent on behalf of Northgate Public Services (UK) Limited and
its associated companies including Rave Technologies (India) Pvt Limited
(together "Northgate Public Services") and is strictly confidential and
intended solely for the addressee(s).
If you are not the intended
recipient of this email you must: (i) not disclose, copy or distribute its
contents to any other person nor use its contents in any way or you may be
acting unlawfully;  (ii) contact Northgate Public Services immediately on
+44(0)1442 768445 quoting the name of the sender and the addressee then
delete it from your system.
Northgate Public Services has taken reasonable
precautions to ensure that no viruses are contained in this email, but does
not accept any responsibility once this email has been transmitted.  You
should scan attachments (if any) for viruses.
Northgate Public Services
(UK) Limited, registered in England and Wales under number 00968498 with a
registered address of Peoplebuilding 2, Peoplebuilding Estate, Maylands
Avenue, Hemel Hempstead, Hertfordshire, HP2 4NW.  Rave Technologies (India)
Pvt Limited, registered in India under number U31900MH1998PTC117068 with a
registered address of PLOT CS 445, 3 rd Floor, A-wing Madhu Corporate Park
Ltd, Pandurang Budhkar Marg, Mumbai -400013

@akshit1823 The files you attach in email do not show up here. please open the issue in github and attach files directly to your comment.

tasklog_7.log
NLog.zip

Done.
Please check.
Regards,
Akshit Shah
Senior Software Engineer
Rave Technologies – A Northgate Group Company
Mobile: +91<PHONE_NUMBER>
www.rave-tech.com
Follow us on: Twitter https://twitter.com/Rave_Tech / LinkedIn
https://in.linkedin.com/in/ravetechnologies / YouTube
https://www.youtube.com/channel/UCTaO1am-cm4FqnQCGdB6ExA
Making change work
Please consider the environment before printing this e-mail
On Wed, 11 Mar 2020 at 12:43, Sumiran Aggarwal<EMAIL_ADDRESS>wrote:

@akshit1823 https://github.com/akshit1823 The files you attach in email
do not show up here. please open the issue in github and attach files
directly to your comment.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azure-pipelines-tasks/issues/12457?email_source=notifications&email_token=AOWVWG7LVVH6YW3QW6GVUIDRG422JA5CNFSM4K7TG7DKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOOM3QY#issuecomment-597478851,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWVWG6FAMJYB4DAJWQEE73RG422JANCNFSM4K7TG7DA
.

--
This email is sent on behalf of Northgate Public Services (UK) Limited and
its associated companies including Rave Technologies (India) Pvt Limited
(together "Northgate Public Services") and is strictly confidential and
intended solely for the addressee(s).
If you are not the intended
recipient of this email you must: (i) not disclose, copy or distribute its
contents to any other person nor use its contents in any way or you may be
acting unlawfully;  (ii) contact Northgate Public Services immediately on
+44(0)1442 768445 quoting the name of the sender and the addressee then
delete it from your system.
Northgate Public Services has taken reasonable
precautions to ensure that no viruses are contained in this email, but does
not accept any responsibility once this email has been transmitted.  You
should scan attachments (if any) for viruses.
Northgate Public Services
(UK) Limited, registered in England and Wales under number 00968498 with a
registered address of Peoplebuilding 2, Peoplebuilding Estate, Maylands
Avenue, Hemel Hempstead, Hertfordshire, HP2 4NW.  Rave Technologies (India)
Pvt Limited, registered in India under number U31900MH1998PTC117068 with a
registered address of PLOT CS 445, 3 rd Floor, A-wing Madhu Corporate Park
Ltd, Pandurang Budhkar Marg, Mumbai -400013

@akshit1823 Thanks for sharinf the file and logs. For further debugging please add "System.debug" variable with value true in your release. Then deploy again. This will generate debug logs for the task. You may get more insight into the issue. Ref link for how file rtansform task should work https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/file-transform?view=azure-devops
Please share debug logs and what variables are you trying to substitute.

Closing the issue for now. Please provide relevant information as requested in previous comment for further debugging and reopen the issue.


Pings and unread messages

In SE chat, in the title bar, you can see how many messages in chat that you have not yet read.

Also in SE chat, you get a ping whenever you are mentioned in chat.

Should this features be added to our chat? Or, would this be copying SE chat too much?

I think it would be two good features. I don't see copying SE chat as a problem.


Add Article for Hello World in TypeScript

Merged #244. Looking for an author!

Added link to language README: https://github.com/jrg94/sample-programs/commit/98c5ee7801ebfacaa3658ab77472e4fee7461a75


tooltip "before","after" positions do not conform to rtl direction standards

Bug, feature request, or proposal:
A tooltip, when applied to an element with rtl direction, does not position correctly with 'before' or 'after' position attributes.
A combination of 'rtl' and 'after' places the tooltip on the right side of the element.
What is the expected behavior?
It should display on the left side of the element.
What is the current behavior?
It is always displayed as if the element were 'ltr'.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-cj3zar
In the stackblitz, the "after" tooltip should appear on the same side as the period of the button's text.
What is the use-case or motivation for changing an existing behavior?
It deviates from the direction standards
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular5, Material5.
Is there anything else we should know?

Your example doesn't work correctly, because you're setting the direction using CSS. Material has no way of knowing that you did this, aside from calling getComputedStyle which would be very expensive. You can get it to pick up the direction correctly by setting the dir attribute instead.


Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1!

1、搭好环境后，想用test_single.py测试一张图看看，由于0号卡被占用，所以想使用1号卡，test_single.py中代码修改为device:"cuda:1"，但还是说显存不够，发现load checkpoint的时候始终会占用0号卡的显存，不知什么原因。然后又想改为cpu测，直接报错，0号卡依然会占用一些显存。
2、想使用1号卡训练，使用python tools/train.py configs/MIAOD.py --gpu-ids 1，但报错说必须使用同一台设备，所以请问单GPU训练只能用0号卡吗？

建议通过 export CUDA_VISIBLE_DEVICES=$GPU_IDS 的方式设置训练或测试的 GPU，其中 $GPU_IDS 为要使用的 GPU 编号，以半角字符下的逗号隔开。

It is recommended to set the GPU for training or testing by export CUDA_VISIBLE_DEVICES=$GPU_IDS, where $GPU_IDS is the GPU number to be used, separated by commas under half-width characters.

I don't think this would solve the probelm

建议通过 export CUDA_VISIBLE_DEVICES=$GPU_IDS 的方式设置训练或测试的 GPU，其中 $GPU_IDS 为要使用的 GPU 编号，以半角字符下的逗号隔开。
It is recommended to set the GPU for training or testing by export CUDA_VISIBLE_DEVICES=$GPU_IDS, where $GPU_IDS is the GPU number to be used, separated by commas under half-width characters.

I don't think this would solve the problem. I tried the command export CUDA_VISIBLE_DEVICES=$GPU_IDS, however when I set two or more GPUs for training, it popped up the error. I can only set one GPU for successfully executing the training.

I don't think this would solve the probelm

建议通过 export CUDA_VISIBLE_DEVICES=$GPU_IDS 的方式设置训练或测试的 GPU，其中 $GPU_IDS 为要使用的 GPU 编号，以半角字符下的逗号隔开。
It is recommended to set the GPU for training or testing by export CUDA_VISIBLE_DEVICES=$GPU_IDS, where $GPU_IDS is the GPU number to be used, separated by commas under half-width characters.

I don't think this would solve the problem. I tried the command export CUDA_VISIBLE_DEVICES=$GPU_IDS, however when I set two or more GPUs for training, it popped up the error. I can only set one GPU for successfully executing the training.

Please provide your specific export command and training command. Note that the two commands should be executed adjacently in the same terminal.


8_4

Hi all, I cannot seem to pass 8_4.in
So what I did inside Simulate8:

get Self-Checkout server of current event (if the event is using self check server)
getCustomerQueue of that self-checkout server and assign that to the sharedQueue
get every self-checkout server from Shop and change its queue to the sharedQueue

Really appreciate y'all help!

No worries, solved!

No worries, solved!


[Snyk] Security upgrade golang from 1.17-alpine to 1.21.3-alpine

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

tests/Dockerfile

We recommend upgrading to golang:1.21.3-alpine, as this image has only 2 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

614
Double Free SNYK-ALPINE316-OPENSSL-3314624
No Known Exploit

614
Double Free SNYK-ALPINE316-OPENSSL-3314624
No Known Exploit

586
Improper Check for Unusual or Exceptional Conditions SNYK-ALPINE316-OPENSSL-6069876
No Known Exploit

586
Improper Check for Unusual or Exceptional Conditions SNYK-ALPINE316-OPENSSL-6069876
No Known Exploit

714
Out-of-bounds Write SNYK-ALPINE316-ZLIB-2976176
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2134

Relevant Lines:
2534

💛  - Coveralls


[3.1] Multiple IncludeMany and hierarchies

Hi,
given SalesOrderHeader -- 1:n --> SalesOrderDetail -- 1:1 --> Product. It's possible to write a query that selects the whole hierarchy? As I see, you can concatenate multiple Include, but not IncludeMany and a single Include.
Thanks!

hi @enrico-padovani, this could be achieved by using null aliasing in your query, i tried this for my own cases, but it should be applicable for your case too. Supposed you already configure the mapping/reference correctly, you could write query like this.
select sh.*,null npoco_details,sd.*,npoco_details__product,p.* from salesorderheader sh left join salesorderdetail sd on sh.orderid=sd.orderid left join product p on sd.productid=p.productid order by sh.orderid

hopefully you get the idea. ;)

Hi,
thanks for the tip: writing a query with the new mapper convention works. You have to use FetchOneToMany with null aliasing for * or by specifying the columns you want to get in select.
My question is more about to know if it's possible to achieve the same result by using the linq provider and .IncludeMany. Does everyone made that work?

I have a solution for this.
Will try and work it in for the next release.

This is in the latest beta92 (stupid nuget).
Anyways you should be able to do this.
   .Include(x => x.SalesOrderDetails[0].Product)
//or .Include(x => x.SalesOrderDetails.First().Product)
   .IncludeMany(x => x.SalesOrderDetails)

Let me know how you get on.

Hi,
if i'm using .Include(x => x.SalesOrderDetails[0].Product) it works
if I try .Include(x => x.SalesOrderDetails.First().Product)
or .Include(x => x.SalesOrderDetails.FirstOrDefault().Product)
I got: "Sequence contains no matching element"
some info: the FK from SalesOrderDetail to Product is NOT NULL, what happen in case of nullabe FKs (alias 0:1)?
Thanks,
Enrico

What do you mean what happens in the nullable FK's?
It will do a left join by default so it will be null on the many if I understand correctly.

Ok for left joins, so if the ProductId is null on SalesOrderDetail it will not select the product but still select the sales order detail (the parent). I mean if calling a .First() or trying to access the [0] of a list with no elements it will throw an exception or not.

The First() or [0] or [1] or [2] or [n] doesn't matter at all. Its just a mechanism to get to the "Product" variable in your case.
I have fixed the issue with FIrst() and FirstAndDefautl() and it will be included in the 3.1.0 stable release out this week. Use the array syntax until then if you prefer First().

Ok nice to know! What if the Product is not a single item but a list of them?
It will still work a syntax like .Include(x => x.SalesOrderDetails.First().Products)
In general can you "chain" childrens as much as you want?

You can only have one 1:n relationship realised. It will make a query but
probably won't be right.

Hi, can you provide a full working sample?
I'm non able to find where and how to use include. I mean Fetch, Query Linq methods?
Thanks

@tonag Look at the tests

For future visitors, here are links to relevant files:

Fluent config
Decorated config
A query that populates the ListMany property


ci: build examples separately with dnt

This way, the example tests will depend on the same pkg that is ultimately distributed.

superseding with #1031


SyntaxError: global.css: Cannot read properties of undefined (reading 'raw')

Describe the bug
I am trying to create a build using Expo EAS Build. Specifically an .apk for my physical device, just for testing.
The project is open source, is a cryptocurrency wallet: https://github.com/ipr0310/signum-mobile-wallet
This is the error log:
SyntaxError: global.css: Cannot read properties of undefined (reading 'raw')
I am using Nativewind V4 + Expo router
I followed carefully instructions for installing NativeWind
I am totally sure i created global.css on root directory as requested by Mr. Docs
https://www.nativewind.dev/v4/getting-started/expo-router
To Reproduce
Steps to reproduce the behavior:

Fork that repository
Try to create an .apk build for testing
Get the error logs on Expo EAS

Expected behavior
The build must be completed without any errors
Screenshots
Error log from Expo EAS

Additional context
If you want to reproduce the issue, just fork that project and try to make a build with Expo EAS
The project is open source, is a cryptocurrency wallet:
https://github.com/ipr0310/signum-mobile-wallet

Second additional context
Everything works normally on my computer using development client or expo go
I already developed a bunch of features already and tested the app on the following devices:

Android Emulator
Google Pixel 6 Pro
iPhone 6
MobiWire s34

Third additional context
I run the app with npx expo start --no-dev all went totally good

Found the fix: i had to update NativeWind https://github.com/marklawlor/nativewind/issues/796
Future v4 tester, enjoy this epic tool :D