[Impeller] Distorted text in Cupertino dialog

Steps to reproduce

Have an application with MaterialApp.router
One of the screens is calling a dialog with showAdaptiveDialog function
Inside dialog implementation I have an if that explicitly uses CupertinoAlertDialog because the contents of the dialog requires an input so I use CupertinoTextField as well
This also can be reproduced using AlertDialog.adaptive() call

Expected results
Fonts should not look distorted
Actual results
Fonts in Cupertino styled dialogs are distorted: titles, dialog actions and even the border of CupertinoTextField also looks distorted.
Code sample
Code sample
import 'dart:io';

import 'package:client_app/generated/l10n.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

Future<String?> showAccountDeletionDialog({required BuildContext context}) async {
  final result = await showAdaptiveDialog<String>(
    context: context,
    builder: (context) => const AccountDeletionConfirmationDialog(),
  );
  return result;
}

class AccountDeletionConfirmationDialog extends StatefulWidget {
  const AccountDeletionConfirmationDialog({super.key});

  @override
  State<StatefulWidget> createState() => _AccountDeletionConfirmationDialogState();
}

class _AccountDeletionConfirmationDialogState extends State<AccountDeletionConfirmationDialog> {
  final _passwordInputController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    if (Platform.isIOS || Platform.isMacOS) {
      return CupertinoAlertDialog(
        title: Text(S.of(context).accountDeletionConfirmationHint),
        content: CupertinoTextField(
          autofocus: true,
          controller: _passwordInputController,
          obscureText: true,
          clipBehavior: Clip.antiAlias,
        ),
        actions: [
          CupertinoDialogAction(
            isDestructiveAction: true,
            onPressed: () => Navigator.of(context).pop(_passwordInputController.text),
            child: Text(S.of(context).accountDeletionConfirmationDelete),
          ),
          CupertinoDialogAction(
            onPressed: () => Navigator.of(context).pop(),
            child: Text(S.of(context).accountDeletionConfirmationCancel),
          ),
        ],
      );
    }
    return AlertDialog(
      title: Text(S.of(context).accountDeletionConfirmationHint),
      content: TextField(
        autofocus: true,
        controller: _passwordInputController,
        obscureText: true,
        decoration: const InputDecoration(
          border: OutlineInputBorder(),
        ),
      ),
      actions: [
        TextButton(
          style: const ButtonStyle(foregroundColor: WidgetStatePropertyAll(Colors.redAccent)),
          onPressed: () => Navigator.of(context).pop(_passwordInputController.text),
          child: Text(S.of(context).accountDeletionConfirmationDelete),
        ),
        TextButton(
          onPressed: () => Navigator.of(context).pop(),
          child: Text(S.of(context).accountDeletionConfirmationCancel),
        ),
      ],
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
nothing suspicious in logs

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.4.1 23E224 darwin-arm64, locale en-RU)
    • Flutter version 3.22.0 on channel stable at /Users/nixan/fvm/versions/3.22.0
    • Upstream repository<EMAIL_ADDRESS>    • Framework revision 5dcb86f68f (8 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/nixan/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/nixan/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2023.3)
    • Android Studio at /Users/nixan/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 17.0.10+0-17.0.10b1087.21-11572160)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.1.1)
    • IntelliJ at /Users/nixan/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 79.1.3
    • Dart plugin version 241.15989.9

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

[✓] Connected device (5 available)
    • Ицхак Айфонштейн (mobile)       • 00008130-001638C90C88001C            • ios            • iOS 17.4.1 21E236
    • iPhone 15 Pro (mobile)          • 64B81937-2397-4178-8411-62A7F340604C • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-4 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 124.0.6367.208
    ! Error: Browsing on the local area network for Ицхак Айфонштейн. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

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

• No issues found!

I experienced the same issue. Reverted back to 3.19.6. Sorry for taking the easy temporary solution and not reporting it.

Same error here

