Long text in FittedBox shrinks InkWell below accessibility tap target size

Steps to reproduce

Create a flutter application
In test, create a test file
Copy and paste Code section in
Run tests

Expected results
Both tests passed.
Actual results
Having larger text seems to shrink the button for meetsGuideline(androidTapTargetGuideline)
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: Tappable objects should be at least Size(48.0, 48.0)
  Actual: <Instance of 'WidgetTester'>
   Which: SemanticsNode#7(Rect.fromLTRB(0.0, 0.0, 382.0, 47.9), tags: [RenderViewport.twoPane],
actions: [focus, tap], flags: [isFocusable], label: "ABCDEFGHIJKLMNOPQRS", textDirection: ltr,
indexInParent: 0): expected tap target size of at least Size(48.0, 48.0), but found Size(382.0,
47.9)
          See also: https://support.google.com/accessibility/android/answer/7101858?hl=en

When the exception was thrown, this was the stack:
#0      fail (package:matcher/src/expect/expect.dart:149:31)
#1      _expect.<anonymous closure> (package:matcher/src/expect/expect.dart:125:9)
<asynchronous suspension>
<asynchronous suspension>
#8      expectLater.<anonymous closure> (package:flutter_test/src/widget_tester.dart:518:24)
<asynchronous suspension>
#9      _testAccessibility (file:///Users/lucassaudon/work/my_trash_app/test/widget_test.dart:71:3)
<asynchronous suspension>
#10     main.<anonymous closure> (file:///Users/lucassaudon/work/my_trash_app/test/widget_test.dart:9:5)
<asynchronous suspension>
#11     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:189:15)
<asynchronous suspension>
#12     TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1032:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 7 frames from dart:async and package:stack_trace)

The test description was:
  Given a long string, when rendered, then it meets accessibility guidelines
════════════════════════════════════════════════════════════════════════════════════════════════════

Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets(
      'Given a long string, when rendered, then it meets accessibility guidelines',
      (WidgetTester tester) async {
    const data = 'ABCDEFGHIJKLMNOPQRS';
    await _testAccessibility(tester, data);
  });

  testWidgets(
      'Given a slightly shorter string, when rendered, then it meets accessibility guidelines',
      (WidgetTester tester) async {
    const data = 'ABCDEFGHIJKLMNOPQR';
    await _testAccessibility(tester, data);
  });
}

