[SPARK-12700] [SQL] embed condition into SMJ and BroadcastHashJoin

Currently SortMergeJoin and BroadcastHashJoin do not support condition, the need a followed Filter for that, the result projection to generate UnsafeRow could be very expensive if they generate lots of rows and could be filtered mostly by condition.
This PR brings the support of condition for SortMergeJoin and BroadcastHashJoin, just like other outer joins do.
This could improve the performance of Q72 by 7x (from 120s to 16.5s).

Test build #48984 has started for PR 10653 at commit a38d623.

Test build #48986 has started for PR 10653 at commit ade6f5d.

Test build #48984 has finished for PR 10653 at commit a38d623.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Test build #48986 has finished for PR 10653 at commit ade6f5d.

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

Merged build finished. Test PASSed.

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

@nongli Do you have more comments on this one?

LGTM. Let's make sure we don't need this when whole stage codegen is further along.

For SMJ, we may not support whole stage codegen, this will be useful. For BroadcastHashJoin, once whole stage codegen is supported, we should not reply on this.
Merging this into master, thanks.

@davies I think it's reasonable to codegen the merge part of SMJ and have this start a new pipeline for whole stage codegen. Not required for the first go but shouldn't be too far away.

@nongli That sounds good.


Dyson fan (AM09) - different IR codes each time power button is pressed?

Any idea what is happening here? I've tried capturing the IR code but as it's different each time, it doesn't work using this plugin when I'm trying to send the code through the broadlink device.

I can control mine fine (AM06). However, the power button isn't idempotent, by design. I get around this by sending a sequence to the fan. On = Speed Up, Speed Down. Off = Speed Up, Speed Down, Power Toggle.

Did you have any joy with this? I have just picked up an AM09 too with the intention of controlling via SmartThings but have come across the hurdle of all the buttons sending a different code each time and this post is about the only thing that comes up on a google for this topic.

@nickb512 I got everything working the way I want by following the majority of this tutorial.
https://mikesgear.com/2017/09/11/control-your-homes-heating-cooling-and-more-via-ir-with-google-home-and-rm3-mini/

@OlliePrentice is that with the AM09 fan?

@nickb512 Yeah, so I had to buy an IR blaster to send the signals to the fan. I bought the Broadlink RM Mini 3 for about £10.
I had an old android phone lying around which I used to run the server.

@OlliePrentice Yea i have that bit sussed, got the IR blaster already working controlling the TV, soundbar etc but if I put it in capture mode and point the Dyson remote at the receiver each time I press the power button the blaster detects a different code. If I capture one of those codes and then send it from the blaster it doesn't control the fan.
The only thing I can think of is its some form of rolling code encryption to make you use a Dyson remote that is new in the AM09 devices, but if you have it working with an AM09 it may not be.
Did you just capture the codes from the Dyson remote when you set it up?

Yeah I just captured the codes into the mini directly from the remote. Not sure why it’s not working for you.
Does it work if you try controlling it from the broadlink app?

On 29 Dec 2017, at 15:19, nickb512<EMAIL_ADDRESS>wrote:
@OlliePrentice Yea i have that bit sussed, got the IR blaster already working controlling the TV, soundbar etc but if I put it in capture mode and point the Dyson remote at the receiver each time I press the power button the blaster detects a different code. If I capture one of those codes and then send it from the blaster it doesn't control the fan.
The only thing I can think of is its some form of rolling code encryption to make you use a Dyson remote that is new in the AM09 devices, but if you have it working with an AM09 it may not be.
Did you just capture the codes from the Dyson remote when you set it up?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Just tested - I too got some different codes. The first I may have long pressed it. The code wouldn't turn the Dyson on. The second time I did a short press which resulted in a shorter hex code which works to turn it on/off
"26004800471b151c151a17311530171817191719171d17171719171a161a151b141b162f17000cc4481918191719162f182e1719171a1619171b17191719171918191718171a162e18000d05"

FWIW on my AM06 I get different codes each time for the same button presses - some even different lengths - however they all work and perform the desired function on the fan. There is some definite structure in the hex strings, but I haven't dug too deep into it.
For example, here are captures from pressing the "oscillate" button a few times in sequence, with a few seconds between each:
260048004b1a1a321b191a191b321a191a191a191a1a1b191a1a1a191b191a191a191a321a000d054a1a1a331a191b191a321a191b181b181a1b1a1a1a191b191a191a191a191a321a000d05
260024004b1a1a321b191a191b321a191a191a191a1a1b191b191a191b191a191a321a191a000d0500000000
260024004a1a1a331a191b191a321b181b181b181a1b1a1a1a191b191a191a191b181a191a000d0500000000
260048004a1a1a331a191b191a321a191b181a191a1b1a191b191a1a1a191a191a191a321a000d044b191b321b191a191b321a191a191a191a1a1b191a1a1a191a191b191a191a311b000d05
260048004b191b321a1a1a191b321a191a191a191a1a1b191a1a1a191a191b191a321a181b000d044b191b321b191a191b321a191a191a191a1a1b191a1a1a191b191a191a321a181b000d05
260024004b1a1a321b191a1a1a321a191a191a191a1b1a191b191a191b191a191a191a191a000d0500000000
260048004a1a1a331a191b191a321b181b181b181a1b1a1a1a191b191a191a191a191a321a000d054a1a1a321b191a1a1a321a191a191a191a1b1a191b191a191b191a191a191a321a000d05
260048004a1a1a331a191b191a321a191b181b181a1b1a191b191a1a1a191a191a321a191a000d054b191b321b191a191b321a191a191a181b1a1b191a1a1a191a191b181b311b181b000d05
260024004b191b321b191a191b321a191a191a191a1a1b191a1a1a191a191b191a191a181b000d0500000000

Further to the above - I found that only some of the codes work reliably, every time. Others work intermittently or not at all. Very strange.

@dermotos it works!