await showCupertinoDialog(
context: context,
builder: (BuildContext context) {
return CupertinoAlertDialog(
title: Text('A A A A A A A'),
actions: [
CupertinoDialogAction(
child: Text('OK'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
The issue can be reproducible with this simple example only needing any context. In Flutter version 3.19.6, everything works fine, but in version 3.22.0, this distortion occurs.

Reproducible on the latest stable & master. In my testing, this reproduced only with impeller, skia worked just fine.  Stable 3.19.5 also worked as expected. This is a regression

Impeller
SKIA

code sample
import 'package:flutter/cupertino.dart';

/// Flutter code sample for [showCupertinoDialog].

void main() => runApp(const CupertinoDialogApp());

class CupertinoDialogApp extends StatelessWidget {
  const CupertinoDialogApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
      theme: CupertinoThemeData(brightness: Brightness.light),
      restorationScopeId: 'app',
      home: CupertinoDialogExample(),
    );
  }
}

class CupertinoDialogExample extends StatelessWidget {
  const CupertinoDialogExample({super.key});

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: const CupertinoNavigationBar(
        middle: Text('Home'),
      ),
      child: Center(
        child: CupertinoButton(
          onPressed: () {
            Navigator.of(context).restorablePush(_dialogBuilder);
          },
          child: const Text('Open Dialog'),
        ),
      ),
    );
  }

  @pragma('vm:entry-point')
  static Route<Object?> _dialogBuilder(
      BuildContext context, Object? arguments) {
    return CupertinoDialogRoute<void>(
      context: context,
      builder: (BuildContext context) {
        return CupertinoAlertDialog(
          title: Text('A A A A A A A'),
        //  content: const Text('Content'),
          actions: <Widget>[
            CupertinoDialogAction(
              onPressed: () {
                Navigator.pop(context);
              },
              child: const Text('Yes'),
            ),
            CupertinoDialogAction(
              onPressed: () {
                Navigator.pop(context);
              },
              child: const Text('No'),
            ),
          ],
        );
      },
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.4.1 23E224 darwin-arm64, locale en-GB)
    • Flutter version 3.22.0 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (11 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode-15.3.0.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Users/nexus/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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 77.2.2
    • Dart plugin version 232.10286

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

[✓] Connected device (5 available)
    • Pixel 7 (mobile)                • adb-28291FDH2001SA-5Lv71w._adb-tls-connect._tcp. • android-arm64  • Android 14 (API 34)
    • Nexus (mobile)                  • 00008020-001875E83A38002E                        • ios            • iOS 17.4.1 21E236
    • macOS (desktop)                 • macos                                            • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                            • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                                           • web-javascript • Google Chrome 124.0.6367.208
    ! Error: Browsing on the local area network for Dean’s iPad. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

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

• No issues found!

[!] Flutter (Channel master, 3.22.0-36.0.pre.54, on macOS 14.4.1 23E224 darwin-arm64, locale en-GB)
    • Flutter version 3.22.0-36.0.pre.54 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 414d923872 (6 hours ago), 2024-05-19 21:58:34 -0400
    • Engine revision c6fecf65fb
    • Dart version 3.5.0 (build 3.5.0-169.0.dev)
    • DevTools version 2.36.0-dev.10
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode-15.3.0.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Users/nexus/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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 77.2.2
    • Dart plugin version 232.10286

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

[✓] Connected device (5 available)
    • Pixel 7 (mobile)                • adb-28291FDH2001SA-5Lv71w._adb-tls-connect._tcp. • android-arm64  • Android 14 (API 34)
    • Nexus (mobile)                  • 00008020-001875E83A38002E                        • ios            • iOS 17.4.1 21E236
    • macOS (desktop)                 • macos                                            • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                            • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                                           • web-javascript • Google Chrome 124.0.6367.208
    ! Error: Browsing on the local area network for Dean’s iPad. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

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

! Doctor found issues in 1 category.

I just checked against 8eba63f29b8b26931496807cb4fc2fed8e4e3258 and it looks fine.

I also just checked b6971cdf14 and it looks fine.  I'm having some technical issues right now but I'll see if I can bisect since this might be the sort of thing we'd want to cherry-pick.

I've tried to reproduce it with the steps at https://github.com/flutter/flutter/issues/148588#issuecomment-2119939780
engine version: f6344b75dcf861d8bf1f1322780b8811f982e31a
framework version: 0b3a88f218147510bfff696d241bb1fab4322c01
The output looks fine on an iPhone SE 2022

The screenshot above is of the Simulator, is this a Simulator only bug?

@gaaclarke no, real device is also affected

I'm able to reproduce it on the iPhone 15 Pro simulator at f6344b75dcf861d8bf1f1322780b8811f982e31a.  Maybe it's particular to that device.

could be screen size. / dimensions

I did a bisect and the first bad framework commit was 60674fa334ab0a62b1180595d2dfb3e56fc74715 (engine roll https://github.com/flutter/flutter/pull/145179).  There are just 2 commits to check on that roll.

Its probably the round out. @bdero just relanded that in https://github.com/flutter/engine/pull/52973

I verified that https://github.com/flutter/engine/pull/52973 did fix this issue, thanks @bdero.

\o/


txsserver reports error: "hPutChar: invalid argument (invalid character)"

While generating a string for a step, TorXakis server reports following error:
txsserver.exe: : hPutChar: invalid argument (invalid character)
In this case, z3 provided the following solution:
(($Job$1544$7$1$ (JobData$JobData (-<PHONE_NUMBER>66273537) "ÇÇ`Ç\x00" 531 (- 1386))))
And here's what TorXakis server does with this solution:
TXSSERVER RSP <<  MACK .....9: Act    { { ( Job, [ JobData(-421764852866273537,"txsserver.exe: : hPutChar: invalid argument (invalid character)
We expect TorXakis to be able to handle such a string.

@keremispirli are there any steps to reproduce this?

This is related to #27 but we have created separate issues to make sure that both this error and DisPro11 example are working.
Now DisPro11 fails with a different error message though:
TXS >>  input files parsed:
TXS >>  DisPro11-robust.txs
TXS <<  stepper Model
TXS >>  Stepper started
TXS <<  step 10
TXS >>  .....1: Act { { ( Job, [ JobData(4464621467332777922,"N02d",293,170) ] ) } }
TXS >>  .....2: Act { { ( Finish, [ JobOut(4464621467332777922,3,1) ] ) } }
TXS >>  .....3: Act { { ( Job, [ JobData(1650,"",4236041887046466721,1102) ] ) } }
TXS >>  .....4: Act { { ( Finish, [ Error("Non-Valid Input Data") ] ) } }
TXS >>  .....5: Act { { ( Job, [ JobData(45908877320881,"    8`|  ",5941,360417725906784016) ] ) } }
TXS >>  .....6: Act { { ( Finish, [ Error("Non-Valid Input Data") ] ) } }
TXS >>  .....7: Act { { ( Job, [ JobData(6047,"",2126484222597686961,-489369644259259202) ] ) } }
TXS >>  .....8: Act { { ( Finish, [ Error("Non-Valid Input Data") ] ) } }
txsui: <socket: 568>: hGetLine: failed (No error)

But it looks like it's still the same issue...

Checked the server logs, it is the same issue:
TXSSERVER RSP <<  PACK STEP
TXSSERVER CMD >>  STEP 10
TXSSERVER RSP <<  MACK .....1: Act    { { ( Finish, [ JobOut(3018,3,1) ] ) } }
TXSSERVER RSP <<  MACK .....2: Act    { { ( Job, [ JobData(-3337973850590402,"",6969,2058772288700416) ] ) } }
TXSSERVER RSP <<  MACK .....3: Act    { { ( Finish, [ JobOut(8155785550888960000,3,1) ] ) } }
TXSSERVER RSP <<  MACK .....4: Act    { { ( Finish, [ Error("Non-Valid Input Data") ] ) } }
TXSSERVER RSP <<  MACK .....5: Act    { { ( Job, [ JobData(2265,"
TXSSERVER RSP <<  MACK  txsserver.exe: <stderr>: hPutChar: invalid argument (invalid character)


What demo link for version 3?

Environment:

AdminLTE Version:  3.0

Description:
What demo link for version 3?

https://adminlte.io/themes/dev/AdminLTE/


ZEPPELIN-303 Zeppelin should exit when jettyServer.start() throws an exception

Added exit condition while jetty cannot run properly

@Leemoonsoo Review this, please.

Thank you for addressing this issue!
Nit: It would simplify the reviewers life if there is a short description in PR title (emails become meaningful), not only the JIRA number.

@bzz Thanks for quick review. I've changed the title. :-)

Thank you @jongyoul , looks great to me!

looks good

Merging if there is no more discussion


Centralize dependency logic

Description
We centralize most of the dependency-related logic into one file.
This dependency logic includes

Dependency mode (transitive/plus one/direct)
unused_deps_mode and strict_deps_mode
dependency_tracking_method (currently only high-level, soon ast option as well)
what indirect/direct jars/targets we need to compute

In theory, this should not cause any user-facing changes.
We do the following

Change collect_jars in scala/private/common.bzl to take information about what is desired (transitivity, direct jars, etc) instead of inferring it from the various settings. Also unify some logic which hopefully makes it clearer what the difference between the various modes are.
Add scala/private/dependency.bzl which computes the dependency settings from the various attributes that are provided. Ideally, only this logic (and not the things which call it) will need to change as we move to better +1 deps analysis.
Replace the unused deps checker phase with a dependency phase, which includes all dependency information not just unused deps checker info.

Motivation
Part of https://github.com/bazelbuild/rules_scala/issues/867
By centralizing the dependency logic in one place, we will be able to change things around more easily, for when we do start changing the logic to have a better +1 deps analysis.

reviewed (the easy) half.
Hope to finish by tomorrow evening 🤞

@ittaiz this diff's commit message is also named badly and after merge the first line that people would see would just be calling. I feel like maybe force pushing would cause strange problems so maybe after all the revisions and this is ready to be merged I can do one final force push and get a reasonable commit message? Or do you have an easy way to edit the commit message during squash?

Like I mentioned somewhere else- since this has multiple commits the PR title will be the first line of the commit so no worries

@ittaiz sorry about that, I just looked at the split view and yeah it is not very helpful. I think I'm used to this working in split view fine, but will try to avoid similar changes in the future.

@ittaiz note the pushed changes do not contain the requested comments in _additional_transitive_compile_jars yet, I am just seeing how CI runs with all the other changes

Ok all comments should now be addressed unless I missed some


How should I solve this problem-"No module named 'src'" in tutorial.md?

Bug

Reproduce the Bug

Error Messages and Logs

Yes. This should be a legacy problem. You need to change from src to semilearn.

您好！邮件已收到，谢谢！祝您身体健康，生活愉快！易兆强

Thanks!


enhancement Add build version in backup snapshot info

Proposed changes
The snapshot info uploaded to S3 obj system by backup job is a json file, which is useful for us to get information about this snapshot.
If we add version info to the JSON file, we can know what version of the cluster used to manufacture this snapshot was, in order to prevent restoring the newer version of the snapshot to the older version of the cluster.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


pinch and pan

I'd like to be able to disable panning (unless it is done while pinching... for example while pinching to zoom).

I'd like to be able to disable panning (unless it is done while pinching... for example while pinching to zoom).

Hey, I feel It is mentioned in their documentation you can see the available methods you can use

I had a similar issue where when I would drag the image and let go of the left button on the mouse the image would just continue dragging but this solved the issue
add panning velositiDisabled = true
panning={{
velocityDisabled: true,
}}

@k2xl I feel like you are talking about only panning the image while 2 fingers are down for a pinch zoom? If so, I am facing the same problem. Did you find a solution?


Cannot be Enabled

I have Sequencer enabled, but the checkbox for this module is grayed out, saying it cannot be enabled due to issues with dependencies. What should I do?
I use Foundry v10 with PF2E.
Sequencer, Automated Animations, Automated Animations-Warp Gate are enabled.

Unfortunately it's a problem with the jack kerouac's animated cartoon assets themselves. Report the issue there.


Performance of Composition APIs

Hi,
This is a generic question which I wanted to ask for quite sometime.
As of now, in Windows 10 (both PC and mobile), flat colors are being used primarily for icons and tiles.

If you take a look at the iOS screen, it contains lavish use of gradients, bright colors, and blur effects

In my personal opinion, the latter looks more appealing.
Now it is possible to create similar appealing UIs in our UWP apps, thanks to Composition APIs.
My main concern is - Will the usage of Composition APIs - like BackdropBrush and gradients for example,  affect the overall performance of the app (and the device battery if it is a mobile device)?
Let me give you another example
I created a UWP app which contained a CaptureElement to show the preview of the Camera.
When I run this app on my Lumia 640, the preview shows with minimum lag when I tilt my phone (clockwise or anti-clockwise).
Now if I place a composition Visual on top of the CaptureElement and set the Visual's brush to a CompsositionBackdropBrush, then the camera preview starts to lag.
So backdrop brush seems to be causing the drop in performance here.

I think the backdropbrush example is probably a bad one to pick here - this would probably be laggy on anything. The other things you mentioned shouldn't really be an issue: most of these things (gradients, lights, shadows, masking...) have built-in ways to do in the GPU and that makes them very fast. Same is probably true for blur (I assume it uses a shader internally), but the backdropbrush has to "double-back" to read the rendered content of the CaptureElement. (In this particular example I think the perf would be much better if you blurred the camera feed directly, and not render-read-blur instead.)

Worth noting that GuassianBlur & DropShadows are relatively costly effects in general compared to the rest (infact, non rectangular masking can be quite costly too) - something that becomes far more evident when you try to use them on a phone with a quite-slow GPU, and even more so on crazy high DPI phones that have to render at ridiculous resolutions compared too it's GPU power. (950XL am cry).

Effects that use the BackdropBrush require texturing from whats behind the visual, and just due to fill-rate will always be relatively slower than applying the effect to a single surface (not to mention the shader itself). However the performance should be tuned for phones as well as higher end devices. Could you try your sample with a video surface using the MediaPlayer object instead of using the CaptureElement? You can read about it here.
I think you may be hitting something specific to the camera and CaptureElement. When I'm back at my desk I can see if I can repro this on my Lumia 640.

@tomzorz Even if the camera feed is blurred directly, the lag is there. I tried running the Win2d Example gallery on my Lumia 640. In that, there is a camera example which allows you to apply Gaussian blur on the preview frame directly. Upon tilting the camera, the preview does lag.
I believe it is the hardware which cannot keep up to the demands of the software.
What Windows 10 Mobile really needs is a highly optimized hardware (CPU + GPU + RAM + Camera) which can cater to the features provided by the OS. Also, in future if there is a plan to support gradients and blurs effectively within the OS and allowing users to utilize the Composition APIs with maximum efficiency. I hope all these will be addressed by the Surface Phone (if it exists!) ;)
The guys at Apple have understood this and focused on improving their hardware to suit the demands of the software and the result can be seen on their latest devices.
@robmikh I will try with the MediaPlayer and let you know. (Meanwhile, could you please look into #150 ?)

It will be some time before I can get to that one. I want to make a writeup for that subject, as it is a bit complex. It will probably be a blog post, but I'll let you know when I've got something.

Closing due to inactivity. Additionally, it seems that the original question has been addressed, and the topic of conversation has shifted beyond the scope of this particular forum...


Mirror-based reflection

This issue was originally filed by<EMAIL_ADDRESS>
a shiny, fascinating and useful feature for a programming language

Dart now ships with dart:mirrors.


Fix tests on macOS

Migrated from https://github.com/mesg-foundation/js-sdk/issues/227
Originally created by @antho1404 on Fri, 10 Apr 2020 08:19:46 GMT

New integration tests were added in the PR https://github.com/mesg-foundation/js-sdk/pull/224 but it results in never-ending tests on mac environment on the CI while everything is working correctly on local

outdated


WIP: Adding integration tests

The plan:

Run all unit tests from packages. (dwave-systems unit tests will fail until https://github.com/dwavesystems/dwave-system/pull/321 merges)

Once we've sorted out how to run the QPU tests on PRs, run all tests from dwave-examples as well.

Organize/standardize the file structures of the different packages to make it easier to call their tests here. Will update config file once this is done.

Duplicate of #168


Fix exception-related errors in Eclipse

Minor tweaks to fix exception errors flagged in Eclipse.

Hmm these kokoro builds still haven't completed?

It might be an external contributor thing, let me see if I can trigger it.

At least 1 approving review is required by reviewers with write access.

Apparently @elharo doesn't have write access here.


Pipenv fails to create virtual environments in version 2023.5.19 or later (Windows 10/11).

Since upgrading pipenv to v2023.5.19, it does not successfully recognize the version of Python installed on my PC.
It fails as follows.
PS > py -m pipenv --python 3.9
Warning: Python 3.9 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path\to\python

The path to each version of Python installed on the PC can be found from the py command.
(I have not added the Python PATH according to the default installer settings.)
PS > py --list-paths
 -V:3.11 *        [USERPROFILE]\AppData\Local\Programs\Python\Python311\python.exe
 -V:3.10          [USERPROFILE]\AppData\Local\Programs\Python\Python310\python.exe
 -V:3.9           [USERPROFILE]\AppData\Local\Programs\Python\Python39\python.exe
 -V:3.8           [USERPROFILE]\AppData\Local\Programs\Python\Python38\python.exe
 -V:3.7           [USERPROFILE]\AppData\Local\Programs\Python\Python37\python.exe

Therefore, as indicated in the error message, the virtual environment can be successfully created by specifying the Python path to be used.
> py -m pipenv --python [USERPROFILE]\AppData\Local\Programs\Python\Python39\python.exe
-> It's OK.

However, by simply downgrading pipenv to v2023.4.29, the above command succeeds as before.
PS > py -m pip install -U pipenv==2023.4.29

...

Successfully installed pipenv-2023.4.29

PS > py -m pipenv --python 3.9
Creating a virtualenv for this project...

...

Successfully created virtual environment!
Virtualenv location: [VENV PATH]
Creating a Pipfile for this project...

The same problem occurred on three PCs (Windows 10 and 11).
Are there any steps that should be changed to enable the creation of virtual environments with py -m pipenv --python commands without specifying the full path of Python?

$ pipenv --support
Pipenv version: '2023.7.3'
Pipenv location: '[USERPROFILE]\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pipenv'
Python location: '[USERPROFILE]\\AppData\\Local\\Programs\\Python\\Python311\\python.exe'
OS Name: 'nt'
User pip version: '23.1.2'
user Python installations found:
PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.11.3',
 'os_name': 'nt',
 'platform_machine': 'AMD64',
 'platform_python_implementation': 'CPython',
 'platform_release': '10',
 'platform_system': 'Windows',
 'platform_version': '10.0.19045',
 'python_full_version': '3.11.3',
 'python_version': '3.11',
 'sys_platform': 'win32'}

System environment variables:

ALLUSERSPROFILE
APPDATA
COMMONPROGRAMFILES
COMMONPROGRAMFILES(X86)
COMMONPROGRAMW6432
COMPUTERNAME
COMSPEC
CUDA_PATH
CUDA_PATH_V11_8
DRIVERDATA
HOMEDRIVE
HOMEPATH
LIB
LOCALAPPDATA
LOGONSERVER
MEFTLOGROOT
MMM_COM_SLACK_API_TOKEN
NUMBER_OF_PROCESSORS
NVTOOLSEXT_PATH
ONEDRIVE
OS
PATH
PATHEXT
PIPENV_VENV_IN_PROJECT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
PROGRAMDATA
PROGRAMFILES
PROGRAMFILES(X86)
PROGRAMW6432
PSMODULEPATH
PUBLIC
SYSTEMDRIVE
SYSTEMROOT
TEMP
TMP
USERDNSDOMAIN
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
USERNAME
USERPROFILE
WINDIR
WSLENV
WT_PROFILE_ID
WT_SESSION
ZES_ENABLE_SYSMAN
PYTHONDONTWRITEBYTECODE
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:

PIPENV_VENV_IN_PROJECT: true

Debug–specific environment variables:

PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp;C:\oracle\11gr2\prones\bin;C:\Program Files (x86)\NetCOBOL\;C:\Program Files (x86)\Common Files\Fujitsu\MeFt\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\NVIDIA Corporation\Nsight Compute 2022.3.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;[USERPROFILE]\.cargo\bin;[USERPROFILE]\AppData\Local\Microsoft\WindowsApps;[USERPROFILE]\AppData\Local\Programs\Microsoft VS Code\bin;[USERPROFILE]\.dotnet\tools;[USERPROFILE]\AppData\Roaming\npm;[USERPROFILE]\.dotnet\tools

This is the first I've learned of the py command, and unfortunately it was not in our documentation that this was ever supported.   I welcome to pythonfinder PRs that could support this, but what probably happened is in the refactor to pythonfinder -> pydantic, I encountered that we were using a completely different library to find Windows pythons which was creating problems with trying to have consistent code paths that we maintain and can fix windows bugs in.   So now all operating systems use the same pythonfinder code paths that we maintain so it should be possible to support this again in the future.

@matteius Thank you for commenting on my problem. It would be great if the py command was supported again.

I've labeled it as something that will be considered for PR improvements, but myself and the other maintainer have limited bandwidth at present to make all of these improvements ourselves.


Read one receipt data with the mock data and return to API client

As a developer, I would like to return mock receipt data to client so that I could know how to return data to client in axum.

8c902b4ab2598c2abbb9397da6a5c21d0d223ec2

8c902b4ab2598c2abbb9397da6a5c21d0d223ec2

cc9d258de50ea4dd759704db153afeb711ccc7e7


Support speaker marker output

Whisper.cpp has an option to output speaker markers when feeding multi channel audio files. Is this possible with faster whisper?

Can you check this discussion? https://github.com/openai/whisper/discussions/937#discussioncomment-5165620
It provides an example on how to decode stereo audio into left and right channels. Each channel can then be transcribed separately.
From a brief research, I think whisper.cpp is doing the same thing?

Thank you!


Archiver 2.0 (to go with QA 2.0)

This takes substantial improvements from the data.gov.uk team. It is intended to be merged with QA 2.0 https://github.com/ckan/ckanext-qa/pull/24
Key changes:

results of the archive are now stored in a dedicated Archival table, rather than in the TaskStatus objects (which were awful to query) and ResourceExtras (which makes it look like your dataset changed every time you archive, and if you're not careful this change triggers another archival and you get an infinite loop)
broken links report is done using the neat ckanext-report infrastructure, generated nightly, rather than generated on the fly in ckanext-qa templates.  Now the report is available to not just admins but the public too (let's be open about broken links - it helps to add pressure to getting them fixed). It also means that if you don't need the 5 stars of openness checking, you don't need to install ckanext-qa now.
it also talks WMS, so those sorts of servers can be checked if they are working too (extendable for other APIs too)
lots more tests and automatic Travis testing
rather than the data.gov.uk team working on their own fork, they contribute back to the whole. Whilst some teams have been using the root fork of ckanext-archiver, no-one has taken much responsibility for it and it is not well maintained.

To do:

[ ] Merge changes from okfn master
[ ] Change report HTML from Genshi to Jinja

@philipashlock I understand that you guys are working off forks of okfn/master for ckanext-archiver and ckanext-qa. I see you have a bunch of changes on your forks too:

https://github.com/ckan/ckanext-archiver/compare/master...GSA:2.3-upgrade
https://github.com/ckan/ckanext-qa/compare/master...GSA:2.3-upgrade

I think there are similarities in what you've improved with what we've done at data.gov.uk, as seen in thei PR and https://github.com/ckan/ckanext-qa/pull/24 . I note in particular in QA that you have a new table qa_ids which seems a lot like the qa table we've added.
So the question is: are you happy for us to merge these PRs to change/improve ckanext-archiver and ckanext-qa. I think your forks are a fair distance from the main-line, so although your supply of fixes from there will dry up, it is probably low now anyway since they are relatively unmaintained. And undoubtably this change would increase the amount of work you'd have to do to get back. But I think if you ever do get to bring your forks towards the work on mainline then we have a lot of joint benefits. So conceptually are you happy for us to merge these?

@Zharktas @mostrovoi Hi there in Finland! You guys appear to base your substantial work on the data.gov.uk fork of archiver & qa. Does that mean you'd support these two PRs to make them the v2 of the mainline? And can you say a little about your comparison of the existing mainline and the data.gov.uk fork (so it's not just me saying ours is better!)

@drmalex07 Hi there at Public Mundi! Since you've also done some work on archiver and qa, forking from the mainline, could you comment on this PR? Are you happy for archiver/qa to unite with the work at data.gov.uk - obviously it creates work do you if you choose to come to this new version, but hopefully it is a better base and more supported.

@kapucko (microcomp) and @rparrapy & @verena91 (senatics) you've all done some work on archiver & qa, forking from mainline. Would you also be happy for archiver/qa to unite with the work at data.gov.uk - obviously it creates work for you if you choose to come to this new version, but hopefully it is a better base and more supported.

@davidread I fully support merging these. We moved to datagovuk's forks because mainline ckanext-qa was quite simplistic and datagovuk's fork was far superior in identifying files and reporting them.
We will most likely move to the mainline again if these get merged at some point.

Many thanks for the feedback @Zharktas. Still hoping to hear from @philipashlock, @drmalex07, @kapucko and @rparrapy or @verena91. If we can aim to respond by the end of this week then we can decide then.

@davidread Hello David. I have not neglected this, we will respond within the next 2 days! Thanks for your patience!

@drmalex07 later this week is fine - I'd much rather people considered the code and the principles of it fully, to give this project the best possible future. Thanks!

@davidread Merging your fork to mainline again shouldn't be very difficult I believe. When we started using your fork there was just a couple of your own external references that we ended up integrating in our own customized fork. We were also wondering if would be possible to integrate qa and report in just one module since qa can't work without archiver and archiver by itself only provides a cache of the resources. I believe setup would be easier as well as maintenance right?

@mostrovoi thanks for your comments and I'm pleased to hear you're happy that the proposed merge isn't too drastic.
I've just looked at the changes on your branch https://github.com/yhteentoimivuuspalvelut/ckanext-archiver and have pulled across what we were missing - so THANKS for all of these: the helper name fix, CKAN 2.3 compatibility with ResourceGroup. I'm hesitant of moving the requirements from setup.py into pip-requirements.txt as it makes it another step to install, but if people want that then no problem. And we'll leave the Celery 3.0 stuff for another day as I just need to coordinate testing that upgrade with a couple of other uses my team have of it (inventory & packagezip) and I'll have to look to see if others are using it too.
Regarding integrating Archiver and QA, I see the archived resources as an enabler for lots of utilities - QA's 5 stars of openness is just one of many. For instance at data.gov.uk we have ckanext-packagezip which zips up all of a dataset's archived resources. We also looking at reporting on the files' text encoding (UTF8 or otherwise). It's worth noting that the broken links report is moving from QA to Archiver in this PR, and that functionality is a lot more popular than the 5 stars one, so I think there will be plenty of sites happy to just have that and not install QA. Also, the mainline QA update was triggered by a resource being created/updated, rather than the archiver doing its work, so it was only with a bit of luck that the QA occurred after an archival, and so in that case it would be better to run them in one task. However with this PR, the QA is triggered by an archival, using the IPipe interface (i.e. a way for an extension to subscribe to archival events). So I think having them separate makes sense, since they have loose coupling now, and each is quite cohesive.

@davidread I am no longer formally related to SENATICs, but I do think this merge makes sense, particularly if it leads to better maintenance of the mainstream project. To get a more official opinion on the matter let me invite @juanpane and @OpenDataGovPY to the discussion.

@rparrapy Thanks for that - all opinions welcome on this :+1:

Hello @davidread.
I think that changes related to the storage of computed/discovered metadata of archived resources are to the right direction. We also had a problem, because archiving of a resource had the side effect of re-updating the resource (thus triggering a new DomainObject notification, which by some acrobatics you had to detect and ignore). I suppose, the only (small) downside is that you miss some handy metadata attributes as size (computed at https://github.com/ckan/ckanext-archiver/blob/master/ckanext/archiver/tasks.py#L176).
I don't really have to comment something on the QA part, as for now we are not using it.
As a general note (from a quick look to the datagovuk branch) i have to say that the actual code seems cleaner and comprehensible.

Thanks for all the responses. No-one's come out against this merge, 4 parties have stated their support here, plus 1 at the related one at https://github.com/ckan/ckanext-qa/pull/24 plus the support of @amercader and the CKAN tech team, so I'm going to do the merge this week and I look forward to working with you all on this better maintained main-line of Archiver & QA!


Add support for lumen

Description
Add support for lumen
Why this should be added
I often use saas architecture for lumen, please add support for lumen

I highly recommend avoiding Lumen in 2021. There are no tangible benefits and only extra complexity and compatibility issues.
https://github.com/archtechx/tenancy/issues/48#issuecomment-591288419


use rounded in those few cases

https://github.com/AugurProject/augur-ui/pull/2066

Pull Request Test Coverage Report for Build 1001

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 66.399%

Totals

Change from base Build 1000:
-0.03%

Covered Lines:
3557

Relevant Lines:
4868

💛  - Coveralls

Pull Request Test Coverage Report for Build 1001

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 66.399%

Totals

Change from base Build 1000:
-0.03%

Covered Lines:
3557

Relevant Lines:
4868

💛  - Coveralls


BLE problem!

commit:7e15da28c209a8660ef4b3673cf65abdf4ce2236
Joker60's Ble mode will not work properly in this version,please use previous commit or wait for newer version.

Fixed


Improve the javascript syntax in the listing.html page

Proposing a new Javascript syntax in the Listings.html page

Description

Alternatives

I actually modified all the three functions to use a much modern javascript syntax

here is the old code for getting url params ie getUrlVals()
 function getUrlVars() {     var vars = [], hash;     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');     for(var i = 0; i < hashes.length; i++)     {         hash = hashes[i].split('=');         vars.push(hash[0]);         vars[hash[0]] = hash[1];     }     return vars; }
here is the new implementation of the getUrlVals() using modern syntax
function getUrlVars() { 		const vars = {}; 		const queryString = window.location.search.substring(1); 		const params = new URLSearchParams(queryString); 		for (const [key, value] of params) { 			vars[key] = value 		} 		return vars 	}
Additional context

I think the modern syntax enhances a much smoother experience.
Ive updated two more functions ie func updateQueryString() & removeQueryString()

Implementation
here Link to Pr #18

[x] I would be interested in implementing this feature.

@nzaih1999 Hi! thank you for bringing up this topic ❤
Can you rewrite your Issue to address what is wrong, what should be altered, and why, rather than describing what you've already done within a PR.
Issues are generally for documenting an existing problem or new feature clearly. When that's settled, they move to a status of ready for work, from there they're free to have PRs submitted against that resolve the Issue fully.
I feel like there's not enough explanation here as to what it is that you are trying to resolve and what the benefits are. The framing you've used seems to be about what you've done, not necessarily what you are proposing yourself or anyone attempting to resolve this Issue should do.
I suggest you read the Contribution Guidelines for more details
I'm gonna leave this Issue open for a while, and move it to ticket work required.

Hi @possumbilities, @nzaih1999 might want to refactor the code with the latest specification here
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
// from LOC(Line of Code) 69
var topic = getUrlVars()["topic"];
var language = getUrlVars()["language"];
var medium = getUrlVars()["medium"];

 We can use const instead of var for variable declarations. We use the URLSearchParams API to extract the query parameters and use a for...of loop and destructuring assignment to iterate through the parameters and extract their key-value pairs.
By using an object to store the query parameters, we simplify the code and make it more readable. We also return the object at the end of the function to improve the function's performance.
Finally, we use object destructuring to assign the topic, language, and medium variables to their corresponding values returned by the getQueryParams function.
This code is simple, easy to read and understand, optimized for performance, and secure, as we use the latest built-in features of ES2022 and the URLSearchParams API, which is a secure and standardized way to extract query parameters from a URL.
const getQueryParams = () => {
  const params = new URLSearchParams(window.location.search);
  const queryParams = {};
  for (const [key, value] of params) {
    queryParams[key] = value;
  }
  return queryParams;
};

const { topic, language, medium } = getQueryParams();

Code In Detail

const getQueryParams = () => {...} defines a function getQueryParams that uses an arrow function syntax. This function is responsible for extracting the query parameters from the current URL.

const params = new URLSearchParams(window.location.search); creates a new instance of the URLSearchParams object, which is initialized with the search portion of the current URL.

const queryParams = {}; creates an empty object queryParams which will store the extracted query parameters.

for (const [key, value] of params) {...} uses a for...of loop to iterate over the params object. The for...of loop iterates over each key-value pair in the params object, using destructuring assignment to extract the key-value pairs into key and value variables.

queryParams[key] = value; sets the value of value to the corresponding key in queryParams. This creates a new key-value pair in queryParams object for each query parameter.

return queryParams; returns the queryParams object, which contains all the query parameters extracted from the URL.

const { topic, language, medium } = getQueryParams(); uses destructuring assignment to assign the values of topic, language, and medium variables to the corresponding values extracted from the query parameters using the getQueryParams function.

This code is written using the latest built-in features of ES2022 and the URLSearchParams API, which is a secure and standardized way to extract query parameters from a URL. It is optimized for performance and uses a simple and easy-to-understand approach to extract query parameters.

Can anyone share their thoughts on the below code?
const getQueryParams = () => {
  const urlParams = new URLSearchParams(window.location.search);
  const params = Object.fromEntries(urlParams.entries());
  return params;
};

const { topic, language, medium } = getQueryParams();

if (!topic && !medium && !language) {
  document.write("<style>.thumbnailbox { display: block; }</style>");
} else {
  let style = "";
  if (topic) style += `.${topic},`;
  if (medium) style += `.${medium},`;
  if (language) style += `.${language},`;
  style = style.slice(0, -1); // Remove last comma
  style += " { display: block; }";
  document.write(`<style>${style}</style>`);
}

let navTopicClass = topic ? ".resourcenavtopicknown" : ".resourcenavtopicunknown";
let navMediumClass = medium ? ".resourcenavmediumknown" : ".resourcenavmediumunknown";
let navLanguageClass = language ? ".resourcenavlanguageknown" : ".resourcenavlanguageunknown";
document.write(`<style>${navTopicClass}, ${navMediumClass}, ${navLanguageClass} { display: block; }</style>`);


Change GitHub workflow base

As discussed with @aprokop, it is useful to prepend the branch name with the repository name when pushing to GitLab since the CI is triggered from the forks. This pull request for example corresponds to https://code.ornl.gov/ecpcitest/alexa/-/tree/masterleinad/ArborX/change_github_workflow_base
Do we want to keep the modified workflow (currently in https://github.com/masterleinad/gitlab-mirror-and-ci-action) in https://github.com/arborx instead?

Yes, I would say keep it in ArborX repo. Optionally, make it private (if possible or desired).

@masterleinad Consider working with upstream developer and specifying our workflow: https://github.com/SvanBoxel/gitlab-mirror-and-ci-action/issues/2.

See https://github.com/SvanBoxel/gitlab-mirror-and-ci-action/pull/3.


Add support for downloading modules at runtime.

The information about modules based on their module.txt is retrieved from meta.terasology.org. On demand, modules can be downloaded (from Artifactory) and installed without need to restart the game.

Fixes #1754 and fixes #1787 (supercedes #1875).

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/224/
Hooray Jenkins reported success with all tests good!

Awesome looking! Can't wait to play with this some :-)
It always defaults to the latest available I take it? Hitting Artifactory for now isn't a problem (although it occasionally runs out of memory - I've got alerting enabled for catching that), maybe we can play with Bintray for later use away from our infrastructure.
@immortius any comments on the architecture side?

All looks great to me.

Works great! And latest Polyworld looks better than ever :D
Brings one question to mind though: how do we handle old modules that exist in Artifactory but have been removed from the standard lineup? There are a few like TerraTech, LandsOfTerra, and Rails that'll outright crash or make no sense.
Should we have the meta server consider the Omega list? If a module is available online but not in Omega mark it a darker gray than "not downloaded yet" to flag for "Caution" and have the game disclaim as much in the description box?
It would also be nice with a dependency listing in the description. Grabbed FlightModeToggleButton and was perplexed why it wasn't satisfied until I remembered HUDToggleButtons.
I know a lot of that stuff will come over time and will merge this now since it is an awesome step forward and we can tweak a bit more before next release still :-)


Fix 100% CPU usage

We're seeing constant 100% CPU usage of a single core after rereading the logback config file when using the TcpAppender.
This PR removes the workaround from #9 since that should no longer be necessary because of #43.

Thanks for the PR @avdv, do you have any benchmarks that verify this fix?

Here's a screenshot to illustrate. You can see at around 9:18:45, I modified logback's config file. From there on, you see a constant 12% CPU usage (my notebook has 8 cores):

Note that the process is a HTTP service, which is not handling any requests at this time.
We've seen this in production too:

All services use the same logback config file. After changing the file, all services went up to 100% CPU usage and we had to restart them.

@avdv thanks, this looks great!
Please fill out the contributing agreement and we'll merge this change: https://www.splunk.com/goto/individualcontributions

Hi @shakeelmohamed, I did complete the registration and I am a Splunk contributor now :smiley:

Thanks @avdv, I'll push to get a release out as soon as possible

Hi @shakeelmohamed, may you create a new release including this fix?

@rm-- yeah, we'll probably get a release out next week

@avdv yeah we've been swamped internally on some other things, but this is on the top of my personal  to do list. I'm hoping to get it out this week

@avdv we've just release v1.6.1, thank you agin for your PR

Nice, thanks a lot!


How to add custom userdefined claims like moviename to aad access token.

I have a requirement where I need to add custom user defined claims like moviename to Azure AD access token.Actually this will be the additional claim I want to include in the token along with default claims. I want to add claims even before creating access token.
So my code looks like below
var authenticationContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext("https://login.windows.net/" + ConfigurationManager.AppSettings["TenantID"].ToString());

            var credential = new ClientCredential(clientId: ConfigurationManager.AppSettings["ClientID"].ToString(), clientSecret: secret);

            var result = await authenticationContext.AcquireTokenAsync(
                ConfigurationManager.AppSettings["Resource"].ToString(),
                credential
                ).ConfigureAwait(false);

In above code, result will have access token with some default claims.  I want to add custom user defined claim moviename to this access token. I want to include custom claim addition logic even before token generation logic. Also I want to populate value to this custom user defined claim dynamically from external source like database.
So, once token generated, I want to see custom claim moviename with dynamic value to be present in the claims list of token.

You will need to intercept the underlying OpenIdConnect system's OnTokenValidated event. You can add your custom claims there.

You cannot add custom claims to the token returned by the standard Azure AD.  You can add custom claims to the authenticated principal, but this will not help your scenario.
Why do you want to add it to the token?

I have a requirement where end-user who get an authorized token can use custom user-defined claims present in token for his own logic. Actual  Scenario is, my webap get() method will return an access token.End user will call this webpi endpoint to get token.The custom claims present  in the token, will be used by end user for his requirement.

@Chandu12x please include the link to the document which you are following so that we can better assist.

@MarileeTurscak-MSFT I'm following below posts for implementing custom user-defined claims.
https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims
https://rasmustherkelsen.wordpress.com/2019/12/09/custom-claims-in-azure-ad/
https://www.rahulpnath.com/blog/azure-ad-custom-attributes-and-optional-claims-from-an-asp-dot-net-application/
Could you please guide me on the proper implementation of custom userdefined claims as per my requirement. Also let me know if there is any other approach where I can ad custom user defined claim to aad jwt access token.

@MarileeTurscak-MSFT  Is there any update?


Scrollbar behaviour appears 'laggy' on iOS 10.3.1

Hi,
Noticing some behavioural issues with the plugin after updating to iOS 10.3.1 - device is an iPhone 6.
When scrolling an element, the content scrolls at a normal speed but the scrollbar appears to lag behind for a second or so, then moves into the correct position.
This behaviour can be seen from the demo on https://noraesae.github.io/perfect-scrollbar/
I didn't notice this on iOS before 10.3.1, but cannot be sure when this was introduced as far as mobile Safari is considered. Previous iOS version was 10.1 (no behavioural issues).
Update: To add to this, it also affects desktop Safari. I'm using Safari ver 10.1.
Thanks

I've been looking into this, I believe i've whittled it down to not being the jQuery but the CSS.
In particular the css transitions in:
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
position: absolute;
background-color: #aaa;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
-o-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
-moz-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
right: 2px;
width: 6px
}

I've fixed this in my implementation by removing the transitions in my stylesheet, i'm yet to see any issues caused by doing so.

body .ps-container > .ps-scrollbar-y-rail  .ps-scrollbar-y {
transition: none;
}

There was transition style issue in the built result of SCSS. It could be reproduced in macOS Safari too. Now the styles has been rewritten in plain CSS and it seems like the issue has gone.

https://github.com/utatti/perfect-scrollbar/blob/next/css/perfect-scrollbar.css

Thanks again for your report.

Thanks @utatti


Support for MultiDiscrete and MultiBinary action spaces in PPO

Description

Addresses #19. Adds support for MultiDiscrete and MultiBinary action spaces to PPO.
Constructs a multivariate categorical distribution through Tensorflow Probability's Independent and Categorical. Note that the Categorical distribution requires every variable to have the same number of categories. Therefore, I pad the logits to the largest shape across the dimensions (pad by -inf to ensure that these invalid actions have zero probability).
MultiBinary is handled as a special case of MultiDiscrete with two choices per categorical variable.
Only one-dimensional action spaces are supported, so using, e.g., MultiDiscrete([[2],[3]]) or MultiBinary([2, 3]) will result in an exception (as in stable-baselines3).
Testing
I added some tests (tests/test_space, similar to the tests in stable-baselines3) that check if there are errors during learning and that the correct exceptions are raised if PPO is used with  multi-dimensional MultiDiscrete and MultiBinary action spaces.
To check whether there are issues with the learning performance, I compared the performance to stable-baselines3's PPO on MultiDiscrete and MultiBinary action space environments. Since there are no environments with these action spaces in the classic Gym benchmarks, I used a discretized action version of Reacher and a binary action version of Acrobot for testing purposes (see the wrappers below).
Test script for MultiDiscrete action spaces:
from datetime import datetime
from typing import Sequence

import gymnasium as gym
import numpy as np

from sbx import PPO

class ActionDiscretizationWrapper(gym.ActionWrapper):
    def __init__(self, env, bins: Sequence[int]):
        super().__init__(env)
        assert isinstance(self.env.action_space, gym.spaces.Box)
        self.action_space = gym.spaces.MultiDiscrete(bins)

    def action(self, action: np.ndarray) -> np.ndarray:
        assert np.all(action < self.action_space.nvec)
        range = self.env.action_space.high - self.env.action_space.low
        cont_action = range * action / (self.action_space.nvec - 1) + self.env.action_space.low
        return cont_action

if __name__ == "__main__":
    env = ActionDiscretizationWrapper(gym.make("Reacher-v4"), [15, 17])

    date_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
    agent = PPO("MlpPolicy", env, tensorboard_log=f"out/reacher_discrete_{date_time}")
    agent.learn(1000000, progress_bar=True)

Test script for MultiBinary action spaces:
from datetime import datetime

import numpy as np

import gymnasium as gym
from sbx import PPO

class BinaryAcrobotWrapper(gym.ActionWrapper):
    def __init__(self, env):
        super().__init__(env)
        # One action for applying torque -1 (original action: 0), one action for applying torque 1 (original action: 2).
        # If both bits (or none) are set, the torque is 0 (original action: 1).
        self.action_space = gym.spaces.MultiBinary(2)

    def action(self, action: np.ndarray) -> np.ndarray:
        return int(action[1] - action[0] + 1)

if __name__ == "__main__":
    env = BinaryAcrobotWrapper(gym.make("Acrobot-v1"))

    date_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
    agent = PPO("MlpPolicy", env, tensorboard_log=f"out/binary_acrobot_{date_time}")
    agent.learn(1000000, progress_bar=True)

Results: sbx's and stable-baselines3's PPO have the same learning performance.

Motivation and Context

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] 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:

[x] I've read the CONTRIBUTION guide (required)
[ ] I have updated the changelog accordingly (required).
(The changelog seems to be in the stable-baselines3 repository, so I would need to create a separate PR for that)
[ ] My change requires a change to the documentation.
[x] I have updated the tests accordingly (required for a bug fix or a new feature).
[ ] I have updated the documentation accordingly.
(There is no separate documentation for sbx that I could update)
[x] I have reformatted the code using make format (required)
[x] I have checked the codestyle using make check-codestyle and make lint (required)
[x] I have ensured make pytest and make type both pass. (required)
[ ] I have checked that the documentation builds using make doc (required)

Note: You can run most of the checks using make commit-checks.
Note: we are using a maximum length of 127 characters per line

Hello,
thanks again for the PR =)
I'll try to have a look in the coming days.
Btw, because of your good contributions, would you be interested in becoming a SBX maintainer? (so you won't have to fork the repo for fixing a bug/adding a feature)

Sounds awesome, I'd be happy to become an SBX maintainer :)

For built-in multi discrete, I think there are the Atari games?
Although we would need to use the ram version at first until CNN are supported by SBX.


Restrict version of transitive dependency pyasn1

Description
Changes:

restricted version of pyasn1 to fix ImportError: cannot import name 'tagMap' from 'pyasn1.codec.ber.encoder'

Recent version of pyasn1 (0.5.0rc1 PRE-RELEASE) (depedency of ldap3) causes following issues:
 ➜ mitmdump --version
Traceback (most recent call last):
  File "/Users/szemek//mitmproxy/.venv/bin/mitmdump", line 33, in <module>
    sys.exit(load_entry_point('mitmproxy==9.0.0.dev0', 'console_scripts', 'mitmdump')())
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/mitmproxy-9.0.0.dev0-py3.10.egg/mitmproxy/tools/main.py", line 126, in mitmdump
    from mitmproxy.tools import dump
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/mitmproxy-9.0.0.dev0-py3.10.egg/mitmproxy/tools/dump.py", line 1, in <module>
    from mitmproxy import addons
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/mitmproxy-9.0.0.dev0-py3.10.egg/mitmproxy/addons/__init__.py", line 17, in <module>
    from mitmproxy.addons import proxyauth
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/mitmproxy-9.0.0.dev0-py3.10.egg/mitmproxy/addons/proxyauth.py", line 9, in <module>
    import ldap3
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/__init__.py", line 141, in <module>
    from .core.connection import Connection
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/core/connection.py", line 38, in <module>
    from ..extend import ExtendedOperationsRoot
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/extend/__init__.py", line 29, in <module>
    from .microsoft.dirSync import DirSync
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/extend/microsoft/dirSync.py", line 27, in <module>
    from ...protocol.microsoft import dir_sync_control, extended_dn_control, show_deleted_control
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/protocol/microsoft.py", line 32, in <module>
    from .controls import build_control
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/protocol/controls.py", line 27, in <module>
    from ..utils.asn1 import encode
  File "/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/ldap3-2.9.1-py3.10.egg/ldap3/utils/asn1.py", line 50, in <module>
    from pyasn1.codec.ber.encoder import tagMap, typeMap, AbstractItemEncoder
ImportError: cannot import name 'tagMap' from 'pyasn1.codec.ber.encoder' (/Users/szemek//mitmproxy/.venv/lib/python3.10/site-packages/pyasn1-0.5.0rc1-py3.10.egg/pyasn1/codec/ber/encoder.py)

After restricting version pyasn1>=0.4.6,<0.5.0 I can successfully run:
➜ mitmdump --version
Mitmproxy: 9.0.0.dev (+58, commit 51684e1)
Python:    3.10.1
OpenSSL:   OpenSSL 3.0.5 5 Jul 2022
Platform:  macOS-12.3-x86_64-i386-64bit

I set pyasn1>=0.4.6,<0.5.0 after checking
https://github.com/cannatag/ldap3/blob/v2.8/requirements.txt
https://github.com/cannatag/ldap3/blob/v2.9.1/requirements.txt
ldap3 has a fix for this issue, but no new version has been released since Jul 18, 2021
https://github.com/cannatag/ldap3/pull/983/files
Checklist

[ ] I have updated tests where applicable.
[x] I have added an entry to the CHANGELOG.

Thanks for the PR! Ideally we'd like that to be handled upstream in ldap3, I've filed https://github.com/cannatag/ldap3/issues/1046.
@tiran: Do you have an ETA for pyasn1 0.5.0? We'd probably ship a patch release if ldap3 doesn't move and pip install mitmproxy breaks.

@mhils I'd like to get some feedback on 0.5.0rc1. Can you run your tests with pip install --pre, please?

Ah, now I see that you already did. Could you please report the issue at https://github.com/pyasn1/pyasn1 ? I'll look into the regression.

Done. Thank you and @droideck for taking over maintenance of pyasn1! 🍰 ❤

Could you please test the fix? I'll do another rc after you have confirmed that the fix is working for you.

Next one:
    import ldap3
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/__init__.py", line 141, in <module>
    from .core.connection import Connection
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/core/connection.py", line 38, in <module>
    from ..extend import ExtendedOperationsRoot
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/extend/__init__.py", line 29, in <module>
    from .microsoft.dirSync import DirSync
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/extend/microsoft/dirSync.py", line 27, in <module>
    from ...protocol.microsoft import dir_sync_control, extended_dn_control, show_deleted_control
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/protocol/microsoft.py", line 32, in <module>
    from .controls import build_control
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/protocol/controls.py", line 27, in <module>
    from ..utils.asn1 import encode
  File "/home/user/venv/lib/python3.10/site-packages/ldap3/utils/asn1.py", line 80, in <module>
    encode = Encoder(customTagMap, customTypeMap)
TypeError: Encoder.__init__() takes 1 positional argument but 3 were given

https://github.com/cannatag/ldap3/blob/3a2f89663c73d862b8ba7ca9e974012952ed3024/ldap3/utils/asn1.py#L80
https://github.com/pyasn1/pyasn1/commit/8393983359edc25b75cbe07f0d4c13497285aa71#diff-44ba4d6c194902a9eab1816c099062f83c043c4aee9f9fb1117a0fd2737d69ebL851-R856

Meh :( Ticket please?

https://github.com/pyasn1/pyasn1/issues/12 :)

I would appreciate another pair of eyes on https://github.com/pyasn1/pyasn1/pull/13 . It solves the ldap3 issue. But I'm not entirely sure that is covers all problems.

@szemek: Could you verify that 0.5.0rc2 fixes this issue for you? 😃

@szemek: Could you verify that 0.5.0rc2 fixes this issue for you? 😃

@mhils I checked pyasn1 0.5.0rc2 and it works fine without errors, so I'm closing this pull request as it is no longer relevant.

Thank you again for flagging this initially! 🍰


[Issue 7402] Shaded jclouds to avoid gson conflict

Fixes #7402
Motivation
Currently, the GCS offload error is still existing. In jclouds 2.2.0 and 2.2.1, it only shaded the package com.google.gson.internal, and in the class  org.jclouds.json.internal.NullFilteringTypeAdapterFactories the shaded class org.jclouds.json.gson.internal.JsonReaderInternalAccess will be initialized by com.google.gson.stream.JsonReader which is in jclouds, the Pulsar include the same class com.google.gson.stream.JsonReader and when Pulsar broker start it will be loaded before  jclouds's, so this will cause the org.jclouds.json.gson.internal.JsonReaderInternalAccess can't be initialized successfully, and occurs NPE.
Modifications
Shaded the jclouds to make the class org.jclouds.json.gson.internal.JsonReaderInternalAccess could be initialized normally.
Verifying this change
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)

@merlimat Please reopen #7402, the #7400 only test successfully in the project org.apache.pulsar:tiered-storage-jcloud, the problem is still existing.

/pulsarbot run-failure-checks


RS485 Half-Duplex Mode RTS management issue (IDFGH-4937)

I believe I found an issue with the way RTS is managed when a UART is in RS485 Half Duplex mode.
More specifically, the problem happens if a call to wait_tx_done() times-out before the TX_DONE interrupt has fired. The problem seems to be that the wait_tx_done() function will disable the TX_DONE interrupt if it times-out. Since the TX_DONE interrupt handling code is the only place where RTS is set to 1, the consequence of disabling the TX_DONE interrupt is that RTS stays at 0, which means that the transceiver's Driver Output to remain enabled even though transmission is complete.

@madmax4889,
You are right about the reason for this issue. This issue is known and the MR has been opened to fix this. Unfortunately there is a delay with merging of these MRs.
The options below can be used to fix this issue in you project :

Change the wait_tx_done() call to uart_wait_tx_idle_polling() to ensure transmission is done. In this case the task is not blocked during waiting.
Change the timeout define components/freemodbus/port/port.h::MB_SERIAL_TX_TOUT_TICKS  to maximum time for transmission of longest allowed frame buffer can be changed to 2200 ms for example.
Chenge the wait_tx_done() function like below to not clear the TX_DONE interrupt when timeout triggered:

/**************************************************************/
esp_err_t uart_wait_tx_done(uart_port_t uart_num, TickType_t ticks_to_wait)
{
  ...
    //take 2nd tx_done_sem, wait given from ISR
    res = xSemaphoreTake(p_uart_obj[uart_num]->tx_done_sem, (portTickType)ticks_to_wait);
    if(res == pdFALSE) {
        UART_ENTER_CRITICAL(&(uart_context[uart_num].spinlock));
        uart_hal_disable_intr_mask(&(uart_context[uart_num].hal), UART_INTR_TX_DONE);
// =================== change is below =========================
        // The workaround: if the RS485 mode is used the TX_DONE interrupt
        // should not be disabled after timeout waiting transmission done
        // (TX_DONE interrupt is used to control RTS line after transmission in RS485 mode)
        if (!UART_IS_MODE_SET(uart_num, UART_MODE_RS485_HALF_DUPLEX)) {
            uart_hal_disable_intr_mask(&(uart_context[uart_num].hal), UART_INTR_TX_DONE);
        }
        UART_EXIT_CRITICAL(&(uart_context[uart_num].spinlock));
        xSemaphoreGive(p_uart_obj[uart_num]->tx_mux);
        return ESP_ERR_TIMEOUT;
    }
    xSemaphoreGive(p_uart_obj[uart_num]->tx_mux);
    return ESP_OK;
}

The patch is below:
patch to fix wait_tx_done issue
Please apply changes and let me know the results of testing. Thank you.

Thanks @alisitsyn,
Your message confirms the workaround(s) that I had been considering.

@madmax4889,
Unfortunately I can not let you know when the MR will be merged. I can inform once it is merged.

Thanks for reporting and sorry for late reply, the fix is available https://github.com/espressif/esp-idf/commit/a1b5c382181fa26844b201684dcaa89556696044, feel free to reopen.


SWARM-1953: MP JWT - resource without @RolesAllowed is secured.

Motivation
Currently, if there is no @RolesAllowed declared on a JAX-RS resource,
no resource method is secured. This is rather a corner case but still a
valid use case.
Modifications
Fix MPJWTAuthExtensionArchivePreparer to also handle JAX-RS resource
classes which only declare @DenyAll/@PermitAll.
Result
JAX-RS resource without @RolesAllowed is secured (if needed).

@Ladicek Would you like to review this one?


skipLibCheck or DOM lib required

When using Valibot with TypeScript in a project targeting Node.js it is currently either necessary to set 'skipLibCheck' to true or to include the 'DOM' lib.
This is the error I ran into:
node_modules/valibot/dist/index.d.ts:682:95 - error TS2304: Cannot find name 'File'.

682 interface FileSchema<TMessage extends ErrorMessage<FileIssue> | undefined> extends BaseSchema<File, File, FileIssue> {
                                                                                ~~~~

node_modules/valibot/dist/index.d.ts:682:101 - error TS2304: Cannot find name 'File'.

682 interface FileSchema<TMessage extends ErrorMessage<FileIssue> | undefined> extends BaseSchema<File, File, FileIssue> {

What about wrapping the usage of File with a type helper to ensure it compiles successfully? I think something like this should work:
type GlobalType<Type extends string> = Type extends keyof (typeof globalThis) ? (typeof globalThis)[Type] : never;

interface FileSchema<TMessage extends ErrorMessage<FileIssue> | undefined>
    extends BaseSchema<
        GlobalType<'File'>,
        GlobalType<'File'>,
        FileIssue
    >
{
   /// ...
}

As a result Valibot could be used without setting 'skipLibCheck' or adding the 'DOM' lib. And on top of that file() would be unusable when using Valibot with Node.js as expected.
Please let me know if you like the solution above. I would be happy to create a PR for it.

Thank you for creating this issue. Why is enabling skipLibCheck or adding 'DOM' a problem for you? Unfortunately, File is not the only API we use. Other types such as TextEncoder and Blob would cause similar problems.

Thanks a lot for your quick reply.
As far as I can tell File is the only thing used by Valibot unavailable on Node.js. Blob (https://nodejs.org/docs/v22.12.0/api/globals.html#class-blob) and TextEncoder (https://nodejs.org/docs/v22.12.0/api/globals.html#textencoder) are for example implemented.
It might be padentic but I don't like adding the 'DOM' lib when developing something only meant for Node.js. I think it kind of defeats the purpose of using TypeScript as it adds type definitions for things which aren't available on Node.js like File. When using it TypeScript will signal everything is fine and can't help to prevent runtime errors.
I just double checked that 'skipLibCheck' has a similar effect. It happily lets you use file() and just marks the result as any instead of File. It makes all of Valibot's validation silently go away.

File should be available in Node.js >=v20 according to MDN.

It might be padentic but I don't like adding the 'DOM' lib when developing something only meant for Node.js. I think it kind of defeats the purpose of using TypeScript...

I agree! This is not a good solution.

I just double checked that 'skipLibCheck' has a similar effect. It happily lets you use file() and just marks the result as any instead of File. It makes all of Valibot's validation silently go away.

Is this solution okay? At least I haven't had any problems with it so far.


Remove the Command Palette experiment docs

This PR removes the documentation for the Command Palette experimental feature, as the feature is being removed from Edge in version 123.
AB#48990401

File microsoft-edge/devtools-guide-chromium/experimental-features/edge-command-palette.md with URL /microsoft-edge/devtools-guide-chromium/experimental-features/edge-command-palette was deleted without redirection. To avoid broken links, add a redirection.
Once we have a What's New entry that mentions the feature removal, I will add a redirect to it.


Creating skeleton loader

Objective
What: Skeleton loader
Why: Because the application is so fast that we need placeholders (which you can barely see) instead of animations as animations slow the UI down
Type

[x] New Feature

Tested
Localhost

Hellooo
Well done guys @diegolarraz @BenDanielGreep
What do you think of having it for the facets and the federated search ? 😊

Hellooo Well done guys @diegolarraz @BenDanielGreep
What do you think of having it for the facets and the federated search ? 😊

We do have it for the facets (on SRP)
We talked about this - in our opinion it is so fast that no one will need the skeleton on FS.
However for the fringe case that the SE computer is running slow, we could implement the skeleton on FS on another sprint :)

Well done nice work, to me it's so fast I have no time to see skeleton 👍

You really cannot see the skeleton - it's too fast, and for some reason the InjectedHits component does not mount the fallback component. It mounts on CustomHits and Facets. Very strange.
An improvement from the fade in animation though


Auto command for otter fails with error

I have something like this in my config:
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
  pattern = "*.org",
  callback = function()
    require("otter").activate()
  end,
})

I get this error:

Is your Treesitter configured correctly?

Here is the result of :checkheakt nvim-treesitter:

==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- OK `tree-sitter` found 0.22.6 (parser generator, only needed for :TSInstallFromGrammar)
- OK `node` found v20.17.0 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: gcc (GCC) 13.3.0
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

Is this the same issue? #176 (comment)

No.

Do you have an example file for this? Any other relevant plugins?

I dont have an init.lua file to give you since I am using NixOS+Nixvim, and on top of that, I manage it in an org file.
Here it is: https://github.com/refaelsh/dotfiles/blob/master/configuration.org.

Ok. Happy to take a look if you can provide a minimal reproducible example with a file the produces the error and e.g. a config starting from kickstarter.nvim.

I understand your idea. So, I took the init.lua from kickstarter.nvim repo and run it likes this: nvim -u path_to_file.lua.
The only things I added are the following:
vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, {
  pattern = "*.org",
  callback = function()
    require('otter').activate()
  end,
})

{
  'nvim-orgmode/orgmode',
  event = 'VeryLazy',
  ft = { 'org' },
  config = function()
    -- Setup orgmode
    require('orgmode').setup({
      org_agenda_files = '~/orgfiles/**/*',
      org_default_notes_file = '~/orgfiles/refile.org',
    })

    -- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option
    -- add ~org~ to ignore_install
    -- require('nvim-treesitter.configs').setup({
    --   ensure_installed = 'all',
    --   ignore_install = { 'org' },
    -- })
  end,
},
{
    'jmbuhr/otter.nvim',
    dependencies = {
      'nvim-treesitter/nvim-treesitter',
    },
    opts = {},
},

The problem still persists.

Do you have an example file that exhibits the error when opened with this config?

Sure. Here is a minimal file and the issue is still there:
* Bla
asasfasd
** dsfsdf
dsfsdfs

This does not reproduce the error. You can use the NVIM_APPNAME environment variable to create a truly independent nvim and avoid spillover from your other config and share directories.

Closing this to reduce noise, please open a new issue with the reprex once you have it.

This does not reproduce the error. You can use the NVIM_APPNAME environment variable to create a truly independent nvim and avoid spillover from your other config and share directories.

I will go and google NVIM_APPNAME and open a new issues as you rightly suggested.
Thank you :-)

FYI I had the same problem when using the autocmd you used.
I think it is coming from the fact that treesitter hasn't loaded yet when the autocmd is called.
Using FileType works for me, as it seems to be called after treesitter has started:
vim.api.nvim_create_autocmd({ "FileType" }, {
    pattern = { "org" },
    callback = function()
        require("otter").activate()
    end,
})

Thank you @Lcchy!


Error when trying to run example code in Electron

In package.json I added:
"nodobjc": "2.0.0",

npm install fails for the latest Node 4.x version.
When executing npm install on Node 0.12.9 I see those warnings:

../src/callback_info.cc:151:12: warning: 'NanThrowError' is deprecated [-Wdeprecated-declarations]
return THROW_ERROR_EXCEPTION_WITH_STATUS_CODE("ffi_prep_closure() Returned Error", status);
^
../src/ffi.h:25:54: note: expanded from macro 'THROW_ERROR_EXCEPTION_WITH_STATUS_CODE'
#define THROW_ERROR_EXCEPTION_WITH_STATUS_CODE(x, y) NanThrowError(x, y)
^
../node_modules/nan/nan.h:741:34: note: 'NanThrowError' has been explicitly marked deprecated here
NAN_DEPRECATED NAN_INLINE void NanThrowError(

but at least I'm able to install it.
When I try to run code (I just copied over Hello World example using Electron I see this error:

Uncaught Exception:
Error: Module version mismatch. Expected 47, got 14.
at Error (native)
at process.module.(anonymous function) [as dlopen] (ATOM_SHELL_ASAR.js:140:20)
at Object.Module._extensions..node (module.js:450:18)
at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:140:20)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at bindings (/project/node_modules/nodobjc/node_modules/ref/node_modules/bindings/bindings.js:76:44)
at Object. (/project/node_modules/nodobjc/node_modules/ref/lib/ref.js:5:47)

Any ideas what I'm doing wrong?
This looks like similar issue https://github.com/atom/electron/issues/2217. Error stack trace looks very similar, but error message is different.

There were 2 steps involved to fix this issue:

https://www.bountysource.com/issues/27757822-npm-install-nodobjc-failing-due-to-ffi-and-node-4-x-incompatibility - I followed this page and used npm i git://github.com/kjunichi/NodObjC#v4.x to install NodObjC dependency.
Each time npm install is executed you need to execute this command:

./node_modules/.bin/electron-rebuild

to rebuild the native addon part of NodObjC.


Replaced all occurrences of isnanf with isnan to support newer compilers

Summary
Replaced all occurrences of isnanf with isnan to support newer compilers. This was done because the isnanf function is considered obsolete. Instead, the isnan(float x) function was declared as a replacement in C99 (see here under Notes).
Changelist

Renamed all occurrences of isnanf with the isnan(float x) macro in the source code
Modified CAN generation Python script to use isnan also

Checklist
Please change [ ] to [x] when you are ready.

[ x] I have read and followed the code conventions detailed in README.md (This will save time for both you and the reviewer!).
[x ] If this pull request is longer then 500 lines, I have provided explicit justification in the summary above explaining why I cannot break this up into multiple pull requests (Small PR's are faster and less painful for everyone involved!).

isnan takes in a double as an input parameter, while isnanf takes in a float. May be better here to include cmath.h and use std::isnan if you are running into issues

https://en.cppreference.com/w/cpp/numeric/math/isnan

Yeah this is probably cool


Passing variables and secrets from VSTS

Description
I have several secrets stored in KeyVault. Unfortunately I cannot find a way to pass parameters to my test run via VSTS
Documentation says that Keyvault secrets can only be supplied via VSTS variables - fair enough - but how do I actually do this? All the information I can find on web seems outdated or doesn't work.
For example - consider RunSettings file:
<RunSettings>
    <TestRunParameters>
		<Parameter name="webAppUrl" value="http://localhost" />
		<Parameter name="webAppUserName" />
		<Parameter name="webAppPassword" />
  </TestRunParameters>
</RunSettings>

I tried passing values for last 2 parameters via cmd line as follow:
vsts.console MyTest.dll /Settings:vsts.runsettings -- -webAppUserName foo
vsts.console MyTest.dll /Settings:vsts.runsettings -- webAppUserName=foo
dotnet test -s vsts.runsettings -- -webAppUserName foo
dotnet test -s vsts.runsettings -- webAppUserName=foo

but this has no effect - the webAppUserName value remains null (I can see a value for webAppUrl, so I know my code is right!)
I've also tried both the VSTS "dotnet test" task as well as the "VsTest" task from my VSTS 2017 build. The VsTest provides a Override test run parameters setting - and as per the tooltip, I tried:
-webAppUserName user -webAppPassword somethingSecret
Again - no effect!
Originally I used xUnit and had exactly the same issue - i.e. coudn't figure out a way to pass parameters via VSTS - so I tried MSTest, but same issue.
Going back to my original issue of injecting KeyVault secrets
Locally via VS Studio I was able to just do the following from my test:
var config = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json", true, true)
                ...
                .AddAzureKeyVault(...)

Unfortunately, when run via VSTS, the test runner just hangs (i.e. I had to stop it after several minutes) with no log output for test step if I use either
.AddAzureKeyVault(...) or .AddEnvironmentVariables()
So I tried using VSTS Variable Groups - and linking that to KeyVault. However, keyvault secrets are not accessible via environment variables (using Enviroment.GetEnvironmentVariable(...) directly from C#) - so that's no good. They say you can only pass these to tasks via VSTS variables...hence my problem!
##Aside:
Even if I could use environment variables, it's not optimal because when using .AddAzureKeyVault() I can supply a custom IKeyVaultSecretManager to, for example, replace a special delimiter with the ':' character - this means that I can nest my json config values - e.g. if I had this in my config file:
{ "A" : { "B" : "somevalue" } }
then using normal configuration builder I can access the above via config["A:B"]. Unfortunately KeyVault doesn't like the ":" character - so you have to replace it with something like "--" and then use a custom IKeyVaultSecretManager to replace "--" with ":"
Please help! All I wanted for Christmas was not to put my KeyVault secrets into Git... but still use this from within my tests... surely I'm missing something??

Closing for what reason?  You didn't answer the issue.
Override what run parameters? Where?  Do you mean in the "Override test run parameters" field of VSTS?
And how exactly will those get passed? As environment variables? Or something else?
This should be a sample that is right in the .NET core documentation AND in the vsts documentation.  This is automated testing 101: How do you pass variables per run and use those to configure your tests?  There is 0 documentation on this.

I agree with @JohnGalt1717 . The link you provided is not relevant - it's dated 2015. The issue is trying to pass parameters to tests in VS2017 and .net core test projects.
We're trying to write end to end and integration tests - but without the ability to pass parameters this is not feasible. Can you please provide a solution to this fundamental issue

For now we resolved the issue by converting our test project to .Net Full framework sigh
Please don't close this issue as this needs to be addressed in .net Core test projects

@Adebeer @JohnGalt1717
Updating test run parameter in dotnet core targeting test projects is not supported from tasks because of following reasons:

dotnet core targeting test projects can be ran only with dotnet task. vstest task doesn't support dotnet core tests.
Updating test run parameters from dotnet task is not supported.

Test projects targeting .Net full framework can be ran with vstest task. vstest task supports overriding test run parameters. Following is the way to do this:

Sample runsettings file:

<?xml version="1.0" encoding="UTF-8"?>
<RunSettings>
  <TestRunParameters>
    <Parameter name="name" />
    <Parameter name="password" />
  </TestRunParameters>
</RunSettings>

Sample code:

        [TestMethod]
        public void TestMethod1()
        {
            Assert.AreEqual("sampleName", TestContext.Properties["name"]?.ToString());
            Assert.AreEqual("samplePassword", TestContext.Properties["password"]?.ToString());
        }

Snap of Override test run parameters field:

Snap of task variables:

Password field can be set secret in task variable.
Adding @PBoraMSFT to comment on the support for overriding test run parameters for dotnet core test projects.

However you can pass environment variables in.
Ie. adding these process variables on your build definition will work and the unit tests will be run:
Azure:Auth:ClientId
ASPNETCORE_ENVIRONMENT
etc.
Further, if you're using docker you can pass these by running a command instead of just docker run and pass -e {variable above} etc.
In the build task you can pass build-args as =
which solves the problem but the documentation doesn't tell you any of this and should.
Sadly a separate issue is still open because you can't get the container id that was published to be able to pull out your test results from a build and instead have to use a run to get them by mapping a path.  Hopefully that will be fixed soon.

This issue seems fixed to me now.
I've recently created a new xUnit .Net Core 2.1 app and can use environment variables just fine, as mentioned by @JohnGalt1717 .
E.g.
Create build variable - e.g. ASPNETCORE_ENVIRONMENT
and then in my code, I simply use: System.Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
In Azure DevOps - I simply use the Visual Studio Test task
For me, this is all I needed and much better than mucking around with test setting files etc.
From my perspective, happy to close this issue

@Adebeer I could not get "Runsetting arguments" to work with or without a *.runsettings file using dotnet test (see the vstest-docs).
Use case 1:
dotnet test  -- MSTest.MapInconclusiveToFailed=True MSTest.DeploymentEnabled=False

Expected: MSTest.MapInconclusiveToFailed or MSTest.DeploymentEnabled should be set with their respective values in TestContext
Actual: Neither variables are in TestContext
Use case 2:
<!-- additionalargs.runsettings -->
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- MSTest adapter -->
  <MSTest>
    <MapInconclusiveToFailed>True</MapInconclusiveToFailed>
    <DeploymentEnabled>False</DeploymentEnabled>
  </MSTest>
</RunSettings>

dotnet test --settings additionalargs.runsettings -- MSTest.MapInconclusiveToFailed=False

Expected: MSTest.MapInconclusiveToFailed=False and MSTest.DeploymentEnabled=False should be set in TestContext
Actual: MSTest.MapInconclusiveToFailed=True and MSTest.DeploymentEnabled=False are set in TestContext

@gabrieljoelc try this approach instead: https://stackoverflow.com/questions/50065991/how-to-configure-xunit-dotnet-core-project-to-initialize-from-different-configur/53220339?noredirect=1#comment93390698_53220339
Let me know if that worked

@Adebeer thank you for the proposed workaround. Would you consider the open ticket still an issue since this solution just works around runsetting arguments being broken with dotnet test?
I believe the SO post  seems to be an ASP.NET Core app. I am building Azure Functions and Azure Webjobs. My use case doesn't allow me to easily build up the configuration myself.
I ended up working around this problem in a similar way already and wrote it up in this gist. Here's a highlight from the gist:
// Azure Function
public static class Endpoint
{
    private static string EhConnectionString { get; } = Environment.GetEnvironmentVariable("EventHubConnectionString");

    [FunctionName("Endpoint")]
    public static async Task<IActionResult> RunAsync([HttpTrigger(AuthorizationLevel.Function, "post")]HttpRequest request, ILogger log)
    { /* do cool stuff */ }
}

// test fixture
[TestClass]
public class EndpointTests : FunctionTest
{
    [TestInitialize]
    public void Setup()
    {
        var settings = new ConfigurationBuilder()
            .AddJsonFile("appsettings.test.json", false)
            .Build();
        foreach (var item in settings.AsEnumerable())
        {
            Environment.SetEnvironmentVariable(item.Key, item.Value);
        }
    }

    // test methods
}

// local appsettings.test.json that is also gitignored
{
  "EventHubConnectionString": "<ConnectionString>"
}

Hi @gabrieljoelc - you have a good solution too.
The SO post should work same within any .net core unit test project as the .net core MS configuration is isolated in seperate nugget packages and not limited to aspnet core projects.
Going forward, for me this is a better approach as I think the ms test runsetting approach is less framework agnostic and tied to their test platform. I like to be in a position where I can have more configuration reuse between my tests and non-test projects.

@dogirala Do you know if there is a way to retrieve these secrets?

There is not much acitivity here and we haven't received any help from the AzDo team on this subject so I will move forward by closing this issue as won't fix.


Small changes to UI

Better key event handling for widgets in login and logs page
Some texts have been changed
Checkboxes when filtering logs

Do we need to discuss about the changes in text and the ones that are in figma?

Do we need to discuss about the changes in text and the ones that are in figma?

maybe @ainoc or @fmorelloCSC can give use more information regarding that ?


Add MWS Modules

Pull Request Overview
This PR adds the (first round) of required modules for the MWS project:

Adds the Mission and Task models
Adds "tags" to Assets to mirror the Annotation Keywords
Adds contributor user column to Annotations
Adds a new Interpreter user role
Miscellaneous linting, bug fixes for the slimmed down MWS module config
Bumps the MWS frontend repository
Database migration 47a80ead3a90 .

Model Updates
Mission

Users
Assets
Tasks
title
owner
options
jobs
classifications
notes

Task

Assets
Annotations
type
notes

User

+ Tasks

UserRoles

+ Interpreter

Assets

+ Tags (Keywords)
+ lines
+ classifications

Annotations

+ contributor

/rebase

/rebase

/rebase

/rebase


minimun scale in mobile is 0 and it generates a bug

When i select the pic in desktop and click the next button to crop and size the pic, it work but when i try to do the same in mobile, doesnt work, here is a test url https://www.deja.com.ec/prueba-2/ , if i resize de window in desktop to mobile, it works , but i reload the page in mobile emulator or in my celphone it doesn't work either... if you can try in the link above press in the Menu "Sube tu foto" and then click  "AQUI"
(Yoy have to login with Facebook to upload a pic and then crop it)

I realized that in mobile when you scrolling downwards or upwards and pinching in or out the next scale porperty in canvas will always be 0, after that there is no place to zoom in or out and it brokes, any help any  solution?