Future<void> _testAccessibility(WidgetTester tester, String data) async {
  tester.view
    ..devicePixelRatio = 2
    ..physicalSize = Size(2 * 414, 2 * 896);
  addTearDown(tester.view.resetDevicePixelRatio);
  addTearDown(tester.view.resetPhysicalSize);
  final handle = tester.ensureSemantics();
  await tester.pumpWidget(
    MaterialApp(
      home: Scaffold(
        body: ListView(
          padding: const EdgeInsets.symmetric(vertical: 24),
          children: [
            Padding(
              padding: const EdgeInsets.symmetric(horizontal: 16),
              child: ListView(
                physics: const NeverScrollableScrollPhysics(),
                shrinkWrap: true,
                children: [
                  Align(
                    alignment: Alignment.centerLeft,
                    child: FittedBox(
                      child: InkWell(
                        onTap: () {},
                        child: ConstrainedBox(
                          constraints: const BoxConstraints(minHeight: 48),
                          child: Padding(
                            padding: const EdgeInsets.symmetric(
                              vertical: 10,
                              horizontal: 18,
                            ),
                            child: Text(
                              data,
                              style: const TextStyle(
                                fontSize: 18,
                              ),
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    ),
  );

  await expectLater(tester, meetsGuideline(androidTapTargetGuideline));
  handle.dispose();
}

Logs
Logs
[   +2 ms] executing: sw_vers -productName
[  +12 ms] Exit code 0 from: sw_vers -productName
[        ] macOS
[        ] executing: sw_vers -productVersion
[   +6 ms] Exit code 0 from: sw_vers -productVersion
[        ] 15.0.1
[        ] executing: sw_vers -buildVersion
[   +6 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 24A348
[        ] executing: uname -m
[   +2 ms] Exit code 0 from: uname -m
[        ] arm64
[   +3 ms] executing: sysctl hw.optional.arm64
[   +2 ms] Exit code 0 from: sysctl hw.optional.arm64
[        ] hw.optional.arm64: 1
[  +23 ms] Found 1 files which will be executed as Widget Tests.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +13 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +24 ms] Skipping pub get: version match.
[  +63 ms] Generating /Users/lucassaudon/work/my_trash_app/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +10 ms] executing: sysctl hw.optional.arm64
[   +2 ms] Exit code 0 from: sysctl hw.optional.arm64
[        ] hw.optional.arm64: 1
[        ] executing: /usr/bin/arch -arm64e xcrun xcodebuild -version
[  +37 ms] Exit code 0 from: /usr/bin/arch -arm64e xcrun xcodebuild -version
[        ] Xcode 16.0
           Build version 16A242d
[  +70 ms] running test package with arguments: [--no-color, --chain-stack-traces, --, file:///Users/lucassaudon/work/my_trash_app/test/widget_test.dart]

00:00 +0: loading /Users/lucassaudon/work/my_trash_app/test/widget_test.dart                                                                                [  +76 ms] test 0: starting test /Users/lucassaudon/work/my_trash_app/test/widget_test.dart
[   +2 ms] Stopping scan for flutter_test_config.dart; found project root at /Users/lucassaudon/work/my_trash_app
[        ] Compiler will use the following file as its incremental dill file: /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_compiler.6WuDJf/output.dill
[        ] Listening to compiler controller...
[   +3 ms] Compiling file:///var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_listener.dt6gWC/listener.dart
[  +23 ms] No packages with native assets. Skipping native assets compilation.
[        ] Writing native_assets.yaml.
[   +4 ms] Writing /Users/lucassaudon/work/my_trash_app/build/native_assets/macos/native_assets.yaml done.
[   +1 ms] /Users/lucassaudon/development/flutter/bin/cache/dart-sdk/bin/dartaotruntime --disable-dart-dev /Users/lucassaudon/development/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server_aot.dart.snapshot --sdk-root /Users/lucassaudon/development/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --no-print-incremental-dependencies --target=flutter --experimental-emit-debug-metadata --output-dill /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_compiler.6WuDJf/output.dill --packages /Users/lucassaudon/work/my_trash_app/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --initialize-from-dill /Users/lucassaudon/work/my_trash_app/build/test_cache/build/cache.dill.track.dill --native-assets file:///Users/lucassaudon/work/my_trash_app/build/native_assets/macos/native_assets.yaml --verbosity=error
[   +6 ms] <- native-assets file:///Users/lucassaudon/work/my_trash_app/build/native_assets/macos/native_assets.yaml
[        ] <- compile file:///var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_listener.dt6gWC/listener.dart
[ +426 ms] <- accept
[        ] <- reset
[        ] Compiling file:///var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_listener.dt6gWC/listener.dart took 462ms
[        ] test 0: starting test device
[   +1 ms] test 0: awaiting connection to test device
[        ] test 0: VM Service uri is not available
[   +1 ms] test 0: test harness socket server is running at port:60387
[        ] Using this directory for fonts configuration: /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_fonts.SJfGP8
[        ] test 0: Starting flutter_tester process with command=[/Users/lucassaudon/development/flutter/bin/cache/artifacts/engine/darwin-x64/flutter_tester, --disable-vm-service, --enable-checked-mode, --verify-entry-points, --enable-software-rendering, --skia-deterministic-rendering, --enable-dart-profiling, --non-interactive, --use-test-fonts, --disable-asset-fonts, --packages=/Users/lucassaudon/work/my_trash_app/.dart_tool/package_config.json, --flutter-assets-dir=/Users/lucassaudon/work/my_trash_app/build/unit_test_assets, /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_listener.dt6gWC/listener.dart.dill], environment={FLUTTER_TEST: true, FONTCONFIG_FILE: /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_fonts.SJfGP8/fonts.conf, SERVER_PORT: 60387, APP_NAME: my_trash_app, UNIT_TEST_ASSETS: /Users/lucassaudon/work/my_trash_app/build/unit_test_assets}
[   +3 ms] test 0: Started flutter_tester process at pid 28313
[ +321 ms] test 0: connected to test device, now awaiting test result
[        ] test 0: Waiting for test harness or tests to finish

00:00 +0: Given a long string, when rendered, then it meets accessibility guidelines
00:01 +0: Given a long string, when rendered, then it meets accessibility guidelines
00:01 +0: Given a long string, when rendered, then it meets accessibility guidelines
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: Tappable objects should be at least Size(48.0, 48.0)
  Actual: <Instance of 'WidgetTester'>
   Which: SemanticsNode#7(Rect.fromLTRB(0.0, 0.0, 382.0, 47.9), tags: [RenderViewport.twoPane],
actions: [focus, tap], flags: [isFocusable], label: "ABCDEFGHIJKLMNOPQRS", textDirection: ltr,
indexInParent: 0): expected tap target size of at least Size(48.0, 48.0), but found Size(382.0,
47.9)
          See also: https://support.google.com/accessibility/android/answer/7101858?hl=en

When the exception was thrown, this was the stack:
#0      fail (package:matcher/src/expect/expect.dart:149:31)
#1      _expect.<anonymous closure> (package:matcher/src/expect/expect.dart:125:9)
<asynchronous suspension>
<asynchronous suspension>
#8      expectLater.<anonymous closure> (package:flutter_test/src/widget_tester.dart:518:24)
<asynchronous suspension>
#9      _testAccessibility (file:///Users/lucassaudon/work/my_trash_app/test/widget_test.dart:71:3)
<asynchronous suspension>
#10     main.<anonymous closure> (file:///Users/lucassaudon/work/my_trash_app/test/widget_test.dart:9:5)
<asynchronous suspension>
#11     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:189:15)
<asynchronous suspension>
#12     TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1032:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 7 frames from dart:async and package:stack_trace)

The test description was:
  Given a long string, when rendered, then it meets accessibility guidelines
════════════════════════════════════════════════════════════════════════════════════════════════════

00:01 +0 -1: Given a long string, when rendered, then it meets accessibility guidelines [E]
  Test failed. See exception logs above.
  The test description was: Given a long string, when rendered, then it meets accessibility guidelines

To run this test again: /Users/lucassaudon/development/flutter/bin/cache/dart-sdk/bin/dart test /Users/lucassaudon/work/my_trash_app/test/widget_test.dart -p vm --plain-name 'Given a long string, when rendered, then it meets accessibility guidelines'

00:01 +0 -1: Given a slightly shorter string, when rendered, then it meets accessibility guidelines
00:01 +1 -1: Given a slightly shorter string, when rendered, then it meets accessibility guidelines                                                                                [ +368 ms] test 0: Test harness is no longer needed by test process
[        ] test 0: finished
[        ] test 0: cleaning up...
[        ] test 0: ensuring test device is terminated.
[        ] test 0: Terminating flutter_tester process
[        ] test 0: Shutting down DevTools server
[        ] test 0: Test process is no longer needed by test harness
[        ] test 0: Shutting down test harness socket server
[   +4 ms] test 0: flutter_tester process at pid 28313 exited with code=-9
[        ] test 0: deleting temporary directory
[   +1 ms] test 0: finished

00:01 +1 -1: Some tests failed.
[   +2 ms] Deleting /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_compiler.6WuDJf...
[        ] killing pid 28312
[   +7 ms] Deleting /var/folders/pw/qvzl_yx57vb_7kry7xhg_sd00000gn/T/flutter_tools.9rmj0A/flutter_test_fonts.SJfGP8...
[   +1 ms] test package returned with exit code 1
[        ] Runtime for phase TestRunner: Wall-clock: 0:00:01.265151; combined: 0:00:01.265165.
[        ] Runtime for phase Compile: Wall-clock: 0:00:00.462505; combined: 0:00:00.462523.
[        ] Runtime for phase Run: Wall-clock: 0:00:00.697354; combined: 0:00:00.697355.
[        ] Runtime for phase CoverageTotal: Wall-clock: 0:00:00.000000; combined: 0:00:00.000000.
[        ] Runtime for phase CoverageCollect: Wall-clock: 0:00:00.000000; combined: 0:00:00.000000.
[        ] Runtime for phase CoverageParseJson: Wall-clock: 0:00:00.000000; combined: 0:00:00.000000.
[        ] Runtime for phase CoverageAddHitmap: Wall-clock: 0:00:00.000000; combined: 0:00:00.000000.
[        ] Runtime for phase CoverageDataCollect: Wall-clock: 0:00:00.000000; combined: 0:00:00.000000.
[        ] Runtime for phase WatcherFinishedTest: Wall-clock: 0:00:00.000319; combined: 0:00:00.000319.
[   +3 ms] "flutter test" took 1 496ms.
[   +1 ms] Running 2 shutdown hooks
[        ] Shutdown hooks complete
[  +73 ms] exiting with code 1

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-arm64, locale fr-FR)
    • Flutter version 3.24.3 on channel stable at /Users/someone/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /Users/someone/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)

[✓] VS Code (version 1.94.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.98.0

[✓] Connected device (1 available)
    • iPhone 16 Pro Max (mobile)      • C6A1D082-C349-401A-8B11-5033AB29E450 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-18-0 (simulator)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Reproducible using the code sample provided above.

flutter doctor -v
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-arm64, locale en-US)
    • Flutter version 3.24.3 on channel stable at /Users/deanli/dev/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[!] Flutter (Channel master, 3.26.0-1.0.pre.421, on macOS 15.0.1 24A348 darwin-arm64, locale en-US)
    • Flutter version 3.26.0-1.0.pre.421 on channel master at /Users/deanli/dev/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c78c166e3e (11 hours ago), 2024-10-09 16:15:22 -0400
    • Engine revision 3a95d6e1dd
    • Dart version 3.6.0 (build 3.6.0-334.2.beta)
    • DevTools version 2.40.1


Issue with one of the unit tests for AWK "all your base"

Hi,
One of the unit tests has the obase parameter in the wrong location:
@test 'output base is one' {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run gawk -f all-your-base.awk -v ibase=2 1 <<< "1 0 1 0 1 -v obase=0"
assert_failure
assert_output    # there is some output
}
It should be changed to the following:
@test 'output base is one' {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run gawk -f all-your-base.awk -v ibase=2 obase=1 <<< "1 0 1 0 1"
assert_failure
assert_output    # there is some output
}
Otherwise the test won't run.
Darren Foley

Thanks for pointing this out.
Pedantically, it does run and it (should) output the right error message:
$ gawk -f all-your-base.awk -v ibase=2 1 <<< "1 0 1 0 1 -v obase=0"
:0: assertion failed: Output base must be greater than one

1 is a valid awk program. It is, I think, executing the -f code first before running the "1" code.


Relationship with UUID force sometime a cast to integer

Laravel Version: 5.7.14
PHP Version: 7.2.11
Database Driver & Version: MySQL Ver 14.14 Distrib 5.7.24, for osx10.14 (x86_64)

Description:
I had wrote the application using 5.6, migrated to 5.7. On the first releases (5.7) it works, now it has some casting problems. I'm using only UUID as ID, with $incrementing to FALSE.
Using the following relation
public function clazz()
{
      return $this->belongsTo(Clazz::class, 'class_id', 'id');
}

the query will be translated to:
SELECT * FROM `classes` WHERE `classes`.`id` in<PHONE_NUMBER>854775807, 47054, 4, 4, 51316830)

But if i change the previous relation with:
public function clazz()
{
      return $this->hasOne(Clazz::class, 'id', 'class_id');
}

it works:
SELECT * FROM `classes` WHERE `classes`.`id` in ('45e24ee0-e670-11e8-a21c-f19a3bda0c2c', '47054ee0-e670-11e8-b6fd-91db92a186e6', '4ae66650-e670-11e8-82dd-f790d51163b7', '4d2b19f0-e670-11e8-b1c2-777da339fff3', '51316830-e670-11e8-a9d6-fbefcd513547')

Any ideas?

I have downgraded now to 5.7.13 and belongsTo start again to works: i can confirm the bug with 5.7.14.

Please see https://github.com/laravel/framework/issues/26591 & https://github.com/laravel/framework/issues/26582

Thanks, sorry.


Correction for raw affiliation UMR ABsys, CIRAD, Montpellier, France

Correction needed for raw affiliation UMR ABsys, CIRAD, Montpellier, France
raw_affiliation_name: UMR ABsys, CIRAD, Montpellier, France
new_rors: 05kpkpg04;00n2c0309
previous_rors: 05kpkpg04
works_examples: W4283753704;W4292261350
contact: 87cfc160f6056b83ad33d13b301d606a:7e6f655f5463e7df480a53c97e7b0ec3f153 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


Bug/resource list

Description
Changes proposed in this pull request:

Fixed a bug that didn't allow to delete resources listed on the ResourceList widget
Improved docs
Changed Gateways' podSelector to display pods from all namespaces according to the docs

Related issue(s)
Closes #1833

/retest

/test pre-busola-integration-test-k3s-namespace

/retest

/retest

/retest

/retest

/test pre-busola-integration-test-k3s-cluster


react-a11y-anchors fails on links that contact exactly 4 characters of text

I'm linting a JSX element that looks something like this:
More
The rule fails. However, if add a space after "More" like so:
More
It passes.
The rule states that:

Link text should be at least 4 characters long.

I'm going to fix it since our project also hit this

https://github.com/Microsoft/tslint-microsoft-contrib/pull/284

merging now


add ENABLE_CONST_MARKING flag in OH

This is a WA for memory issue we are having when running 1x with const marking, so meanwhile we disable it.

https://github.com/huggingface/optimum-habana/pull/831


Is the API down?  Thanks!

https://countriesnow.space/api/v0.1/countries/states

Hi, sorry about this, it's not down, you can check the endpoint again.

same question

The endpoint seems to be broken again.

@thomascjenks @xXAvoraXx  can you give a bit more detail how you got the error?

@thomascjenks @xXAvoraXx can you give a bit more detail how you got the error?

problem fixed.

@MartinsOnuoha Same error is still happening today.  Was happening intermittently the last few days as well.
https://countriesnow.space/ shows "Application Error" from above responses.
Trying to hit the endpoints results in an HTTP 503 error code

Hey guys, @TimAagaard , @xXAvoraXx @redesigned  the API itself is fine. I believe someone might be using it wrongly and perhaps making heavy requests or had an infinite loop bug that caused multiple requests for about 30 minutes. Then everything came back up.
I'd set up another monitoring tool (might be expensive) to pick out the faulting source IP or client. and blacklist it.

If this makes sense, can we consider this issue resolved?

It's still down. The issue can not be resolved.

It's back up now, there's an underlying problem, and it has to do with the fact that we run on heroku's free dyno, and some folks might be misusing the service.

It seems like it doesn't work.

Hey @nataliiaprecoro The API is up now

@MartinsOnuoha I would recommend implementing fail2ban to monitor your log files and ban IPs if they go over a threshold...or build it into the source code.
Something like 200 requests in a minute by same IP gives a 5 minute ban or something like that.  Something that will prevent abuse and keep the server up for everyone while rate limiting abusers and being a mild inconvenience...a 5 minute ban for heavy or abusive users keeps the service up for everyone but forces heavy or abusive users out of commission for a few minutes.
I am willing to assist in setting up fail2ban or any code changes needed but would need to know how it's operating in heroku...looks like you have a master json pulled from an environment variable and resistance so...I doubt I could get this working locally without some help.

Hey Tim @TimAagaard, that sounds like a great idea. I had thought of setting up a rate limiter, however I also have to consider the most cost effective. I had a look at fail2ban but I’m not too sure if it would be right for us at this time, I figured we could use a 3rd party library like express-rate-limit.
Would you like to work on integrating this library and applying it to all requests?

The API is great, I love it, is it possible to add symbols to currencies? For example, the symbol for the dollar is '$'.

@MartinsOnuoha Sure thing!  I implemented express-rate-limit last night real quick for all /api routes and I'm seeing the headers in the response...so it should be working but I'll test it out tonight.  I put the rate limiter config object in /config.  You'll have to tune that to what the server can handle and if you're behind a load balancer you'll have to increment a variable by the number of proxies.
Expect a PR in a couple hours when I get off work.

The API is great, I love it, is it possible to add symbols to currencies? For example, the symbol for the dollar is '$'.

hey @xXAvoraXx I’m glad it’s been useful for you, symbols does sounds like an interesting idea, here’s what you can do,  create a new issue about this so we can all follow up on the possibilities of having this feature, and also not lose the conversation within this issue.

@MartinsOnuoha Sure thing! I implemented express-rate-limit last night real quick for all /api routes and I'm seeing the headers in the response...so it should be working but I'll test it out tonight. I put the rate limiter config object in /config. You'll have to tune that to what the server can handle and if you're behind a load balancer you'll have to increment a variable by the number of proxies.
Expect a PR in a couple hours when I get off work.

Awesome!! 🏄🏼♂, I’ll be on standby, let me know how it goes

@MartinsOnuoha Sure thing! I implemented express-rate-limit last night real quick for all /api routes and I'm seeing the headers in the response...so it should be working but I'll test it out tonight. I put the rate limiter config object in /config. You'll have to tune that to what the server can handle and if you're behind a load balancer you'll have to increment a variable by the number of proxies.
Expect a PR in a couple hours when I get off work.

Awesome!! 🏄🏼♂, I’ll be on standby, let me know how it goes

API down again.

@MartinsOnuoha PR sent and pending your review.
All unit tests still passing.  Confirmed rate-limit by holding ctrl+shift+r in browser until I got the rate-limit response.
You might have to alter config/rateLimit.js::numberOfProxies if you're behind a load-balancer or 2.  Just increment that value by 1 until it stops breaking.  Can be tested further on your server by adding the route listed here: https://www.npmjs.com/package/express-rate-limit#troubleshooting-proxy-issues

@MartinsOnuoha API was down again today.  Any chance of getting that PR reviewed and deployed over the weekend?

Hey Tim, I’m having look at the MR right now


Error creating the Web Proxy specified

ERROR DETAILS
	Following errors were detected during this operation.
	* [3/4/2016 12:38:55 PM] System.Configuration.ConfigurationErrorsException
		- Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section.
		- Source: System
		- Stack trace:
			at System.Net.Configuration.DefaultProxySectionInternal.GetSection()
			at System.Net.WebRequest.get_InternalDefaultWebProxy()
			at System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint)
			at System.Net.HttpRequestCreator.Create(Uri Uri)
			at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
			at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
			at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
			at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
			at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
			at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
			at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
			at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
			at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
		--- Inner Exception ---
		System.Net.Sockets.SocketException
		- A system call has failed
		- Source: System
		- Stack trace:
			at System.Net.SafeCloseSocketAndEvent.CreateWSASocketWithEvent(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, Boolean autoReset, Boolean signaled)
			at System.Net.NetworkAddressChangePolled..ctor()
			at System.Net.AutoWebProxyScriptEngine.AutoDetector.Initialize()
			at System.Net.AutoWebProxyScriptEngine.AutoDetector.get_CurrentAutoDetector()
			at System.Net.AutoWebProxyScriptEngine..ctor(WebProxy proxy, Boolean useRegistry)
			at System.Net.WebProxy.UnsafeUpdateFromRegistry()
			at System.Net.Configuration.DefaultProxySectionInternal..ctor(DefaultProxySection section)
			at System.Net.Configuration.DefaultProxySectionInternal.GetSection()

Looks like a fun interaction between .NET and something else, which according to Google could be down to a myriad if things... I've seen this before with SyncTrayzor and there's a bit of config in place to work around it, but apparently that doesn't work for you...

Are you running SyncTrayzor from a network drive? Try running it from a local drive, see if that makes any difference.
Ant anti-malware / antivirus / overactive firewalls getting in the way?
Try running netsh winsock reset from an administrator command prompt and restart.

@canton7 thanks, I made the third option and it worked #

Cool! Thanks for confirming. I'll remember that one...


adoc rendering issue

Noticed in the new message handling docs from #400 that some of the field match example code is being rendered incorrectly.
  m[0] == my_field::equal_to_t<42>
  m[1] == my_field::equal_to_t<17>

is coming out as

where the <42> at the end of the type is displaying as bold parens (42)

These appear to be being converted to Callouts.
https://docs.asciidoctor.org/asciidoc/latest/verbatim/callouts/


promql: Add clamp function.

@brian-brazil @juliusv
This adds clamp(vector, min, max) to ensure values fall within min and max.
Open questions:

is "clamp" a good name for this function?
is the order of args OK?
should this be two separate functions clamp_min/clamp_max?

The users I've seen looking for this were just looking for one of min/max, so I'd say separate functions makes more sense. The name seems fine to me.

:+1: for clamp_min and clamp_max then.

Updated to clamp_min and clamp_max.
The tests show that it works, but aren't a great example.  I use it when calculating percentage to not let the values get out of control.  It also happens to be handy on graphs.
clamp_min ensures the minimum values in the vector are >= min (usually useful with negative values)
clamp_max ensures the maximum values in the vector are <= max

After the update, something doesn't seem right about my PR.   Calling a function clamp_min that actually does max(x, val) is confusing.
Unless this actually looks right to you, I think I'll come back to this next week and see if I still need this functionality.

@jamessanford That all seems correct to me (although I get why it might seem a bit unintuitive at first). :+1: from me in general, but will let @brian-brazil have the final word here.

Yeah, that's always seemed odd to me too but that's the way it works.
The other option would be clamp_upper/clamp_lower, but a quick search indicates that min/max are  much more common names for these functions.

@juliusv Sure thing, moved the tests to functions.test
Looking good now, thanks for the comments.

Thanks!


RLMPushClient

This adds an RLMPushClient class which connects to realm::app::App::push_notification_client in the Object Store. The swift alias is PushClient.
The developer would register a device for Realm Cloud push notifications with
let client = app.pushClient(withServiceName: "service-name")
client.registerDevice(forToken: "some-token", syncUser: user)

Please add me back on as a reviewer once this is ready.

@jsflax
Are the three remaining failures indicating an issue?
Jenkins: swiftpm Release 11.4.1 fails with syntax errors like,
Jun 16 10:45:51 ❌  /Users/realm/workspace/objc_pr/configuration/Release/target/swiftpm/xcode_version/11.4.1/.build/checkouts/realm-core/src/realm/util/safe_int_ops.hpp:59:31: expected ';' at end of declaration
Jun 16 10:45:51
Jun 16 10:45:51 inline bool int_equal_to(A, B) noexcept;

Jenkins: tvos-swift Release 11.5 fails because of a storyboard is not found(?)
Jun 16 11:19:24 ** BUILD FAILED **
Jun 16 11:19:24
Jun 16 11:19:24
Jun 16 11:19:24 The following build commands failed:
Jun 16 11:19:24 	CompileStoryboard /Users/realm/workspace/objc_pr/configuration/Release/target/tvos-swift/xcode_version/11.5/examples/tvos/swift/PreloadedData/Base.lproj/Main.storyboard
Jun 16 11:19:24 (1 failure)

And Jenkins: catalyst-swift Release 11.1 had permission issues(?)
Jun 16 11:19:58 RegisterExecutionPolicyException /Users/realm/workspace/objc_pr/configuration/Release/target/catalyst-swift/xcode_version/11.1/build/DerivedData/Realm/Build/Products/Release-maccatalyst/RealmSwift.framework (in target 'RealmSwift' from project 'Realm')
Jun 16 11:19:58     cd /Users/realm/workspace/objc_pr/configuration/Release/target/catalyst-swift/xcode_version/11.1
Jun 16 11:19:58     builtin-RegisterExecutionPolicyException /Users/realm/workspace/objc_pr/configuration/Release/target/catalyst-swift/xcode_version/11.1/build/DerivedData/Realm/Build/Products/Release-maccatalyst/RealmSwift.framework
Jun 16 11:19:58 note: Execution policy exception registration failed and was skipped: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (in target 'RealmSwift' from project 'Realm')

@tgoyne also ^

Xcode 11.4.1 shipped a broken version of spm and that test will always fail. The execution policy exception message isn't an error; it's failing to register a notarization exception for the newly built executable because we have SIP disabled entirely on the CI machines (https://mjtsai.com/blog/2020/05/22/macos-10-15-slow-by-design/ covers some of what's going on there). The actual failure in the catalyst job is that one of the tests deadlocked and the job timed out.

Thanks, @tgoyne . With your explanation I look in the catalyst-swift 11.1 for the deadlocked test. I see
Jun 16 11:19:58 Test Suite 'All tests' started at 2020-06-16 10:38:18.415
Jun 16 11:19:58 Test Suite 'RealmSwift Tests.xctest' started at 2020-06-16 10:38:18.416
Jun 16 11:19:58 Test Suite 'CombinePublisherTests<AnyRealmCollection>' started at 2020-06-16 10:38:18.417
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testBasic]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testBasic]' passed (0.100 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSet]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSet]' passed (0.275 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSetReceiveOn]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSetReceiveOn]' passed (0.068 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSetSubscribeOn]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testChangeSetSubscribeOn]' passed (0.009 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozen]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozen]' passed (0.010 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozenChangeSetReceiveOn]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozenChangeSetReceiveOn]' passed (0.010 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozenChangeSetSubscribeOn]' started.
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozenChangeSetSubscribeOn]' passed (0.091 seconds).
Jun 16 11:19:58 Test Case '-[CombinePublisherTests<AnyRealmCollection> testFrozenChangeSetSubscribeOnAndReceiveOn]' started.
Jun 16 11:19:58 2020-06-16 11:19:55.337 xcodebuild[10707:555437]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-15405/IDEFoundation/Logging/ActivityLog/IDEActivityLogSectionRecorder.m:633
Jun 16 11:19:58 Details:  log recorder for (null) '(null)' was sent -addSubsection: after it had already been asked to stop recording.
Jun 16 11:19:58 Object:   <IDECommandLineBuildLogRecorder: 0x7fd37f67e760>
Jun 16 11:19:58 Method:   -addSubsection:
Jun 16 11:19:58 Thread:   <NSThread: 0x7fd37f5d3420>{number = 17, name = (null)}
Jun 16 11:19:58 Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
Jun 16 11:19:58 2020-06-16 11:19:55.337 xcodebuild[10707:555437]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-15405/IDEFoundation/Logging/ActivityLog/IDEActivityLogSectionRecorder.m:633
Jun 16 11:19:58 Details:  log recorder for (null) '(null)' was sent -addSubsection: after it had already been asked to stop recording.
Jun 16 11:19:58 Object:   <IDECommandLineBuildLogRecorder: 0x7fd37f67e760>
Jun 16 11:19:58 Method:   -addSubsection:
Jun 16 11:19:58 Thread:   <NSThread: 0x7fd37f5d3420>{number = 17, name = (null)}
Jun 16 11:19:58 Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
Jun 16 11:19:58 ** BUILD INTERRUPTED **
Jun 16 11:19:58 build.sh: line 112: 10707 Terminated: 15          xcodebuild -IDECustomDerivedDataLocation=build/DerivedData -scheme RealmSwift -configuration Release -destination 'platform=macOS,variant=Mac Catalyst' CODE_SIGN_IDENTITY='' test SWIFT_VERSION=5.1 GCC_GENERATE_DEBUGGING_SYMBOLS=NO -allowProvisioningUpdates

Jun 16 11:19:58 Test Case '-[CombinePublisherTests testFrozenChangeSetSubscribeOnAndReceiveOn]' started.

testFrozenChangeSetSubscribeOnAndReceiveOn starts and never finishes. Should I download xcode 11.1 and run the RealmSwift target tests to understand why?

Will review once the conflicts are resolved.

@tgoyne @jsflax
For these remaining failures
Jenkins: swiftpm Release 11.4.1: Thomas addressed above
Jenkins: swiftpm-thread Release 11.5: This is the first time it's failed, Jun 22 09:14:30     ✗ testMultipleProcessesTryingToInitializeSchema, Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: "notification fired". This is a generated test that I can't test locally. Does this point to an issue I introduced?
Jenkins: osx-object-server Release 11.5: Jun 22 08:26:35     ✗ testSwiftDeleteObjects, XCTAssertTrue failed - Error: expected 3 items, but got 0 (process: child), this will arbitrarily fail on builds, but always passes locally. Is this a concern?
Jenkins: osx-object-server Release 10.3: I'm waiting for Apple to allow downloading of Xcode 10.3 again to test.
There are several failures, but usually fail with more objects than expected.
Jun 22 08:37:14     ✗ testLogBackInOpenFirstTimePathDownload, ((2 == c) is true) failed - Expected 2 items, but actually got 4 (child)
Jun 22 08:37:15     ✗ testLogBackInOpenFirstTimePathDownload, ((0) equal to ([self runChildAndWait])) failed: ("0") is not equal to ("1") - Tests in child process failed
Jun 22 08:37:21     ✗ testLogBackInOpenFirstTimePathUpload, ((2 == c) is true) failed - Expected 2 items, but actually got 6 (parent)
Jun 22 08:37:24     ✗ testLogBackInOpenFirstTimePathUpload, ((2 == c) is true) failed - Expected 2 items, but actually got 6 (child)

Jason noted this could be due to a cleanup issue. Do you have any thoughts, Thomas?

Jenkins: ios-dynamic Release 10.3 - is stuck on pending because of several incompitable devices, including the iPhone 4s.
Jenkins: swiftpm Release 11.4.1 - discussed earlier
Jenkins: swiftpm-thread Release 11.5 - failed on single test while waiting
Jun 24 07:57:46     ✗ testMultipleProcessesTryingToInitializeSchema, Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: "notification fired".

This is the first time I've seen it fail and I'm doubtful it's related to the last commit? If so, is there a way I can debug a generated test locally?


Why did I use yolov8 to detect the figure, then crop the figure picture, and use mediapipe pose to estimate the figure pose effect is poor? How should I use mediapipe pose to solve the problem of multi-person pose estimation?

Why did I use yolov8 to detect the figure, then crop the figure picture, and use mediapipe pose to estimate the figure pose effect is poor? How should I use mediapipe pose to solve the problem of multi-person pose estimation?
boxes = yolov8_boxes(image)

for box in boxes:
   bbox_top_left_x = max(int(box[0]-50), 0)
   bbox_top_left_y = max(int(box[1]-50), 0)
   bbox_bottom_right_x = min(int(box[2]+50), width)
   bbox_bottom_right_y = min(int(box[3]+50), height)

   image_crop = image_src[bbox_top_left_y:bbox_bottom_right_y, bbox_top_left_x:bbox_bottom_right_y]

   mediapipe_pose_results = pose.process(image_crop)

   if mediapipe_pose_results.pose_landmarks != None:
      for landmark in mediapipe_pose_results.pose_landmarks.landmark:
         landmark.x = ((abs(bbox_bottom_right_x - bbox_top_left_x) / width) * landmark.x) + (
                bbox_top_left_x / width)
         landmark.y = ((abs(bbox_bottom_right_y - bbox_top_left_y) / height) * landmark.y) + (
                bbox_top_left_y / height)

   image.flags.writeable = True
   mp_drawing.draw_landmarks(
        image,
        mediapipe_pose_results.pose_landmarks,
        mp_pose.POSE_CONNECTIONS,
        landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style())

yolov8 detects people, and then cuts out the original figure to figure pictures. mediapipe pose estimates that the pose effect of people is very poor. Why is this? How should I use mediapipe pose to solve the problem of multi-person pose estimation?

@LMR2018,
Sorry for the delayed response, Could you please let us know if you are still looking for resolution or the issue has been resolved from your end. Thank you!!

I wanted to know more about this, since I was hoping to experiment more on this


Tokens now need a scope.  Need toverify correct setting for helm

Recently a change in the ui has added a scope to the token creation .
You now need to select a scope, ingest or APi or both.
We need to investigate what is needed for Helm and make sure its documented.
People got 401 errors when using  none, or only one scope.
It looks we need both for Helm.  as that is what the default one has
lets verify and  update docs

@hagen-p For the agent install users should be using default token, creating tokens only happens in the last module of the workshop

@rcastley We never had issues with people rushing ahead and making their own token, as it always worked fine.
However with the new ui you need define scope as that is now a feature  added to the tokens ui.   We had a lot of people doing that and a lot of them had issues  401 errors.   We A add it to the docs (or are aware that we have a new section where problems can occur)
For good measure,
people decided to make an own token in all workshops i've seen .

Address whilst updating images for token module


Angular2-busy causing issues creating a new src folder and node_modules folder inside build folder

I am using angular - > 2.3.0 version, I downloaded angular2-busy and then imported it to app module and then used it in my html file, component.
After I save the component file its creating a new folder inside my build directory with src folder and all my changes are going inside that folder not into my build directory that I refereed in my tsconfig.json file:
my tsconfig.json file:
{
  "compilerOptions": {
    "outDir": "build/dist/app",
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "noEmitHelpers": true
  },
  "compileOnSave": true,
  "exclude": [
    "node_modules",
    "build"
  ]
}

Above tsconfig.json upon saving of typescript file its used to do tfs checkout and then write the changes into the build/dist/app folder, but after i downloaded angular2-busy everything is breaking all my changes are going inside my build/dist but its creating src folder structure again inside build/dist.
Angular2-busy is completely breaking my working application. any help is appreciated.

@devyumao is there any issue you are seeing with new versions of angular 2, will there be any fix in near future. I am not seeing any activity going on with angular2-busy in couple of months. Thanks

This is really a TypeScript issue.  See https://github.com/ceolter/ag-grid-angular/issues/108 for more information.

Hi, @vijender1256
You may try to update to the latest version.


Add CSV support for all /places/* endpoints

Closes #50.
This adds CSV export support for all /places/* endpoints:
http://localhost:5000/places/all?format=csv
http://localhost:5000/places/communities?format=csv
http://localhost:5000/places/hucs?format=csv
http://localhost:5000/places/census_areas?format=csv
http://localhost:5000/places/corporations?format=csv
http://localhost:5000/places/climate_divisions?format=csv
http://localhost:5000/places/ethnolinguistic_regions?format=csv
http://localhost:5000/places/game_management_units?format=csv
http://localhost:5000/places/fire_zones?format=csv
http://localhost:5000/places/first_nations?format=csv
http://localhost:5000/places/boroughs?format=csv
http://localhost:5000/places/protected_areas?format=csv
In the discussion in #50, we decided that the places endpoint(s) were the only remaining endpoints that ought to have CSV support and didn't already have it.
We will also need to mention the new CSV export support for these endpoints in the documentation, but I'll hold off on that until both this PR and #290 are merged.

Ticket #299 added for the documentation endpoint in the future.


Test Long Games

Running game to conclusion tests

Coverage increased (+0.8%) to 85.765% when pulling 990539b6db9c0811bf7a2aaa56ad773f9ad05578 on test-long into a2e3c4b52e048a1b51d6a396d737ea99d94f0e7f on master.


Multi-series centre callback only contains current value

I have a multi-line center text and want to have values from 3 series shown in the centre.
Unfortunately only the last updated series value can be shown. Whilst the center callback is called for each series there's no way to find the current value of each series. Attempting to check the index and only return a string when index is 0 for example results in a blank string being returned.
Is it possible to extend the item parameter on the center callback to contain the current value for all series?
            center: {
                content: [function (value, index, item) {
                    return value + '%'
                },
                function (value, index, item) {
                    return value + ' SLEEP EFFICIENCY'
                }],
                y: 25
            }

The callback function could be easily extended by adding the series as the last argument. Something like:
function (value, index, item, series) {
                    return value[0] + '% and ' + value[1] + '%';
}]

Let me know if that works for you and I'll make the change.


while help an alias with ending,like help dir or help ls*，the output is in confusion

Steps to reproduce
help dir*

Expected behavior
PS C:\Users\bahuwang> help dir*
Name          : dir
Category      : Alias
Synopsis      : Get-ChildItem
Component     :
Role          :
Functionality :
PS C:\Users\bahuwang>

Actual behavior
PS C:\Users\bahuwang> help dir*
PS C:\Users\bahuwang>
Name          : dir
Category      : Alias
Synopsis      : Get-ChildItem
Component     :
Role          :
Functionality :

Environment data

Name                           Value
----                           -----
PSVersion                      6.2.0-preview.3
PSEdition                      Core
GitCommitId                    6.2.0-preview.3
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Perhaps it come from #8247. /cc @SteveL-MSFT

The way the help function works is that if a single item is returned, it passes it through the default pager.  In this case, if AliasHelpInfo is returned, it should probably just be output to the console as the content is too small to pass to a pager.  This is different than https://github.com/PowerShell/PowerShell/pull/8247

I would expect command help to be displayed if there is only one help item found. I find the alias record pretty useless.


Change Server initialization order

Registration of server classes happened after Display initialization.
This made no sense in practice and avoided the registration of custom server drivers (like custom XR server, custom Rendering server, custom XR server).
Initialization moved to before Display.

There seems to be issues with running --dump-extension-api and --generate-mono-glue.

@akien-mga I tried to replicate it locally and I can't. I am not entirely sure what may be causing them.

Fix is here: https://github.com/reduz/godot/pull/2
Turns out it is because when we initialise RenderingServer, it calls back into itself which is not allowed in a constructor.


SSL Cert

The ssl cert is placed by @EvanDotPro on the Server and needs to be installed for the domain on nginx - should follow after #422

Thank you, @ins0!!

@localheinz @ins0 after this login stopped working. We need to update page url in github

@snapshotpl this missmatch devil - yeap thanks currently working on this :+1:

@snapshotpl fixed


To fix the compiling error of std c++11 and the change of Caffe2 shared library name.

Add CMAKE_CXX_FLAGS for setting up C++11 standard
Fixe the library name of CAFFE2_LIB and CAFFE2_GPU_LIB

Hi @teyenliu, thanks for improving the cmake setup. It seems this works on macOS, but fails on Ubuntu:
CMake Error at CMakeLists.txt:30 (message):
  Caffe2 lib not found

-- Configuring incomplete, errors occurred!
See also "/home/dnpgu/caffe2_cpp_tutorial/build/CMakeFiles/CMakeOutput.log".
See also "/home/dnpgu/caffe2_cpp_tutorial/build/CMakeFiles/CMakeError.log".
make[1]: Entering directory '/home/dnpgu/caffe2_cpp_tutorial/build'
make[1]: *** No targets specified and no makefile found.  Stop.
make[1]: Leaving directory '/home/dnpgu/caffe2_cpp_tutorial/build'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2

Did you get a chance to test it on Ubuntu?
Also, you included the -g flag, but isn't it better to specify this using CMake's CMAKE_BUILD_TYPE?

Hi @leonardvandriel , thanks for your response.
Actually, it works on my Ubuntu 14.04. For macOS, I didn't have the environment to test.
About "-g" flag, you are right, it is better to use CMAKE_BUILD_TYPE.

I'm running Ubuntu 16.04. Perhaps that causes the difference in behavior. What happens when you run find /usr -iname "libcaffe2*"? For me it lists the two libs:
/usr/local/lib/libCaffe2_GPU.so
/usr/local/lib/libCaffe2_CPU.so

Also, adding the -std=c++11 causes the error:
[ 39%] Building NVCC (Device) object CMakeFiles/caffe2_cpp_gpu.dir/src/caffe2/operator/caffe2_cpp_gpu_generated_diagonal_op.cu.o
nvcc fatal   : redefinition of argument 'std'
CMake Error at caffe2_cpp_gpu_generated_diagonal_op.cu.o.cmake:207 (message):
  Error generating
  /home/dnpgu/caffe2_cpp_tutorial/build/CMakeFiles/caffe2_cpp_gpu.dir/src/caffe2/operator/./caffe2_cpp_gpu_generated_diagonal_op.cu.o

I pulled the newest Caffe2 code in the master branch and then found that "libCaffe2_CPU.so" and "libCaffe2_GPU.so" won't be generated after make. Instead, Caffe2 will generate "libcaffe2.so" and "libcaffe2_gpu.so".
sudo find /usr -iname "libcaffe2*"
/usr/local/lib/libcaffe2.so
/usr/local/lib/libcaffe2_module_test_dynamic.so
/usr/local/lib/libcaffe2_gpu.so
/usr/local/lib/libCaffe2_GPU.so        <-- it's old version
/usr/local/lib/libCaffe2_CPU.so        <-- it's old version

thanks @teyenliu


Matplotlib version compatibility fix for Scatter3D facecolors

Matplotlib handling of colors continues to be the bane of my life, it seems that facecolor handling for 3d scatter plots has changed between 1.4.3. and 1.5.0 and that was the source of various transients. Hoping this will finally put that issue to rest and we can remove the handling once we upgrade to 1.5 or whenever we decide to stop supporting earlier versions.

the bane of my life...

As you say, hopefully we can forget about this once we can switch to matplotlib 1.5.

Ready to merge once the tests are passing.


Error running terraform tests in devcontainer

Is there an existing issue for this?

[X] I have searched the existing issues

Code improvement description
Hello,
this issue is rather about some personal support.
I am trying to contribute to one of the issues here in this repo but I am simply not getting the devcontainer running correctly. I oriented on the Contributing Guidelines and the dependabot-script repo for setting up the helpers.
The devcontainer is build, I run the bundle install in the container, all Gems are correctly setup ( at least I think so). As I want to work on a terraform language feature I have also setup the terraform helper + the required hcl2json for the tests cases.
I try to execute the "Debug dry run" or "Debug tests" (on terraform - spec) but I always get the following error message:
/usr/local/rvm/gems/ruby-3.1.3/gems/bundler-2.4.5/lib/bundler/rubygems_integration.rb:304:in `block in replace_bin_path': can't find executable rdebug-ide for gem ruby-debug-ide. ruby-debug-ide is not currently included in the bundle, perhaps you meant to add it to your Gemfile? (Gem::Exception)
	from /usr/local/rvm/gems/ruby-3.1.3/gems/bundler-2.4.5/lib/bundler/rubygems_integration.rb:332:in `block in replace_bin_path'
	from /usr/local/rvm/gems/ruby-3.1.3/bin/rdebug-ide:32:in `<main>'

The error still occurs even after I explictily ran gem install ruby-debug-ide. The test execution works if I run cd terraform && bundle exec rspec spec, sadly I am not sure how to attach a debugger with this command. The execution still fails with 210 examples, 35 failures on testcases so even this setup is not working 100%.
Other packages (like maven) throws a different error:
/usr/local/rvm/gems/ruby-3.1.3/gems/ruby-debug-ide-0.7.3/lib/ruby-debug-ide.rb:9:in `require': cannot load such file -- debase (LoadError)
	from /usr/local/rvm/gems/ruby-3.1.3/gems/ruby-debug-ide-0.7.3/lib/ruby-debug-ide.rb:9:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-3.1.3/gems/ruby-debug-ide-0.7.3/bin/rdebug-ide:8:in `require_relative'
	from /usr/local/rvm/gems/ruby-3.1.3/gems/ruby-debug-ide-0.7.3/bin/rdebug-ide:8:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-3.1.3/bin/rdebug-ide:25:in `load'
	from /usr/local/rvm/gems/ruby-3.1.3/bin/rdebug-ide:25:in `<main>'
	from /usr/local/rvm/gems/ruby-3.1.3/bin/ruby_executable_hooks:22:in `eval'
	from /usr/local/rvm/gems/ruby-3.1.3/bin/ruby_executable_hooks:22:in `<main>'

This definetly blocks me from getting deeper into the project so I am happy about any help!

👋 sorry for the headache here. dependabot-script is in limbo mode as it needs some cleanup work on both docs and code... it's on my plate to tackle this quarter, but I won't get there for a while yet.
We also just merged some major changes to our dockerfiles at the end of last week, so haven't had a chance to update the readme on this repo... but hopefully we can knock that out this coming week.
In the meantime, your best bet is to run the bin/docker-dev-shell script with an ecosystem argument, which in this case is terraform, which will build the container locally and then drop you in... from there, you can run the dry-run script or run tests by going cd terraform && rspec.
The docker image that gets built mounts your local copy of the code, so you can edit it locally, then immediately re-run dry-run or unit tests to play with stuff. You'll also want to checkout the tips on debugging native helpers.
Hopefully that gets you pointed in the right direction, if you need more info just holler is your best bet until we get our docs updated to reflect our recent changes.
We gladly welcome PR's, although if it's a bigger change I suggest opening an issue to confirm we're onboard with the product direction before spending a bunch of time on a PR we can't accept.

Thanks a lot for taking your time and pointing me into the right direction @jeffwidman ! 😁 Failing to setup the environment was driving me a bit crazy but seems like I was only having a very bad timing 👍 I am definetly looking forward to the new docs :)


Update observation-detail-type.ttl

Additions to Observation Details
Processing Date
Software
Hylogger specific notes:
Scanned date to be recorded as the Observation Date (in main observation table - Date selector)
Hylogger instrument to be input into Observation Instrument (in main observation table - Free text)
@katewd please check content is as discussed.
@LukeHauck please check content and pass through the file validation tools.

I haven't deleted the branch, in case more changes are needed for this specific topic. Thanks for your quick work on this Vance.

I'll delete this one. More updates will be needed on the lpx-updates branch. So i'll get this done and updated and resolve any branch conflicts.


Need online help; our formatting is somewhat opaque

After I did a write to git, I noticed that my project was no longer bold.  But it had an asterisk.  I had no idea what that meant (on reflection, perhaps it's the "active project" if that has any meaning?). And I see that my RowanClientServices is red, and (UnPackaged) is bold and italic.  And I see lots of purple classes, and purple methods, some purple methods are underlined and some are not and the meaning of the underline has faded from my memory.
There really needs to be a way to look up the meanings of all this highlighting online.
A simple html file seems fine, and I could put this together.  There is already a help button (only on the console, which is not actually where I looked) that brings you to the projects, so we could just add another item.

Could it be a web page somewhere with a link from the Console's help menu?  Then it could be maintained separately from Jadeite but still accessible easily within Jadeite.

Keeping help in sync with the product version is helpful, though.

Lisa made an .html/.css file and Jadeite now has Help>Jadeite Help menu option on the Console as of version 3.2.12.

The html and css files should be in a subdirectory e.g. help/.  This will make life much easier as help expands to include graphics, screen shots, multiple files; better not to overwhelm the root directory.

Help files are now in the help directory. Added Lisa's new help files, too, in the last commit.


Documenting Organizer's #call!

Hello folks, first of all thank you for this gem and great work!
My issue is really a question. You see, I lost a lot of time today trying to test a very basic thing in an organizer. Here's the thing:
I have an Organizer(MyOrganizer) that calls MyInteractor1 then MyInteractor2. I wrap the Organizer in a Database transaction, because I save a lot of records inside this organizer and I don't want to undo each one of them if anything goes south. But in my test I want to verify that the records aren't saved after the second interactor fails. So, I go on and write a test with something like this:
allow(MyInteractor2).to receive(:call).and_raise(StandardError)
And for my surprise, #call never gets called! So I had to read the source code to realize that unlike Interactors, Organizers actually use the bang version of the method. Well, why not #call? Secondly, shouldn't it be documented somewhere? Hey, I can help with the second if necessary.
Cheers!

@tiagofsilva There's no great reason that an organizer uses call! rather than call. The reason I can remember is that we need to be able to jump out of a deeply nested organizer situation, all the way back up to the top-level organizer if any interactor fails. The call! method can achieve this because it raises an error on failure. On the other hand call raises no error and so we have to do some more code acrobatics to halt execution.
Eventually, this should be a moot point because the next version of Interactor should move away from exception raising for flow control, in favor of using throw and catch. Some work had started down that road for v4, but it's non-trivial.
In the meantime, documentation changes are very welcomed. Thank you! :clap:


White overlay/fade artifacts on dark images

When blurring a predominantly dark or black image, the right side of the image has a pronounced white faded edge. Not sure if there's some way to render this off image or change the color of the transformation.

Could you share an example?

Sure - source image, minimum blur, and maximum blur:

I looked into this today. This is caused by rounding error somewhere in Apple's blurring code which causes a 1px gap on the right side, which when blurred, becomes much larger. I unfortunately did not yet manage to find a solution to this.
However, there's an easy workaround. Just slightly crop the height of your source image before opening it in Blear and you won't see the issue.


Add Solid login

This issue is currently resolved, aside of issue #20 and documentation

In what branch/commit is this resolved?

Currently in the login-authentication branch

Solved and merged with #23


Don't show a "please sign in to request items" bar if the item isn't requestable online

An example, from when Natalie and I were testing the "checked out item" message:

Closing for now as no know new reports of this issue.


How to identify data-plane only service from Service Tree

A service could only have data-plane API without manage-plane API.
Then this kind of services are missing in our data importing from service tree.
As we use ARMNamespace to identify management-plane API, do you know how we identify data-plane API in service tree data?

@live1206 Any service deployed via ARM, would typically have management plane API in the azure-rest-api-specs repo.  There are products that are only in scope for data plane APIs because there are no changes to the existing management plane API.  For example, most of the Cognitive Services products require new data plane APIs but no changes to management plane API.
Do know of an example of this scenario in the API specs repo?

I think that if a service is a standalone SaaS solution, not deployed via ARM, then it would fall into this scenario.  There are services that have products in scope for APEX that will have to go through onboarding with us. I review these scenarios with Peter and Mayuri to decide if they data plane APIs are Azure APIs and belong in our repositories and our SDKs.  Most of these do have services mapped to the product but there would be no ARM namespace because they are not deployed via ARM.

Acquisitions like PlayFab fall into this scenario because they were migrating from another cloud to Azure. So service is not deployed to ARM but they wanted to start working on the data plane APIs. So they engaged our team for help with the data plane APIs.  This is likely why no service shows up for Azure PlayFab Offering in service tree yet.

@ladonnaq Thanks for the explanation, I have got a better understanding of the context now.
Because I found there are around 20,000 different services in service tree Kusto cluster.
Right now, we use ARM namespace to identify the valid services, the number reduced to around 300.
Given the service is not deployed via ARM, how can we identify it is a valid service to us?

@ladonnaq are you suggesting there is no other way to filter information but to bring all 20.000 services?

An option for now could be to provide the option for the user to give the tool the service tree identifier. The release planner will fetch the information and propulate the rest (product, etc).

That is a good idea.  We could have a checkbox "I cannot find my service".  If the user checks the box then another field appears and we ask for the service tree identifier.  We should explain how they can find this information using service tree.
Here is the example using Azure Dedicated HSM.  The service tree identifier can be found by looking at the product service tree record and then look at the service mapped to it.

We also are going to find the scenario where there is not a product yet for new services.   How do we handle that once they get by the service drop-down box.    Here is an example that came our way earlier today.  This is a new service with no product yet.  They are defining their initial offering which is an SDK.

That is a good idea. We could have a checkbox "I cannot find my service". If the user checks the box then another field appears and we ask for the service tree identifier. We should explain how they can find this information using service tree.
Here is the example using Azure Dedicated HSM. The service tree identifier can be found by looking at the product service tree record and then look at the service mapped to it.

I like it. @live1206 what do you think?

We also are going to find the scenario where there is not a product yet for new services

@ladonnaq what are the implications for our team if there is no product? Are they engaging with us too early? can they actually start interacting with us even though this is not defined? how common is this scenario?

We want to offer API design guidance, so we want services to engage with us earlier vs later.  This service is not the most common type we see because it is an SDK - there does not seem to be anything deployed to ARM (no ARM namespace).   So it would be data plane only.  For this team we would want to introduce them to Cadl, have the API Stewardship Board meet with them for an intro to the service, discuss their API design, and even perhaps assign a mentor from the Stewardship Board.

@maririos @ladonnaq
I think this is a good idea as well!
We have the mapping of services and products in place, and products as well. What we are missing here is only the services.
It's not an issue to take all 20,000 services to dataverse, but it would be a long list for user to choose from.
If the service is not launched on Azure, we can let the user to input the service tree id, then we fetch the service data from service tree. I think this will not cause heavy traffic to service tree since it doesn't seem to be a common user case.

Let's try this approach then in the Release Planner app. If we see that more than 10% of the services are hitting this route, we can revisit the overall strategy.
Once we have more data we can follow the same strategy in the Scheduler app.

@maririos @ladonnaq I found an issue with this approach, if we let the user to input the service id and pull this service from service tree manually. We do not have a proper way to sync and update this manually input service, because the kusto query we have do not contain this service. I found another filter condition(the service should public), with this in place, the service number reduces to 4,000. The user is going to use search box to filter out the service from 300+ anyway, is it acceptable to sync all these 4,000 services from service tree?

@live1206 does this mean that we first sync the service Tree data to a Kusto instance, and then from there we sync to Dataverse?

@live1206 does this mean that we first sync the service Tree data to a Kusto instance, and then from there we sync to Dataverse?

We query from service tree Kusto cluster and sync data directly to dataverse.

Added all public services.


Up/down status based on the amount of  ms

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
It would be cool if you could base the up/down time on an amount of ms / seconds. That way you can make a monitor to keep a steady check on the speed / loadtime of a website
✔ Solution
I don't have a solution for this, haha
❓ Alternatives
I'm currently just using http based on a keyword, but that way i only can see if the backend is down.
📝 Additional Context
No response

Could you see if #2142 would meet your needs or not?

Looks like that would be a great feature indeed! @zenyr


Decide on correct handling of Settings exit game mode

Right now it is set to EXPLORING, but that might not be correct for e.g. a settings screen available in the main menu of the game.

Added a new game mode: NONE.


Nuxt 3, sourcemap points to missing file warning, when using external script files in vue template.

Environment

Operating System: Windows_NT
Node Version:     v16.13.2
Nuxt Version:     3.0.0-rc.3
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      privateRuntimeConfig, publicRuntimeConfig, pageTransition, css, app, algolia, components, router, modules, build, vite, hooks, nitro
Runtime Modules<EMAIL_ADDRESS>~/modules/sitemap<EMAIL_ADDRESS>~/modules/robots, ~/modules/staticWebApp
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-jbyf5k-sa9vua?file=pages%2Findex.vue
Describe the bug
When using external script files it gives an warning pr. import in my solution:
"Sourcemap for "C:/Folder/repo/filepath.page.ts" points to missing source files ."

Is there a confirguration to disable sourcemap for at certain suffix file? I think this is poitning to vite in nuxt.
Additional context
I can see there is a similar issue on react regarding this warning. https://github.com/vitejs/vite/issues/5438
Logs
No response

Hey team,
This issue popped up again in v3.1.1. Not sure if it was resolved before.
I am using vuetify v3.1.2 with the vite-plugin-vuetify package.

Started getting this issue on some imports. ^3.0.0

Getting this error after upgrading to Nuxt 3.3.2 and login stop working
WARN  Sourcemap for "virtual:nuxt:/Users/rashidpathiyil/<project>/.nuxt/http.plugin.mjs" points to missing source files

WARN  Sourcemap for "virtual:nuxt:/Users/rashidpathiyil/<project>/.nuxt/auth.plugin.mjs" points to missing source files

This should be resolved in the latest Vite release via https://github.com/vitejs/vite/pull/12444. Perhaps try refreshing your lockfile and confirming?

This should be resolved in the latest Vite release (v4.2.1) via vitejs/vite#12444. Perhaps try refreshing your lockfile and confirming?

That error is gone when I run this now

But the login only works after downgrading this
"@nuxt-alt/auth": "2.2.0",
"@nuxt-alt/http": "1.5.7",
Anyway thanks Dani 💚

I still have the warning messages after upgrading lockfile and cleaning yarn cache and node_modules.

I just loaded a normal scss file.
but
I can remove warn in this way，
export default defineNuxtConfig({
  sourcemap: { server: true, client: false }
})

Same issue.

Same issue.

nuxt:3.5.0

Same issue.

Same issue.

@horizon188  @VegasChickiChicki @shynline  you can use sourcemap: false in nuxt.config

any ideas ?
i am using Nuxt 3.3 with i18n

I  tried
export default defineNuxtConfig({
  sourcemap: { server: true, client: false }
})

but still get warnings

same issue

same issue

what a bullshit bug, Setsourcemap: { client: false, server: false }, ok, you lost source map feature, one set to true, fuxk, a million warnnig!


Fate Core with rolls small error

I wrote Extra where goes stunts. Solved

In the future, it would be helpful if you would submit changes to each sheet as a separate request. Thanks!


Upon switching off the edit mode switch, it auto redirects to the configurable header design

If you manually switch the edit mode switch icon back to live mode, the configurable header gets trigger and navigates to the designer mode
Steps to reproduce the behavior:

Go to 'https://function-adminportal-test.shesha.dev/dynamic/TestModule/formTable-view'
Click on 'live mode' switch and activate 'edit mode'
Afterwards, click on 'edit mode' switch to navigate back to 'live mode'
Actual Results: The header form gets triggered and navigate to the designer view

Expected behavior
Switching on and off of the live/edit mode should not trigger the header form to navigate to the designer view
https://github.com/shesha-io/shesha-framework/assets/151041759/7e332972-18b4-4b64-8abb-8093b158c687

@James-Baloyi, please check it with the latest changes of the edit mode, maybe it might not occur


Warnings for non-int types being emitted unexpectedly

I ran the following in PyKEEN w/ torch-max-mem-0.1.1
from pykeen.pipeline import pipeline
result = pipeline(
    dataset="fb15k237",
    dataset_kwargs=dict(
        create_inverse_triples=True,
    ),
    model='DistMult',
    model_kwargs=dict(
        embedding_dim=64,
    ),
)

and got the following warnings:
Memory utilization maximization is written for integer parameters, but the batch_size is annotated as int; casting to int
Memory utilization maximization is written for integer parameters, but the slice_size is annotated as int; casting to int
Memory utilization maximization is written for integer parameters, but the batch_size is annotated as int; casting to int
Memory utilization maximization is written for integer parameters, but the slice_size is annotated as int; casting to int

This is a bit confusing since they are indeed ints. I wonder if the following code has some mismatch between string "int" and int the builtin
https://github.com/mberr/torch-max-mem/blob/c2696838bee6e2cff0a91ae08f9930ca1218e76e/src/torch_max_mem/api.py#L130C24-L134

Yes, I think you are right.

Should be fixed with #13


added MIT Licence

Hey @troxler,
I've added a MIT LICENSE to your repo, this will make your code a lot more reusable by developers as they won't have to worry about being sued.

Hi @snayagar. Thanks that is a good suggestion. I now added a license file directly using GitHub's license templates and will thus close this PR. Thanks again.


Can access the webUI, and make a new agent, but can't have the agent do anything with openAI API key

Description
I've edited the .env file with my openAI API key and configured the agent via the webUI, I've tried the default gpt-3.5-turbo too, but nothing happens if I try to do any of the Chat, Instruct, or Task agent commands.
Any ideas :3
Also, I do have access to the gpt-4 api, I can successfully use it with Auto-GPT.
Steps to Reproduce the Bug
Install the latest alpha version or the main version and follow the docker install instructions.
Expected Behavior
Expecting some type of response back, but get nothing after trying the chat, instruct, or task agent commands.
Actual Behavior
I click on "start pursing task" for example and nothing happens.
Additional Context / Screenshots

Operating System

[X] Microsoft Windows
[ ] Apple MacOS
[ ] Linux
[ ] Android
[ ] iOS
[ ] Other

Python Version

[ ] Python <= 3.9
[X] Python 3.10
[ ] Python 3.11

Environment Type - Connection

[X] Local
[ ] Remote

Environment Type - Container

[X] Using Docker
[ ] Not Using Docker

Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of Agent-LLM.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

https://github.com/JamesonRGrieve/Agent-LLM-Frontend
Please direct front end issues to the front end repository.


DuelingDQN

Description

TODOs

[ ] Make learning curves
[ ] Complete DuelingDQN short presentation
[ ] Fill the result tabular

Context

[ ] I have raised an issue to propose this change (required)

Types of changes

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

Checklist:

[ ] I've read the CONTRIBUTION guide (required)
[ ] The functionality/performance matches that of the source (required for new training algorithms or training-related features).
[ ] I have updated the tests accordingly (required for a bug fix or a new feature).
[ ] I have included an example of using the feature (required for new features).
[ ] I have included baseline results (required for new training algorithms or training-related features).
[ ] I have updated the documentation accordingly.
[ ] I have updated the changelog accordingly (required).
[ ] I have reformatted the code using make format (required)
[ ] I have checked the codestyle using make check-codestyle and make lint (required)
[ ] I have ensured make pytest and make type both pass. (required)

Note: we are using a maximum length of 127 characters per line

Closing in favour of #127


addDays does not work correctly for negative numbers

Hi!
GregorianCalendar(2019,8,30).addDays(1) is 2019-08-31
but
GregorianCalendar(2019,9,2).addDays(-2) is 2019-08-30
and
GregorianCalendar(2019,9,2).addDays(-1) is 2019-09-01
So August 31 seems to be completely missing.

I think I have fixed it now: #9

Fixed by #9


don't crash the symbol graph tool when a module fails to load

When the symbol graph tool fails to load a module, it currently crashes upon trying to load the main-file name. This PR adds a check before loading symbols to ensure that the module loaded properly; if it failed to load, the tool now prints an error message and cleanly exits instead of hitting an assertion and crashing.
Fixes rdar://74239464

@swift-ci Please smoke test


[Feature request] Connection pool

Excerpt from the official docs on Best Practices for Managing Connections,

Keep your connections with APNs open across multiple notifications; do not repeatedly open and close connections. APNs treats rapid connection and disconnection as a denial-of-service attack. You should leave a connection open unless you know it will be idle for an extended period of time—for example, if you only send notifications to your users once a day, it is acceptable practice to use a new connection each day.

I think it's the best for apns2-client library to conform to this best practice, in order to avoid the possibility of having the services built with the library being seeing as a denial-of-service attack and thus interruption to those services. Therefore, I think we should add a connection pool for managing the reuse of open connections to this library.
Thanks for developing this library. It has been working great for me and its code is easy to read and follow.

But does the library actually open-close connections constantly? My understanding was that connection is left opened after the first push, and then you can reuse it as many times as you want from as many threads as you want.
Thread-safety assumption comes from hyper package changelog (used for HTTP20Connection class):

The HTTP20Connection object is now thread-safe, so long as stream IDs are used on all method calls.

And as it is a HTTP/2 connection, library heavily reuses streams inside a single connection, which per my understanding is not the same as a connection pool of course, but gives you similar benefits.
Maybe the author could comment more on that.

@vinnyspb, good point! I missed out the fact that PyAPNs2 relies on http20, so I was expecting to see code managing connection at the PyAPNs2 library level and I didn't see any. As it turns out, I checked out the source code of the http20 package after seeing your comment, the connection management has already been well taken care of by http20. Thanks for your insight.

My understanding was that connection is left opened after the first push, and then you can reuse it as many times as you want from as many threads as you want.

I'm concerned there may be thread-safety issues. For example, send_notification_batch() doesn't seem to take into account that there may be open streams pending from other calls to that method on other threads. If I'm not mistaken, this could result in too many (or more than __max_concurrent_streams) simultaneous requests.


Fixed comment and added showCopyright option

fixed duplicated sentence in comment This property can only be set when using the Map constructor. This property can only be set when using the Map constructor.
added showCopyright to IMapLoadOptions

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


Helper refuses to work

When I try to use the helper it gave me the No$GBA header not found, so I fixed it. Then, this happened:

Opening HiyaCFW Helper...
Initializing GUI...
Searching for 7-Zip in the Windows registry...
TWLTool v1.6.1
by WulfyStylez
Special thanks to CaitSith2
reading consoleid/CID from nocashinfo block
MBR verification failed! Make sure your CID and consoleID are correct.
ERROR:<PHONE_NUMBER>102008.img
Can not open the file as archive
[WinError 225] Operation did not complete successfully because the file contains a virus or potentially unwanted software
Exception in thread Thread-7:
Traceback (most recent call last):
File "HiyaCFW_Helper.py", line 592, in extract_nand
File "subprocess.py", line 800, in init
File "subprocess.py", line 1207, in _execute_child
OSError: [WinError 225] Operation did not complete successfully because the file contains a virus or potentially unwanted software
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "threading.py", line 926, in _bootstrap_inner
File "threading.py", line 870, in run
File "HiyaCFW_Helper.py", line 605, in extract_nand
NameError: name 'exe' is not defined

Any fixes?

Please re-dump your NAND using Zoogie's dumpTool. Not a helper's issue, closing ticket.


Java Support

Would be great to have support for Java. Today I have to help design an application with an Android component and the lack of Java prevented us to use Bond. Would have been great because mobile is a great place for efficient & compact serialization methods.

upvote

+1

+1

Yes, we are definitely interested in supporting Java. If anyone is interested in working on this, please get in touch.

+1  This would enable some interesting work on the android side

I see there is some awesome progress on Java here, are we getting close?

We've got a good chunk of the core functionality done. You should be able to generate code from any bond file (except for service definitions) and use it for serialization/deserialization in any of our binary protocols.
There's no release yet, and we have to satisfy some internal requirements before we can provide binaries, but if you're interested and don't mind a little legwork, I would encourage you to build bond for yourself. You can do this by following our existing build guide and then building the java target (cmake --build . --target java or make java). If you run into any issues, please let us know, and we'll be happy to fix them.

Also want Java version bond-over-gRPC


:sparkles:[feat][added background to the image and context in about Us ]

Hey shovit, did some changes in about page , let me know if anything more needs to be done, this will be my first pr for hacktoberfest!

fix#87

sure , here it is

ok, will make the changes

hey shovit , is this good , should i make a pr?

@Ankitv003 that's perfect!

let me add the  changes , i haven't added the change to this pr. how should i do that? create a new pr?

ohh i thought you already made them. No worries open a new pr i'll accept it

ok, i created a new pr , thanks for letting me contribute!!


Mobile Browser Not Supported

When I run my web app on my mobile chrome browser it never asks for camera permissions. And the status always remains idle, how to trigger asking for permissions externally.

It happends the same to me

I have a similar issue. I can run my app in Chrome and Firefox on my Macbook but it doesn't work on iPhones (any of the browser types) and it won't work on my Ubuntu machine using Chrome. Any ideas what could be causing this?

I also encountered the same problem. It works fine on the computer, but not on the phone. So I looked at the source code and found that the API used in it was not the browser's native API, but extendable-media-recorder. At the same time, I checked the MDN documentation and found that using the native API can work normally on PC and mobile phones. Because this library has not been updated for a long time, maybe the internal API has been updated, I think it may be related to this.

Native API live demo
Native API source code

Hello
I am also facing same issue on mobile case how can i fix this for mobile i just want to know is it possible in react if it then please tell me how can i do>

If you are facing this issue, try running the server which has SSL (https) and it works. Somehow it's not supported on localhost or http ones.


[Feature Request] Form-Item component provides a attribute for show the description

Existing Component
Yes
Component Name
el-form-item
Description
Is it possible to provide a attribute to show the corresponding el-form-item description?
What is my expected?
https://jsfiddle.net/suguoyao/h4zp32fv/
Also, if can provide the ability to change the position of description, it would be great.

pr welcome


ECONNRESET only on Windows

The connection on Windows is being reset every 2 minutes:
 FcmClient -> onSocketError  Error: read ECONNRESET
    at TLSWrap.onStreamRead (node:internal/stream_base_commons:218:20) {
  errno: -4077,
  code: 'ECONNRESET',
  syscall: 'read'
}

I changed the heartbeat frequency to 2 minutes, 1 minute, 10 minutes, it doesnt make a difference.
Any ideas why this is happening?
I also get it on macOS, but not as frequently.

I have this problem too.
In my case, it happens every 10 minutes.


Customizable crossorigin policy  in ImageNode to support  authentification

Issue
I use Sigma with NodeImageProgram to render images on the graph, but my images are protected by authentication as they are private. Authentication is managed by cookies that are automatically added by the browser on every request, except for Sigma unfortunately.
This is caused by line 95 of src/rendering/webgl/programs/node.image.ts:
 image.setAttribute("crossOrigin", "");

According to MDN, setting the crossorigin policy to "" is equivalent to setting it  to "anonymous" wich prevent the browser from using cookie on the request.
Proposed solution
I would like a way to configure the cross-origin policy so that I can access private images. One place where this could be done is by passing a crossorigin argument to the `getNodeProgramImage' function.  Another place where it might make sense is perhaps in the graph setting.
If either of these solutions is okay with you, I can volunteer to make a pull request
Current work around
I tried to copy node.image.ts , update the import and change the crossorigin policy but I get Uncaught (in promise) TypeError: WebGL2RenderingContext.getAttribLocation: Argument 1 is not an object.    NodeImageProgram node-image-renderer.ts:242 . gist for reference. I guess my imports are wrong as thats the only thing I changed but I am not sure. Even if that worked I don't think it's future proof as it could easily break with future updates.
Instead I just opened the file in node_module and changed the crossorigin direcly. It works, but it's not a long term solution at all.
Thank you for the work, SigmaJS is an awesome library.

I merged your PR about this issue, thanks a lot for your contribution!


bug: Cache Key returns incorrect data when using same query constraints across different cache functions

Simple example, running a count query
const query = new Parse.Query("Message");
// Returns a count of 7
const numOfMessages: number = await query.countCache({sessionToken: SESSION_TOKEN });

// The unhashed cacheKey is
// {"className":"Message","query":{"where":{}},"args":[{"sessionToken":"SESSION_TOKEN"}]}

This will save a number to the cache for this query. Then running the same query for find...
const query = new Parse.Query("Message");
// findCache returns 7 instead of array!
const messages: Parse.Object[] = await query.findCache({sessionToken: SESSION_TOKEN });

// The unhashed cacheKey is equivalent to countCache
// {"className":"Message","query":{"where":{}},"args":[{"sessionToken":"SESSION_TOKEN"}]}

Since the cache key is based only on className query and args, the find query is equal to the count query and this hits the cache, returning the number value from countCache. The expected behavior is not hit the cache and return an array of parse objects.
I think the function called needs to be accounted for in the cachekey to prevent this

Hello,
Thank you for bringing attention to the mentioned issue/bug. I will address this and provide an improved version to fix the error. Your feedback and contribution are greatly appreciated!


Benchmarking asyncwhois against registrant name

Parsing Whois data is hard, especially because the format differ depending on the TLD. I've a specific issue with registrant value. So I decided to test multiple python whois library (pythonwhoisalt, asyncwhois, whoisit, whoisdomain) against the registrant field using google's domain dataset and check for their speed too. Initially, I was using whoisdomain, so here the initial post on its github: https://github.com/mboot-github/WhoisDomain/issues/21
Here the script I wrote: https://gist.github.com/baderdean/cc4643ecd95d3ccde31dee80ebdbea28
Asyncwhois was the best in term of quality, yet slower than whoisdomain by far. Is it something some one could reproduce to tell if that's related to my specific case or is it generic?
And here the results:
{'asyncwhois': {'count': 49,
                'duration':<PHONE_NUMBER>1399947,
                'percentage': 26,},
 'whoisdomain': {'count': 44,
                 'duration':<PHONE_NUMBER>7400007,
                 'percentage': 24},
 'whoisit': {'count': 6,
             'duration': 27.91238160300054,
             'percentage': 3,},
'pythonwhoisalt': {'count': 7,
                    'duration': 1055.0711162629996,
                    'percentage': '4%'}}

PS: I've created similar issues in other projects as well.

This is really cool. I appreciate empirical-based approaches to decision making, so thanks for putting this together.
I honestly haven't looked into the other projects' methods for query submission (network i/o) but I'd assume they're probably very similar performance-wise (besides the asyncio stuff here). I'd bet that the majority of the slowness has to do with the text "parsing". For instance, asyncwhois uses tldextract to parse every url or domain, doesn't "compile" any regex's, and sometimes there are some funky "for" loops for some of the "odd" TLD query responses, but the trade-off is (for the most part) better quality output.
But with all that said, I'll definitely see if I can dive a little deeper into to your benchmark script and try to identify what's causing a majority of the slowness and get back to you.

I've retried but I've modified asyncwhois to use async by default, yet still slower than whoisdomain
https://gist.github.com/baderdean/cc4643ecd95d3ccde31dee80ebdbea28#file-whoisdomain-benchmark-py
The result is a bit different, a bit faster but the weird thing is that the result is different everytime I rerun it:
❯ ./whoisdomain-benchmark.py asyncwhois whoisdomain
Parsing with parsers: ['asyncwhois', 'whoisdomain']
{'asyncwhois': {'count': 47,
                'duration':<PHONE_NUMBER>8999936,
                'percentage': '25%'},
 'whoisdomain': {'count': 42,
                 'duration':<PHONE_NUMBER>0899854,
                 'percentage': '22%'}}

The main reason you're going to get different speeds each time is due to network i/o. Either the whois server will take slightly longer to respond because it's handling other requests, your IP is rate-limited by the server, or some other network-related jitter will skew your results. (Sometimes a country's whois server will go completely offline without warning for maintenance or some other government event happening.)
All of these libraries are going to have to deal with that. The only advantage asyncwhois gives you is that it supports asyncio meaning it can take advantage of cooperative multitasking and better communicate to other parts of your program that it's about to do some i/o related stuff, pause its execution, and allow other parts of your program to run their instructions. However, your script is performing each query sequentially, so there's really not much of a difference in using the asyncio vs normal methods here.
Given this information, your benchmark script is still solid; you'll either need to run it multiple times (like 10-100) to get more robust, averaged results or shift your focus more on the memory usage/speed/quality of the parsing abilities of each library.
This library decouples the "query" from the "parsing". That is, the logic for doing the network stuff and the logic for parsing the big text blob from the server are separated. Check out parse_tld.py; in there you'll find DomainParser which takes a text blob and top level domain as input, initializes a "parser, and then parses the text into a dictionary. If you shift your script's focus to parsing speeds then that may help.

Thanks for the study!
Imho here LLM is more useful to write the parsing code or regex rather than parsing on the fly for performance and cost purpose.


Fix support for Postgres array of custom types

This commit fixes the array decoder to support custom types. The core of the issue was that the array decoder did not use the type info retrieved from the database. It means that it only supported native types.
This commit fixes the issue by using the element type info fetched from the database. A new internal helper method is added to the PgType struct: it returns the type info for the inner array element, if available.
Closes #1477

I bumped into this issue, and luckily saw this PR. Will this be merged?

I have the same issue and that PR fix it.

Thank you for merging this PR!


Inconsistent labeling of Wikidata lesson status

The Wikidata lesson is currently in the Conceptual/pre-alpha section of LC Lessons but is listed on  its lesson page as Beta. I'm not sure which is correct but they should be consistent.

Thanks @ndporter! I'll look into it and bump it up the page.


Can't export type with existential

/* @flow */

type _Maybe<T,U> = (pattern: {
  some: (x: T) => U,
  none: () => U
}) => U;
export type Maybe<T> = _Maybe<T, *>;

(45906) infer_job THROWS: /path/to/test.js: Failure("/path/to/test.js:7:34:\nexistential")

This doesn't appear to be an issue anymore (not gonna close because there might be context I'm missing)

No you're right; this is fixed. Thanks for combing through the issues!


Disruptor Throughput and Performance vs Apache kafka

Can someone tell me What is an estimation throughput for Disruptor in TPS. I know that apache Kafka can handle around 135,000 messages per second what is the capabilities of Disruptor. Can you tell me an estimation throughput?

你发的邮件我已经收到了。
                                    以上为自动回复邮件

I think you're comparing apples and oranges here as the Disruptor is used for communicating between threads and Kafka is used for communicating between machines / processes / threads.  Also note that Kafka provides persistence of messages and replay for any late joining consumers whereas the Disruptor does not provide any such functionality.

I agree with @MendelMonteiro 's  point that this wouldn't be a fair comparison as the features supported by these two libraries are considerably different. But out of curiosity I looked at the reported benchmarks here
https://github.com/LMAX-Exchange/disruptor/wiki/Performance-Results
It looks like depending on the configuration the Disruptor can do up to 23M ops per second.