I don't know the code generated because the IR blaster I am using doesn't display the read code to me but I have found the following.
If I turn the unit on with the remote and then back off again so I know the next press will turn the unit on then I record the next press as "On".
Then I record the next press after that as "Off"
Now these two codes work fine as discreet On/Off commands.  I can send "On" 10 times and it will only turn on.  It doesn't toggle.  Same works for Off.
The problem is when my AM05 loses power (I have it connected to a zwave switch for extra security that I don't leave it on all the time) and then I restore power the codes stop working or they reverse or one works and the other doesn't.
Sometimes my steps to learn on and off do not result in working discreet codes.  But when they do the unit loses them on power loss anyway.
Why would Dyson do this?
What kind of weird IR strategy is this?
I don't understand how OlliePrentice got this working based on the article he posted.  I don't see anything in that article that addresses this issue.

@gouldner The IR remote sends 4 messages per button on a cycle. The IR remote is definitely 'dumb' so it has no idea of the current product state (i.e. there is no separate on/off code).

@nebbles Thanks for the info however that is not what I am finding in my testing.  I find that it actually has discreet codes however it seems to configure them on first use.
When I test if I turn the Dyson on/off a few times and then, with the unit off, press the button and record it as ON and then press again and record as OFF.  These two recordings work as discreet ON/OFF buttons just fine.   The problem occurs when you lose power.  The next time you use the unit with the remote it seems to record the next signal as ON and the following as OFF.  This sometimes causes on recorded ON/OFF to flip how they behave or even stop working all together.  Like you said it seems to send 4 discreet messages, but the first two seem to be internally stored as discreet ON/OFF, not sure about the next two I am guessing the same.
I suspect they did this so that after a power failure the unit will ALWAYS return to OFF state.  If the remote sent two discreet on/off messages it would mean that once it goes out of sync the user would have to press the remote twice the next time they try to turn on the unit.  So instead they saved the first press as ON and the next as OFF.  I have no clue why they use 4 codes.  It seems to me 2 would have done the job.  Here I suspect they were actually trying to break the use of recording remotes so the use of a secondary remote(or in our case IR device) doesn't get the unit out of sync and cause their remote to stop behaving correctly.  Honestly I don't understand why they didn't just put two buttons On and Off on the remote and make them discreet.  It would have been SO much easier and more flexible to home automation.   For this reason I have decided to never purchase a Dyson heater or other device I might want to automate.
The newer Dyson Hot Cool fans have automation built in with WiFi but they require the use of their app and I suspect once again they made the API closed because I can't seem to find documentation on how to interact with it.

@gouldner Interesting results - which model do you have?

@nebbles AM05 (mentioned in my initial comment)

@gouldner I guess it depends on the IR blaster you're using. It needs to support a single button cycling through the 4 codes just as the official remote cycles through them. It seems the product is programmed to be expecting this change in the IR code to be able to identify the same button as different events. I'll try some experimentation but it sounds like the best option for you would be to DIY an IR blaster with Arduino/MicroPython/RPi which can actually cycle through commands that you record from the remote yourself.

I have an AM03 and an AM04 that I want to use in HomeKit. Can anyone share the Broadlink part of their config.json with me?

Any Update? I can use Power on with my Am06,Am07 and Am08 but cant use power off :/
Tried already all codes in this thread

@ReQuiem222 as mentioned before

It needs to support a single button cycling through the 4 codes just as the official remote cycles through them.

It is unlikely that the Dyson machines will be able to work usual IR blasters.

@ReQuiem222 as mentioned before

It needs to support a single button cycling through the 4 codes just as the official remote cycles through them.

It is unlikely that the Dyson machines will be able to work usual IR blasters.

I have my Dyson working with IR blaster on a Raspberry Pi.  The key is to record one command and then record the next command.  Save first as On and Second as Off.  Then stop using the hand held remote.  When the device loses power (ie is unplugged) then the first command it receives is treated and On and the Next is treated as Off so it is important to send the Saved on command first when power is lost.  If you don’t then your commands will be flipped.  Took me a while to figure out this part.   The other two of the 4 commands are never required.  The Dyson works fine with one discreet On and one discreet Off so long as you always send On first as I have described.

@ReQuiem222 as mentioned before

It needs to support a single button cycling through the 4 codes just as the official remote cycles through them.

It is unlikely that the Dyson machines will be able to work usual IR blasters.

I have my Dyson working with IR blaster on a Raspberry Pi. The key is to record one command and then record the next command. Save first as On and Second as Off. Then stop using the hand held remote. When the device loses power (ie is unplugged) then the first command it receives is treated and On and the Next is treated as Off so it is important to send the Saved on command first when power is lost. If you don’t then your commands will be flipped. Took me a while to figure out this part. The other two of the 4 commands are never required. The Dyson works fine with one discreet On and one discreet Off so long as you always send On first as I have described.

Nice workaround 👍  - thanks for sharing

hello! wondering can anyone share their working version of config for AM07?
I still only get the "on" working so far :(

Resurrecting this post to see if anyone can help. I am able to turn my AM09 on, but I cannot find a way to turn it off. I've tried teaching my Broadlink multiple power off codes and the speed up/speed down/power off sequence, but nothing works. I'm curious if someone can help transform the methods that work for the AM05 and AM06 into the AM09. @OlliePrentice and @lprhodes, if you still have your fan, are things working correctly? @sunnycmf, were you able to find a solution?


Thank you for providing such excellent work. Is the code of OWAL  in this project?

Thank you for providing such excellent work. Is the code of OWAL  in this project?

Thank you very much for your reply！I would like to ask if you forgot to provide scripts in the Open-CRB branch?


Fix building .o files in Makefile

I suppose the issue in #213, #216, and #228 is that current Makefile don't recompile object files after any header files changes.
This PR should fix that: all objects files always recompile on any header files changes from $(HEADERS).
Tested with both GNU make and BSD make.

LGTM. I believe we can close issues mentioned.


chore/update_manifest_file - update to node versions

Description
Change node to 20.12.2, address deployment issues

Fixed merge conflicts


Prefix predawn theme specific options with "predawn_".

To avoid mixing theme options with Sublime settings, it would be nice if the predawn theme options were prefixed with "predawn_".

I'm adding a predawn_ prefix for theme settings. Stay tuned for new release soon :)


⚠ Spryr has degraded performance

In fd2b40c, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4032 ms

Resolved: Spryr performance has improved in 07e583c after 8 minutes.


Can't build android app

Steps to reproduce
i wan't build apk after upgrade android studio and sdk to last version
Expected results
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the file specified.
The system cannot find the file specified.
Cannot operate on packages inside the cache.
Compiling bin/build_tool_runner.dart to kernel file bin/build_tool_runner.dill.
Error: Couldn't resolve the package 'build_tool' in 'package:build_tool/build_tool.dart'.
bin/build_tool_runner.dart:1:8: Error: Not found: 'package:build_tool/build_tool.dart'
import 'package:build_tool/build_tool.dart' as build_tool;
       ^
bin/build_tool_runner.dart:3:15: Error: Method not found: 'runMain'.
   build_tool.runMain(args);
              ^^^^^^^
Could not find a command named "bin\build_tool_runner.dill".

Usage: dart <command|dart-file> [arguments]

Actual results
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the file specified.
The system cannot find the file specified.
Cannot operate on packages inside the cache.
Compiling bin/build_tool_runner.dart to kernel file bin/build_tool_runner.dill.
Error: Couldn't resolve the package 'build_tool' in 'package:build_tool/build_tool.dart'.
bin/build_tool_runner.dart:1:8: Error: Not found: 'package:build_tool/build_tool.dart'
import 'package:build_tool/build_tool.dart' as build_tool;
       ^
bin/build_tool_runner.dart:3:15: Error: Method not found: 'runMain'.
   build_tool.runMain(args);
              ^^^^^^^
Could not find a command named "bin\build_tool_runner.dill".

Usage: dart <command|dart-file> [arguments]

Global options:
-v, --verbose               Show additional command output.
    --version               Print the Dart SDK version.
    --enable-analytics      Enable analytics.
    --disable-analytics     Disable analytics.
    --suppress-analytics    Disallow analytics for this `dart *` run without changing the analytics configuration.
-h, --help                  Print this usage information.

Available commands:
  analyze    Analyze Dart code in a directory.
  compile    Compile Dart to various formats.
  create     Create a new Dart project.
  devtools   Open DevTools (optionally connecting to an existing application).
  doc        Generate API documentation for Dart projects.
  fix        Apply automated fixes to Dart source code.
  format     Idiomatically format Dart source code.
  info       Show diagnostic information about the installed tooling.
  pub        Work with packages.
  run        Run a Dart program.
  test       Run tests for a project.

Run "dart help <command>" for more information about a command.
See https://dart.dev/tools/dart-tool for detailed documentation.
Note: C:\Users\MichelleRaouf\AppData\Local\Pub\Cache\hosted\pub.dev\super_native_extensions-0.8.2+1\android\src\main\java\com\superlist\super_native_extensions\DragDropHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the file specified.
The system cannot find the file specified.
Cannot operate on packages inside the cache.

Code sample
import 'dart:async';

import 'package:firebase_analytics/firebase_analytics.dart';
// import 'package:firebase_cached_image/firebase_cached_image.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:study_body/bio_storage_service.dart';
import 'package:tbib_biometric_storage/auth/android_auth_messages.dart';
import 'package:tbib_biometric_storage/auth/ios_auth_messages.dart';
import 'package:tbib_biometric_storage/auth/tbib_auth.dart';

void main() async {
  await runZonedGuarded(() async {
    WidgetsFlutterBinding.ensureInitialized();
    // FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
    try {
      await Firebase.initializeApp();
    } catch (e) {
      FirebaseCrashlytics.instance.log(
          'Firebase already initialized with ${Firebase.app().options.appId} ');
    }
    FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
    await BioStorageService().checkIsBioEnabled();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
      DeviceOrientation.landscapeLeft,
      DeviceOrientation.landscapeRight
    ]);
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };

    FirebaseAnalytics analytics = FirebaseAnalytics.instance;
    TBIBAuth().init(
      android: const AndroidAuthMessages(
        cancelButton: "الغاء",
        goToSettingsButton: "الذهاب الى الاعدادات",
        goToSettingsDescription: "يرجى تفعيل البصمة",
        biometricHint: "الرجاء وضع بصمتك",
        biometricNotRecognized: "لم يتم التعرف على البصمة",
        signInTitle: "التحقق من البصمة",
        biometricRequiredTitle: "التحقق من البصمة",
      ),
      ios: const IOSAuthMessages(
        cancelButton: "الغاء",
        goToSettingsButton: "الذهاب الى الاعدادات",
        goToSettingsDescription: "يرجى تفعيل البصمة",
        lockOut: "تم ايقاف البصمة",
        localizedFallbackTitle: "التحقق من البصمة",
      ),
    );

    // await HiveService().init();
    // await getImages(isConnect);
    // await di<AppServicesClient>().getAllExamsQuestion(exams: [5, 8]);

    // runApp(const App());
  },
      (error, stack) =>
          FirebaseCrashlytics.instance.recordError(error, stack, fatal: true));
}

Screenshots or Video
No response
Logs

Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.5, on Microsoft Windows [Version 10.0.22631.2861], locale en-US)
[✓] Windows Version (Installed version of Windows is version 10 or higher)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.0)
    ✗ Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop
      development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.85.1)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 2 categories.

Hi @the-best-is-best
This looks similar to https://github.com/flutter/flutter/issues/139925. Could you check if this issue also happens on a newly created Flutter project (counter app)?
Also, are you using flutter_quill package in your project? If so, it seems you are hitting the same cause at https://github.com/dart-lang/build/issues/3622#issuecomment-1871319822 and you can check its workaround at the linked issue there.

yes i use flutter_quill but why in mac it working but in windows display this error and how fix it
@huycozy

Since it's flutter_quill issue, I would suggest you open an issue on its repository for better support. Closing this as it doesn't seem to be a Flutter framework issue.


path

I am a little unsure if this proposal is considered "ugly"...
For me, it works better together with vscode.

thanks


Merge Mitaka to stable/newton

@zancas
Periodic merge between release branches.  Jodie has already reviewed my changes into liberty and mitaka.  There is no unique change moving from mitaka to newton.
Due to changes from @zancas and @pjbreaux, would one of you please handle the final merge from newton to master (to close out open issues)?

@mattgreene this PR fails travis checks..   there's an error about a version collision in the python-heatclient.

I see in an email from @mattgreene that the version of python-heatclient has changed to 1.5.1 in the community contstraints file..  it's not obvious to me why .travis fails..

@mattgreene: Closing this, as we have already performed this merge.


Prepare @azure/search-documents for June 2021 GA Release

For this June 2021 release we need to do the following:

Create a separate feature branch for this release (We are not planning to release this from master branch)
Regenerate SDK (Both data and service side) using the latest swagger.
Fix the Custom Code according to the regenerated code. (This will include removal of normalizers, semantic search including speller, etc)

This PR is to follow the above steps.  (This PR is similar to Java PR: https://github.com/Azure/azure-sdk-for-java/pull/21909)
@xirzec Please review and approve
@ramya-rao-a FYI....

Why can't we release out of master for this? If we're moving it to GA, why keep master as beta?

Because we are removing the features which are already released in preview version. Also, the July release will have those same features again. We just don't want those features only in this GA.


Switch CI to install TF instead of using 'frontends' Docker images.

Progress on https://github.com/openxla/iree/issues/16203 and https://github.com/openxla/iree/issues/15332
At the point where a job is installing a multi-gigabyte Docker image, it might as well just install Python requirements like TF directly. Switching to install from pip loses some control over the supply chain but I think that is fine for these test/benchmark jobs.
Comparing build_e2e_test_artifacts before to build_e2e_test_artifacts after (sample size 1):

Docker fetch time decreased from 1m50s to 30s

'frontends' depended on 'android' so it included the NDK too 😛

Python setup (including pip install) time increased from 6s to 1m20s

So about the same time taken, just using less cloud storage / infra complexity.
ci-exactly: build_all, build_e2e_test_artifacts, build_packages, test_tensorflow_cpu

ci-exactly: build_all, build_e2e_test_artifacts, build_packages, test_tensorflow_cpu

I think that's all that could be affected here. LMK if you want me to run all presubmits instead.

We also prefetch the docker image when building the image:
https://github.com/openxla/iree/blob/8c2a3a9cb9f9bb97bc9c7d03be88bfd87e127940/build_tools/github_actions/runner/gcp/image_setup.sh#L329
So this line also needs to be removed. Actually if we auto-rollout new images, we can cache up-to-date docker image and save ~1m fetch time on tenserflow. But I agree it is more involved.
Regarding the pros and cons, I guess this also increases the chance of network failure as pip install tf-nightly will download a quiet amount of files. We can see if this is a problem later.

Oops good catch. I had the image_setup change locally but forgot to save/commit/push it.

We can't embed fast-changing deps we depend on in docker images (esp those that can't be changed by anyone else).
One trick I've used before to speed things up:
Setup the env and pip install <whatever> & in the background before starting to checkout the repo. Then do it again after without running in the background. On success, the second one will be very fast. On failure, it will try again and report a nice error.

