Unable to move focus with shortcuts.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Create a shortcut using FocusableActionDetector.
Use the shortcuts to alternate the focus between TextField and other widgets.

I created and tested the Mac app on macOS. It has not been verified on other operating systems.
Note that the focus between TextFields seems to work fine.
Expected results
Smooth focus transition is achieved.
Actual results
Focus is not being moved.
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: MyHomePage());
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({super.key});

  final _focus1 = FocusNode();
  final _focus2 = FocusNode();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FocusableActionDetector(
        shortcuts: {
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit1,
          ): const KeyIntent(1),
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit2,
          ): const KeyIntent(2),
        },
        actions: {
          KeyIntent: CallbackAction(onInvoke: (Intent intent) {
            if (intent is KeyIntent) {
              print(intent.key);
              if (intent.key == 1) {
                _focus1.requestFocus();
              } else {
                _focus2.requestFocus();
              }
            }
            return null;
          })
        },
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextField(
                autofocus: true,
                focusNode: _focus1,
              ),
              // TextField(
              //   focusNode: _focus2,
              // ),
              // TextButton(
              //   focusNode: _focus1,
              //   autofocus: true,
              //   onPressed: () {},
              //   child: const Text("abc"),
              // ),
              TextButton(
                focusNode: _focus2,
                onPressed: () {},
                child: const Text("abc"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class KeyIntent extends Intent {
  final int key;
  const KeyIntent(this.key);
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.13.2, on macOS 13.5.1 22G90 darwin-arm64, locale ja-JP)
    • Flutter version 3.13.2 on channel stable at /Users/zuvola/Documents/Tools/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ff5b5b5fa6 (8 days ago), 2023-08-24 08:12:28 -0500
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/zuvola/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

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

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.5.1 22G90 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 116.0.5845.140

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

• No issues found!

Postscript.
The problem seems to occur only with the meta key combination; shift and control keys work fine.

Cases that do not work properly.
Case1:
⌘Pressed->2Pressed->2Released->⌘Released
⌘Pressed->1Pressed->1Released->⌘Released
Case2:
⌘Pressed->2Pressed->2Released->1Pressed->1Released->⌘Released
Case that work fine.
⌘Pressed->2Pressed->⌘Released->2Released
⌘Pressed->1Pressed->⌘Released->1Released

Hi @zuvola. Thanks for filing this issue. This seems to be similar to https://github.com/flutter/flutter/issues/109912. Can you check this https://github.com/flutter/flutter/issues/109912#issuecomment-1222023472 if it works in your case?

Thank you for your response. I've read #109912, but it seems to be different from my symptoms. I haven't been doing anything to take focus away from FocusableActionDetector by tapping on the background.
The following code is a sample that makes the issue clearer. It works correctly when repeating Shift+1, Shift+2, but does not work correctly when repeating Command+1, Command+2.

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

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: MyHomePage());
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({super.key});

  final _focus1 = FocusNode();
  final _focus2 = FocusNode();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FocusableActionDetector(
        shortcuts: {
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit1,
          ): const KeyIntent(1),
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit2,
          ): const KeyIntent(2),
          LogicalKeySet(
            LogicalKeyboardKey.shift,
            LogicalKeyboardKey.digit1,
          ): const KeyIntent(1),
          LogicalKeySet(
            LogicalKeyboardKey.shift,
            LogicalKeyboardKey.digit2,
          ): const KeyIntent(2),
        },
        actions: {
          KeyIntent: CallbackAction(onInvoke: (Intent intent) {
            if (intent is KeyIntent) {
              print(intent.key);
              if (intent.key == 1) {
                _focus1.requestFocus();
              } else {
                _focus2.requestFocus();
              }
            }
            return null;
          })
        },
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextField(
                autofocus: true,
                focusNode: _focus1,
              ),
              TextButton(
                focusNode: _focus2,
                onPressed: () {},
                child: const Text("abc"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class KeyIntent extends Intent {
  final int key;
  const KeyIntent(this.key);
}

I tried downgrading Flutter to version 3.0.0 as an experiment, and it appears that the combination of meta keys is functioning correctly.

I tried the following sample and found that in combination with the meta key, the KeyUp event does not occur.

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

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: MyHomePage());
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({super.key});

  final _focus1 = FocusNode();
  final _focus2 = FocusNode();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Shortcuts(
        shortcuts: {
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit1,
          ): const KeyIntent(1),
          LogicalKeySet(
            LogicalKeyboardKey.meta,
            LogicalKeyboardKey.digit2,
          ): const KeyIntent(2),
          LogicalKeySet(
            LogicalKeyboardKey.shift,
            LogicalKeyboardKey.digit1,
          ): const KeyIntent(1),
          LogicalKeySet(
            LogicalKeyboardKey.shift,
            LogicalKeyboardKey.digit2,
          ): const KeyIntent(2),
        },
        child: Actions(
          actions: {
            KeyIntent: CallbackAction(onInvoke: (Intent intent) {
              if (intent is KeyIntent) {
                print(intent.key);
                if (intent.key == 1) {
                  _focus1.requestFocus();
                } else {
                  _focus2.requestFocus();
                }
              }
              return null;
            })
          },
          child: Focus(
            onFocusChange: (value) {
              print("onFocusChange");
            },
            onKeyEvent: (node, event) {
              print('onKeyEvent :$event');
              return KeyEventResult.ignored;
            },
            child: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  TextField(
                    autofocus: true,
                    focusNode: _focus1,
                  ),
                  TextButton(
                    focusNode: _focus2,
                    onPressed: () {},
                    child: const Text("abc"),
                  ),
                ],
              ),
            ),
          ),
        ),
      ),
    );
  }
}

class KeyIntent extends Intent {
  final int key;
  const KeyIntent(this.key);
}

Logs
# ShiftKey
flutter: onKeyEvent :KeyDownEvent#c1f7e(physicalKey: PhysicalKeyboardKey#ed430(usbHidUsage: "0x000700e1", debugName: "Shift Left"), logicalKey: LogicalKeyboardKey#df100(keyId: "0x200000102", keyLabel: "Shift Left", debugName: "Shift Left"), character: null, timeStamp: 12:53:09.043156)
flutter: onKeyEvent :KeyDownEvent#565e2(physicalKey: PhysicalKeyboardKey#c7cce(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#8d9d2(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: """, timeStamp: 12:53:09.288838)
flutter: onKeyEvent :KeyUpEvent#f52fb(physicalKey: PhysicalKeyboardKey#c7cce(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#8d9d2(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: null, timeStamp: 12:53:09.400900)
flutter: onKeyEvent :KeyUpEvent#7c3c6(physicalKey: PhysicalKeyboardKey#ed430(usbHidUsage: "0x000700e1", debugName: "Shift Left"), logicalKey: LogicalKeyboardKey#df100(keyId: "0x200000102", keyLabel: "Shift Left", debugName: "Shift Left"), character: null, timeStamp: 12:53:10.683216)
# CommandKey
flutter: onKeyEvent :KeyDownEvent#9d16d(physicalKey: PhysicalKeyboardKey#f2ed2(usbHidUsage: "0x000700e3", debugName: "Meta Left"), logicalKey: LogicalKeyboardKey#e3a44(keyId: "0x200000106", keyLabel: "Meta Left", debugName: "Meta Left"), character: null, timeStamp: 12:53:55.017879)
flutter: onKeyEvent :KeyDownEvent#f3110(physicalKey: PhysicalKeyboardKey#c7cce(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#8d9d2(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: "2", timeStamp: 12:53:55.177234)
flutter: onKeyEvent :KeyUpEvent#2ef85(physicalKey: PhysicalKeyboardKey#f2ed2(usbHidUsage: "0x000700e3", debugName: "Meta Left"), logicalKey: LogicalKeyboardKey#e3a44(keyId: "0x200000106", keyLabel: "Meta Left", debugName: "Meta Left"), character: null, timeStamp: 12:53:55.465058)

There seems to be an issue with the relationship between TextField focus movement and key input. In the following sample, when you first move the focus with the Tab key and then press Command+1, 2, 3, etc., it appears that the KeyUp event does not occur, or its timing is incorrect.
https://github.com/flutter/flutter/assets/1144427/275dba5f-a5a2-44db-8738-287f43655c4d

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