One trick I've used before to speed things up:
Setup the env and pip install <whatever> & in the background before starting to checkout the repo. Then do it again (after running wait) after without running in the background. On success, the second one will be very fast. On failure, it will try again and report a nice error.

Nice, I saw that prefetch/wait trick used for Docker in some workflows.
build_test_e2e_artifacts has this timing distribution (source here):

The "Building e2e test artifacts" step that took 7 minutes there included time spent fetching Docker and pip deps. Some of that network time could overlap with the 30 seconds spent extracting the install dir.

ci-exactly: build_all, build_e2e_test_artifacts, build_packages, test_tensorflow_cpu

I think that's all that could be affected here. LMK if you want me to run all presubmits instead.

I'll run the full CI just in case...

One trick I've used before to speed things up:
Setup the env and pip install <whatever> & in the background before starting to checkout the repo. Then do it again (after running wait) after without running in the background. On success, the second one will be very fast. On failure, it will try again and report a nice error.

Nice, I saw that prefetch/wait trick used for Docker in some workflows.
build_test_e2e_artifacts has this timing distribution (source here):

The "Building e2e test artifacts" step that took 7 minutes there included time spent fetching Docker and pip deps. Some of that network time could overlap with the 30 seconds spent extracting the install dir.

I've used a caching squid proxy server on some runners to eliminate network overhead, but I don't have any access to the IREE runner VMs and there is surgery needed. In general, I strongly prefer this kind of infra-level make-it-fast vs developer process impacting things.


[Bug]: Frequent CI fails due to Docker Hub throttling

Problem
When Cosign signs containers (after build and push), it downloads layers and publishes an attestation. Cosign doesn't seem to authenticate pull requests to the container registry, which leads to error from Docker Hub.
GitHub registry is not impacted as the throttling is set higher.
Tried to fix with 793908a02731af7ebb915be5d45b22280b093daf but hasn't worked.
See:

https://www.docker.com/increase-rate-limit
https://github.com/sigstore/cosign/issues/587#issuecomment-1003072134

Impact
CI fails after 2 runs within 1 hour. Then, cannot retry for more than one hour.
Short logs
error during command execution: signing [docker.io/xxx]: accessing entity: GET https://index.docker.io/v2/clemlesne/xxx: TOOMANYREQUESTS: You have reached your pull rate limit.
Full logs
Signing docker.io/clemlesne/blue-agent:bookworm-7.0.1
WARNING: Image reference docker.io/clemlesne/blue-agent:bookworm-7.0.1 uses a tag, not a digest, to identify the image to sign.
This can lead you to sign a different image than the intended one. Please use a
digest (example.com/ubuntu@sha256:abc123...) rather than tag
(example.com/ubuntu:latest) for the input to cosign. The ability to refer to
images by tag will be removed in a future release.
Error: signing [docker.io/clemlesne/blue-agent:bookworm-7.0.1]: accessing entity: GET https://index.docker.io/v2/clemlesne/blue-agent/manifests/bookworm-7.0.1: TOOMANYREQUESTS: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
main.go:74: error during command execution: signing [docker.io/clemlesne/blue-agent:bookworm-7.0.1]: accessing entity: GET https://index.docker.io/v2/clemlesne/blue-agent/manifests/bookworm-7.0.1: TOOMANYREQUESTS: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Deployment
na
Version
b478735c9e5775854bdf5b36f1387f40568f09ce

Added two optimisations:

Only sign builds on develop and main branches: 77536a37767fdc4b67a42437d5eb53f28149e9d3
Retry signatures: 18dcfc240cce7aa871c8ae398522ed384b5c50e5

Closing this for now. Seems way better now.


Wrong import suggestions for relative files

For some unknown reason, I'm getting wrong suggested imports in a certain scenario. I'm working in a mono repo with yarn workspaces. I have a package that depends on another package from the monorepo. The package I'm depending on (package-a) has a export from the main file. In the other package (package-b) I have a file that imports from package-a. But then when I'm trying to do an import from two relative files in package-b I'm getting a wrong import (like shown). But when I remove the import from package-a from the file in package-b I'm getting the correct import suggestion.

TypeScript Version:  3.1.0-dev.20180728

Search Terms:
wrong import suggestion
no relative import suggestion
Code
A link to a github repo with a reproduction
Steps to reproduce:

git clone and yarn
run yarn build inside packages/package-a
open vscode and navigate to packages/package-b/src/another.ts.
open the import suggestion for C. Wrong import is shown.
Go to file packages/package-b/src/index.ts
Comment the first line (the import)
Go to file packages/package-b/src/another.ts
Open the import suggestion. correct import is shown

Expected behavior:
Suggest import on a file trying to import from another relative file should be:

Actual behavior:
Instead the import is suggested with the name of module and the src folder

Duplicate of #26044. I'l add a comment about my scenario there.


[RAIN-1748]Added multiple tenantId wise and date range wise re-indexing.

User story needed multiple tenantId wise reindexing as well.
On Thu, Nov 12, 2020, 7:50 PM kavi_elrey@1993 <EMAIL_ADDRESS>wrote:

@kavi-egov commented on this pull request.
why tenantids are being made multiple?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/egovernments/business-services/pull/141#pullrequestreview-529131476,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AREMY4MN2KGQRW3BPNTA5TTSPPVL5ANCNFSM4TTHKJQA
.


egui example doesn't work, crashes on start on macOS

Assertion failed: (CGAtomicGet(&is_initialized)), function CGSConnectionByID, file CGSConnection.mm, line 422.

After looking what might have caused the error, it seems that the NSApp needs to be initialized first
https://github.com/servo/core-foundation-rs/issues/176
Indeed, moving tray creation inside the run_native function fixes the crash
    eframe::run_native(
        "My egui App",
        options,
        Box::new(|_cc| {
            // moved inside the lambda
            let _tray_icon = TrayIconBuilder::new().with_icon(icon).build().unwrap();

            Box::<MyApp>::default()
        }),
    )

BUT there is no icon in sight! Note that other examples worked just fine (winit + tao)

I was able to show the icon, it seems that it needs to be stored in a data structure so it won't be dropped? Will dig a little more and maybe send a PR to update the example

That would be appreciated, I am fine with just storing it in a Rc<RefCell<Option<TrayIcon>>>

@amrbashir I am getting the same with the "tao" example.
There are two changes that need to be made to that example:
tao::event_loop::EventLoop is used instead of EventLoopBuilder
and in this library TrayEvent instead of TrayIconEvent

@oren0e the examples have been updated with this changes days ago. If you are facing a specific issue, feel free to open another issue with more details and steps to reproduce.


REFRESH REQUEST

Hi,
When interacting with OAuth Transparent token refresh is almost always desired.
As WS stands on the shoulder of Alamofire, and Alamofire v4 supports a new RequestRetrier protocol,
how can I configure WS so that when my authentication token expires I get a new one and retry the request?
Thanks!

I have the same issue with Firebase bearer tokens, they also need to be refreshed and set as headers before each call.
Alamofire 5 will support an asynchronous version of RequestAdapter that will make a token refresh like that trivial. It also has retry but no need for that in this case.
Alamofire 4 has RequestAdapter and I'll add that to ws - that should be trivial to add. But it's not async in AF4 and so won't exactly work for the Firebase case, and I OAuth transparent token is similar.


[BUG] Problems caused by too long name

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When logging in with the mailbox as the user name, if the name is too long, the menu will not be displayed completely
Screenshots [optional]

Steps To Reproduce
1 Install a new wallet
2 Register with email and fill in the email name of alby，The name of letters in a word is greater than 5, such as hugo1234
3 Open the wallet home page to see a part of the menu
Expected behavior
The name and menu are displayed normally
Alby information
The latest version of master I use
alby version:1.23.0
Device information
alby version:1.23.0
Additional context
No response
Are you working on this?
Yes

Display is normal in full-screen view
chrome-extension://bolljnmcekcabodmdedlhhkmicblndgc/options.html#/discover
The display is abnormal only in pop mode
chrome-extension://bolljnmcekcabodmdedlhhkmicblndgc/popup.html

I need to add a new breakpoints in screens to mark the minimum size of pop page, in tailwind.config.js
The size of the pop page is 384 px
So add an xs: 300 or popview: 300
@bumi  @fczuardi
screens: {
      'xspop': '300px',
      ...defaultTheme.screens,
    }


Convert Resource::Manager to use std::thread (RIPD-236)

This pull request:
o Converts to using std::thread from beast::Thread.
o Renames member variables using the ending underscore convention.
The pull request does not attempt to de-virtualize the
Resource::Manager class.  The data hiding performed by the
Resource::Logic class complicates that effort.  If de-virtualizing
the Resource::Manager is important it probably deserves a separate
pull request.
Reviewers: @vinniefalco, @seelabs

Its good to move to std::thread. I don't think the resource manager needs a devirtualization.

Comment regarding try/catch addressed.

Current coverage is 49.38%

Merging #1347 into develop will not affect coverage as of 724bfa8

@@            develop   #1347   diff @@
=======================================
  Files           962     962
  Stmts         65925   65928     +3
  Branches          0       0
  Methods           0       0
=======================================
- Hit           32560   32558     -2
  Partial           0       0
- Missed        33365   33370     +5

Review entire Coverage Diff as of 724bfa8

Powered by Codecov. Updated on successful CI builds.

:+1: Your call if you want to remove the unused journal_.

CI failure, looks to be timeout related. Could be a bug

The CI failure is an npm test timeout.  I kicked Travis and we'll see what happens.

:+1:


Enable re-generating of slugs for entities via command

I recently came to a point where I needed to re-generate the slugs for all entities and haven't found a way to do so in a convenient manner.
So I'd like to propose a command which would be able to re-generate all slugs for an given entity, e.g.:
php app/console doctrine:extensions:slug regenerate 'VendorMyBundle:Foo'

@l3pp4rd is there a way to trigger a regeneration of the slug for an entity in your extensions ?

yeah, it seems that adding the command in the bundle requires changes in the library first. Keep it open here too with a reference to the other ticket

Done: https://github.com/l3pp4rd/DoctrineExtensions/issues/223

Has this feature been updated ?

looks like - not ;) you'll have to implement that on your own


Error pages should return a 500

For some reason, our exception page is setting the status to a 200.  It should be a 500.  I'm afraid this may cause tests to fail since many tests assert the response as 200, but in fact there are exceptions (IOW, the tests are actually broken).

Bump.  This PR is pretty important if we're going to be testing our controllers more!
/cc @Fryguy @jrafanie

Wow.  cc @dclarizio
@dajohnso @seandst Can you comment here if this will affect you guys (positively or negatively)?

As discussed on IRC: does that work under the appliance?
I mean does the apache proxy module pass the page to the client when it gets the 500 from Rails? Or does it show some 'proxy error' page? We have to check that before merging this PR.

I don;t believe this will affect QEs UI automated tests, afaik we are not asserting the page status.  The REST tests do though but fix it up like it should be and we'll do the same if there is any impact on our end.

I mean does the apache proxy module pass the page to the client when it gets the 500 from Rails? Or does it show some 'proxy error' page? We have to check that before merging this PR.

I can check that pretty quickly, I think.

Looks to be handled properly. I patched an appliance with this PR and put a spurious exception into the dashboard view:

In that case :+1:

:100: Awesome!


New Style Office_2010_Extended

Merged, thanks!

Can u build project and add to release tab (need net 2.0 .dll), thanks.

@catterpiler74 , done, new release published, included .net 2.0 dll. you're welcome.
https://github.com/RibbonWinForms/RibbonWinForms/releases

@adriancs2 , thank you.


Add visual diff JS tool

Add a JS/CSS visual diff tool which allows developers to compare local dev pages to live for visual regressions.

The tool relies on mix-blend-mode and filters which aren't supported in IE or Edge. In these cases, the tool simply overlays the live page onto the local page:

Note: the tool relies on X-Frame-Options being set to ALLOWALL on live pages. Therefore the tool may not be able to be run on all GOV.UK pages.

@nickcolley The diff works in Chrome, Firefox and Safari - it doesn't work in IE or Edge, so I've added a clause that just overlays the live page onto the local version with opacity: 0.7 so you can at least compare in these browsers.
I think it works okay at different breakpoints, but the cookies banner fix doesn't seem to have worked, so that's making it difficult to compare at the moment.


Make markdown headings in Tag descriptions links.