void main() {
  runApp(const MaterialApp(home: MyHomePage()));
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Focus(
        onFocusChange: (value) {
          print("onFocusChange");
        },
        onKeyEvent: (node, event) {
          if (event is KeyDownEvent) {
            print('KeyDown: ${event.logicalKey.keyLabel}');
          }
          if (event is KeyUpEvent) {
            print('KeyUp: ${event.logicalKey.keyLabel}');
          }
          return KeyEventResult.ignored;
        },
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const TextField(
                autofocus: true,
              ),
              TextButton(
                onPressed: () {},
                child: const Text("abc"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}


Sample measurement outcomes from purification MPS

I added a short function that sample bitstrings from a purification MPS. This is a simple extension of the the function for MPS. We just need to trace over the additional q leg on each site to get the reduced density matrix. There is freedom on what to do with the q leg; one could either (1) leave it behind by doing a QR to move the OC to the next site or (2) sample it as well. If we do the second approach, one should "forget" the outcome to get physical bitstrings sampled from the distribution on the physical legs.
One can change the basis for the physical leg in the same way one does for sampling a regular MPS, but for the ancilla legs, this is not needed.
I tried this for the transverse field model and find that I correctly get the total S_z vs. $\beta$. Below is an example for an $L=30$ system with 100 samples per $\beta$ point.
Let me know if there are other checks I should do.

Also, I have a short notebook that produces the above figure. It's very minimally modified from the example purification code in TeNPy already. If helpful, I can add the notebook to the new tenpy_notebooks repository.

Looks cool, thanks!
I left some nitpicky comments, mostly to make sphinx happy.
If we get the notebook with a very simple consistency test (maybe just mean square distance between the curves you plot is not too large), that seems like enough of a test to me.

Jakob, I don't see the comments anywhere. Where should I look to find them? Sorry for the simple question.

I've address the comments. Below is a plot of the error between sampling Sz and exact measurement Sz (both arising from the same TEBD) as a function of number of samples taken.

Great thanks!
I will finish up the sphinx stuff.
Could you also PR the notebook https://github.com/tenpy/tenpy_notebooks ?


Where should I change the code if my gts' and pds' classes are diffrent with waymo proto?

Hi Waymo Research, thank you for providing this excellent dataset to the community.
I have used my own datasets, and there's more classes. But I'm used to this waymo-metrics way to evaluate my model locally. I have mapped several classes to VEHICLE, and other classes to CYCLITST. And it works well.
But I want to modify the code locally so that I can evaluate my own classes metrics. So any suggestions on how can I change the code?

Hi Sean,
I think you can do so by modifying the enum numbers in the label.proto files: https://github.com/waymo-research/waymo-open-dataset/blob/master/waymo_open_dataset/label.proto#L63-L69


[zk-sdk] Remove unnecessary exclusion of solana target

Problem
Summary of Changes
Fixes #

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.1%. Comparing base (8e331e1) to head (62ca138).
Report is 8 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master    #1064    +/-   ##
========================================
  Coverage    82.0%    82.1%
========================================
  Files         860      867     +7
  Lines      232898   233610   +712
========================================
+ Hits       191071   191881   +810
+ Misses      41827    41729    -98


five second slowmode sould be banned

:smirk:

These changes have not been made to the discord.js library yet.

I disagree that the five second slowmode should be removed. If it were to be removed, at least leave it for the $coinflip command because coinflipping would be too OP otherwise.


Incompability with C2ME

Hello,
Crash report: https://pastebin.com/bRBZKuy1
Userful tool for mapping crashs:
https://shartte.github.io/minecraft-mapper/

I can't lie, I'm afraid I don't know if that's a code fault of ours or C2ME, do you mind putting it on their issues tracker too so they can take a look and we'll figure it out?

I sent a message to ishland about this issue. It might take a while before we get something from him as he is offline for a little moment.

I sent a message to ishland about this issue.

No news?

This crash is caused by the outdated Biome Makeover. This is fixed in their 1.6.1 release but you are still running 1.6.0.

There we go, @AntonIXO if you update Biome Makeover you should be good


Add OAP aggregation optimization.

What changes were proposed in this pull request?

Support group by aggregation if OAP index exists, so far it does NOT support code gen because group reading is not supported by code gen framework.
Rename OAPStrategies -> OapStrategies for name convention.
Add IsNotNull() filter if there is no filter being passed down, therefore we can choose which index we want.
WIP for index/non-index switch, code gen support.

How was this patch tested?
mvn test pass.

Just wonder you review the code on web or local??

local

From: yueawang
Sent: October 23, 2017 at 3:46:20 PM GMT+8
To: Intel-bigdata/OAP <OAP<EMAIL_ADDRESS>Cc: Liu, Linhong <linhong.liu<EMAIL_ADDRESS>Review requested <review_requested<EMAIL_ADDRESS>Subject: Re: [Intel-bigdata/OAP] Add OAP aggregation optimization. (#330)
Just wonder you review the code on web or local??
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://github.com/Intel-bigdata/OAP/pull/330#issuecomment-338574656, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWh_sY6Wlb6IWlKtuukYhPCdl9WZU-Rvks5svERMgaJpZM4PaXd8.

Let's merge this to avoid conflicts.


Move geoLocationLatLong to JSONB

As per https://github.com/opencollective/opencollective/issues/3171, this removes the dependency on Postgis.
Sequelize was converting all GEOMETRY(POINT) to objects like { type: 'POINT', coordinates: [0, 0] } (basically what we get by calling st_asgeojson). Storing the JSONB directly seems to have the exact same effect regarding the model usage. Since no query depends on it, it seems that there's nothing more to do.

Looks good! Unfortunately, the migration doesn't seems to work in CI.

Yep it came in with my last change which DROP EXTENSION postgis. I may keep that out of the PR for now

Excellent. Next step is to remove the dependency fully in documentation and setup instructions.
Maybe we will have to update our development data dump so it doesn't need postgis?

Exactly. I posted the next steps in https://github.com/opencollective/opencollective/issues/3171#issuecomment-1109726932


toMatchFileSnapshot does not detect obsolete snapshots

Describe the bug
I'm switching over from Jest to Vitest and we are using Storybook snapshots. They have an excellent guide on how to add snapshot testing using vitest - https://storybook.js.org/docs/writing-tests/storyshots-migration-guide#vitest
Since I have ~630 snapshots, I want them to be in separate files (Even for the same component) named like

MyComponent.stories.tsx has 2 stories Error and Loading which would generate the following storyshots

MyComponent.Error.storyshot
MyComponent.Loading.storyshot

MagicInput.stories.tsx has 2 stories Invalid and Valid which would generate the following storyshots

MagicInput.Invalid.storyshot
MagicInput.Valid.storyshot

These *.stories.tsx files are gathered by storybook.test.tsx and made into storyshots.
If new stories appear, new storyshot files are generated successfully via
const snapshotPath = path.join(storyDir, options.snapshotsDirName, `${componentName}.${name}.storyshot`);
expect(rendered).toMatchFileSnapshot(snapshotPath)

but if some stories are

renamed
deleted
component removed & stories.tsx file removed,

then the useless / obsolete storyshot files are not being detected & reported or removed
While the above is a description of a very specific usecase, imagine the following (Also available as a reproduction)
import { assert, describe, expect, it } from 'vitest';

describe('Test snapshots', () => {
  it('Should generate snapshot - file', () => {
    expect('lalala').toMatchFileSnapshot('lalala-1.storyshot');
  });
  it('Should generate snapshot - generic', () => {
    expect('generic-lalala').toMatchSnapshot();
  });

  // Comment these tests out.
  // `lalala-2.storyshot` IS NOT removed
  it('Should generate snapshot 2 - file', () => {
    expect('lalala2').toMatchFileSnapshot('lalala-2.storyshot');
  });
  // `Should generate snapshot 2 - generic` IS removed from `suite.test.ts.snap`
  it('Should generate snapshot 2 - generic', () => {
    expect('generic-lalala2').toMatchSnapshot();
  });
});

If I comment out my last 2 tests, the generic snapshot is removed from suite.test.ts.snap while lalala-2.storyshot is NOT removed and snapshot file still exists
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-opw4bq?file=test%2Fsuite.test.ts
System Info
System:
    OS: macOS 14.3
    CPU: (12) arm64 Apple M3 Pro
    Memory: 56.38 MB / 36.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node
    Yarn: 1.22.21 - ~/.nvm/versions/node/v20.11.0/bin/yarn
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm
  Browsers:
    Chrome: 121.0.6167.139
    Safari: 17.3
  npmPackages:
    @vitejs/plugin-react-swc: 3.5.0 => 3.5.0
    @vitest/coverage-v8: 1.2.1 => 1.2.1
    vite: 5.0.12 => 5.0.12
    vitest: 1.2.1 => 1.2.1

Used Package Manager
yarn
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hey, thanks for raising an issue (or could it be a feature request?)
I'm not familiar with general storybook/storyshots practice, so can you clarify how you were setting up separate storyshots on Jest?
Storybook's documentation seems to suggest using https://github.com/igor-dv/jest-specific-snapshot, but from a quick look, it doesn't support cleaning up old snapshots either? Jest team seems to be also had that concerns and that's the reason Jest doesn't have this feature builtin https://github.com/jestjs/jest/issues/4231#issuecomment-321384130, https://github.com/jestjs/jest/issues/2676#issuecomment-274647517

Hi!
Thanks for taking a look!
It seems that Storybook had implemented its own IntegrityTest, to detect (and remove) abandoned storyshots https://github.com/storybookjs/storybook/blob/v7.5.0/code/addons/storyshots-core/src/api/integrityTestTemplate.ts
This seems to be missing from the new Vitest integration (or at least I can't find it) so I implemented this myself!

I see, so storybook is deprecating storyshots-core and recommending people to migrate to Vitest as a one of options, but I suppose Vitest's toMatchFileSnapshot might not be as convenient as what they think

https://github.com/storybookjs/storybook/pull/24438
https://github.com/storybookjs/storybook/pull/25063

From Vitest perspective, I don't think it's possible to make general use case of toMatchFileSnapshot to be aware of obsolete snapshots. So, like storybook did in IntegrityTest, it probably requires some custom solution based on some globing and special file extension.
Btw, in their guide https://storybook.js.org/docs/writing-tests/storyshots-migration-guide, they say they want feedback about migration, so maybe it might worth raising a issue on their repo as well?

From my understanding, it is impossible to track custom-named snapshots, so we cannot remove obsolete ones since they are not referenced anywhere anymore. I would recommend using a resolveSnapshotPath config option instead.


System.StackOverflowException when using OneWayToSource binding

When I use OneWayToSource binding from a control to ViewModel I get wrong behavior:

StackOverflowException happens.
In spite of OneWayToSource binding control tries to read from Property in ViewModel.

Example 1:
View:
<Window xmlns="https://github.com/avaloniaui"
				xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
				xmlns:vm="clr-namespace:Tests.ViewModels;assembly=Tests"
				xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
				xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
				mc:Ignorable="d"
				d:DesignWidth="800" d:DesignHeight="450"
				x:Class="Tests.Views.MainWindowView"
				Icon="/Assets/avalonia-logo.ico"
				Title="Tests">

	<Design.DataContext>
		<vm:MainWindowViewModel/>
	</Design.DataContext>

	<ItemsControl Items="{Binding Items}">
		<ItemsControl.ItemTemplate>
			<DataTemplate>
				<StackPanel>
					<TextBlock Bounds="{Binding Bounds, Mode=OneWayToSource}" />
				</StackPanel>
			</DataTemplate>
		</ItemsControl.ItemTemplate>
	</ItemsControl>

</Window>

ViewModel:
using Avalonia;
using ReactiveUI;
using System.Collections.Generic;

namespace Tests.ViewModels
{
	public class MainWindowViewModel : ReactiveObject
	{
		public class Item : ReactiveObject
		{
			Rect _bounds;
			public Rect Bounds
			{
				get => _bounds;
				set => this.RaiseAndSetIfChanged( ref _bounds, value );
			}
		}

		List<Item> _items = new List<Item> { new Item(), new Item(), };
		public List<Item> Items
		{
			get => _items;
			set => this.RaiseAndSetIfChanged( ref _items, value );
		}
	}
}

Result:
After executing I get infinity loop in set => this.RaiseAndSetIfChanged( ref _bounds, value );.
Example 2:
View:
<Window xmlns="https://github.com/avaloniaui"
				xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
				xmlns:vm="clr-namespace:Tests.ViewModels;assembly=Tests"
				xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
				xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
				mc:Ignorable="d"
				d:DesignWidth="800" d:DesignHeight="450"
				x:Class="Tests.Views.MainWindowView"
				Icon="/Assets/avalonia-logo.ico"
				Title="Tests">

	<Design.DataContext>
		<vm:MainWindowViewModel/>
	</Design.DataContext>

	<Grid RowDefinitions="* *" ColumnDefinitions="* *" ShowGridLines="True">
		<TextBlock Grid.Row="0" Grid.Column="0" Width="100" Height="100" Background="Red"
							 IsPointerOver="{Binding IsActive, Mode=OneWayToSource}" Text="{Binding IsActive, Mode=OneWay}" />

		<TextBlock Grid.Row="1" Grid.Column="1" Width="100" Height="100" Background="Blue"
							 IsPointerOver="{Binding IsActive, Mode=OneWayToSource}" Text="{Binding IsActive, Mode=OneWay}" />
	</Grid>
</Window>

ViewModel:
using ReactiveUI;

namespace Tests.ViewModels
{
	public class MainWindowViewModel : ReactiveObject
	{
		bool _isActive;
		public bool IsActive
		{
			get => _isActive;
			set => this.RaiseAndSetIfChanged( ref _isActive, value );
		}
	}
}

Result:
After executing and moving mouse over red or blue square I get infinity loop in set => this.RaiseAndSetIfChanged( ref _isActive, value );.

I'm using <PackageReference Include="Avalonia" Version="0.9.11" />.

@LtDetFrankDrebin could you fix your markdown? I'm having trouble reading it.

Thanks to the one who fixed markdown for me. I used "Insert code" button <> from tool panel and it added only single ` quotes, but with them "<Window" tag are invisible. Now I know that triple ``` quotes needed for code.

As a workaround I use MultiValueConverter now:
View:
<Window xmlns="https://github.com/avaloniaui"
				xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
				xmlns:vm="clr-namespace:Tests.ViewModels;assembly=Tests"
				xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
				xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
				mc:Ignorable="d"
				d:DesignWidth="800" d:DesignHeight="450"
				x:Class="Tests.Views.MainWindowView"
				Icon="/Assets/avalonia-logo.ico"
				Title="Tests">

	<Design.DataContext>
		<vm:MainWindowViewModel/>
	</Design.DataContext>

	<Window.Resources>
		<vm:MultiValueConverter x:Key="MultiValueConverter" />
	</Window.Resources>

	<Grid RowDefinitions="* *" ColumnDefinitions="* *" ShowGridLines="True">
		<TextBlock Grid.Row="0" Grid.Column="0" Width="100" Height="100" Background="Red" Text="{Binding IsActive, Mode=OneWay}">
			<TextBlock.Tag>
				<MultiBinding Converter="{StaticResource MultiValueConverter}">
					<Binding RelativeSource="{RelativeSource Self}" Path="DataContext" />
					<Binding RelativeSource="{RelativeSource Self}" Path="IsPointerOver" />
				</MultiBinding>
			</TextBlock.Tag>
		</TextBlock>

		<TextBlock Grid.Row="1" Grid.Column="1" Width="100" Height="100" Background="Blue" Text="{Binding IsActive, Mode=OneWay}">
			<TextBlock.Tag>
				<MultiBinding Converter="{StaticResource MultiValueConverter}">
					<Binding RelativeSource="{RelativeSource Self}" Path="DataContext" />
					<Binding RelativeSource="{RelativeSource Self}" Path="IsPointerOver" />
				</MultiBinding>
			</TextBlock.Tag>
		</TextBlock>
	</Grid>
</Window>

ViewModel:
using Avalonia;
using Avalonia.Data.Converters;
using ReactiveUI;
using System;
using System.Collections.Generic;
using System.Globalization;

namespace Tests.ViewModels
{
	public class MainWindowViewModel : ReactiveObject
	{
		bool _isActive;
		public bool IsActive
		{
			get => _isActive;
			set => this.RaiseAndSetIfChanged( ref _isActive, value );
		}
	}

	public class MultiValueConverter : IMultiValueConverter
	{
		public object Convert( IList<object> values, Type targetType, object parameter, CultureInfo culture )
		{
			if ( !(values[ 0 ] is MainWindowViewModel vm) )
				return AvaloniaProperty.UnsetValue;
			if ( !(values[ 1 ] is bool isPointerOver) )
				return AvaloniaProperty.UnsetValue;

			return vm.IsActive = isPointerOver;
		}
	}
}

I am running into this issue as well. Having two OneWayToSource binding binding to the same object result in an infinite loop when calling this.RaiseAndSetIfChanged( ref _value, value );

This also happens when binding DatePicker. Seems like the "Date" and "SelectedDate" are both trying to update.

@grokys  Any updates on this issue? I have to remove most of the OneWayToSourceBinding to avoid the StackOverFlow error.

Same issue here, I got stuck due to crashes when trying to access the width of a Grid. Would be nice to get this fixed given it's ongoing for >3yrs?

Anyone fancy to test if #13970 would solve this issue?

Anyone fancy to test if #13970 would solve this issue?有人想测试#13970 是否可以解决这个问题吗？

Was not fixed in 11.0.7

Was not fixed in 11.0.7

That's expected as the PR was not released yet. It's only testable in nightly builds. https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed

Was not fixed in 11.0.7

That's expected as the PR was not released yet. It's only testable in nightly builds. https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed

I'm sorry that I saw that the PR had been merged and subconsciously thought it was already in the release version
But in 11.1.999-cibuild0043857-beta  also not fix

I find a case that constantly triggering this issue. Binding a nullable control property to a non-nullable vm property with OneWayToSource will trigger this StackOverflow.

Just tried this on latest master and it seems to be fixed. I think it will have been fixed by #13970.


Update filters-helpers, ... to 2.8.15

Updates

com.typesafe.play:filters-helpers
com.typesafe.play:play-akka-http-server
com.typesafe.play:play-docs
com.typesafe.play:play-ehcache
com.typesafe.play:play-guice
com.typesafe.play:play-logback
com.typesafe.play:play-server
com.typesafe.play:play-specs2
com.typesafe.play:play-test
com.typesafe.play:sbt-plugin

from 2.8.13 to 2.8.15.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.play" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #81.


Whether to support multiple device connections?

Yes, it supports.

When I use both iphone and ipad to cast the screen, airplay connects successfully, but I can only see one screen on windows.


[BEAM-8151, BEAM-7848] Up the max number of threads inside the SDK harness to a default of 10k

Swap to using a thread pool which shrinks when threads are not being used.
I took a look at several threading libraries available to Python and this was the best one that I found where the threads were reused and periodically destroyed if not actively working.

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

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @pabloem @TheNeuralBit
CC: @aaltay @robertwb @Hannah-Jiang

I removed it from everywhere except for the test that you mentioned and the one place where we have logic. Note that the default is 5 * cpu count (and not unlimited).

Run Python PreCommit

Run Python PreCommit

Thanks Luke. This should be good for teh worker.

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Precommit is failing with:
16:09:15 collapsing-thread-pool-executor 2018.6 has requirement futures==3.2.0, but you have futures 3.3.0.
16:09:15 ERROR: InvocationError for command /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Phrase/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/target/.tox-py27-lint/py27-lint/bin/pip check (exited with code 1)
16:09:15 py27-lint run-test-post: commands[0] | /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Phrase/src/sdks/python/test-suites/tox/py2/build/srcs/sdks/python/scripts/run_tox_cleanup.sh
16:09:15 ___________________________________ summary ____________________________________
16:09:15 ERROR:   py27-lint: commands failed
The reason is a dependency conflict.
collapsing-thread-pool-executor requires futures == 3.2.0 for python 2.7 (https://github.com/ftpsolutions/collapsing-thread-pool-executor/blob/master/setup.py#L22)
Beam's setup.py accepts "'futures>=3.2.0,<4.0.0; python_version < "3.0"',"
We can do a few things:

Update collapsing-thread-pool-executor to relax the upper bound for futures dependency
Update beam to restict its futures dependency to use 3.2.0

Proposed this change (https://github.com/ftpsolutions/collapsing-thread-pool-executor/pull/2) will if that will be accepted.

Thanks Ahmet

Is https://github.com/ftpsolutions/collapsing-thread-pool-executor/issues/1 a concern?

Ahmet's change was merged, waiting on release to PyPi

Done, waiting on tests to pass and will merge.

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

The issue is that the collapsing-thread-pool-executor has a bug where during shutdown it tries to join worker threads but the worker threads have a default 30 second timeout waiting for work.

Started discussion looking for alternatives:
<EMAIL_ADDRESS>

Could we perhaps get this in guarded by a flag so we can do performance testing while we wait for fixes and another release?

I think the complexity of guarding this with a flag will be much larger then rebasing when the library is updated once https://github.com/ftpsolutions/collapsing-thread-pool-executor/pull/4 is merged and released so I'm not seeing the value.

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

Run Python PreCommit

R: @robertwb @aaltay @angoenka
This has now changed enough that it should be re-reviewed.

Run Portable_Python PreCommit

Run Python PreCommit

I ran the performance benchmark using the fn_api_runner_microbenchmark:
before (at commit 80e8fb59b6d785eb462e6a05b91d029fd8ff50c6):
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 1 of 10, per element time cost: 3.0014 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 2 of 10, per element time cost: 0.0394958 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 3 of 10, per element time cost: 0.0220158 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 4 of 10, per element time cost: 0.0160263 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 5 of 10, per element time cost: 0.0130143 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 6 of 10, per element time cost: 0.0111442 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 7 of 10, per element time cost: 0.00963751 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 8 of 10, per element time cost: 0.00856183 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 9 of 10, per element time cost: 0.00796899 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 10 of 10, per element time cost: 0.00760294 sec

Fixed cost   3.49717886575063
Per-element  0.003790947336139101
R^2          0.963500601942131

after (including #10091 :
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 1 of 10, per element time cost: 2.8741 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 2 of 10, per element time cost: 0.0401369 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 3 of 10, per element time cost: 0.0219585 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 4 of 10, per element time cost: 0.0161115 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 5 of 10, per element time cost: 0.0124523 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 6 of 10, per element time cost: 0.0108133 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 7 of 10, per element time cost: 0.00963711 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 8 of 10, per element time cost: 0.00862622 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 9 of 10, per element time cost: 0.00795245 sec
run_single_pipeline, 1 element(s) at start, 100 growth per run: run 10 of 10, per element time cost: 0.00736677 sec

Fixed cost   3.4638128309249883
Per-element  0.003727303158153187
R^2          0.9529920831060255

which is a negligible change

Run Python PreCommit

Run Portable_Python PreCommit

Run Python PreCommit


Theme not settable in v2

I recently switched from v1 to v2 and the css I had set in the theme property of the branding in my AdminBroOptions stopped applying. My theme is:
theme: {
      colors: {
        bck: '#000',
        defaultText: '#FFF',
        lightText: '#999',
        border: '#555',
        borderOnDark: '#2E324A',
        innerBck: '#000',
        darkBck: '#444',
        lightBck: '#666',
        superLightBack: '#999',
        inputBck: '#000',
        lightSuccess: '#008340',
        lightError: '#660040'
      }
    }

which appears as a mostly black theme in v1, under v2 I get the default white theme.

we rewrote entire UI to our own design system and along with that we also changed all theme variables. Check out the docs for theme in v2: https://softwarebrothers.github.io/admin-bro-dev/v2/Theme.html


[Question] Get total duration

Is it possible to get total duration of a remote audio file?
By using the event updateDuration event the duration is continually updated (I think until everything has been downloaded/buffered?). This makes the knob on a seek bar/scrubber jump around until duration has been determined and are perceived quite buggy and hard to use by our users.
PS. Thanks for an awesome lib! :)

Additional info: If I start playback of a file and take a look at the lock screen, the full duration is available even though I'm still getting updateDuration from SwiftAudio.
Tested on a device using iOS 13.

I see that that the duration is available using player.duration at some point, but when is it safe to assume it is available? What's the purpose of event updateDuration that does not contain the total duration?

The updateDuration event is called whenever the AVPlayerItem changes its duration. You can use this to know when the duration changes. If if seems to change abnormally I can take a look into it.
The class that is the source of the event is the AVPlayerItemObserver.
To my knowledge you can assume that the player.duration  is available when the state changes to ready

In my case, updateDuration seems to update continuously.
I tried using player.duration on ready event, but if you pass playWhenReady: true, state goes directly from loading -> playing, never entering ready state. Workaround is to update duration on ready+playing events, but that means I update duration every time player starts playing, after pausing etc.
I’m seeing another bug regarding state, where state sometimes does not go to playing, even though audio starts and elapsedSecond emits. It happens randomly, but more often if you go to settings->developer options-> and simulate a slow network (edge or worse). I can create another ticket for this, if needed?

The updateDuration seems to work as intended, it is only intended to send events whenever the item updates its duration value. Does your scrub behave better with your PR #87 and using the player's ready state?
As for the incorrect state, that is interesting and definitely seems like a bug 🐛You can move it to a separate ticket and I will do some testing too 👍

With the PR, I can access player.duration when ready :)
I don't think I completely understand the updateDuration event though, if it's working as intended. Why does it emit intermediate duration values up until the final full duration when the full duration it is already on ready?


Dense node or not dense node ? ...

Hi All,
Here's the context.
Our graph is composed of :

4M vertices
8M edges

The schema looks like that :
v.Item ----- e.HAS_LABEL -----> v.Label ----- e.HAS_CULTURE -----> v.Culture
One Culture vertex has about 4M incoming HAS_CULTURE  edges from Label vertices.
The problem is that a DELETE VERTEX Label WHERE @rid = #XX:XXXX request, for a Label connected on this dense vertex, takes about 30s to execute.
But the same request takes about 1s on a Label vertex, which is connected on another Culture vertex with only 2 000 incoming HAS_CULTURE  edges.
Could it be the reason of the slownless ?
If so, is there a way to ignore the amount of edges of the Culture dense vertex ?
Or do we have to create intermediate meta-nodes between Label and Culture vertices ?
Thank you in advance and have a good evening.

Assigned to @tglman we have already discussed this issue with him


Closing electron app does not turn off backend server

When I close my app I see the following log,
backend process successfully shutdown
info: Electron App window closed, quitting App
Not rewriting GET /exit because the client did not send an HTTP accept header.

And my backend server process is still running although the Electron process was terminated.

Not rewriting GET /exit because the client did not send an HTTP accept header. sounds like webpack hot reload which is development. Can you confirm this happens in production?


kanister bins are working only inside alpine image

I faced an issue running kando inside Debian based image
and digging further found this one: https://github.com/rust-lang/rust/issues/40049
ldd from alpine
22cf735ce9ad:/# ldd $(which kando)
	/lib/ld-musl-x86_64.so.1 (0x7fe89c655000)
	libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7fe89c655000)

ldd from debian:
root@c684e1008dc1:/# ldd /usr/local/bin/kando
	linux-vdso.so.1 (0x00007ffebfbfe000)
	libc.musl-x86_64.so.1 => not found

as a workaround, i  installed musl-dev on Debian.

Fixed! #3541


prototype for koa like middleware api

Hi I found this project is really excited, but looks like responder is missing some cool stuff for middleware APIs.
For now responder support ASGI middlewares, but I think ASGI middlewares API is a base mechanism for using already exists middlewares for WSGI or ASGI middlewares.
And like the basic idea said in the README, I think the middleware API shoud like chained, and every middleware can modify the resp.media, or the request/response header, or req.current_user, and some middleware can "block" the chaining for implement an authorization middleware. And finally it shoud looks like the koa middleware API: https://koajs.com (see the Cascading section).
So I wrote this quick and dirty prototype middleware APIs without too much considering  the async functions or class based view. It should work with this example:
import time

import responder

api = responder.API()

@api.use
async def time_usage(req, res, next):
    # this middleware add a x-time-usage header for every response
    print('before m1')
    start = time.time()
    await next()  # next calls the next middleware
    usage = time.time() - start
    res.headers['x-time-usage'] = str(usage)
    print('after m1')

@api.use
async def logging(req, res, next):
    # this middleware do the logging
    print('before m2')
    await next()  # this next call the route handler
    print(req.url, req.method)
    print('after m2')

@api.route('/')
async def fuck(req, resp):
    resp.text = 'hello!'
    print('running')

if __name__ == '__main__':
    api.run()

Can you give me a advise for, should this API will be added in responder, so I can do the rest of the work?

I don't like this approach, personally


Adding in packet loss percent and stddev time to ping measurements

Adds in kentik.ping.PacketLossPct and kentik.ping.StdDevRtt as metrics for ping devices.
Since there seems to be at least some interest here.

@314 - this is only for ping_only: true devices correct? not the response_time: true option?

@314 - this is only for ping_only: true devices correct? not the response_time: true option?

Should be for both. The same code is called in both places.


[Feature Request]: Ask confirmation before exit

Describe the feature
When cancelling transcription or closing Vibe, a dialog asking to confirm the action could be useful to avoid loosing work by mistake.
Would feature #344 be implemented, confirmation should then reset the file last_transcription.json mentioned there.

Added in https://github.com/thewh1teagle/vibe/releases/tag/v2.6.7


Need to simplify the adding of a KML resource to a Project.

The fact that GEE supports the adding of a KML Vector layer to a project is great.
The "Add KML Layer" documentation does warn that the KML file has to be wrapped in a shape file, or else you will get the mysterious error:
FATAL ERROR: SubmitTask: No vector packets for indexing
However, if you do wrap your KML resource, and try to build the project, you will get the same error. This is because the project will not build without at least one other shape file on top of the original wrapper with the KML link.
There is no reason why KML resources could not be added to a project directly as a KML resource. This would be a great addition to GEE.

here is the relevant documentation:
http://www.opengee.org/geedocs/5.2.0/answer/2760457.html


feature: setup ghcr.io/oasisprotocol/nexus docker repository

Fixes: https://github.com/oasisprotocol/nexus/issues/814
For now we push images to both Dockerhub and ghcr.io/oasisprotocol/nexus. After some transition period, we will remove the dockerhub repository.

I'm merging since we want to do a new release today. I can apply the potential changes requested in a future PR.


Support for external OpenAPI spec

Hi all,
Today I tried to upgrade the versions of the NPM modules of my documentation with docusaurus-preset-openapiand i am facing following issue :
❯ npx docusaurus start
[INFO] Starting the development server...
[SUCCESS] Docusaurus website is running at: http://localhost:3000/xxx/documentation/
[ERROR] ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.module.rules[12] should be one of these:
   ["..." | object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }, ...]
   -> A rule.
   Details:
    * configuration.module.rules[11].include[1]: The provided value "http://my-domain.com/v1/documentation/json/" is not an absolute path!
    * configuration.module.rules[11].include[1]: The provided value "http://my-domain.com/v1/documentation/json/" is not an absolute path!
    * configuration.module.rules[12].exclude[7]: The provided value "http://my-domain.com/v1/documentation/json/" is not an absolute path!
    * configuration.module.rules[12].exclude[7]: The provided value "http://my-domain.com/v1/documentation/json/" is not an absolute path!
    at validate (/Users/xxx/xxx/node_modules/webpack/node_modules/schema-utils/dist/validate.js:105:11)
    at validateSchema (/Users/xxx/xxx/node_modules/webpack/lib/validateSchema.js:78:2)
    at create (/Users/xxx/xxx/node_modules/webpack/lib/webpack.js:111:24)
    at webpack (/Users/xxx/xxx/node_modules/webpack/lib/webpack.js:158:32)
    at f (/Users/xxx/xxx/node_modules/webpack/lib/index.js:64:16)
    at Command.start (/Users/xxx/xxx/node_modules/@docusaurus/core/lib/commands/start.js:124:44)
[INFO] Docusaurus version: 2.2.0
Node version: v18.3.0

My plugin configuration is as following :
  presets: [
    [
      "docusaurus-preset-openapi",
      /** @type {import('docusaurus-preset-openapi').Options} */
      ({
        docs: {
          sidebarPath: require.resolve("./sidebars.js"),
          editUrl: "https://git.xxx.com/xxx/"
        },
        theme: {
          customCss: require.resolve("./src/css/custom.css"),
        },
        api: {
          path: "http://my-domain.com/v1/documentation/json"
        }
      }),
    ],
  ]

It is curious because with following npm depencies versions my doc is running well :

{
  "dependencies": {
    "@docusaurus/core": "^2.0.0",
    "@mdx-js/react": "^1.6.21",
    "clsx": "^1.1.1",
    "docusaurus-preset-openapi": "0.6.1",
    "prism-react-renderer": "^1.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "url": "^0.11.0"
  }
}

And with following versions it doesn't work :
{
  "dependencies": {
    "@docusaurus/core": "^2.2.0",
    "@mdx-js/react": "^1.6.21",
    "clsx": "^1.1.1",
    "docusaurus-preset-openapi": "0.6.3",
    "prism-react-renderer": "^1.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "url": "^0.11.0"
  }
}

I'm afraid of an answer like "Sorry but you have to put locally your OpenAPI spec file" because my documentation is in another repository than my API 😅

Now I think it might be a problem with trailing slash support (cf. https://github.com/cloud-annotations/docusaurus-openapi/issues/56)
Indeed the remote content is well retrieved with remote url having the slash... 😅
Unfortunately my interface contract is exposed on an url without the last slash 🤷♂

Now I think it might be a problem with trailing slash support (cf. https://github.com/cloud-annotations/docusaurus-openapi/issues/56)

in fact it does not change anything with accessible ressource with the trailing slash 😣 :
❯ npm run build

><EMAIL_ADDRESS>build
> docusaurus build

[INFO] [en] Creating an optimized production build...
[ERROR] Unable to build website for locale en.
[ERROR] ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration[0].module.rules[12] should be one of these:
   ["..." | object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }, ...]
   -> A rule.
   Details:
    * configuration[0].module.rules[11].include[1]: The provided value "http://localhost:3000/v1/documentation/json/" is not an absolute path!

Hi,
I am facing the same issue as well :(
It's not really convenient to rebuild docs site every time the external API changes.
Can this be supported eventually?

I was able to get debug this and get it working remotely, I ended up walking through the @docusaurus/core/lib/commands/start.js file and just removed my url string from the rules. Obviously not a viable solution, but I believe this error's being caused because we're passing the url in the config through to the rules and its rightfully expecting it to be a file.
I think the logic behind passing the contentPath in configureWebpack might be the culprit here

Any workaround for this issue?

+1 this

+1

+1


fake method total_commits for github_graph

it needs for https://github.com/zerocracy/judges-action/pull/355

@Yegorov please review

@rultor release, tag is 0.0.71

@rultor release, tag is 0.0.71

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.71

@yegor256 Done! FYI, the full log is here (took me 8min)

@Yegorov Great job on the review! 🌟 You've earned +4 points: +4 base, adjusted for comments and hits-of-code. Keep up the good work! Your current balance is +178. Aim for more detailed reviews next time to maximize your rewards.

@Suban05 Thanks for your contribution! Here's how your +4 points break down: +4 base, -4 for only 1 comment (policy suggests at least 6), -8 for 10 hits-of-code (policy recommends 20+), and +12 to meet the minimum reward. Remember, more hits-of-code and encouraging more review comments can boost your points next time. Keep the contributions coming! Your current balance: +131.


data picker doesn't let me set filter

For example in the RBK dev host, I can click on a date attribute like "Submitted" and I can see the From and To dates. I can actually pick dates for each, but I have no way to set the filter.

Each time you pick a date (different from the original one), the filter works and I can see the filtered results.
What seems not working is deleting that filter.

I get the same behavior as Serban does as well.

Fixed the bug for deleting a date filter in the commit 2c5bb798d3e42029aaf7a04f725a6b04a45e57de.


Automate | Services | Remove ConfigureChildDialog method & state value.

Service state machine method removed and state entry cleared.
The method is outdated.
/Service/Provisioning/StateMachines/Methods/ConfigureChildDialog
https://bugzilla.redhat.com/show_bug.cgi?id=1333874

@billfitzgerald0120 Can you please provide a better description.  Without looking at code or BZ, I have no idea what this PR is about.

@tinaafitz
Please Review

@tinaafitz
Please Review

@billfitzgerald0120
Looks good.
@gmcculloug Please review.


[2.x] Fix tests by dropping support for Laravel 7

Fixes the "Install dependencies" step of the tests.

@mr-feek Eventually, I may have found the root cause for the failing tests: barryvdh/laravel-ide-helper:2.9.2 and later require laravel/framework:^8 which requires illuminate/support:^8.
This indicates that your latest patch release (which surprised me a bit) included a breaking change (removing compatibility with Laravel 7). And since the Laravel 7 tests fail, we don't get to test the Laravel 8 side of the matrix.
I would suggest to revert the change and release another patch release (or re-release the previous patch release as a new patch release) , then remove Laravel 7 from the supported versions and bump the major version.

it wasn't my intention to remove support for laravel 7 -- I did not realize that change also occured in ide-helper. Let me figure out how to undo this.

Let me figure out how to undo this.

@mr-feek Thanks for the swift response and the new patch release, it came just in time before our (Gitlab-)Dependabot noticed the release. :tada:
My suggestion would be to branch off 1 and to bump the major in master.

I would be super happy to just ditch ide-helper all together

I'm going to close this as I want to keep laravel 7 support for now. I took your require changes and put them in https://github.com/psalm/psalm-plugin-laravel/pull/151 .
thanks for noticing that!


Bot refuses to play music after first song

Describe the bug
i tried to play the entire dkc 1 ost (it was a single yt video) and after skipping the video it didint play anything else, not even the video i put in it first.
To Reproduce
Steps to reproduce the behavior:

use +play to play song
skip song
try to play another song

Expected behavior
the bot will join and instantly leave. also the queue somehow clears itself after skipping first track
Screenshots
If applicable, add screenshots to help explain your problem.
Version Information:
i used stock music disc from the built-in discord bot browser
Additional context
i had disabled these permissions for it:

Sending files
Muting people on vc
creating threads

Does the same problem occur for all songs?
Is this the first time this has happened? Did it work properly before?
Does re-inviting the bot without disabling permissions give the same error?


Resolve user-delegated SAS problems with test tenant

A test had to be disabled due to problems authenticating with a user-delegated SAS in the test tenant. Reach out to the Azure Storage team to find out why requests using user-delegated SAS aren't authenticating as expected. Once resolved, reactivate the test.

Problem has been resolved after additional iterations. The issue was due to a combination of needing to get the correct role assignments, waiting for them to propagate, and not confusing service principals used when running in the build pipeline versus running locally.


small imrpovement on calc-trainer UI

a small change which makes the UI of the calc-trainer a little more appealing.

Thanks!


Swift interoperability through CocoaPods

There's an issue with AHKActionSheet when it's used from Swift app through CocoaPods: https://twitter.com/arnaud_momo/status/621242327537946624

Indeed. Actually I just put the files in my project, and it works. But would be much better with Cocoapods !

Hey guys, it's perfectly fine to use this lib or any other in Objective-C with Swift.
In the bridging header file, just use the @import version, like below:
//
//  Use this file to import your target's public headers that you would like to expose to Swift.
//

@import AHKActionSheet;

and you can use the AHKActionSheet normally
let actionSheet = AHKActionSheet(title: "teste")
actionSheet.addButtonWithTitle("opt 1", type: .Default) { (actionSheet)  in
    print("tapped")
}

actionSheet.show()

@lucasecf Thanks! I'm closing this issue.

Hi,
I'm facing same issue, sample code
actionSheet.addButtonWithTitle("title",  type: AHKActionSheetButtonType.Default, handler: { (AHKActionSheet) in
// unable to get to this line on selection
})


Add CII Best Practices badge

We match and earn it. See here.
https://bestpractices.coreinfrastructure.org/en/projects/1833

Maybe we combine with this PR since it's updating the same line in README? https://github.com/StackStorm/st2/pull/4113

Agreed, closing this.


Kicad V8, "index out of range

I get this error when I launch Fabrication Toolkit and after the options dialog.
Any direction where to look?
I use Kicad V8.0.1 release build. python 3.12.2

See https://github.com/bennymeg/Fabrication-Toolkit/issues/133#issuecomment-1984158997

Fixed


RuntimeError: CUDA error

Hello! This is a great work! I run the eval.py successfully, however, met some trouble when running train.py.
my running command is:
CUDA_VISIBLE_DEVICES="0,1" python -m torch.distributed.launch --nproc_per_node="2" train.py
environment:
pytorch1.8.1, cuda11.1, two p40 gpu.
And I met problem as follows:
26 16:09:44 WRN A exception occurred during Engine initialization, give up running process
Traceback (most recent call last):
File "train.py", line 129, in
loss.backward()
File "/root/miniconda3/lib/python3.8/site-packages/torch/tensor.py", line 245, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/autograd/init.py", line 145, in backward
Variable._execution_engine.run_backward(
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)
[00:05<?,?it/s]
26 16:09:44 WRN A exception occurred during Engine initialization, give up running process
Traceback (most recent call last):
File "train.py", line 129, in
loss.backward()
File "/root/miniconda3/lib/python3.8/site-packages/torch/tensor.py", line 245, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/autograd/init.py", line 145, in backward
Variable._execution_engine.run_backward(
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)
Killing subprocess 3355
Killing subprocess 3356
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/root/miniconda3/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/launch.py", line 340, in
main()
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/launch.py", line 326, in main
sigkill_handler(signal.SIGTERM, None)  # not coming back
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler
raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd)
subprocess.CalledProcessError: Command '['/root/miniconda3/bin/python', '-u', 'train.py', '--local_rank=1']' returned non-zero exit status 1.

change my environment to pytorch 1.7.0+cuda11.0 and problem solved!

你好！请问你成功复现了吗？config.py里面的num_class和num_name设置是不是不包括背景呢？


Massive slowdown after beta 14

Version

react-native-router-flux v4.0.0-beta.18
react-native 0.47.1
react 16.0.0-alpha.12

This is a general enquiry - what were the changes between beta 14 and beta 15 in RNRF?
My app experiences a massive slowdown whenever I change tabs or push a new screen into the stackcontroller. It takes almost 1-3 seconds to change, even in release mode.
This completely disappears when I revert back to beta 14 but happens in beta 15.
I strangely don't experience this in the Example project so maybe it's because of other dependencies? or the RN/React version?
My simple router is organized as follows:
<Router>
        <Tabs>
           <Stack key="tab1">
                ...Some <Scenes>
           </Stack>
           <Stack key="tab2">
               ...Some <Scenes>
           </Stack>

        </Tabs>
</Router>

For the example below, all the scenes I use are identical.
Switching from tab1 to tab2, it's quick if there's only 1 scene under tab1 and 1 scene under tab2.
When I have 3 simple scenes under tab1 and 1 simple scene under tab2, there is a huge lag when i switch from tab1 to tab2.
However, when I have 1 simple scenes under tab1 and 3 simple scenes under tab2, it is quick again.
Any help listing the changes between beta 14 and beta 15 will be much appreciated and I will be happy to report my findings for a patch.

Found that the issue happens when I use different TabIcon classes for each tab.
Solved when I have all the tabs use the same TabIcon class.


ParamResolver serialization may be relying on magic

Serialization of a ParamResolver uses the following method:
https://github.com/quantumlib/Cirq/blob/0701327bc66c988428f302dd1e4bed1eef1535a6/cirq/study/resolver.py#L226-L231
Conversion of param_dict to a list is necessary due to the JSON requirement that dict keys be built-in types, but the ordering of that list is suspicious - items has no guaranteed ordering, and the code does not explicitly sort it.
This becomes troublesome when looking at the JSON serialization test, which compares JSON generated from two representations of the same object. Somehow, this test consistently passes for ParamResolver despite the apparent freedom in the order of the param_dict list.
How does this work? It seems fragile at best, considering that CircuitOperations (see #3580) fails without sorting its qubit_map dict prior to serialization.

From https://docs.python.org/3/library/stdtypes.html#dict

Dictionaries preserve insertion order. Note that updating a key does not affect the order. Keys added after deletion are inserted at the end.

Changed in version 3.7: Dictionary order is guaranteed to be insertion order. This behavior was an implementation detail of CPython from 3.6.

Ah, then I think I see the cause of the CircuitOperation nondeterminism. The qubit_map field is populated from circuit.all_qubits(), which is a set:
self._qubit_map: Dict['cirq.Qid', 'cirq.Qid'] = {q: q for q in circuit.all_qubits()}

I'm reasonably certain that sets make no guarantees about iterator order, so this makes sense.


Enhance PDF generation

Add sorting to the folders
Fix the regex to add files with uppercase letters in their names

Hey @fjavierm, I think it would more user-friendly & time saving to have the PDF posted, even if it's an infrequent release

I put together a GitHub action to do it, but too fast, it's missing the PDF. I'll take a look when I have a few minutes. Feel free to create a PR if you have an idea already


error while loading shared libraries: libmaus2.so.2

i was running the example Cancer tumor normal
got this ,looking for help:
[2016-08-20T03:05Z] Ensure integrity of input merge BAM files
[2016-08-20T03:05Z] Merge bam files to syn3-normal-sort.bam
[2016-08-20T03:05Z] bamsormadup: error while loading shared libraries: libmaus2.so.2: cannot open shared object file: No such file or directory
[2016-08-20T03:05Z] bamcat: error while loading shared libraries: libmaus2.so.2: cannot open shared object file: No such file or directory
[2016-08-20T03:05Z] Uncaught exception occurred
Traceback (most recent call last):
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 21, in run
_do_run(cmd, checks, log_stdout)
File "/opt/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 95, in _do_run
raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; bamcat level=0 tmpfile=/home/alan/cancer-dream-syn3/work/align/syn3-normal/tx/tmpCE7klJ/syn3-normal-sort.bam-bammerge cat /home/alan/cancer-dream-syn3/work/align/syn3-normal/tx/tmpCE7klJ/syn3-normal-sort.list | bamsormadup threads=8 indexfilename=/home/alan/cancer-dream-syn3/work/align/syn3-normal/tx/tmpCE7klJ/syn3-normal-sort.bam.bai tmpfile=/home/alan/cancer-dream-syn3/work/align/syn3-normal/tx/tmpCE7klJ/syn3-normal-sort.bam-bamsormaduptmp > /home/alan/cancer-dream-syn3/work/align/syn3-normal/tx/tmpCE7klJ/syn3-normal-sort.bam
bamsormadup: error while loading shared libraries: libmaus2.so.2: cannot open shared object file: No such file or directory
bamcat: error while loading shared libraries: libmaus2.so.2: cannot open shared object file: No such file or directory
' returned non-zero exit status 127

Alan;
Sorry about this issues. Is it possible you have another biobambam installation on your machine that takes precedence over the one installed with bcbio? What does:
which bamsormadup
readlink -f `which bamsormadup`
ldd $(readlink -f `which bamsormadup`)

report? The installation within bcbio should take care of referencing the necessary shared libraries correctly within bioconda, so this might help diagnose what happened with the installation.

hi,chapmanb  ,thanks the help
i ran
which bamsormadup readlink -f which bamsormadupldd $(readlink -fwhich bamsormadup)
got this:
(root) [alan@GZJZ tests]$ which bamsormadup
/opt/local/share/bcbio/anaconda/bin/bamsormadup
(root) [alan@GZJZ tests]$ readlink -f which bamsormadup
/opt/local/share/bcbio/anaconda/bin/bamsormadup
(root) [alan@GZJZ tests]$ ldd $(readlink -f which bamsormadup)
linux-vdso.so.1 =>  (0x00007ffeb679f000)
libmaus2.so.2 => not found
libalign.so => not found
libmaus2_simd_align_128.so.2 => not found
libmaus2_simd_align_256.so.2 => not found
libsnappy.so.1 => /opt/local/share/bcbio/anaconda/bin/../lib/libsnappy.so.1 (0x00007f915b680000)
libstdc++.so.6 => /opt/local/share/bcbio/anaconda/bin/../lib/libstdc++.so.6 (0x00007f915b2c4000)
libgnutls.so.28 => not found
libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x0000003d8a600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003d8a200000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d8aa00000)
librt.so.1 => /lib64/librt.so.1 (0x0000003d8b200000)
libtasn1.so.6 => not found
libhogweed.so.2 => not found
libgmp.so.10 => /opt/local/share/bcbio/anaconda/bin/../lib/libgmp.so.10 (0x00007f915b04e000)
libz.so.1 => /opt/local/share/bcbio/anaconda/bin/../lib/libz.so.1 (0x00007f915ae38000)
libnettle.so.4 => not found
libm.so.6 => /lib64/libm.so.6 (0x0000003faf000000)
libgomp.so.1 => /opt/local/share/bcbio/anaconda/bin/../lib/libgomp.so.1 (0x00007f915ac14000)
libgcc_s.so.1 => /opt/local/share/bcbio/anaconda/bin/../lib/libgcc_s.so.1 (0x00007f915a9fd000)
libc.so.6 => /lib64/libc.so.6 (0x0000003d89e00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d89a00000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003d90e00000)
(root) [alan@GZJZ tests]$

hi,chapmanb,I had fix this error
I ran  sudo find / -name libmaus2.so.2
got this:
/opt/local/share/bcbio/anaconda/pkgs/biobambam-2.0.44-0/share/biobambam-2.0.44-0/lib/libmaus2.so.2
/opt/local/share/bcbio/anaconda/share/biobambam-2.0.44-0/lib/libmaus2.so.2
/opt/local/share/bcbio/anaconda/lib/libmaus2.so.2
/exports/home/alan/libmaus2-master/src/.libs/libmaus2.so.2
/exports/opt/share/bcbio/anaconda/pkgs/biobambam-2.0.44-0/share/biobambam-2.0.44-0/lib/libmaus2.so.2
/exports/opt/share/bcbio/anaconda/share/biobambam-2.0.44-0/lib/libmaus2.so.2
/exports/opt/share/bcbio/anaconda/lib/libmaus2.so.2
I found libmaus2.so.2, libalign.so, libmaus2_simd_align_128.so.2,libmaus2_simd_align_256.so.2
in /opt/local/share/bcbio/anaconda/pkgs/biobambam-2.0.44-0/share/biobambam-2.0.44-0/lib/
so i copy them into /opt/local/share/bcbio/anaconda/lib/
cp /opt/local/share/bcbio/anaconda/pkgs/biobambam-2.0.44-0/share/biobambam-2.0.44-0/lib/* /opt/local/share/bcbio/anaconda/lib/
that fix the problem.


Privacy Pass

It would be much better to resolve one captcha and use passes when needed instead of 30 captchas that takes a lot of time. Did You looked into Privacy Pass algorithm?

every time the Privacy Pass plugin needs a new set of privacy passes, it creates a set of thirty random numbers t1 to t30, hashes them into an elliptic curve (P-256 in our case), blinds them with a value b and sends them along with a challenge solution. The server returns the set of points multiplied by its private key and a batch discrete logarithm equivalence proof. Each pair (ti, HMACi(M)) constitutes a Privacy Pass and can be redeemed to solve a subsequent challenge. Voila!

Privacy pass is already disabled on some sites and would probably be completely abandoned if implemented here imo

I was reading up on it, it has to implemented server side from what i was see'ing it isn't instantly deployed by Cloudflare.... I mean I could be wrong on this??!?

Yes, we need private key used to generate it fully automatic and i assume they guard it better than cookies ;-).
But probably if we manage to interact with privacy pass extension it could be at least "semi-automatic" - my logic is this:

launch/enable privacy pass extension (using whole chrome/firefox browser probably)
init privacy passes generation
solve recaptcha - privacy pass generates 30 hashes here
retrieve all 30 hashes probably by faking connection between privacy pass and cloudflare site so they don't mark it as used
use privacy pass hashes for whatever site we want

Of course this is completely different solution than cloudscraper so it's not exactly enhancement and i havn't checked if this is even possible, just looking around :-)

I have no problem starting this as a project, perhaps as a completely separate repo, and just integrating in to cloudscraper once I have a working solution

Definitely possible :-)
You just modify the chrome extension to send the tokens received from the website to a local sql server (what I did, and the extension is also using the sql database instead of the local storage of the browser), then from your app you can simply consume these tokens in generating redeem headers.
However, it seems that some cloudflare protected websites have put counter measures to prevent using it "freely", even if you got a cf_clearance cookie from bypass token, the next page you request you get again a hcaptcha, if you pass it then you are cleared!!


[BREAKING CHANGE] Rename unmarshal funcs

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (1b4f5f9) 72.00% compared to head (da15aec) 72.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #11   +/-   ##
=======================================
  Coverage   72.00%   72.00%
=======================================
  Files           1        1
  Lines          25       25
=======================================
  Hits           18       18
  Misses          6        6
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Icons Preview for people who want to fix the icons offsets [like what i code in the video here]

What feature do you want to get added on the base engine?
https://user-images.githubusercontent.com/71563419/143674971-00330546-fef5-4378-9f8c-4b19a54d0eed.mp4
iits so simple i just put this on CharacterEditorState
		\nF1 - Idle Health Icon
		\nF2 - Loss Health Icon

if (FlxG.keys.justPressed.F1)
			{
				leHealthIcon.updateHitbox();
				trace("Idle Health Icon");
				leHealthIcon.animation.curAnim.curFrame = 0;
				FlxG.sound.play(Paths.sound('scrollMenu'));
			}
			if (FlxG.keys.justPressed.F2)
				{
					trace("Loss Health Icon");
					leHealthIcon.animation.curAnim.curFrame = 1;
					FlxG.sound.play(Paths.sound('scrollMenu'));
				}
``` this for the default 2 icons but for me i use wining icons too

i wish you add this to the new version of Psych Engine

i Love Pscyh Engine

Try using this image on your iconGr

Try using this image on your iconGrid
image preview:

i dont fucking using iconGrids i use 1 image that has 3 frames like this

Psych Engine doesn't support Winning Icons, and unless it gets added to the base game, it never will.

i didnt mean wining icons i mean editor for lose and idle icons this is just my case

also for fixing the icons offsets


REQUEST: Make MDPrivateKeys flags clearer/order non-specific

To get both an secp384r1 and RSA4096 cert simultaneously, I wasn't aware of specific ordering of RSA being first and the fact that secp384r1 was one flag and RSA requires two separate flags.  Either that, or the fact that one cert failed and the other succeeded causing rate limiting was problematic in determining how to get an RSA cert at 4096 bits alongside an secp384r1 cert.  I believe I set secp384r1 first, initially.
The RSA flag defaults to 2048 or to server-preference of letsencrypt.  A space and 2048 also sets 2048.  I suggest requiring RSA and its encryption strength be one flag which would also prevent unexpected defaults being applied which may change while the httpd.conf configuration may not: RSA4096, RSA2048, etc, similarly to secp384r1.
In the event that even more certificates are supported or become the norm for legacy reasons or changes throughout openssl 3.0, it would be easier to understand one cert being only ever being one flag.  If the order is specific, changing that to not requiring RSA before secp384r1 would be helpful, but that may have been the rate limiting causing failures, which I don't recall.
Thanks for the great module!

There is some backward compatibility game here. But I like the notion of allowing rsaNNNN as alternate names.
The module will handle RSA NNNN as first or second (or nth) specification. There are test cases for this. If I did not catch a particular case, please provide an example.

I've tried to test and see if I can get it to fail like before, but I'm getting a new problem now.  The apache mod_status page displays "ongoing" for the certs for quite some time, and then it displays this:
Error[Internal error (specific information not available)]: Unable to retrieve secp384r1 certificate chain. Next run in ~5 seconds
Is it possible that LetsEncrypt banned me because of the past failures and the repeated queries (it retries in about 3 seconds, then 5, then slightly higher and slightly higher each time, seemingly infinitely)?  I never received an email mentioning anything.

Did you try the md-status handler and the JSON it produces? It will give you more detail, including some mdomain specific logging.
The logging itself you will also find in the staging directory of the mdomain.

Comparing to archives (thanks for having it save those!), it looks like it skips over validation, or letsencrypt simply doesn't attempt to validate, and then attempts to grab the cert anyway.  Strangely, not every archived job.md has the line "Setting up challenge 'tls-alpn-01' for domain jon8rfc.homeip.net", but some do:
"last": {
"status": 20014,
"status-description": "Internal error (specific information not available)",
"detail": "Unable to retrieve rsa certificate chain.",
"activity": "Retrieving rsa certificate chain for jon8rfc.homeip.net"
},
"log": {
"entries": [
{
"when": "Thu, 28 May 2020 11:10:45 GMT",
"type": "renewal-error",
"detail": "Unable to retrieve rsa certificate chain."
},
{
"when": "Thu, 28 May 2020 11:10:45 GMT",
"type": "progress",
"detail": "Retrieving rsa certificate chain for jon8rfc.homeip.net: Unable to retrieve rsa certificate chain."
},
{
"when": "Thu, 28 May 2020 11:10:45 GMT",
"type": "progress",
"detail": "Retrieving rsa certificate chain for jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:15 GMT",
"type": "progress",
"detail": "Monitoring challenge status for jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:15 GMT",
"type": "progress",
"detail": "Setting up challenge 'tls-alpn-01' for domain jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:15 GMT",
"type": "progress",
"detail": "Starting challenges for domains"
},
{
"when": "Thu, 28 May 2020 11:10:15 GMT",
"type": "progress",
"detail": "Loaded order from staging"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Selecting account to use for jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Driving ACME to renew rsa certificate for jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Contacting ACME server for jon8rfc.homeip.net at https://acme-v02.api.letsencrypt.org/directory"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Assessing current status"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Checking staging area"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "progress",
"detail": "Retrieving rsa certificate chain for jon8rfc.homeip.net"
},
{
"when": "Thu, 28 May 2020 11:10:14 GMT",
"type": "starting"

It might be LetsEncrypt being down.  I checked yesterday when it first happened, but there wasn't any mention of a problem.  I've checked again, and now it's showing that it was down yesterday, AFTER I had the failure.  Maybe there's still an issue:
https://statusgator.com/services/lets-encrypt

You could check if you have the same problems with  the staging api (that also has less restrictions on quotas). Until you get everything working.
You can also configure
LogLevel md:trace5

for very detailed logging in your apache error.log to see even how request/responses from letsencrypt are.

Thanks for the help.  I switched to staging and the same problem seems to occur.
From what I read in a post of yours on letsencrypt, could this be related to OCSP stapling being enforced via the cert?  That's the best I could find through searches.  The only thing which I think has changed were the May Windows updates being installed on my Hyper-V host.
I tried to strip down what looks like the errors and removed tokens and file paths, which I'd rather not post publicly.  I'm happy to personally email you a complete log if it's something you have time to take a look at.  I don't know what is timing out, all of a sudden.
[Fri May 29 23:52:45.941835 2020] [md:debug] [pid 1136:tid 1288] md_acme_authz.c(215): ACME server authz: challenge 'pending' for jon8rfc.homeip.net at
[Fri May 29 23:52:45.941835 2020] [md:debug] [pid 1136:tid 1288] md_acme_order.c(510): (11)Resource temporarily unavailable: jon8rfc.homeip.net: status pending at
[Fri May 29 23:52:45.941835 2020] [md:debug] [pid 1136:tid 1288] md_acme_order.c(552): (70007)The timeout specified has expired: jon8rfc.homeip.net: checked authorizations
[Fri May 29 23:52:45.941835 2020] [md:debug] [pid 1136:tid 1288] md_result.c(254): md[jon8rfc.homeip.net] while[Monitoring challenge status for jon8rfc.homeip.net]mod_md.c(240): store event=0 on file  (group 4)
[Fri May 29 23:52:45.943789 2020] [md:debug] [pid 1136:tid 1288] md_acme_drive.c(756): jon8rfc.homeip.net: retrieving rsa certificate chain
[Fri May 29 23:52:45.943789 2020] [md:error] [pid 1136:tid 1288] (20014)Internal error (specific information not available): jon8rfc.homeip.net: asked to retrieve chain, but no certificate url part of order
[Fri May 29 23:52:45.943789 2020] [md:debug] [pid 1136:tid 1288] md_result.c(254): (20014)Internal error (specific information not available): md[jon8rfc.homeip.net] while[Retrieving rsa certificate chain for jon8rfc.homeip.net] detail[Unable to retrieve rsa certificate chain.]
[Fri May 29 23:52:45.943789 2020] [md:debug] [pid 1136:tid 1288] md_reg.c(1117): (20014)Internal error (specific information not available): jon8rfc.homeip.net: staging done
[Fri May 29 23:52:45.943789 2020] [md:error] [pid 1136:tid 1288] (20014)Internal error (specific information not available): AH10056: processing jon8rfc.homeip.net: Unable to retrieve rsa certificate chain.
[Fri May 29 23:52:45.943789 2020] [md:info] [pid 1136:tid 1288] AH10057: jon8rfc.homeip.net: encountered error for the 4. time, next run in 40 seconds

Must've been a fluke.  Nothing has changed on my end other than repetitive attempts.  It magically worked today with staging (and it was failing yesterday with staging) and I commented out
MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
Yet it seems to have kept the staging cert which it successfully retrieved.  That's the only flag I set for staging.  Did I do something incorrectly?  My understanding was that staging was for dry/test runs and nothing actually happened in the real world.

When you switch from one CA url to another, the cert is only renewed when the existing one expires. To force a renewal, you can just (re-)move the domain/ directory and reload your server.


Implement sending on-chain transactions

Closes #31
Description
This PR adds initial support to make on-chain payments.
Note: I'm opening this PR for early feedback. Additional functionality I want to implement is listed below
Steps to Test

Click the Send button on the home screen
Click on the Bitcoin/Litecoin tab
Enter the amount and the recipient address
Click the Send button

Screenshots

Additional Functionality to Implement

[x] calculate and display fees (via earn api?)
[ ] display the balance locked in channels and allow user to close channels to free up funds
[x] warn user if the tx will create a small dust utxo (LND will return an error in this case)

Ok, I think this is ready for a full review.
The current dust detection functionality is pretty basic. It's ok but not great IMO. I just found this coinselect library that could be another option for estimating fees more accurately. We just need to give it a list of utxos and the fee rate from earn.com. It will return the exact fee in sats. I want to play with it to see how accurate it is. If it works i'll create a separate PR because this one is already growing pretty big.
For the feature to show the wallet balance locked in channels, I thought of an idea that I think would look nice. Show a modal with a pie chart type graph with 3 slices for where funds are allocated (in channels, on-chain, unavailable/pending). I think I can use the circular progress from antd so we don't need to add a heavy charting library as a dependency. Below the pie chart, show tabs & tables listing further details of how the funds are broken up per channel, utxo & pending txn. This same modal can be linked from the pending icon currently on the home screen as well. I know this may be a bit more code, so I want to do that in a separate PR as well.

Thanks for the review and feedback. I’ll get these items fixed up.

I made the updates based on the review. I think it should be good to go.


how can i use 2D HTML in 3D scene?

We only accept feature requests that are discussed on the BabylonJS forum
Describe the solution you'd like
I wonder use babylonjs realize a demo like this https://codesandbox.io/s/9keg6?file=/src/HeroPage.js
Discussion
You must provide a link to the forum post where the initial discussion happened
thanks guys
I hope your reply

Not sure you need babylon js for that unless you want to write a book of code.
My first instinct would be do do that using HTML and css making use of the transform features of css.
You can do some crazy stuff with HTML and "3d" css.
https://freefrontend.com/css-3d-examples/

Not sure you need babylon js for that unless you want to write a book of code. My first instinct would be do do that using HTML and css making use of the transform features of css. You can do some crazy stuff with HTML and "3d" css.
https://freefrontend.com/css-3d-examples/
if you are hard set to do this in babylon you will need to start coding because you will at the very least need the following.

custom renderer that understands html markup and css shader. you will have to transform html into mesh data and css into shaders / materials
layout engine - will need to understand css and translate that into positional data calculating behaviors between layout problems.
input engine - selection be crazy.

You would far more productive to model out a fake html than use actual html.
OR
use html and "3d" css features. :) <-- pick me.

Not sure you need babylon js for that unless you want to write a book of code. My first instinct would be do do that using HTML and css making use of the transform features of css. You can do some crazy stuff with HTML and "3d" css.
https://freefrontend.com/css-3d-examples/
if you are hard set to do this in babylon you will need to start coding because you will at the very least need the following.

custom renderer that understands html markup and css shader. you will have to transform html into mesh data and css into shaders / materials
layout engine - will need to understand css and translate that into positional data calculating behaviors between layout problems.
input engine - selection be crazy.

You would far more productive to model out a fake html than use actual html.
OR
use html and "3d" css features. :) <-- pick me.

this is what i want to achieve，it is used plane that circled in red now, but i want use 2D HTML in it

Well it looks like you are trying to do something that involves the babylonjs UI.
Either way you will need to parse the element and it's children.
https://doc.babylonjs.com/divingDeeper/gui/gui
Babylon supports some layout controls like stack panels that hell help you with layout.
https://playground.babylonjs.com/#XCPP9Y#11
Not sure why you are set on using HTML, don't think it buys you anything but incase it's for tooling sake you may want to look at the UI editor
https://doc.babylonjs.com/toolsAndResources/tools/guiEditor

This should help, but it must be used in browser.

"Note that the use of HtmlMesh requires that the experience be accessed through a browser so in it's current form, this will not work in native apps or in XR."

https://doc.babylonjs.com/communityExtensions/htmlMesh


bug: doesn't actually work

this package doesn't work, but https://github.com/der-On/es6-promise-series does (albeit their package name in their README is wrong, it works)

what do you mean by not work

I tried a simple test but it didn't execute the promises.
const promiseSeries = require('promise.series');
const promises = [ Promise.resolve('a'), Promise.resolve('b') ];
promiseSeries(promises).then(console.log).catch(console.error);

see https://github.com/egoist/promise.series/blob/master/README.md#tasks


Consolidate common constants into constants.py.

self explanatory

Current dependencies on/for this PR:

main

PR #371   👈

This stack of pull requests is managed by Graphite.


Update translation for Spanish Language

Hi! This PR improve Spanish Translation

Thanks, @ClaudioEyzaguirre!
@all-contributors please add @ClaudioEyzaguirre for translation.


Dev/nigelhew

Update dfttk.workflows

Cleaned up the code a bit
Added default values for ENCUT and k-point convergence.
There doesn't appear to be a clear cut way to judge convergence.
At the moment it just compares the energy difference between steps in
meV/atom.

What was wrong with comparing to the highest number of kpoints?

I am not sure.


Groovy scripts integration for custom message

It would be totally cool if you integrate support of $SCRIPT as email-ext-plugin uses it
https://github.com/jenkinsci/email-ext-plugin
Even better would be if directories to search for groovy-based templates would be supported with compatibility to it(i.e. fallback to search path of the plugin if not found in our own dirs).
This will make customization very cool and totally replace email usage with slack 😄

Token macro plugin support was added in 2.4
That may help with what you wanted?


[RemoteAST] Stop bypassing resilience when doing queries.

Avoid going to IRGen with a resilient type to avoid crashing.
This is tested in lldb.
rdar://problem/45049259

Please test with following PR:
https://github.com/apple/swift-lldb/pull/999
@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 686b393b21a6aef84e365dc3db3d94d5dea3050d

Build failed
Swift Test OS X Platform
Git Sha - 686b393b21a6aef84e365dc3db3d94d5dea3050d

Thank you, John.

Please test with following PR:
https://github.com/apple/swift-lldb/pull/999
@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 686b393b21a6aef84e365dc3db3d94d5dea3050d

Build failed
Swift Test Linux Platform
Git Sha - 4f45622803667c2e41522d34fad5525f2d60f1b0

@swift-ci please test linux


OBDLink MX+ via BT Stuck on initializing, Received Data: Error\r

Tried by cloning repo, running Demo.xcodeproj and testing with the OBDLink MX+ Model MX201 (3.1) connected via Bluetooth. The OBDLink is connected to Freematics OBD-II emulator (KWP2000, ISO9141-2, CAN BUS & J1850).
In sendInitializationSequence, the responseHandler in transmitRawString is never called.
I see in the logs "Received Data: Error\r"
Full log: https://hastebin.com/share/ivobiqulad.xml
Sending ATD command alone causes the same error.
Sending ATZ alone gives some sort of output that is not an error:
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: OBD-II EMULATOR V1.2
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: \r\n
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: -[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:169) Warning: Skipping invalid character 0x00 in response...
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: OBD-II EMULATOR V1.2
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: \r\n00.00.02,00.01.05,
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: 202311,GH202311B****
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: 15,LSGGG************
-[LTOBD2AdapterELM327 receivedData:receiveBuffer:] (LTOBD2AdapterELM327.m:154) Received data: \r\n

(*-ed out some stuff like VIN).
Full log: https://hastebin.com/share/urezewawij.xml
Is there a way to make this work? The adapter is meant to be ELM327 compatible and lists many supported ELM327 commands:
stn1100-frpm (1).pdf

It looks like this OBD-II EMULATOR is putting more stuff out on initialization than usually.
Can you please post the full communication log in here? (The file on hastebin did vanish)

I think it was an issue with the adapter I was using--we tried the
UniCarScan in the list of supported BLE devices and it started to work. Not
sure how MFi works.
On Sun, Mar 31, 2024 at 7:24 AM Dr. Mickey Lauer @.***>
wrote:

It looks like this OBD-II EMULATOR is putting more stuff out on
initialization than usually.
Can you please post the full communication log in here? (The file on
hastebin did vanish)
—
Reply to this email directly, view it on GitHub
https://github.com/mickeyl/LTSupportAutomotive/issues/52#issuecomment-2028768929,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHAR77ZUWWTY4EOAFNDKADY3AMCHAVCNFSM6AAAAABE6ETHBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRYG43DQOJSHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Dennis Lysenko


Time consuming for large data

Trying to post a job with large message data will make your node process to be time consuming. CPU will go to 99%.
I've tried the same data with rsmq without issues.
I guess is not suitable for big chunks of data.

Oppss.. I was by mistake passing a buffer instead the contents.


New emmet

VSCode Version:
OS Version:
Ok so Im trying to use emmet and sometimes it auto expands and sometimes it doesn't. Even when I try to abbreviate actual components being imported. PS I did check my keyboard shortcuts etc...

Does this issue occur when all extensions are disabled?: Yes/No

Please give reproducible steps, like "Opening a html file with below content, and typing in line x character x..." etc


Limit calls to service

First of all - excellent feature for HA! I've found your add-on really helpful in getting around some limitations in HA.
Is your feature request related to a problem? Please describe.
No, not that I'm aware of.
Describe the solution you'd like
The ability to limit the number of calls to a service made within a certain amount of time. The problem I have is that I use an API service that has a rather low daily call limit. Normally, this is fine under normal circumstances. However, when developing or editing multiscrape sensors, the act of reloading the configuration calls all the services, clocking up the calls to each API service, including the one with the low daily allowance. It would be useful if there was a setting that allows you to configure the minimum time between calls to the URL, and that any attempt to update the sensor during this call lock-out time will simply be ignored. If this could persist across HA restarts too, even better!
Describe alternatives you've considered
Remembering to comment out the API key of the low call allowance service before starting to develop other multiscrape sensors (or anything that might trigger a multiscrape refresh)!
Under normal circumstances, I've added a button to manually call for the update of the low call allowance service and set the "scan_interval" setting to a very large value. It would be good if the call lock-out time would apply to those manual refresh calls too.
Additional context
This is another use case for this proposed feature: I use the data from the low call allowance service on an electronic display. The manual updating by pressing a button is a bit clunky, and it would be good if the data was refreshed when the page was selected for a rather slicker display. I wouldn't want to refresh the data every time the page is selected, but rather I would like it to limit the time between calls to be, say, 30 mins or more, regardless of how many times the page is selected in that time. I know it is possible to effectively achieve this by other means, but a single configuration option as described above would make the implementation so much easier!
What do you think?

As of version v8.0.2, you can set the scan_interval to 0 and it will not scrape automatically at all. You can then trigger scraping with an automation at an interval that suits you.