Make links in Tag descriptions clickable. Markdown included in tag descriptions should generate links.
For example, in this OpenAPI 3.0 reference, I would expect Nested Folders and Folders Object to be clickable.
tags:
  - name: Folders
    description: >-
      Folders behave like normal IMAP or filesystem folders. A Message can only
      exist within one folder at a time, but a Thread with many messages may
      span several folders.

      Folders are only supported on accounts for which `organization_unit` is
      folder. You can check if an account supports labels by looking at the
      organization_unit property on the Account object.

      ## Nested Folders

      IMAP has very limited support for nested folders. It encodes a folder's
      path in its name. For example, the folder Accounting/Taxes will actually
      be named Accounting.Taxes or even INBOX.Accounting.Taxes depending on your
      IMAP server. To complicate things, different IMAP servers use different
      path separators. For example, Taxes.Accounting on server A may be
      Taxes\Accounting on server B.

      The Nylas API handles nested IMAP folders transparently. Creating a
      Taxes/Invoices folder using the API will create a folder with the right
      path separators. e.g: Depending on your server: INBOX.Taxes.Invoices or
      Taxes/Invoices.

      ## The Folders Object

      | Attribute  | Type | Description  |

      |----:|---|:----|

      | `id` | string | Globally unique object identifier. |

      | `object` | string | A string describing the type of object (value is
      "folder").

      | `account_id` | string | Reference to parent account object. |

      | `name` | string | Standard categories type, based on
      [RFC-6154](http://tools.ietf.org/html/rfc6154).
Can be one of the
      following:

inbox

all

trash

archive

drafts

sent

spam

important

null
      (regular user-created folder)

      | `display_name`| string | Localized name of folder, matching what is
      presented in their other mail apps. If you are displaying folders, use
      this instead of `name`. |

For a full demo see https://codesandbox.io/s/rapiddoc-html-latest-tql31?file=/index.html
To see the markdown tag header behavior in another tool, see redoc demo.

https://github.com/mrin9/RapiDoc/issues/414

thanks for the detailed explanation and code-samples.
Here is what we think about it ,

Clicking on heading wont take you to any new location (it just takes you to itself). our UX team thinks its an unnecessary distraction. Let me know if you feel otherwise and provide some reasoning  and I will take it further
It is a good idea to list some of the headings on the left nav for users to quickly navigate to important sections. We do it currently, but thats limited to only overview section. Here is an example (checkout the navigation bar where you find links to the headings)

Its not yet extended to Tag Descriptions, will bring this up in our team discussion

@mrin9 It's for sharing with end-users. Being able to share direct links to headings is an easy way for support teams to send documentation to end users. Instead of them saying go here then scroll down (which they never do), they can link directly to that heading so the end-user doesn't have to think.

Tag description can now appear as links on the navbar. Below is a sample implementation
https://mrin9.github.io/RapiDoc/examples/markdown-headings.html
Headings are not clickable, however they can be anchored. for instance the above document can be linked to any of the H1 or H2 as
https://mrin9.github.io/RapiDoc/examples/markdown-headings.html#tag--Employees--modifying-an-employee

to check out at your end, you may pick the non-released build from dist/rapidoc-min.js


Fix #253 Temporary files must be flushed to disk before the webserver read them

Lots of test failures. Can you take a look and see what's up with that?

Also what OS/Ruby version are you experiencing this with?

My bad. I shouldn't make code at 3 am :sweat:
I'm on gentoo / linux 4.0 with the 2.3.0-dev version of ruby. My /tmp is tmpfs

Awesome, thanks!


Don't run k8s-plugin when CLUSTER_TYPE is OpenShift

Signed-off-by: Zenghui Shi<EMAIL_ADDRESS>

/cc @Mmduh-483 @pliurh

@zshi-redhat k8s plugin is not supposed to be loaded when the cluster is openshift https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/pkg/daemon/daemon.go#L674-L678

@zshi-redhat k8s plugin is not supposed to be loaded when the cluster is openshift https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/master/pkg/daemon/daemon.go#L674-L678

@Mmduh-483  you're right, I hit the issue with my customized patch in this PR: https://github.com/k8snetworkplumbingwg/sriov-network-operator/pull/106
The issue doesn't happen on master.


Fix form_post CSS styling in Firefox and Safari.

This functioned fine, but did not have the intended visual appearance when it came to how the text of the auth code wrapped inside the copy button in the manual flow (see #734).
The new styling behaves correctly on at least Chrome, Firefox, and Safari on macOS.
Release note:
This functionality was not yet released.
NONE

Screenshot comparisons
I just captured these manually. We could think about trying to add some automatic visual diffing to our tests, but it seems like overkill for now.
Chrome (before)

Chrome (after)

Firefox (before)

Firefox (after)

Safari (before)

Safari (after)

Very nice! 🚀


Support pull untar overwrite or ignore mode

Output of helm version: v3.11.2+g912ebc1
Output of kubectl version: irrelevant (v0.24.2)
Cloud Provider/Platform (AKS, GKE, Minikube etc.): irrelevant
Context
When calling helm pull --untar --untardir xxx twice at the same time we can face the error a file or directory with the name .../chartname-x.y.z.tgz already exists.
But why would we even call the command twice at the same time with same args? Well.. this happens in the context of Kustomize Helm integration where if you want to render two Kustomize overlays at the same time and they happen to share a common base having a Helm chart reference, there's a change the command helm pull --untar above will be called twice with same args at the same time.
Why would we do this with Kustomize? The setup is fairly standard for Kustomize but the concurrency rendering mainly comes from usages from ArgoCD where as soon as a change affecting the two overlays is detected, there's a change both overlays will be rendered at the same time.
Related issues:

Kustomize: https://github.com/kubernetes-sigs/kustomize/issues/5271
ArgoCD: https://github.com/argoproj/argo-cd/issues/8008

Question / suggestion
To be honest, I'm wondering where is the right place to fix this (Helm, Kustomize or ArgoCD?) and looking for feedbacks.
One option could be to allow (with a flag) helm pull --untar to not care if the file already exists. I saw it was suggested at the time the check against file existence was added (https://github.com/helm/helm/issues/7182#issuecomment-742616995) but from what I can see there was no further action taken.

Err, yeah. You have been caught between these two projects.
I also think if there are options before changing Helm. If I'm reading the code snippet on https://github.com/kubernetes-sigs/kustomize/issues/5271 correctly. It is a Kustomize "plugin" which is managing the interactions with Helm.
Options I think include:

Do a chdir before Helm pull. Then the artifacts should end up in different directories and won't collide
The plugin could simply serialize (goroutine, mutex) accesses to Helm (pull). Not sure what Helm will do if the archive already exists (and if a subsequent Helm pull might modify it; iirc, the artifates are named after the chart name-version, and should be identical anyway. Or Helm might skip downloading an existing archive)
Ignore this error from Helm. Either structured output or adopting the Helm SDK in Kustomize (rather than shelling out) might enable identifying and ignoring (specifically) this error.

Any of these I think would avoid modifying Helm's behavior here. For Helm to adjust, it would need to consider all of its usage scenarios. And things that come to mind include ensuring that the concurrently downloaded achieves are the same before ignoring the error (and if they are not, we couldn't ignore it), etc. And the coordination needs to be across two different Helm processes.
If none of those would work out for the Kustomize plugin, update here to continue the discussion of course.

Thanks for the feedback @gjenkins8 .
With a bit more thinking, I tend to agree this is more a Kustomize issue as this is a specific choice of Kustomize to use a single local folder to pull the Helm charts.


update ZenHub information to use the official badge

@M-Zuber thank you for the change, however, looks like there is a problem...
Is it possible for you to rebase this change on the current develop branch?
Thanks!

hmm my squash/rebase seems to not have affected this PR. Should I open a new one?

It's look like we are good here, I will merge it in.
Thanks!


Used string manipulation instead of templating to remove characters from SAN

Description
Hi, was experiencing the issue described here
I believe this change creates the list that was being done in the templating, my local testing shows that it no longer errors out but I have not tried the scenarios listed in the issue.
I left the original template bit in as I was just trying to get this working, but can remove it.

Hi @reegnz , @mrferos
CC: @ezelenka
Can I ask why are we using this distinct_domain_names validation / enforcement? Perhaps I am not able to see the big picture, but IIRC in version 1.4.0 (terraform 11) we used the SAN and domain_name this way?
https://github.com/terraform-aws-modules/terraform-aws-acm/blob/fa8e57da0ae9aa439f3c0b71cbc49ae340bb838b/main.tf#L25
Thanks!

Please Review PR https://github.com/terraform-aws-modules/terraform-aws-acm/pull/16


[Extensibility bug] Customer List

Hi,
i added "County" field on my "Customer List" (page 22) page extension with visibility = false. "County" field on table 18 "Customer" has 2 different properties:
CaptionClass = '5,1,' + "Country/Region Code";
Caption = 'County';
when i try to add "County" field on "Customer List" with "personalize" feature, the field in "Add Field to Page" list has "5,1," name instead "County".

This logic defined in codeunit 344 "County CaptionClass Mgmt", please check if you country/region setup is correct.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


feat(n-tree): add expanded in render-switcher-icon func

请添加中英文 API 文档

done

Codecov Report
Base: 62.62% // Head: 62.63% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (bc08aad) compared to base (ecdf69a).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head bc08aad differs from pull request most recent head 8e9c0a1. Consider uploading reports for the commit 8e9c0a1 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4017   +/-   ##
=======================================
  Coverage   62.62%   62.63%
=======================================
  Files        1064     1066    +2
  Lines       22290    22300   +10
  Branches     5834     5834
=======================================
+ Hits        13960    13967    +7
- Misses       6818     6821    +3
  Partials     1512     1512

Impacted Files
Coverage Δ

src/tree/src/TreeNode.tsx
61.53% <ø> (ø)

src/tree/src/interface.ts
100.00% <ø> (ø)

src/tree/src/TreeNodeSwitcher.tsx
78.57% <100.00%> (ø)

src/locales/index.ts
100.00% <0.00%> (ø)

src/locales/date/trTR.ts
100.00% <0.00%> (ø)

src/locales/common/trTR.ts
40.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


permissions caption and name

Availability update: We will publish a fix for this issue in the next update for release 22.
Build ID to track: 58571.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11397.


May auto_increment column cause some problems while using vitess?

It depends on your setup. If you're unsharded, then it's no problem. But if you have a sharded database and want a globally unique auto_increment, then you obviously can't use MySQL's autoinc directly.
There is a way to get the effect of a globally unique auto increment using the V3 API. I've shown how to do it here: https://groups.google.com/forum/#!searchin/vitess/auto$20increment/vitess/EcUB0mIrLN4/b49SZyOLLCkJ.


Switch alertmanager to kingpin

This PR contains the first (easy) part of the migration to Kingpin, as discussed in #947, namely converting the alertmanager binary.
I have converted amtool as well, but since that becomes quite a bit messier, I thought we'd start here and take that in a separate PR.

Thanks for the pr! I'll try to give this a look soon, and I hope some of the other folks will too :)

@stuartnelson3 Apparently this PR, related to #976, also wasn't merged :)
Rebased onto master now.


API request - BLE peripheral bond keys

Type of issue
Other (describe below)
Feedback
The WinRT project directed me here to make a conceptual suggestion for the WinRT API.
We work with BLE programmers that as part of their API provide the ability to serialize, deserialize, and read the bond keys exchanged with a BLE peripheral when paired. This includes things like EDIV/RAND/LTK/CSRK/IRK.
I would like to request an API on https://learn.microsoft.com/en-us/uwp/api/windows.devices.bluetooth?view=winrt-22621 that brings the Windows Runtime API to the same level of functionality, at least on PC.
Something along these lines:
interface IBleBondKeys
ulong CentralIdentityAddress
int CentralIdentityAddressType
ulong PeripheralIdentityAddress
int PeripheralIdentityAddressType
byte[] LongTermKey
ulong Random
ushort Ediv
byte[] IdentityResolvingKey
byte[] ConnectionSignatureKey

Which could be added to a store for a specific BluetoothAdaptor, and retrieved for a specific BluetoothDevice on that BluetoothAdaptor.
Similar functionality is available on Linux, https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/settings-storage.txt and most of the main BLE stacks (Apache mynewt/nimble, nordic softdevice, Mbed BLE, etc).

Hi, @epatstarkey, and thanks for filing this issue. The feedback channel you're using here (Submit and view feedback for > This page) is for feedback about the documentation in this topic itself, as published. For example, if the content is incorrect or incomplete.
For feature requests to the product team, like this, one option is to click Submit and view feedback for > This product, and you'll be taken to Microsoft Q&A (more info about that below).
Here are all of the developer support resources, for completeness.

Microsoft Q&A is the right place to lobby for a change or a new feature, to make a suggestion, or to ask a product question.
For community assistance with development questions, there are our forums, and StackOverflow.
The Windows developer support site explains other support options.
The Visual Studio developer community is available, and responsive. The former User Voice feature is now there on the Suggest a feature tab, if you want to lobby for a change, a feature, or to make a suggestion.
For developer issues, or suspected product bugs, there's Microsoft Support; a support engineer will look at the repro and see whether the issue is a Microsoft product bug, or something else. If it's a bug with a Microsoft product then the ticket will be free of charge.

I'll go ahead and close this issue now, since there's no action to take in the documentation. You can always reply to a closed issue, or even re-open it if you feel it's been closed in error.
Thanks!
-Steve


some join-related improvements

fix some bugs where t1 JOIN t2 ... worked fine but t1 INNER JOIN t2... was broken
support t1 INNER JOIN t2 USING ( which suggests only columns in common

does pgcli officially support python 2.6?

Yes it does. It's funny you got tripped up by Counter. I had to deal with that in one of my other projects last week and I was mildly annoyed by it.
I ended up using http://code.activestate.com/recipes/576611-counter-class/ which is the official implementation of Counter class by the great Raymond Hettinger. :)
I think it's worth maintaining that compatibility since a lot of linux distros still ship with 2.6 as the default.
But if it becomes too much of a trouble we can always reevaluate.

That's fair. Where do you want it? Something like pgcli.backports.Counter?

I was thinking 'pgcli/packages/counter.py'.
'packages' folder is supposed to be the folder for keeping all third-party packages. Sometime in the future they'll be spun off into separate projects (or dropped) and pgcli will install them as dependencies.

now py26 compatible

@darikg I'm getting ready for PyCon. So I haven't been able to give it due attention. I'll have plenty of time to review it in the plane. I'll provide feedback or merge it in once I get to PyCon.
Are you planning to attend this year? It'll be nice to meet you in person. :)

Yeah no worries. I can't make PyCon this year but have a great time! Montreal's amazing.

I finally got around to reviewing the code. I like the endswith('join') change. So :+1:  on that.
I don't understand the changes made to parse_utils.find_prev_keyword(). If you could explain that one, I'll be happy to merge it in.

Sorry about the delay getting back to you on that. Let me try to explain what I was thinking, and you can let me know if it makes sense, or if I'm just recklessly over-complicating things (it's probably the latter.)
Consider the following two cases, where the asterisk indicates the cursor position:
Case 1:  ...s JOIN t USING (*
In suggest_based_on_last_token, the last token is (, and we need to check the preceding token to determine whether the opening parens is due to a subselect, USING clause, or function call. Easy peasy.
Case 2: ...s JOIN t USING (foo, bar, *
This is a bit trickier. The general strategy in suggest_based_on_last_token when the last token is , is to find the preceding keyword, and recursively call suggest_based_on_last_token with that as token, effectively requesting suggestions for the first column in the list, i.e.: reduce Case 2 to Case 1. The problem is of course Case 1 doesn't just depend on the ultimate token (, it also depends on the penultimate token, which it tries to extract from text_before_cursor, which in this case is bar, a not very informative token.
I figured there's two avenues to address this: either by complicating code in the elif token == '(' branch, by smartening up its search for the penultimate token, or by complicating code in the original suggest_based_on_last_token call, in the elif token == ',' branch. My rationale was that this recursive strategy was attempting to reduce the problem to being the first item in a list, so in addition to converting token from , to (, it should also convert text_before_cursor from Case 2 to Case 1. That's what the extra code in find_prev_keyword does -- instead of just returning the previous keyword, it also returns text_before_cursor with everything after that keyword removed.
Wow that was a lot of words. Definitely overcomplicating things. If you want I can pop off the USING commits into a separate PR so you can go ahead and merge the simple endswith('join') stuff.

I've read through your explanation (twice). I think I just need to go through some examples (maybe tests) and work it out for myself.
I'll do that and then merge it in.  :)

Thank you for the PR. I've merged it in since it was doing the right thing when I tried it out.
But I still have a question.
You mentioned that it was added to address the case of ... s JOIN USING (foo, bar, *. But don't we already have to handle that case in INSERT INTO demo (id, name, * .
I'm going to read through the code to try and understand what made the USING case special.
ps: I got to learn about USING in Postgres as a result of this PR, which is always nice.
Brilliant work!
I think this paves the way for adding more suggestion types when we discover cases that are more complicated. I'll still go through and add the comments.
Thank you very much for doing this. :)
:tractor:


Selected text is not very readable [BUG]

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Select text

Expected behavior
Text should be readable

The select text problem seems different for everyone. I can't recreate the problem so I'm not so sure why it happened. What Joplin version and OS system are you using?

The default is different for sure but it should be able to configure it with ::selection selector.

I will release the updates tomorrow and I hope it will work for you.

It didn't seem to have worked 🫣

Due to my side didn't have this problem, I need your help. I need to know what has overwritten the selected text styles.
Can you help me find out the exact problem in the DOM and provide me a screenshot?

I found the issue: the CodeMirror is creating additional spans with other definitions. Hence the native definition doesn't work :roll_eyes:

I found something weird, these few lines of code seem doesn't work for all users: chrome.css line 689 ~ 704 It would be perfect if you can help find out the problem within these few lines of code.
The CSS class .CodeMirror-selectedtext is not the perfect selector for adding background color, I can show you the difference:
If I use your solution to fix it:
#react-root .CodeMirror-selectedtext {
  color: var(--me-selected-text) !important;
  background: hsl(calc(var(--usp-hue) + 180deg),  10%,  45%,  50%) !important;
}

The output:

But the original selected text style should be like this:

Overall, if I use your solution, you will lose the original selected text style and the focused state background color.

Yes, I'm wondering why this library reinvented selected text.
What if the background of .CodeMirror-selectedtext is set to none and we're just using the proper system selection?

What if the background of .CodeMirror-selectedtext is set to none and we're just using the proper system selection?

Exactly the same as this one:
https://user-images.githubusercontent.com/110529913/218142510-d27f5a0e-1c5b-4c20-b48e-11116ecbb061.png
ReMoods originally didn't set the background color to .CodeMirror-selectedtext, but there is another class .CodeMirror-selected and it has the same output as the ::selection selectors. I'm just curious about why both .CodeMirror-selected and ::selection didn't work for some users.

I think the main problem is within the .CodeMirror-selected, the purpose should be as an alternative for ::selection. This CSS class will pop up in the DOM when we select the text in the Markdown Editor. And the location is .CodeMirror-lines > div > div > div.CodeMirror-selected:

So, do you have the class .CodeMirror-selected appearing in the DOM when you selected the text in Markdown Editor?
And based on your answer, I will pick one of the below as a solution:

If yes, please let me know why the color value is invalid, and I will fix the problem.
If not, I will implement a settings property due to this issue only appearing on some users:

I will use your solution to fix this, and users would enable it manually based on their actual needs.

The selected text background color issue has been fixed in the Remoods Theme v4.1.7 updates. Thank you again for all of your helpful information.

I just updated and it works perfectly! :heart_eyes:


Show the next move instead of the previous move in Find identical position's result.

I know very well that d5 is played here.
So it would be nice to show the next move instead of the previous move.

Thanks for the suggestion. Also, please see issue #522 https://github.com/czbar/ChessForge/issues/522 for our current thinking on how to improve this feature.  The original need arose because we were working on opening studies where same positions where arrived after transpositions.  So, there were not necessarily the same "previous" moves.  Hence, we need to somehow address all different cases in a satisfactory manner.

This has now been completely refactored and will be available when the next build is published (0.9.9). See https://github.com/czbar/ChessForge/wiki/Identical-Positions


⚠ Bofrost.lu has degraded performance

In 2ea0b56, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1155 ms

Resolved: Bofrost.lu performance has improved in 85c4054 after 10 minutes.


Improve threshold behavior for fetching new batch of messages on scroll

As the user scrolls through the message list, we fetch a new batch of messages before they reach the end of the loaded history. If the user has a good network connection this is an amazing experience given they can continuously fling through history.
Currently we have a static value for the threshold at which we load extra messages (see kFetchMessagesBufferPixels in lib/widgets/message_list.dart) which currently evaluates to 4000. When it was first introduced in bccaead94e messages always had a recipient header attached, and since then not only are messages more compact (moreso due to work towards #157 ) but messages are grouped together by recipient header. A simple static value by itself is no longer sufficient, and we should probably dynamically adjust this value or change what we rely on to fetch new messages.

Before this will be actionable, we'll need to have an idea of what problem the existing behavior has that we want to solve.
I'm not actually sure the threshold shouldn't ultimately remain a fixed distance in pixels, as it is now. That corresponds to a fixed amount of scrolling, which seems more likely to be relevant in varying circumstances than the number of messages involved. (With #446, it'll actually become quite difficult for the user to even tell how many messages are on their screen.) It's possible that distance would ideally be larger or smaller than the value we have now, but the first step in making a change there would be to identify a problem that it might solve.
I believe the prompt for filing this issue was the test discussed at https://github.com/zulip/zulip-flutter/pull/446#discussion_r1433497393 , which can be fragile and need adjustment when the message layout changes. I'm not sure different threshold behavior here would actually fix that, though. As written, the test starts a fling-scroll at full speed and then fast-forwards to the end of it. That seems likely to skip right over the point where some other threshold would fire, just as it can skip right over the point where the existing threshold fires. It'd be good to make the test more robust, but that's probably best done by changes to the test.

Closing as not actionable. We can always open a new issue if there arises a concrete problem in this area that we want to fix.


Zipkin dependencies are not available in http://start.spring.io/

The Zipkin dependencies which are mentioned in packtpub are not available in http://start.spring.io/

If you would have read course, it was stated that the zipkin server is deprecated from spring boot and it should be installed externally.

We are now launching Zipkin using Docker.


Corrected the version number with minor cosmetic changes

NO functional change
corrected the version number with the following minor cosmetic changes
-- updated comments
-- reduced if condition with ||
-- used single quotes to maintain consistency in coding style

Ignore this PR. I'm making more improvements.


Metadata

Hi thanks for previous issue being resolved.
I was wondering if there is a way to get the metadata from the file? I tried to look at the different containers in the file but i can't figure out a way to unpack the binary structure. I'm not sure if there is any documentation out there, but it would be incredibly helpful to get all the metadata.

Hi!
I’m not sure how to extract the metadata from the files, however if you have a particular file with known metadata you could send it to me (you will find my email, at my GitHub page), I'll have a look at it.

thanks i'll do that


Limit RPC request sizes in HTTP transport layer

What made you realise that we need to do this?

I was already aware for some time, also @wojciechos pointed it out.


Translated clone.js & remoteBranches.js into Korean

Awesome! thanks a bunch, ill push the updates to the site


[Feature]: Cloudflare Workers ES Modules Support

What is the new or updated feature that you are suggesting?
Cloudflare Workers has recently GA'd support for ES modules and now uses this format as the default in templates.
ES modules brings three changes that affect Remix:

The entry point syntax is different
Where before, you set up a Worker using the service workers syntax, you now export a fetch handler:
// Previous service worker syntax

addEventListener('fetch', (event) => {
  event.respondWith(async () => {
    return new Response("Hello, world!")
  })
})

// New ES modules syntax

export default {
  async fetch(request, env, context) {
    return new Response("Hello, world!")
  }
}

Bindings are no longer global
Previously, any bindings of your Worker were available in the global scope. This pollution was part of problem with the service worker syntax, since there was no 'neat' way to pass them to a handler. Now, these bindings are available on the env (environment) object.
// Previous service worker syntax

addEventListener('fetch', (event) => {
  event.respondWith(async () => {
    const value = await MY_KV_NAMESPACE.get("key")
    return new Response("Value retrieved from KV: " + value)
  })
})

// New ES modules syntax

export default {
  async fetch(request, env, context) {
    const value = await env.MY_KV_NAMESPACE.get("key")
    return new Response("Value retrieved from KV: " + value)
  }
}

Finally, Durable Objects are available when using ES modules syntax
Durable Objects are powerful database primitives which I personally think are better suited to session storage than KV. KV is eventually consistent, so competing requests could easily squash values. Durable Objects, on the other hand, act as a point of synchronicity, as only one instance (for a given identifier) can ever be in existence. This controller can act as a gatekeeper, and removes the possibility for mistakes if you race data writes. Durable Objects are automatically created near to the user who requested them, and they can migrate as needed. They can also be restricted to a given jurisdiction, which is really useful (particularly for user data) in the context of GDPR etc.

Why should this feature be included?

Durable Objects support would bring a great alternative to KV for SessionStorage.
ES modules syntax is the default for Cloudflare Workers going forward. Adopting this would mean less friction for users who want to adapt their Worker, and also means documentation can be more easily understood between Cloudflare and Remix.
Full-stack Cloudflare Pages uses ES modules syntax, which would offer Remix users another target to deploy to, which offers a variety of new functionality such as rollbacks, preview URLs and git provider integrations.

I have already written an adapter for ES modules, a Cloudflare Pages project, and Durable Objects-backed SessionStorage. We'd need to work out a couple of things to finalize how that gets integrated (e.g. how a developer could specify a jurisdiction for a Durable Object), but it's pretty much there.

Will it be possible to create API endpoints using the same worker? I'm looking at using WebSocket with Durable Objects. Or do we need a create separate worker?

The Remix Approved™ way to create API endpoints would be with Resource Routes.
However, with the current Cloudflare Workers integration, Remix leaves you with worker/index.js which actually registers the Remix logic in your service worker. Assuming that stays much the same, you'd be able to do a check for "if incoming request has route /api/my/endpoint, then do this, else, serve Remix stuff".
So the answer is yes. Just depends on how you prefer to separate the work.

Is it correct to say that resource route won't have access to any Cloudflare API (KV, DOs etc), even with the integration? And the only way is to use the worker/index.js file directly.

No. With the getLoadContext function, you can pass through KV & DO namespaces to your Remix loaders :)

Cool. Thanks for the pointer. And look like the same context is also available in action function.

Thank you for the work here, @GregBrimble! We are anxious to make this change.

I have already written an adapter for ES modules, a Cloudflare Pages project, and Durable Objects-backed SessionStorage

Did you make a PR with this work somewhere?
Do we need to make any changes to our compiler? Currently we output CommonJS from our server build, but I believe we then webpack it so it runs on CF workers. Maybe that's the only piece that we need to change?

any update on this ?

I took at crack at this today. I think it may work now that Remix can generate ESM output.

I've been interested in using Durable Objects with Remix, so I took a stab at this.  Using Cloudflare's Typescript/Rollup durable object template as a starting point, I adapted the Remix cloudflare-workers template to bundle for Cloudflare's new ES Modules syntax.  My example includes passing a durable object into Remix through the loader context.
You can clone my template and start experimenting with Durable Objects.  I hope others find this useful.  I'd be happy to work on a PR to get this into create-remix if that's helpful to the community.
https://github.com/DenaliDeMots/remix-cloudflare-es-modules
Note: I wasn't able to fully replicate the asset handler function due to this issue with @cloudflare/kv-asset-handler.  Until this gets fixed, you won't be able to take advantage of getAssetFromKV's cacheControl options.

I added an implementation that resolves this issue in #4676 by adding a new adapter (necessary due to the way @cloudflare/kv-asset-handler imports manifest info).

@huw hi friend, can you put your library on npm?

Nah, because I don’t want to be responsible for it. But it’s not difficult to clone a subfolder of a git repo or just patch the existing package directly with my code.

I just published a small adapter for Cloudflare ES Module Workers: https://github.com/xanderberkein/remix-cloudflare-module-workers/


Powering the Arduino

MEAN WELL USA Inc. RS-15-5 AC/DC CONVERTER 5V 15W

Connection (from https://clevercoffee.de/rancilio-silvia-e-sebi/)

Forking the connection from the main power switch, I need those connectors:

https://www.youtube.com/watch?v=AzQRCUg6E9g&ab_channel=BeatTheBushDIY


tasks not working as before

In vscode 9 i had setup a simple task to rsync my project to a server.
tasks.json
{
    "version": "0.1.0",
    "command": "zsh",
    "isShellCommand": true,
    "args":["-c"],
    "tasks": [
      {
        "taskName": "up",
        "args": ["rsync -avicCFF --no-t --no-p --no-g ./ bastiaan@front:~/front/; echo DONE;"],
        "isBuildCommand": true
      }
    ]
}

It worked perfectly, now after the update i only get
zsh:1: command not found: up

It seems its adding the taskname as argument instead of the args array.
What changed in tasks.json that this does not work anymore?

I looked at
https://code.visualstudio.com/docs/editor/tasks_appendix
and apparently some default changed or was added
i needed
"suppressTaskName":true,
so correct tasks.json
{
    "version": "0.1.0",
    "command": "zsh",
    "isShellCommand": true,
    "args":["-c"],
    "suppressTaskName":true,
    "tasks": [
      {
        "taskName": "up",
        "args": ["rsync -avicCFF --no-t --no-p --no-g ./ bastiaan@front:~/front/; echo DONE;"],
        "isBuildCommand": true
      }
    ]
}

@tionkje actually there was a bug how we constructed the command line in 0.9.0. What we did in 0.9.0 was the follow ${command} ${command args} ${tasks args} ${taskname}. But the task args should come after the task name. So we fixed that for 0.10.0 and the order is now: ${command} ${command args} ${taskname} ${tasks args}. As you found out you can use "suppressTaskName" to not add the task name to the command line.

Glad to finally find an explanation for this, been going mad wondering why my tasks all broke. Now up and running again.


scope-tui: init at 0-unstable-2024-03-16

Description of changes
Adds scope-tui, a simple oscilloscope/vectorscope/spectroscope for your terminal

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1535

Result of nixpkgs-review pr 296435 run on x86_64-linux 1

1 package built:

scope-tui


arragement settled

arragement settled

What is the purpose of this change?

What is the purpose of this change?


Multi sample running

Hi Zeeev
I ran WHAM with 100 BAM files (WGS; 50X) and the run was stooped with the error message below. I first thought that there might be a path issue but not really - I checked it. For comparison, I ran with one sample using the same command (the one suggested in the manual page) and it worked fine.
Then, I ran the multi sample one by increasing thread option. It went further genomic coordinations but still got the error message. I still don't know what the problem was.
Also, 1) is there any sample number for multi sample run? 2) Multi sample run performs better than single sample run?

INFO: running region: 1:126000500-127000500
INFO: running region: 2:233000500-234000500
INFO: running region: 1:33000500-34000500
INFO: running region: 2:242000500-243000500
INFO: running region: 1:132000500-133000500
INFO: running region: 3:4000500-5000500
INFO: running region: 1:135000500-136000500
INFO: running region: 3:10000500-11000500
INFO: running region: 1:12000500-13000500
INFO: running region: 3:16000500-17000500
INFO: running region: 1:144000500-145000500
INFO: running region: 1:42000500-43000500
INFO: running region: 3:22000500-23000500
INFO: running region: 1:147000500-148000500
INFO: running region: 3:28000500-29000500
INFO: running region: 3:34000500-35000500
INFO: running region: 1:150000500-151000500
INFO: running region: 3:40000500-41000500
INFO: running region: 3:46000500-47000500
INFO: running region: 1:156000500-157000500
INFO: running region: 3:49000500-50000500
INFO: running region: 3:55000500-56000500
could not open /data/pindel/human_g1k_v37.fasta

@sehrrot sorry for the late reply, I've been on holiday.  How many CPUs are you using?

Sorry for the late reply, I've been on holiday.  How many CPUs are you using?

Thanks Zeeev. I run WHAM interactively using AWS m4.4xlarge, so CPU is 16, and memory is 64Gib.

This can happen when threading overruns the number of file handles.  If you are running 100 samples with 16 threads you are opening 1600 file handles. Check what the maximum number of file handles are.
Alternatively you could try WHAM-GRAPHNEING.  It is a more accurate version of WHAM designed for DEL, DUP, and INV.  You run the individuals separately and then merge them together.  The details are on the README.
Let me know if you resolve this issue.
Thanks for reporting the bug.

Thanks Zeee! I will try WHAM-GRAPHNEING and let you know how it goes.
I am wondering whether any document for this is available. Though I can see the workflow diagram, I am looking forward to reading the detailed docs and principles for W-G.
Thanks

One more question. For running WHAM, is a multi sample run better than a single sample run (e.g. accuracy)? In the paper, multiple sample run was only mentioned..

For both WHAM and WHAM-G there is only a slight increase in sensitivity for joint calling at the expense of many more false positives.  That's why I now use merging in WHAM-GRAPHENING.

Hi Zeeev
I ran both WHAM and WHAM-G and found WHAM-G generated lower number of calls - Run with chr22 WGS sample:
WHAM: 8000 calls
WHAM-G: 200 calls
Another issue, WHAM-G did not report a type of CNVs. I could only infer it based on REF and ALT information. Also, all calls were insertions (or duplications?). Please correct me if I am wrong..
Thanks

Hi @sehrrot ,
Sorry for the slow response I was on vacation.
The number of calls seems reasonable.  I am not sure what you mean by WHAM-G did not report a type of CNV.  In the alt column you should see:
||
Can you post a line from the VCF file in question.

Hi @zeeev
Thanks for the reply! I should've put the other way: Wham does not report a type of CNV, and all of calls have 'N' at the REF (please see an example below).
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT sample.chr22.bam
22      17005386        .       N       ANGTATGCCACCACTC        .       .       LRT=0;WAF=.,0.500001,0.500001;GC=0,1;AT=1,0,0,0,0,0,0,0,0,0,0,0.0176991,0.00884956,0.0176991,2.37402;CF=0.619469;CISTART=17005349,17005421;CIEND=17005253,17005255;PU=6;SU=0;CU=20;RD=113;NC=5;MQ=42.5398;MQF=0.893805;SP=2,0,0;CHR2=22;DI=b;END=17005255;SVLEN=130     GT:GL:NR:NA:NS:RD       0/1:-166.875,-78.3256,-940.627:95:18:6:113
Re Wham-G, thanks for letting me know the number issue. Other than this, all works well so far.

@sehrrot Glad to hear.  Thank you for using WHAM.


Add 'warn' alternative to 'validate'

Referencing #1779 and #1649.
To use, add a function warn() to reduxForm decorator. This function should
be similar to validate(). Behavior will be identical, except warnings do not
mark a form as invalid.
(If I missed any steps in the PR process, please let me know. Thanks!)
Also updated tests to cover new feature. There are two odd tests marked with
TODO in reduxForm.spec.js involving unexpected renders, though.

Current coverage is 100% (diff: 100%)

Merging #1780 into master will not change coverage

@@           master   #1780   diff @@
=====================================
  Files          53      53
  Lines        1143    1188    +45
  Methods         0       0
  Messages        0       0
  Branches        0       0
=====================================
+ Hits         1143    1188    +45
  Misses          0       0
  Partials        0       0

Powered by Codecov. Last update 4babf1b...fe008cc

Excellent work. Can you do the same process in the docs?

Thanks for the response!

Described warnings usage in reduxForm.md
Added simple warning to Sync Validation example -- if this is unnecessary, can be removed.

Let me know if you need anything else. Thanks again!

Needs to be in Field.md, too.

Done!

😞  Sorry, your PR was first, but something got merged that is causing a conflict. Can you resolve? I will merge asap.

Yep, no problem -- fixed it and pushed.
(Would it be better practice to squash my four commits and add the issue number? Thanks!)

I'm actually looking forward to this one too, always wondered why it was always black or white only. 👍

Thanks! 😄

Finally got what I was waiting for, Thank you guys.

thanks @timhwang21 !

Published in v6.1.0.


Add output for found label name

When searching for a label with contains it is helpful to output the actual label name so we can use its value in other actions.
While at it we added a Makefile to easily build the action.

Ping @DanielTamkin what do you think?


Documentation of the BindingBuilder

Simple doc.

hey man, i already did bindingsbuilder docs in this PR 😅

Ohh, sorry, I didn't see


Fix saving of batchScript.py in batch.py

when running mpi multicore sims, the content of _batchScript.py does not correspond with the source batch.py

MPI and non-MPI _batchScript.py files output are now identical.

MPI and non-MPI _batchScript.py files output are now identical.


chore: add caching to azure pipelines

Summary
Hopefully this'll speed up CI.

Test plan
Green CI with some nice cache output?

Ergh

@willsmythe could you provide some info here? 🙏

I checked the telemetry and the problem doesn’t appear to be specific to your pipeline/job. Can you try re-running the pipeline and see what happens? This might have been an intermittent problem that impacted the agent this particular job got assigned. I’ll follow-up with the engineering team …
Will
From: Simen Bekkhus<EMAIL_ADDRESS>Sent: Thursday, August 22, 2019 9:49 AM
To: facebook/jest<EMAIL_ADDRESS>Cc: Will Smythe<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [facebook/jest] chore: add caching to azure pipelines (#8866)
Ergh
[image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F1404810%2F63519948-2139a100-c4f4-11e9-940a-5500c8b72e5d.png&data=02|01|wismythe%40microsoft.com|13495e9fb66a4eae565108d727078244|72f988bf86f141af91ab2d7cd011db47|1|0|637020785522614914&sdata=P6FskGYyLDkgZaI5TRD%2F4FagFDtLCnncnkzdEeLMJak%3D&reserved=0
@willsmythehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwillsmythe&data=02|01|wismythe%40microsoft.com|13495e9fb66a4eae565108d727078244|72f988bf86f141af91ab2d7cd011db47|1|0|637020785522624909&sdata=7bz69jaORfOJld92WWKr9phWsqA8vxELok5rUOsssVs%3D&reserved=0 could you provide some info here? 🙏
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ffacebook%2Fjest%2Fpull%2F8866%3Femail_source%3Dnotifications%26email_token%3DAATDDDDX5D7R7W3QDJ3GGELQF2KNLA5CNFSM4IOVFW2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD45EYSA%23issuecomment-523914312&data=02|01|wismythe%40microsoft.com|13495e9fb66a4eae565108d727078244|72f988bf86f141af91ab2d7cd011db47|1|0|637020785522624909&sdata=2fCvm53bcP%2B8b75YIGUW5U73NH0NPS0wwOa87ctHeBE%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAATDDDG7LFPQ5J22MVZFUG3QF2KNLANCNFSM4IOVFW2A&data=02|01|wismythe%40microsoft.com|13495e9fb66a4eae565108d727078244|72f988bf86f141af91ab2d7cd011db47|1|0|637020785522634903&sdata=Gf%2FUL4hkLfrz5NMTIqHfLYHDrdWcHFhQjllTYbzXyL4%3D&reserved=0.

Cool, thanks! I've clicked the button. I guess a new run will also let me verify if the cache worked for the mac and windows runs, as they completed successfully 🙂

Doesn't seem like the build wants to start for whatever reason. Maybe just a queue?

Cool, thanks! I've clicked the button. I guess a new run will also let me verify if the cache worked for the mac and windows runs, as they completed successfully 🙂

@SimenB - do you recall which button you clicked? Was it in the GitHub Checks tab, or in Azure Pipelines? Asking because I see a new run (https://dev.azure.com/jestjs/jest/_build/results?buildId=3224&view=results), but it looks stalled. I've asked the engineering team here about this as well ...

Looks stuck, yeah. I clicked the Rebuild button here:

The build never triggered... Any idea what's going on?

I'll just rebase this, which should trigger a build.

Codecov Report

Merging #8866 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8866   +/-   ##
=======================================
  Coverage   64.13%   64.13%
=======================================
  Files         275      275
  Lines       11627    11627
  Branches     2845     2844    -1
=======================================
  Hits         7457     7457
  Misses       3544     3544
  Partials      626      626

Continue to review full report at Codecov.

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

Ish 3 min install now on all OSes - hopefully we'll see an improvement

Yeah, it's about a minute faster, which is great:

Caching node_modules istead like @willsmythe mentions will be possible soon:tm: will probably be even faster, as the install step should be even shorter

@SimenB - good to hear. The issue with the failed job (which only happens for some orgs on the very first job using caching) is being investigated. Looks to be a race condition. I haven't heard back from the team on the second issue (rebuild run fails to start).


fmt: float scanning can consume more than required and generate incorrect error

What version of Go are you using (go version)?
Does not apply.
Does this issue reproduce with the latest release?
Does not apply.
What operating system and processor architecture are you using (go env)?
Does not apply.
What did you do?
There does not seem to be a way to scan a float that is followed by a literal char p.
eg. 7.23p  to mean float value 7.23 followed by char p.
What did you expect to see?
It should be possible to scan a float value that is followed by a literal char p which is not part of float (i.e does not indicate a binary exponent).
What did you see instead?
val := 0.0
_, err := fmt.Sscanf("7.23p", "%fp", &val)
if err != nil {
	fmt.Println(err) // strconv.Atoi: parsing "7.23p": invalid syntax
}

Binary-exponent floating format support was added to Go in 029bbe18 but it is not clear whatever it was intented to be only for %b or %f as well.
Binary-exponent floating format support in %f  doesn't seem to be documented or have any escaping mechanism.

To fix this would require three-rune lookahead, which is an unbearable burden. You could get "3e+x" and need to read all the way to the "x" to learn that you should stop scanning at the 3 for a legal float.
This is not practical given the way Scanf is meant to work with an arbitrary input feed. One rune lookahead is fine, but three runes is too hard.
Closing as unfortunate.

Fair enough, some documentation of this limitation would be good still, at least there should be a mention of how p is supported. It could save some other unfortunate soul some frustration.

It's got nothing to do with 'p' beyond 'p' being an exponent marker for floats.

The fmt package does not mention anything about the binary-exponent  (p)  floating-points. Only e and E.

https://github.com/golang/go/issues/24453


Combine info and functional objects

This PR is in reference to #530.
Some questions that came up while I was coding:

It might be nice to have factories for the objects (makes most sense for blobs, maybe for buckets and projects as well). That way users would only have to supply the service object once.  Thoughts?
Should we continue to expose ResourceManager.create(...) and ResourceManager.update(...)?  Since the blob/bucket has a reference to the storage object, users can instead do something like Blob.of(storage, "b", "n").create() and existingBlob.update(newBlob).  Another reason we may not want to expose that is because the user could provide conflicting ServiceOptions.  For example, the storage service object could be based on options with retrying and the blob's service options may not have retries.  Which set of options should be used (i.e. should there be retries) for when creating a new blob via resourceManager.create(someblob);?

If we decide to move ahead with the xxxInfo/xxx merge, then the following have have to be completed before merging this PR:

Test that StorageExample and ResourceManagerExample work with the changes in this PR
All code snippets in the JavaDoc and in the READMEs should be updated to reflect these changes.
Make sure all new methods are covered (there are a couple create methods in Blob that need associated tests)

BigQuery will have to be changed, but since this is already a large PR, perhaps that can be done in a subsequent PR.

Also, it may be easier to get the gist of what I did by looking at the first commit (fe9de9c) first, since it's much smaller.

It might be nice to have factories for the objects (makes most sense for blobs, maybe for buckets and projects as well). That way users would only have to supply the service object once. Thoughts?

Having the user to always provide the service object is quite annoying. Adding a factory is a solution but requires the user to write even more code just to instantiate an object.

Should we continue to expose ResourceManager.create(...) and ResourceManager.update(...)?

Given that we provide that methods as Project instance objects (even though I don't like very much having create as an instance method) I think we should no longer expose such methods. I left another comment on this but I think we should also expose list as a static method.

Another reason we may not want to expose that is because the user could provide conflicting ServiceOptions. For example, the storage service object could be based on options with retrying and the blob's service options may not have retries.

I don't see this as an issue.

BigQuery will have to be changed, but since this is already a large PR, perhaps that can be done in a subsequent PR.

If we decide to go this way I can take care of doing it in a separate PR.

I also had a look at storage changes. I think this proof of concept is very good but I did not change my opinion, I still think this change does not increase the usability of our library and also creates some situations where service references are passed multiple times to a number of objects involved in the same operation (see storage batch and copy requests). My main points against are:

I don't see this as an improvement in usability (but this is a strictly personal opinion)
An object now contains both service stuff (options) and resource's data, should equals compare only resource data? Or also options? This is tricky and has no correct answer in my mind. I would prefer equals to only compare resource's data
Classes grew in size, the code is by far less maintainable
I don't like that the user must pass a service reference to a storage object and the also use the reference to issue a batch that contains storage objects:

Blob blob = Blob.of(storage, ...);
BatchRequest req = BatchRequest.builder().update(blob);
storage.submit(batch);

Closing this PR since we decided to go with the alternative in #572.


Is it posible to build with MPS accelerator(M series mac)

OpenCV does not have integration with MPS for now, m.b. beside some math functions like LAPACK.


[EVNT-601] Refact camel integration

introduces integrations.component.name property which configures component name

this affects message event selection on the ingress topic

separates error handling route

Thanks to common Camel Context routing between route builder classes this works like a charm.

separates common Route stuff to IntegrationsRouteBuilder base/abstract class

this takes care of exception registration
and common constants

separate main routes from a specific handler ones to MainRoutes class

Splunk specific handler is separated
main routing including ingress and return channel stays on MainRoutes
route names are kept
this would welcome new integrations

sets camel.main.javaRoutesIncludePattern which selects route builders

this would enable switching between different concrete integrations
https://camel.apache.org/components/3.17.x/others/main.html

reogranizes package names to com.redhat.console.integration

concrete Splunk integration is in the splunk subpackage

EVNT-601

@vkrizan My strategy was to create a GenericIntegration abstract class so other integrations can extend this class for a basic configuration.

@vkrizan I would like to go with the subclass approach... In this way the Integration classes can inherit from the BaseRoutes the error handlers (any new error handler will be simply added to the BaseRoutes class in future) and the Integration classes can keep their specific handler implementation.
Other wise, every new Integration will need to have the its own configureErrorHandler(); method, and any new error handler will be needed to be implemented in all Integrations.
Below is the approach:
BaseRoutes
  - configures every routes but the `handler` + error handlers
SplunkIntegration
  - configures just the `handler` and inherit error handlers from BaseRoutes
SnowIntegration
  - configures just the `handler` and inherit error handlers from BaseRoutes

/retest

/retest

/retest

/retest

@petrblaho can you please have a look?

/retest

The code looks ok, I did not find anything wrong on the first look.


Assorted fixes and improvements

Add a comprehensive Reset component
Ensure all elements that have padding or border styles use box-sizing: border-box
Fix buggy disabled cursor styles
Tweak the background color of all variant="soft" menu items
Fix a regression when values for type: 'string' prop defs wouldn't work (props like gridColumn, gridRow, etc)
Fix an issue when Scroll Area would be unable to stretch to 100% height when informed by the parent’s auto height (originally battle-tested via https://github.com/workos/workos/pull/23554, no regressions from that)
Change the default Tooltip delay duration to 200ms
Map size 2 loading button to size 2 spinner
Rename DataList.Data to DataList.Value

@vladmoroz this wasn't rebased/merged into the correct branch.