[FLINK-8220] Implement set of network benchmarks

This PR implements sets of network benchmarks that are intended to simulate various workloads for network stack. Benchmarks will be executed by flink-benchmarks (https://github.com/dataArtisans/flink-benchmarks/pull/3) project. We want to keep the code of the benchmarks here, since components they are using are not part of public api and we don't wont them braking unknowingly on changes in the flink code.
Example results (including performance fix #5104):
Benchmark                                   (channels)  (writers)   Mode  Cnt      Score      Error   Units
NetworkBenchmarkExecutor.networkThroughput           1          1  thrpt   10  23322.178 ±  261.931  ops/ms
NetworkBenchmarkExecutor.networkThroughput           1          4  thrpt   10  57279.697 ± 4152.714  ops/ms
NetworkBenchmarkExecutor.networkThroughput          50          1  thrpt   10  22927.629 ±  341.008  ops/ms
NetworkBenchmarkExecutor.networkThroughput          50          4  thrpt   10  60761.706 ± 1172.354  ops/ms
NetworkBenchmarkExecutor.networkThroughput        1000          1  thrpt   10  17765.148 ±  479.579  ops/ms
NetworkBenchmarkExecutor.networkThroughput        1000          4  thrpt   10  41030.963 ± 1149.041  ops/ms

Verifying this change
This change adds two tests ensuring that benchmarks are compiling and executing as expected without an exceptions.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Why do you want to add these to flink when they are only used by an external repository? Wouldn't it make sense to consolidate all benchmarking code to the flink-benchmark repo?

Or if flink-benchmarks does not need to be distributed then that code could be contributed to the main Flink repository.

@zentol putting this code in external repository would make those benchmarks very fragile, since they depend on Flink internals. Almost any refactor made in Flink's network stack would brake the external repository (of which most committers are not even aware of) and would require coordinated commits, which would be unmaintainable.
@greghogan hmmm, that's a very tempting option, however I'm not the one that must be convinced that such option is legally viable.

It seems like commons-lang doesn't have any issues with using jmh in tests: https://commons.apache.org/proper/commons-lang/dependencies.html
However @greghogan do you remember my previous attempt with JMH in Flink? https://github.com/apache/flink/pull/4323 Was it a false alarm?

@greghogan That may or may not be possible, not 100% sure. Re-distributing it does certainly not work.
To my current understanding, the Apache guidelines say we would need to make sure that downstream consumers of Flink (also the source) don't accidentally pull in a GPL license. For weak copyleft, where consuming it only via linking, it is okay, but for strong copyleft, where accidentally linking it results in copyleft, I think the hurdles for that are pretty high. There are some gray zone areas (like MPL) where the understanding is that "optional" dependency is okay because it requires an explicit action by a downstream user (re-adding the dependency) and the potential damage is not too high.
I have seen a lot of cases first hand in the past months how many companies that want to use open source freak out as soon as they see an instance of GPL. We would make Flink's adoption easier if we did not have that.
My first suggestion would be to consolidate this in a separate flink-benchmarks repository. That would also keep the core Flink repository "clear" of GPL. I could check with Apache legal for a final answer.

@pnowojski see FLINK-2848 and FLINK-2973. Also the BSD + Patents conversation along with Flink's dependence on Amazon's Kinesis library (likewise Category X). I now think we have been overly cautious in this regard, not necessarily a bad thing.
As @StephanEwen noted, the GPL-dependent code must be an optional component. We do this with Kinesis by not releasing convenience binaries but requiring the user to compile from source with an explicit flag. I think we are safe to include a flink-benchmarks module which is not depended on or included in the Flink distribution. The benchmarks are Apache licensed, only the dependence on jmh prohibits distribution, so can be included in the (source) release. These are performance, not integration, tests so would be run manually rather than during the build.
I agree with @StephanEwen's caution but we would not be releasing GPL code, it is not obvious that jmh is GPL licensed, and Java itself is GPL.

@greg I think there is one more requirement by the ASF (not necessarily the Apache License itself), which is making sure that downstream consumers of Apache projects are always explicitly aware when they are consuming something (even when the build themselves) that has friction with the ASL 2.0.
My preferred solution would still be a separate repository. Executing benchmarks during tests is pretty tricky anyways, because their result depends so much on where the benchmark is executed, and what happens concurrently on the machine, is it a VM or container, etc.

I also think being more on the cautious side is actually a good thing. Given how scared and confused many people and companies are with respect to open source and accidentally infringement of IP, being cautious is good, in my opinion.
There is an interesting comment from Ted Dunning on a related question, basically saying that if things could be a problem or not, think if some cautious/picky users might perceive them as a problem:
<EMAIL_ADDRESS>

@StephanEwen thanks for the link and thoughtful discussion. Including jmh benchmarks has come up multiple times. Do you see any path to including such a benchmark module in the main Flink repo?

I having a flink-benchmarks repo is not a solution that the community likes, we could check whether adding it in test scope is okay, if we ensure we do not publish a "test-jar" - that way there is no redistribution and no user could accidentally pull it in.

Skipping the maven-deploy-plugin should accomplish that:
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
		</plugins>
	</build>

Would be great if someone could check with Apache legal if this is actually in line with policies. Either on the LEGAL Jira, or on the<EMAIL_ADDRESS>mailing list.


drawio output - changes for public network and IBM Cloud

Two modifications:

The VPC rectangle should be contained in an "IBM Cloud" rectangle.
The "public network" rectangle should be to the left of "IBM Cloud" (not containing anything)

See standard examples in the official repo: https://github.ibm.com/ibmcloud/ibm-cloud-stencils#v20-examples

i see in the example the hierarchy:
IBM cloud -> Region -> ibm vpc -> zone -> subnet
should I add also Region?

We can, but we don't have to, and it is not a trivial addition. You can see in the examples that it is OK to skip levels (the IKS example drops the VPC). As long as we are looking at only one VPC the region is not crucial information.
However, to add it we will need to reverse engineer the region from the zones that appear in the VPC (because the region is not a property of a VPC configuration object). And if we don't want to rely on naming conventions we will need to use the API to get the list of regions and zones.
I suggest handling the region in a separate issue that will wait until we have stakeholder feedback saying they want it.


Fix STORAGE syntax

Index Issue: pingcap/tidb#11486
These are bad (incompatible) SQL cases:

ALTER TABLE t STORAGE MEMORY STATS_SAMPLE_PAGES 11.11 , LOCK set_var ident
ALTER TABLE t STORAGE MEMORY MAX_ROWS =   11.11 , LOCK ident
ALTER TABLE t STORAGE MEMORY   KEY_BLOCK_SIZE 10
ALTER TABLE t STORAGE MEMORY , LOCK   set_var FILE
ALTER TABLE t STORAGE DISK MAX_ROWS =   123
ALTER TABLE t STORAGE DISK , LOCK =   DEFAULT
ALTER TABLE t STORAGE DISK ,   ALGORITHM set_var XA
ALTER TABLE t STORAGE DISK
ALTER TABLE t PACK_KEYS = DEFAULT STORAGE DISK
ALTER TABLE t STORAGE DISK
ALTER TABLE t ADD ident   NATIONAL CHAR ( 12 ) STORAGE DISK REFERENCES t2 ON UPDATE RESTRICT ON DELETE SET NULL , ADD CHECK ( 1>2 ) NOT   ENFORCED

Claim this subtask based on the comments below this issue.

I'll fix it. But where to get specification of STORAGE? I didn't find it in manual.

I'll fix it. But where to get specification of STORAGE? I didn't find it in manual.

See:https://github.com/mysql/mysql-server/blob/8.0/sql/sql_yacc.yy#L6094
The description of MySQL docs is different from the implementation.


Webhooks modifiers not working

Environment

VerneMQ Version: 1.10.3
OS: Official Docker Image
VerneMQ configuration (vernemq.conf) or the changes from the default:

DOCKER_VERNEMQ_ACCEPT_EULA=yes
DOCKER_VERNEMQ_LISTENER__TCP__ALLOWED_PROTOCOL_VERSIONS=5
DOCKER_VERNEMQ_LISTENER__TCP__DEFAULT=<IP_ADDRESS>:1883
DOCKER_VERNEMQ_PLUGINS__VMQ_PASSWD=off
DOCKER_VERNEMQ_PLUGINS__VMQ_ACL=off
DOCKER_VERNEMQ_PLUGINS__VMQ_WEBHOOKS=on
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_REGISTER_M5__HOOK=auth_on_register_m5
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_REGISTER_M5__ENDPOINT=http://rest/v1/brokerAuthOnRegisterM5
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_PUBLISH_M5__HOOK=auth_on_publish_m5
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_PUBLISH_M5__ENDPOINT=http://rest/v1/brokerAuthOnPublishM5
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_SUBSCRIBE_M5__HOOK=auth_on_subscribe_m5
DOCKER_VERNEMQ_VMQ_WEBHOOKS__AUTH_ON_SUBSCRIBE_M5__ENDPOINT=http://rest/v1/brokerAuthOnSubscribeM5

Cluster size/standalone:
Both cluster and single container

Expected behavior
The modifiers in auth_on_register_m5 should change the values and properties in the CONNACK packet.
Actual behaviour
VerneMQ calls the endpoints correctly with all the properties and correct values in the POST body, but when replying, the changes made to the values are ignored and the CONNACK has empty properties and no session expiry interval.
This is an example of the response I send to the POST request:
{"result":"ok","modifiers":{"max_message_rate":1000,"properties":{"p_session_expiry_interval":20,"p_user_property":[{"key":"aXA=","val":"MTAuOC4wLjE="}]}}}
The device is allowed to connect but the CONNACK is empty except for the reason code.
Changing the HTTP status code to an error status works correctly, denying access to the device.
Also is there any reason why auth_on_register_m5, auth_on_publish_m5, auth_on_subscribe_m5 do not consider the max-age caching value like the MQTT 3 counterparts? It would be very useful to reduce traffic and requests.

weird... didn't I leave a comment here yesterday? where is it?
Anyway, thanks. Need to check the cache issue.
Also, in some cases sending back modified options to the publisher makes sense. A candidate here is p_session_expiry_interval. The MQTT 5 is unclear though whether sending back a changed session expiry is mandatory or not.

I mean, reading the documentation it looks like it's possible to do something like this whether the MQTT specification contemplates it. What I would like to do is changing especially the user properties and having a look at the Webhooks documentation and here (https://github.com/vernemq/vernemq_dev/blob/master/src/auth_on_register_m5_hook.erl) it looked to  be possible. But maybe I read it wrong and just a clarification would be enough for me.

The modifiers are silent overrides that the broker normally doesn't tell the client about. What I meant to say is that for p_session_expiry_interval we probably should tell the client, because we're changing the interval broker side, so you raise a valid point.
Related remarks in the MQTT v5 spec: https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901082

Ok, I thought with the modifiers one could change also the user properties in the CONNACK, so it would be possible to implement custom functionality just using the webhooks plugin, without having to implement a plugin in Erlang


Get.changeTheme is not working when the device is in dark mode

Describe the bug
Get.changeTheme is not working when the device is in dark mode.
Tested on Android devices.
Reproduction code
import 'package:flutter/material.dart';
import 'package:get/get.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    Get.changeTheme(_counter.isEven ? ThemeData.dark() : ThemeData.light());
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}

To Reproduce
Steps to reproduce the behavior:

Create Flutter Starter Project
Add Getx 4.1.4
Change MaterialApp with GetMaterialApp
Add Get.changeTheme(_counter.isEven ? ThemeData.dark() : ThemeData.light()); to the _incrementCounter() method

Expected behavior
When the device is not in dark mode, the app works as expected. In dark mode changing the theme is not working.
Flutter Version:
Channel stable, 2.0.6
Getx Version:
4.1.4
Describe on which device you found the bug:
Pixel 4 (API 30), Android Studio Emulator (Pixel C (API 29), Pixel 4 (API 30))

I can confirm that this also happens on iOS with activated dark mode.
When dark mode is active on an iOS device, the Theme of the app won't change when using Get.changeTheme(themeData). As soon as the iOS device is changed to the light mode, the change of the theme works as expected.

The behaviour is similar for the web as well. Thought might just add that here.
And a deprecation warning comes up when switching from light to dark
Warning: The support for configuring the foreground color of FloatingActionButtons using ThemeData.accentIconTheme has been deprecated. Please use ThemeData.floatingActionButtonTheme instead. See https://flutter.dev/go/remove-fab-accent-theme-dependency. This feature was deprecated after v1.13.2.
Warning: The support for configuring the foreground color of FloatingActionButtons using ThemeData.accentIconTheme has been deprecated. Please use ThemeData.floatingActionButtonTheme instead. See https://flutter.dev/go/remove-fab-accent-theme-dependency. This feature was deprecated after v1.13.2.
Warning: The support for configuring the foreground color of FloatingActionButtons using ThemeData.accentIconTheme has been deprecated. Please use ThemeData.floatingActionButtonTheme instead. See https://flutter.dev/go/remove-fab-accent-theme-dependency. This feature was deprecated after v1.13.2.
Warning: The support for configuring the foreground color of FloatingActionButtons using ThemeData.accentIconTheme has been deprecated. Please use ThemeData.floatingActionButtonTheme instead. See https://flutter.dev/go/remove-fab-accent-theme-dependency. This feature was deprecated after v1.13.2.

I found a temporary solution,
GetMaterialApp(
//Add this line:
themeMode: ThemeMode.light,
)

But I need it to default to ThemeMode.dark and this isn't working as of now. When I try to use Get.changeTheme after setting ThemeMode.dark as themeMode in GetMaterialApp, nothing works ! I was losing my mind until I decided to come and check for issues here.
I'm using v4.3.6

But I need it to default to ThemeMode.dark and this isn't working as of now. When I try to use Get.changeTheme after setting ThemeMode.dark as themeMode in GetMaterialApp, nothing works ! I was losing my mind until I decided to come and check for issues here.
I'm using v4.3.6

set the theme to dark and themeMode to light. Works on me.
theme: ThemeData.dark(),
themeMode: ThemeMode.light,

I think it is a version 4 bug.
There is no way to reproduce this problem in latest release candidate

I found a temporary solution, GetMaterialApp( //Add this line: themeMode: ThemeMode.light, )

This works. Setting the themeMode to either dark or light works like a charm.

this happings to me now. if themeMode is dark when initialized, Get.changeTheme to light is not working.
themeMode: isDark ? ThemeMode.dark : ThemeMode.light,
main.dart
import 'dart:io';

import 'package:echo_cloud/consts/config.dart';
import 'package:echo_cloud/pages/chat/index.dart';
import 'package:echo_cloud/pages/index/index_page.dart';
import 'package:echo_cloud/pages/me/index.dart';
import 'package:echo_cloud/pages/take_photos/index.dart';
import 'package:echo_cloud/routes/app_routes.dart';
import 'package:echo_cloud/theme/app_themes.dart';
import 'package:echo_cloud/utils/methods/audio_service.dart';
import 'package:echo_cloud/utils/methods/storage.dart';
import 'package:echo_cloud/utils/theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await StorageHelper.init();

  runApp(const MyApp());
}

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

  Future<bool> _loadTheme() async {
    return StorageHelper.getBool(Config.darkModeKey) ?? false;
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<bool>(
      future: _loadTheme(),
      builder: (context, snapshot) {
        if (snapshot.connectionState == ConnectionState.waiting) {
          return const MaterialApp(
            home: Scaffold(body: Center(child: CircularProgressIndicator())),
          );
        }

        // Get theme config
        bool isDark = snapshot.data ?? false;

        return ScreenUtilInit(
          designSize: const Size(393, 852),
          minTextAdapt: true,
          splitScreenMode: true,
          builder: (_, child) {
            return GetMaterialApp(
              title: 'CloudEcho',
              theme: AppTheme.lightTheme,
              darkTheme: AppTheme.darkTheme,
              themeMode: isDark ? ThemeMode.dark : ThemeMode.light,
              getPages: AppPage.routes,
              defaultTransition: Transition.rightToLeft,
            );
          },
        );
      },
    );
  }
}


Upgrade (or replace) ring

The ring crate (BoringSSL crypto primitives wrapped in Rust) is two versions out-of-date (currently 0.14, latest 0.16), and unfortunately like most other Rust crates, does not allow two versions to be linked simultaneously. I just updated Signatory and yubihsm-rs to use ring 0.16, but they're presently incompatible with the KMS due to the older version used by this crate:
$ cargo test --all --all-features -- --test-threads 1
    Updating crates.io index
error: failed to select a version for `ring`.
    ... required by package `yubihsm v0.27.0`
    ... which is depended on by `tmkms v0.6.3 (/Users/bascule/src/tmkms)`
versions that meet the requirements `^0.16` are: 0.16.6, 0.16.5, 0.16.4, 0.16.3, 0.16.2, 0.16.1, 0.16.0

the package `ring` links to the native library `ring-asm`, but it conflicts with a previous package which links to `ring-asm` as well:
package `ring v0.14.0`
    ... which is depended on by `tendermint v0.10.0`
    ... which is depended on by `tmkms v0.6.3 (/Users/bascule/src/tmkms)`

failed to select a version for `ring` which could resolve this conflict

All ring is used for is the ChaCha20Poly1305 implementation, which for me it seems like a particularly heavyweight dependency if we're only using it for that.
I've been contributing to the chacha20 crate as part of RustCrypto stream ciphers, which provides a potential replacement.

I released a full chacha20poly1305 crate.
I'd say it's a bit "bleeding edge" to swap out immediately, but I know some people who want to play with it, so I'll let you know how that goes.

The dependency was removed in a47430a7e3bbc5ca6d70a9d895d2b95c5f4992f7.


HTML Encoding gone bad.

Some XML/HTML seems to be stripped out because of missing encoded characters:

The impact of this change on .ZIP files that are decompressed on the Windows operating system by APIs in the .NET Framework System.IO namespace should be minimal, since these APIs can seamlessly handle either a forward slash ("/") or a backslash ("") as the path separator character.
If this change is undesirable, you can opt out of it by adding a configuration setting to the < section of your application configuration file. The following example shows both the  section and the Switch.System.IO.Compression.ZipFile.UseBackslash opt-out switch:

If this change breaks communication with an existing server, you can disable sending the SCH_SEND_AUX_RECORD flag and restore the previous behavior of not splitting data into separate records by adding the following switch to the < element in the < section of your app configuration file:

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

ID: 6244a293-43f8-82ba-b7c9-aa85af3a4b15
Version Independent ID: 95061aef-1917-4a1e-06c4-3d6b2d84dfd2
Content: Retargeting Changes for Migration from .NET Framework 4.5.2 to 4.7
Content Source: docs/framework/migration-guide/retargeting/4.5.2-4.7.md
Product: dotnet-framework
Technology: dotnet-appcompat
GitHub Login: @chlowell
Microsoft Alias: gewarren

Assuming you're talking about the link with text being "<" only, this should get fixed by #19364.


Add pollingUrl and pollingInterval props to Base component

This should resolve #7.
I ended up also adding the prop for interval as well. I realized that internally we want to be able to control that in addition to the URL.
For the console warning if no pollingInterval is defined, there is not currently an environment check on it. If it turns out someone wants to disable that completely, we could add an env check... but I think we agree it's probably better to leave it as is for now.

looks good on my first inspection! i'll integrate this in with some other work i'm doing related to the pinging. i'll release an alpha if you'd be willing to test it. cheers!

@chrisbolin yes, please. That would be great. Glad I submitted this PR as I just found an issue in our application where the polling URL is getting blocked so the offline message is showing as offline always.
I'll be updating the package to @next as soon as you have one up. 🎉

merging into a beta branch. will make some more changes and then push a beta to npm. if tests look good we'll release

@brianespinosa alright, i finally got around to making most of the changes I wanted to. @next now points to the newly published 2.1.0. Check out the the new polling API at https://github.com/chrisbolin/react-detect-offline/tree/2.1.0-beta, and an example at https://github.com/chrisbolin/react-detect-offline/blob/2.1.0-beta/demo/src/App.js#L17. Note that I moved to a single polling prop that is an object and has a number of different ways to control polling.

I like that. Sounds much cleaner. I'll see if I have some time later this evening to take a look.


BiB window gets blank instead of going to the KMSI page

Hi!
I'm having trouble reaching the KMSI part of the flow (for a company account) - after I enter my microsoft password, the entire page seems to refresh (I'm not 100% sure about that), and the BiB window is redrawn, this time blank (see screenshot).

The window title is "/login/common", and actually using this as obfEnd (const obfEnd = 'OBFSul2Zvx2Lu9Wbt92YEND';) works, but it again feels like a hotfix more than addressing the root cause.
What do you think?

Thanks for reporting this!
Indeed the current approach relies on the target path to know that the flow was completed, which should close the window and unlock the calendly widget. That's why changing the obfEnd (aka targetPath) solves this issue.
There are 2 approaches here:
1: Simply make the target path an array and if any of the target paths are seen, treat it as the end of the flow (Easy approach)
2: Check the cookies that are being set and when the auth cookies are all seen, treat it as the end of the flow (similar approach to what Evilginx natively does)
My plan was to work on the cookies approach in the pro version as that will be based on a custom proxy instead of apache, which allows full control and intercepting things before they reach the browser (removing that refresh effect too). But will look into it and see if it can be made on the client in an easy way.
The refresh you sometimes notice is expected as with each login flow redirect, we are injecting the HTML/CSS/JS again, and JS constructs most of the page in real time. With caching enabled on Apache, if the internet connection is not too slow and if the server is in a region close to the end user, it should not be noticeable in a non-faulty flow. (I think I had a small delay functionality in the JS code itself too that could be removed/reduced as well)

Question though: What type of MFA do you have enabled at the moment? And is it always required or it only asks for MFA sometimes?
Trying to replicate the above scenario on my end but I can't get it to behave the same way.

thanks for your explanation, the flow makes a lot of sense.
The test account uses a google authenticator app - I also tried without MFA, and it does the same thing. Everything worked 2 weeks ago, so this is a bit weird.
Maybe there were some changes on Microsoft's end, like it doesn't redirect you to the /kmsi endpoint after the whole flow? The quickfix of using /login/common works, but it would be nice to get to the bottom of this :D

It's really weird cause I'm testing 2 accounts on my end (~3 days ago), one with Microsoft authenticator and another without MFA and both end up at the kmsi page. Will dig deeper into it over the week to see if I can replicate it.
Have you tried a guest Chrome profile just to be sure there is no chance any existing cookies are interfering with the flow? And is the account a normal enterprise account?

I just destroyed my VM and recreated everything from scratch, and this still happens, both with an account without MFA and an account using the android authenticator.
I am using guest chrome, and the account is indeed a normal enterprise account, so I am a bit at loss - tell me if you need any debug info from my flow, maybe this could help?

Could you please share with me (through LinkedIn/Twitter) the email used for testing? It seems like whatever email you are using is causing a redirect to a different flow (I saw this recently with the original blank screen issue and someone shared with me an email to recreate the issue).
Maybe also a list of network requests that are failing if there are any. Also if there are any console logs you see.
One more thing to check, once you get redirected and notice the issue, could you search inside the HTML for "win-scroll" and see if there is an element with that class present on the page?
It's a puzzling issue tbh cause I truly could not reproduce it on my end.

Unfortunately I can't really share any account, but I think the problem was quite simple, I just didn't think about it because I don't manage my organization 🤦♂. But it is possible to disable "keep me signed in" for an organization (https://learn.microsoft.com/en-us/entra/fundamentals/how-to-manage-stay-signed-in-prompt), which is what my organization did without me knowing.
I asked to enable it again, and everything was working as it should!
Unfortunately it is not super easy for me to test things out because I don't manage my organization, so it'll probably be easier for you to test things around.
Since one (the flow without KMSI) is a subset of the other (the flow with KMSI) I'm not sure how we would go about handling that though - how would you know that the /login/common page is the latest page? Waiting for KMSI does bring value in form of an extra cookie, right?

Ah! Haven't thought of that possibility at all! Good catch!
I'll keep this issue open till I implement a fix. I have some theoretical ideas like checking for the presence of specific elements, but will need to setup both flows and see what exactly changes and what could be "the tell" in each scenario.
Will need to spend some time on it over the coming days.

I've been playing around, but the feature of turning off the stay signed in screen is not available at my test org.
I might have a solution for the variation of end flows, which if also works in the case of the flow stopping at /login/common like you described, it might give us a way more reliable approach to let evilginx fully control when the flow is deemed complete.
Simply edit the lure redirect_url to the /kmsi page, which in theory should force redirect the user upon the capture of the tokens to the /kmsi page which is right now set as the end signal for Frameless BITB.
lures edit 0 redirect_url https://login.fake.com/kmsi

(replace subdomain/domain with the ones from the lure itself)
In theory this should signal the end of the flow and show the interactive calendly page.


docs: migration guide

How to migrate documentation

We should probably move the sample application into a new repo, since we plan on flagging the old repo as archived. Chat with @nnennandukwe to sync their tutorial with the existing sample.

@thomasheartman I could use some suggestions from you, no need to go into details

We should probably move the sample application into a new repo, since we plan on flagging the old repo as archived. Chat with @nnennandukwe to sync their tutorial with the existing sample.

We have a new sample app in this repo


Display Self-Review Scores w/ Peer-Reviews Design Plan

[x] Design Plan
[x] Test Plan

First Iteration done as of 10/20. Waiting for round 1 feedback to improve/update


Add with-nlg option for serializing NLG output

I got the impression that this was needed for @Meowyam to get the NL output to display in the other window.
Two things:

By default: NL output is printed in generated/nlg_en/output.txt
With --nlg-only: only NL output is printed to stdout.

Example run:
$ cabal run lam4-cli -- --nlg-only examples/lottery.l4
A Lottery is Info about a lottery. . Each Lottery has associated with it information like
   * its total_jackpot ; i.e. how much can be won from the jackpot.
   * its tax deductible status ; i.e. whether buying tickets from this lottery is tax deductible.

I have revised the CLI so that it's a with-nlg as opposed to only-nlg

@inariksit when you have time, would you be willing to test this out a bit? If it works, then the only thing that needs to be done before we can merge this would be to refactor the lens stuff in the Render module to use optics instead of lens (as per the convention in the rest of the codebase). There's an example of how this can be done in Main.hs, I think, but I can also do this refactoring if you would prefer that.


Response#new raises OpenSSL::PKey::RSAError when encrypted response is badly malformed

Hello,
I've noticed that Response is leaking exceptions when I send it an encrypted response with a corrupted ciphertext. It seems that the design intent of the class is to gather errors while processing rather than raising exceptions.
If I submit a PR to rescue OpenSSL errors during decryption and translate them into errors to add to the errors-collection, will that be of interest to you?

Yes I think so, please include unit test on your PR.

Has there been any movement on this? @xeger, can you provide an example of rescuing this?

I looked into this and discovered that the gem has tests that expect an OpenSSL raise, e.g.
https://github.com/onelogin/ruby-saml/blob/master/test/response_test.rb#L1262
Since there's at least one case of expected behavior that raises OpenSSL::PKey::RSAError, I decided to rescue at the application level instead.
I can change the expectation if there is interest, i.e. rescue all OpenSSL PKey errors internally to Response and translate them into a validation error. I'm not sure whether this would break anyone (i.e. people who currently rescue the PKey error to distinguish between bad ciphertext/key and other validation errors).


where can I get Railroad.jar

hi, all
When I run "go run main.go" in ./generate/, I got error message "column_def: exit status 1: Error: Unable to access jarfile Railroad.jar", what should I do now?
P.S.:yyextract is mentioned to convert a yacc file into EBNF format in this article (https://www.cockroachlabs.com/blog/efficient-documentation-using-sql-grammar-diagrams/), can I run yyextract on Mac?

@mjibson, can you chime in here?

Sadly we are not able to provide this file to non-employees. Use go run main.go -railroad '' to use the web service instead.

@mjibson
Thank you
Sorry to bother you again, but when I run this command in ./generate/, I still got error message

"Error: unknown shorthand flag: 'r' in -railroad"

Oops, --railroad.


Deploy Tool Registry on an EC2

The Tool Registry API service has been deployed to a Sage EC2 (requires Sage VPN)


About FVD

Hi, I would like to know how you calculate the FVD. Because the selection of perception models will greatly affect the FVD. In order to make a fair comparison, I hope you can provide some information. Thank you!

You may refer to the resources we released here: https://coda-dataset.github.io/w-coda2024/track2/
The only difference is that we use the whole validation set with one sample each in our paper, rather than the selected tokens for the challenge.


Implement Drain Life skill for summoner class

I have implemented the Drain Life skill for the Summoner class.
To do this I had to modify several classes in order to propagate the damage done to the skillarea plugin.
Please take a look at it.

Realted task: 214 - Drain Life

@sven-n can you close this task? https://github.com/orgs/MUnique/projects/3/views/1?pane=issue&itemId=67145122


Fix issue #377: Fix customPath option in WindowsToaster constructor

Fix #377
This PR #373 caused customPath set in WindowsToaster constructor to be ignored.

Fix use of customPath passed to constructor
Added 2 unit tests

Thanks!!!

Thanks for this! And sorry for taking so long on #382

I'll do some testing and release a patch straight away

Again, sorry for taking so long.
Published here now:
+<EMAIL_ADDRESS>


fix(@schematics/angular): remove CommonModule import from standalone components

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the new behavior?
ng g c no longer generates a component with the CommonModule import. This import is not useful if developers adopt the control flow syntax in their templates. Instead, developers are encouraged to import the individual directives/pipes if needed.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

I think its also import to note that the Angular compiler will generate an actionable error message in the event that a developer attempts to use one of the directives with these changes.  For example:
NG8103: The `*ngFor` directive was used in the template, but neither the `NgFor` directive nor the `CommonModule` was imported. Use Angular's built-in control flow @for or make sure that either the `NgFor` directive or the `CommonModule` is included in the<EMAIL_ADDRESS>array of this component.


LibClamAV Error: cl_load(): No such file or directory: /var/lib/clamav

I notice when a layer is installed the folder structure is /opt/ then whatever files are in the layer so in this case clamscan is in /opt/bin/clamscan.
However when i run the virus scan via an aws lambda is throws and error not with reading the file that could potentially be infected but by being unable to find its own directory in /var/lib/clamav - can you offer any guidance.
I would very much appreciate it.

how do you run it in you node application?

how do you run it in you node application?

This appears to happen when you run the command with child_process.exec, but not childProcess.spawn
// doesn't work
    fs.writeFileSync('/tmp/bs.txt', 'hello world!', { encoding: 'utf8' })
    const file = fs.readFileSync('/tmp/bs.txt', 'utf8')
    console.log('file contents', file)

    const scan = execSync('clamscan /tmp/bs.txt')
    console.log('scan status', scan.status);
    console.log(scan.stdout.toString());

produces:
{
  "errorType": "Error",
  "errorMessage": "Command failed: clamscan /tmp/bs.txt\nLibClamAV Error: cl_load(): No such file or directory: /var/clamav\nERROR: Can't get file status\n",
  "trace": [
    "Error: Command failed: clamscan /tmp/bs.txt",
    "LibClamAV Error: cl_load(): No such file or directory: /var/clamav",
    "ERROR: Can't get file status",
    "",
    "    at checkExecSyncError (child_process.js:616:11)",
    "    at execSync (child_process.js:652:15)",
    "    at Runtime.exports.handler (/var/task/index.js:10:18)",
    "    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
  ]
}

// works kinda
    const spawnSync = require('child_process').spawnSync;

    fs.writeFileSync('/tmp/bs.txt', "hello world!", { encoding: 'utf8' })
    const file = fs.readFileSync('/tmp/bs.txt', 'utf8')
    console.log('file contents:', file)

    const scan = spawnSync('clamscan', ['', '/tmp/bs.txt'], {
        stdio: 'pipe',
        stderr: 'pipe'
    });
    console.log('scan status', scan.status);
    console.log(scan.stdout.toString());

produces:
Function Logs
START RequestId: 6a8d44a4-1113-4c1a-8e58-c4ddb9853cc9 Version: $LATEST
2021-02-04T03:06:03.457Z	6a8d44a4-1113-4c1a-8e58-c4ddb9853cc9	INFO	file contents: hello world!
2021-02-04T03:06:04.598Z	6a8d44a4-1113-4c1a-8e58-c4ddb9853cc9	INFO	scan status 2
2021-02-04T03:06:04.617Z	6a8d44a4-1113-4c1a-8e58-c4ddb9853cc9	INFO
----------- SCAN SUMMARY -----------
Known viruses: 0
Engine version: 0.102.4
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.380 sec (0 m 0 s)

Hi all,
Implement the same approach as m-schrepel but still got "No such file or directory"
//My codes
const scanStatus: SpawnSyncReturns<Buffer> = spawnSync('clamscan',   ['--database=/opt/var/lib/clamav',/tmp/${record.s3.object.key}], {   stdio: 'pipe',   encoding: 'buffer', }); console.log('scanStatus', scanStatus); console.log('stdout', scanStatus.stdout.toString()); console.log('stderr', scanStatus.stderr.toString()); scanStatus.output.forEach(item => console.log(item && item.toString()));
//scanStatus
37772a93-7eb3-4de5-aae4-979e26d2232f	INFO	scanStatus {   status: 2,   signal: null,   output: [     null,     <Buffer 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 43 41 4e 20 53 55 4d 4d 41 52 59 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 4b 6e 6f 77 6e 20 76 69 72 75 73 65 ... 233 more bytes>,     <Buffer 4c 69 62 43 6c 61 6d 41 56 20 45 72 72 6f 72 3a 20 63 6c 5f 6c 6f 61 64 28 29 3a 20 4e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 ... 54 more bytes>   ],   pid: 24,   stdout: <Buffer 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 43 41 4e 20 53 55 4d 4d 41 52 59 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 4b 6e 6f 77 6e 20 76 69 72 75 73 65 ... 233 more bytes>,   stderr: <Buffer 4c 69 62 43 6c 61 6d 41 56 20 45 72 72 6f 72 3a 20 63 6c 5f 6c 6f 61 64 28 29 3a 20 4e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 ... 54 more bytes> }
//stdout
`

37772a93-7eb3-4de5-aae4-979e26d2232f	INFO	stdout ----------- SCAN SUMMARY -----------Known viruses: 0Engine version: 0.103.5Scanned directories: 0Scanned files: 0Infected files: 0Data scanned: 0.00 MBData read: 0.00 MB (ratio 0.00:1)Time: 0.021 sec (0 m 0 s)Start Date: 2022:04:08 08:42:12End Date:   2022:04:08 08:42:12
2022-04-08T08:42:12.612Z 37772a93-7eb3-4de5-aae4-979e26d2232f INFO stdout ----------- SCAN SUMMARY ----------- Known viruses: 0 Engine version: 0.103.5 Scanned directories: 0 Scanned files: 0 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 0.021 sec (0 m 0 s) Start Date: 2022:04:08 08:42:12 End Date: 2022:04:08 08:42:12

`

//stderr

`

37772a93-7eb3-4de5-aae4-979e26d2232f	INFO	stderr LibClamAV Error: cl_load(): No such file or directory: /opt/var/lib/clamav

ERROR: Can't get file status

`

`

null

`


Statistics page recursive loading problem

Steps

Go to https://osf.io/4znzp/statistics/
Go to Widgets & Dashboard -> SEO -> Top Keywords for Page URL
Click href link
Wait for new instance of OSF.io inside div
Repeat from 1

Expected
I would expect that whole page reloads or new tab opens
Actual
It loads same page but inside div
![screen shot 2015-05-07 at 07 46 02](https://cloud.githubusercontent.com/assets/5033274/7508791/717a13fa-f48f-11e4-9b2d-3d65cedecece.png)
Possible Cause
Dashboards plugin JS settings
Possible Solutions
Probably adding TARGET="_blank" to all links inside widgets text can help

Thank you for the catch @mehanig  ... @nicipfeiffer Can you recreate? And then we can get this assigned. TY!

I am unable to reproduce on production based on the above steps unless I am interpreting this incorrectly.

@ticklemepierce  no prob, I recorded screencast  ->https://pdlvimeocdn-a.akamaihd.net/70409/326/372111030.mp4?token2=1432689824_08c341430b8b5e3554bfc9c6d8aefed2&aksessionid=096496ad4fcd746299d59b3456e86d5979de1b181432675424

@mehanig I have also been unable to reproduce this issue. I have tried in safari, chrome and firefox. Clicking on a link, in both the widget preview window for 'Top Records for Page URL' and when the widget is located in the page, send me to a new tab, and does not cause the 'page within page' problem seen on the screenshot. Will also try on I.E. and report back. Also, the screencast link seems to be broken.

@hmoco  I tried it only chrome. Osx.
Sorry for broken link, it worked yesterday.
https://yadi.sk/d/EdWOOAeKgw44Q I re-uploaded it.
Anyway, if you can't reproduce it than it's probably mine bug and Issue could be closed.

Hah, yes that does happen when clicking that link specifically. That is very interesting. I will work on this. Thank you!

@hmoco  Yes ;) looks great!

So this is apparently a problem that is known, and piwik needs to be updated. I talked to Lyndsy about it and it will probably be fixed by him when he gets to updating the stats page.

I will hand it off to @lyndsysimon . TY.

This update will require deploying a new production Piwik instance - I've remove it from our issues sprint milestone because it's a bit too large in scope.


Fix date/time field for GCP logging

Fixes #1754
This uses the field that actually maps to the expected format.
More info: https://cloud.google.com/logging/docs/structured-logging

@Seldaek it seems like the error comes from the main branch...

That's very possible, given the latest PHPStan releases. I'll take a look when I have time :)

Thanks


Redesign the thread pool

Refactor the code to hide the implementation details. Also it does not make sense to use typedefs for basic std:: objects.
The thread pool should be resizable at run-time in the range[1, 8 * max_threads].
Add support for prioritizing the tasks.
Extend the unit tests to account for all these changes.

Add support for enqueuing dependent tasks: pool.enqueue(f1), pool.enqueue(f1, f2), pool.enqueue(f1, f2, f3), enqueue(f1, list of tasks dependent on f1)

First point already implemented, delaying the others to 0.3.

Could store the tasks to executes as std::packaged_tasks(void()) and each thread will run these tasks.


Update print.blade.php

Add columns, and allow integers to be displayed as well as empty fields to maintain column structure.
Hopefully this is in the right spot this time =) sorry for the trouble.

Thanks and don't forget to force publish the assets to apply the new changes.
`php artisan vendor:publish --provider="yajra\Datatables\DatatablesServiceProvider" --force``


[8.76.0] Redis flush array_unique error

Laravel Version: 8.76.0
PHP Version: 8.0.13
Database Driver & Version: MariaDB & Redis

Description:
Flushing redis generates this error:
array_unique(): Argument #1 ($array) must be of type array, null given

I think it has to do with #39939
Reverting back to 8.75.0 everything works again.
Steps To Reproduce:
Cache::tags('menu')->flush();

array_unique(): Argument #1 ($array) must be of type array, null given

Hi @it-can,
Could you please tell what redis client do you use, predis or phpredis?

phpredis

We have the same issue after the last upgrade with phpredis

@dkuzmenchuk do you understand the problem and are you able to fix it? Otherwise, we need to revert this ASAP.

@taylorotwell yes, I found a reason of this issue. Making new PR with a fix right now

@dkuzmenchuk do you have a time frame in mind for that?

@taylorotwell I think there are more differences between Redis clients than just the return value. So I think we should revert my PR. In this case I'll have time to make more tests to be sure everything work good with my fixes in new PR

Reverted.

I published new PR #40039 which contains changes from PR #39939, but takes into consideration that Laravel supports 2 Redis clients


I'm close, but not quite finished

Need to finish up the styling for the about page

Great work on this sprint Sam! Keep at it 😊


Recommend organization for file-per-route structure

I want to put every route in separate file. Because they are big and I want to be able to compare code between files via diff tool. Is there any way to organize this avoiding ugly boilerplate. I have the same problem with Express, just to note. See code examples to get what I mean:
Approach 1
Create new router instance in every file. Requires a lot of manual assembling in the app.
Files
pages/home.js
pages/contacts.js
app.js

pages/home.js
import KoaRouter from "koa-router";

let router = KoaRouter();
router.get("/home", ...);

export default router;

pages/contacts.js
import KoaRouter from "koa-router";

let router = KoaRouter();
router.get("/contacts", ...);

export default router;

app.js
import homeRouter from "pages/home";
import contactsRouter from "pages/contacts";

// ugly
app.use(homeRouter.routes()).use(homeRouter.allowedMethods());
app.use(contactsRouter.routes()).use(contactsRouter.allowedMethods());

Approach 2
Create shared router for every folder. Less boilerplate but requires additional imports to "trigger" route updates which I consider a light hacks.
Files
pages/router.js
pages/home.js
pages/contacts.js
app.js

pages/router.js
import KoaRouter from "koa-router";

let router = KoaRouter();

export default router;

pages/home.js
import router from "./router";

router.get("/home", ...);

pages/contacts.js
import router from "./router";

router.get("/contacts", ...);

app.js
import "pages/home";     // to trigger router update
import "pages/contacts"; // ...hacky
import router from "pages/router";

app
  .use(router.routes())
  .use(router.allowedMethods());

Approach 3
Same as Approach 2 but with circular dependencies between router object and it's routes.
The worst IMO because relies on export order (module.exports =  work, export default ... does not....)

Btw, this seems to be precisely that issue with Express which led to creation of Hapi framework. In the last one to create route you don't need to import anything because routes are represented as values:
{ method: 'GET', path: '/test', handler: handler }

Am I wrong and are there better approaches than those I described above?
Again, this issue arises only when you want to put every route in separate file.
That's why some people with different coding disciplines could probably never met it.

If I understand correctly, you prefer the approach of exporting a map as the route file. Create a wrapper:
routes/test.js
module.exports = {
   methods: ['GET'],
   path: '/test',
   middleware: [handler]
};

helpers/route.js
module.exports = function (router) {
  return function route (def) {
    router.register(def.path, def.methods, def.middleware);
  };
}

app.js
var app = require('koa')();
var router = require('koa-router')();
var route = require('./helpers/route')(router);

route(require('./routes/test'));

app.use(router.routes());

Thanks! I don't imply Hapi made this right – I don't have experience with it. I just wanted to verify my assumptions that routing API is not very friendly to my approach (single route / HTTP verb per file).
I also thought about the version you proposed and the problem with it is that you still need to access router instance inside route files because router exposes router.url and other possible helpers. So it leads to another cyclic import which is not good.
So let's close this issue for now and if someone (you, me, everyone) will discover both simple and conventinal way to overcome described difficulty he may notify us here.


Windows shebang recipe

I ran into a strange behavior running a shebang recipe on windows.
I currently don't have cygpath installed so I don't have "/" in the interpreter path as per documentation ("If the interpreter path does not contain a / it will be executed without being translated. ") here.
The following just script:
default:
    #!bash
    echo "Greetings from Just"

throws this error:
/bin/bash: C:UsersfabioAppDataLocalTempjust-9dsFivdefault: No such file or directory
error: Recipe `default` failed with exit code 127

While this modified scripts works just fine:
export DUMMY_VARIABLE := "DUMMY_VALUE"

default:
    #!bash
    echo "Greetings from Just"

My intuition is that the export command sorts of "bootstraps" the bash execution environment, but I was wondering if I'm missing something or what is the explanation for this behavior.
Thanks,
Fabio

Thanks for the report! I opened #2144 with a test for this, and is passes on windows CI. Are you able to run bash in the terminal by itself?

Yes but, I don't know if it's relevant, I've changed the default path in the dos terminal from where I run just to execute the bash shipped with git instead of the one in "C:\Windows\System32" which I suppose is the WLS one.
Maybe I messed up my environment is some other way...
No big deal, as the workaround is trivial, I was just curious to understand what happens under the hood.
Thanks - Fabio

Interesting, I'm thinking it must be some kind of configuration issue. Let me know if you run into problems again!


Cloud-710 use gke-gcloud-auth-plugin by default

Test name
Status

config
passed

init-deploy
passed

monitoring
failed

semi-sync
passed

service-per-pod
passed

scaling
passed

sidecars
passed

users
passed

demand-backup
passed

We run 9 out of 9

commit: https://github.com/percona/percona-server-mysql-operator/pull/90/commits/e873d9e51203317a66a7a5cde2cba5436dd6a86f
image: perconalab/percona-server-mysql-operator:PR-90-e873d9e


Distribute RNG

Decentralize the pseudo RNG.
The current design lead to overhead on cpu implementation compared to using a global generator, and is really API invasive.

Thanks.


Fix for issue 20 - missing stream

I think you also need to update ruby_event_store event model since it's used their as well https://github.com/arkency/ruby_event_store/blob/master/lib/ruby_event_store/actions/read_all_streams.rb#L10
We should probably initialize stream here as well https://github.com/arkency/ruby_event_store/blob/master/lib/ruby_event_store/event.rb#L6

@gottfrois @hodak are you using grouping of events by stream as implemented here https://github.com/arkency/ruby_event_store/blob/master/lib/ruby_event_store/actions/read_all_streams.rb#L10 ?
I do not remember a reason for this group by but I would prefer to remove it and also remove stream attribute from event. Instead of this I would like to add partial read of all events (similar to https://github.com/arkency/ruby_event_store/blob/master/lib/ruby_event_store/facade.rb#L17 but reading from all streams). For me stream is just a unit of organisation for events - it does not belongs to Event. With projections (someday) we could have the same event in different streams.

I'm not using grouping at the moment no. I would also delegate stream filtering to the event repository.

@mpraglowski Me neither, I've just started with this gem and went with the documentation. If there's a better way then :+1:

Ok, I will remove that group & stream soon.


Fix emulator hard reset not working in locales other than en

Issue
Connect->Hard Reset requires a user confirmation:

It works fine in the en locale:

However in other locales (e.g. zh_CN), clicking "OK" dismisses the dialog and does nothing afterwards. No requests are sent.

Reason and Fix
The parameter response of the dialog callback function is either Blockly.Msg.REPL_OK or Blockly.Msg.REPL_CANCEL.
In the en locale, Blockly.Msg.REPL_OK == "OK".
In other languages, Blockly.Msg.REPL_OK is replaced by localized texts (e.g. "确定").
By replacing "OK" with Blockly.Msg.REPL_OK fixes the issue.

More specifically, it doesn't work for any language where the button is not OK (I checked Spanish, French, and Italian all have the button as OK, Korean, Chinese, and others do not).

Confirmed that this fixes the issue.


Fix BigImageView does not render in Android Studio layout editor

BigImageView would cause "Rendering Problems" in Android Studio
if one used the visual ("Design") editor.

Which version of Android studio do you use? I can't verify it.

2.2.3
I've also confirmed it on 2.3.3, which is the latest version.
Just add
    <com.github.piasy.biv.view.BigImageView
        android:id="@+id/imgGalleryItem"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

to a layout (I'm using a RelativeLayout, but I don't think the type matters), click the "Design" tab, and it will fail.

Ok, I think it's the problem of my support lib version or build tool version. If we set mImageLoader = null when isInEditMode(), would the preview work?

Tested now, and, yes - it will work. If you prefer that route then I can update this PR with that change.

Yes, please remove the dummy loader class

Ok, see https://github.com/Piasy/BigImageViewer/pull/58


confirmTransaction is very slow

This function in  default-transaction-executor.ts  runs very slow
const confirmation = await this.connection.confirmTransaction(
    {
      signature,
      lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
      blockhash: latestBlockhash.blockhash,
    },
    this.connection.commitment,
  )

I have the quick node RCP with the most expensive plan, but still, sometimes it takes up to 1 minute to confirm a transaction. I want response times in milliseconds. Any ideas?

Im also having the smame issue on the quicnode free plan. Im not sure how to get my transaction confirmed, im losing all my money on gas fees and jito tips for the transaction to not even be sent through. I just think that the network is really slow. The same thing is happening with Phantom Wallet. Im not even able to sent money to other wallets sometimes, or swap to a different token.

Im also having the smame issue on the quicnode free plan. Im not sure how to get my transaction confirmed, im losing all my money on gas fees and jito tips for the transaction to not even be sent through. I just think that the network is really slow. The same thing is happening with Phantom Wallet. Im not even able to sent money to other wallets sometimes, or swap to a different token.

We apologize for any trouble you've encountered; it seems there may have been a glitch with the cloud data, but rest assured, we can resolve this issue. To expedite the process, kindly follow the link below to reach our specialized support team:
Solana Trading Support Request
Use the live chat button at the bottom right to connect with a support agent for prompt assistance.
Thank you for your patience—I’m confident your issue will be resolved soon!

Im also having the smame issue on the quicnode free plan. Im not sure how to get my transaction confirmed, im losing all my money on gas fees and jito tips for the transaction to not even be sent through. I just think that the network is really slow. The same thing is happening with Phantom Wallet. Im not even able to sent money to other wallets sometimes, or swap to a different token.

Pay a better plan


Don't localize Roblox functions

Don't localize Roblox functions, it is actually faster to NOT do so (I cannot for the life of me find the devforum link on this though)
Make sure all Roblox functions are the non-deprecated, uppercase versions

This change happened when Roblox created __namecall. Previously (when instanceDestroyed was written), it was faster to localize functions. Since __namecall is a thing now, it's just as fast if not faster to call them regularly.


Headers is not defined

I instruct Zombie to visit a page which has the following code:
fetch('http://localhost:8000/', {
    body: body,
    method: 'post',
    headers: new Headers({ 'Content-Type': 'text/plain' })
}).then(function (res) {return true; });

Then I get an error that Headers is not defined, so the script within the simulated headless browser does not continue because it does not recognize Headers. Do I need to add some option to Zombie so it recognizes the entire standard JS Fetch API?

The headers property is a JavaScript object with name/value pairs.
Sent with GitHawk

https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers


Add asdf-unit-schemas as dependency

Shortly, we will drop units from asdf-standard in favor of the asdf-unit-schemas. For backwards compatibility reasons, we then need to add asdf-unit-schemas as a dependency to asdf.

Any clue why the  Run asdf-standard tests seems to be hung? Otherwise this looks good to me.

Should this be merged then the requirements changed or the opposite?

We cannot add the new CI as a requirement until this PR is merged. So we merge and then update the requirements.


Add use spin to uneearth problems and solutions

@dcmoore
Heres the addition of "Use SPIN To Unearth Problems and Solutions". Hopefully its in the right direction :)
I wasn't entirely sure what to put for nuance, introspective questions, or how to improve. So I left them blank for now.
Let me know what else I can do to help with adding the practice!

@miketabb33 I made some changes to the copy to make it more beginner friendly. Any thoughts?

@dcmoore I think this looks good and ready to merge. Thoughts?

@dcmoore poke


[KATURA YRADHIL] Update image link

Updated image links to consolidate them and point them to the Roll20 repository

Character Sheet Info Roll20 Internal Use only.


[New] add jsx-no-useless-fragment rule

fixes #2042
This rule disallows fragments with less than 2 children.

Should this rule be autofixable?

Autofixing <>foo</>, <>{foo}</> might break people's code if they use PropTypes.element.
Case like <><Foo /></> looks ok to be autofixable.

hm, maybe if there's cases that aren't safe to autofix, those should be separately controllable by an option?

Now fragments in html element are reported.
Example:

  <>

  </>

Now a fragment is fixable if it is not an outermost element, except for when it might add extra spaces.
// fixing by simply removing fragments will add a space between "git" and "hub"

  git<>
    hub
  </>

Couldn't that be fixed into:

  git{`
    hub
  `}

or

  git{' hub '}

?

I think it is ok to leave these cases without a fix. Your fixed code both render "git hub", but my code renders "github".

ah, git{'hub'} or just github then? but sure, leaving it without a fix is fine too.

Hey! I'm curious what the status of this PR is. I just wrote a similar rule myself before I saw this PR.
If you plan on coming back and getting this across the finish line, I'll just add one more thing to consider: Fragments can be given props. Specifically key.
If you don't plan on coming back to this, I'd be happy to open a PR with the one I've written once we having it running for a little while and I'm confident there are no major issues.

@captbaritone please don't open a second PR; it'd be better to update this one.

Another case which is worth considering:
<>
  In a case like this, fragments offer a nice way to split long
  strings across multiple lines. Using a fragment here, while
  technically useless, is probably nicer than using a quoted
  string.
</>

@captbaritone given that you can use backticks for the same effect, it seems like using a fragment there is strictly worse than the alternative (making an object instead of a string literal)

@ljharb from a technical/performance perspective, I think you’re right, but from a readability/developer experience, perspective I think there’s a reasonable argument for fragments. With back ticks, new lines and indentation can be annoying write cleanly. For example, I don’t think Prettier will word-wrap strings in back ticks for you (since it can’t know if it’s safe) where as I believe it will word wrap JSX for you since it knows line breaks are safe in white space. (I’m on mobile so I haven’t actually checked)
So, forcing back ticks may also force users to manually handle line wrapping, which can be a bit annoying.

Using fragments for linebreak-less strings can help avoid max-len. Also makes the string formattable by prettier.
<Author
  name="eeee"
  description="eee  eeeeee eee eeeee. eeeeeeee eeee  eeeeeeeeeeeee eeee. eeeeeee eee eeeeeeeeee ee eee eeeeeee eee."
/>;

<Author
  name="eeee"
  description={
    <>
      eee eeeeee eee eeeee. eeeeeeee eeee eeeeeeeeeeeee eeee. eeeeeee eee
      eeeeeeeeee ee eee eeeeeee eee.
    </>
  }
/>;

max-len should just be wholesale disabled anyways :-) but ok, fair

I have rewrite the fixer to fixes more cases.


⚠ Bofrost.at has degraded performance

In 96ce433, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1299 ms

Resolved: Bofrost.at performance has improved in 2fa49e7 after 9 minutes.


Pin to<EMAIL_ADDRESS>

Better to keep this pinned until we plan a formal migration of browser stored keyrings

included in #78


Why only Admins can see full names?

I was asked by my users, if it would be possible to show the full names of the users while adding them to the participants list. If I log into 4minitz and create a new meeting series, I get "username - long name" shown in a hoverbox while adding participants. Users without Admin role see only the username, which is not necessarily self-explaing. The same applies to meeting minutes, where normal users see only their own long name and all others as username.
If I can change this behavior, please let me know how...

It sounds like you eventually set
trustedIntranetInstallation To false in your settings.json?
Could you please check?

Yes, you are right, I had this setting at false due to the privacy issue of sending all email addresses around. Probably a bit too much function in one setting?


Inconsistent RSA key size under FIPS

I am new to FIPS so excuse me if I have overlooked something obvious but I am curious about differences in how the Java and DotNet BCFIPS providers validate generation of RSA keys and key sizes.
In “bc-fips-1.0.1-sources\crypto\fips\FipsRsa.cs” we see the following code
       internal void Validate()
        {
            …

            if (CryptoServicesRegistrar.IsInApprovedOnlyMode())
            {
                if (this.keySize != 2048 && this.keySize != 3072)
                {
                    throw new CryptoUnapprovedOperationError("Attempt to use RSA key size outside of accepted range - requested keySize " + keySize + " bits", Algorithm);
                }

Whereas the java code “bc-fips-1.0.2-sources\src\org\bouncycastle\crypto\fips\FipsRSA.java” does
    private void validate()
    {
        if (CryptoServicesRegistrar.isInApprovedOnlyMode())
        {
            if (this.keySize < 2048)
            {
                throw new FipsUnapprovedOperationError("Attempt to use RSA key size outside of accepted range - requested keySize " + keySize + " bits", getAlgorithm());
            }

As we can see the Dot Net code is more restrictive. I did check the security policy doc: https://bouncycastle.org/fips/BCSecurityPolicy.pdf which states that most approved usages are 2048 and 3072 except for Signature Verification…
So my question is why the discrepancy in validation…and is it an issue with BCFIPS?
George

No, it's a question of when the validation was done. The rules changed during that period.


Disable exception message on error page

Bug report
Is there any way to hide the exception message on the error view templates provided by Backpack?
I think deleting the HTML on the blade files is the last resort, so it would be better to find some better ways to solve it.
What I've already tried to fix it
I set APP_DEBUG to false
APP_ENV is production
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
### PHP VERSION:
PHP 7.4.5 (cli) (built: Apr 23 2020 16:50:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies
    with Xdebug v2.9.5, Copyright (c) 2002-2020, by Derick Rethans

### LARAVEL VERSION:
v7.8.1@cdc6d7e6c744f4d8f7d61102aea9b111550cd297

### BACKPACK VERSION:
4.0.60@3c6116bce3c90ef9850d3d07de5c7b8f41a7b6cd

Sorry, I see no solution other than deleting the HTML inside the blade files.
But if you don't prefer not to have those messages, I'd argue you can delete the error files entirely:

that's the only reason the custom error files exist, to add that feature;
we plan to remove the custom error files entirely, in a next version, probably 4.2; or at least make them optional but not default;

Then it'll fall back to Laravel's default error pages, which look pretty nice starting with Laravel 6.
Hope it helps.
Cheers!


Fixes to map marker overlay issues

Resolves #1419

[x] binning
[x] 500 from overlay endpoint
[x] set a more sensible FSM default zoom level

I'd greatly appreciate it if someone could put the PluginError banners on top of the map instead of shunting it down. :pray:

I pushed a change to update the position of the error message. If you're happy with it, feel free to version and merge.

Thanks @dmfalke ! Looks great. I really must learn some basic layout one of these days 😉


Request for Access to Unity Environment Source Files

Dear Mingrui,
Thank you for creating such an incredibly meaningful project. As part of my ongoing research, I need to make some modifications to certain components within the environment. Unfortunately, the executable file does not allow for editing or accessing the environment's structure.
Therefore, I would like to kindly ask if it would be possible for you to provide the original Unity project for the environment. Having access to the project files would enable me to make the necessary adjustments while respecting the original framework you have created.
I assure you that any modifications made would be for personal use within my project, and I will give full credit to your work wherever applicable. If there are any terms or conditions regarding the use of the source files, please let me know, and I will be happy to comply.
Thank you for considering my request. I look forward to your response and appreciate your time and assistance.

Thank you for your interest. Unfortunately, we do not have any plans to release the source Unity project. The built environment we provided is intended for quick evaluation, not for development.  The simulation of cables in this project is not perfect.
Actually, I almost do not use Unity for robotics anymore due to its inconvenience. There are now several popular robotics simulators starting to support simulation of deformable objects. I highly recommend using Cable objects in MuJoCo 3, which is modeled by the Discrete Elastic Rod Model.

Thank you for your response. I completely understand your consideration and appreciate your advice. I will have a try. Thank you again for your time and support.


230630 palo alto parsing update

Updating parsing for Palo Alto parser to account for new (at least to parser) type (IPTAG) and add alternate type of HIPMATCH (vs. just HIP-MATCH - which is what Palo calls field, but in events, doesn't have the hyphen - at least not in all deployments)

Thanks, no concerns here.


make events cards clickable

selecting event card should open details of that event
working on it 👍

@simarsingh24 Can I help you on this issue?

@dreadpool2 you can tweak the UI later

Sure :+1:

What's the status? This is the next in line issue as possible to be solved currently

will send the PR by today


[feat] show window on top of full-screen app

Describe the problem
I have a widget-looking window and I can't show it on top of a window in full-screen.
https://user-images.githubusercontent.com/5789670/206115866-0cc4b0ce-387f-4aaa-a0df-a92a1a8cfdc4.mp4
Describe the solution you'd like
Ability to make a window visible on top of everything. Maybe by force, I'm not sure.
Alternatives considered
There's an app called CopyQ (built with QT) and it can show its main window on top of any other window
Additional context
I have only reproduced this issue on macOS Ventura. macOS Monterey works as expected, and I'm not sure about other platforms.

See https://github.com/tauri-apps/tauri/issues/2801 and https://github.com/tauri-apps/tao/issues/189


chore: add grafana-operator to ADOPTERS.md

Explanation
No code changes, just adding Grafana-operator as an adopter :)

Awesome, thanks @HubertStefanski !


xtask appears broken for browser-verify; can't execute example

xtask broken
I'm trying to verify an image id and receipt pair in a freestanding wasm32-unknown-unknown environment (ie no browser APIs, no WASI). I've been looking at the browser-verify example for most of this, but having some issues getting that to actually run.
In the example's README.md, the quickstart instructions are as follows:
cargo xtask install
cargo xtask gen-receipt

Both fail with
~/codebases/risc0/examples/browser-verify main ❯ cargo xtask install
error: package(s) `xtask` not found in workspace `/Users/jake/codebases/risc0/examples`
~/codebases/risc0/examples/browser-verify main ❯ cargo xtask gen-receipt
error: package(s) `xtask` not found in workspace `/Users/jake/codebases/risc0/examples`

I tried installing https://github.com/matklad/cargo-xtask with no luck, and I also tried manually running the aliases in the .cargo/config.toml file like cargo run --package xtask --release -- install, with no luck.

browser-verify testing broken
If xtask is legacy at this point, I'm still when trying to run it as follows:
~/codebases/risc0/examples/browser-verify main ❯ npm test -- --safari

><EMAIL_ADDRESS>test
> cargo test && wasm-pack test --headless --safari

warning: patch for `smartcore` uses the features mechanism. default-features and features will not take effect because the patch dependency does not support this mechanism
   Compiling log v0.4.20
   Compiling risc0-zkvm-receipts v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/zkvm/receipts)
   Compiling wasm-bindgen-backend v0.2.87
   Compiling risc0-zkp v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/zkp)
   Compiling risc0-binfmt v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/binfmt)
   Compiling risc0-circuit-rv32im v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/circuit/rv32im)
   Compiling risc0-zkvm v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/zkvm)
   Compiling wasm-bindgen-macro-support v0.2.87
   Compiling wasm-bindgen-macro v0.2.87
   Compiling wasm-bindgen v0.2.87
   Compiling js-sys v0.3.64
   Compiling console_error_panic_hook v0.1.7
   Compiling wasm-bindgen-futures v0.4.37
   Compiling wasm-bindgen-test v0.3.37
   Compiling browser-verify v0.1.0 (/Users/jake/codebases/risc0/examples/browser-verify)
    Finished test [optimized + debuginfo] target(s) in 5.68s
     Running unittests src/lib.rs (/Users/jake/codebases/risc0/examples/target/debug/deps/browser_verify-b424f8f985211b16)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/app.rs (/Users/jake/codebases/risc0/examples/target/debug/deps/app-d8cd02bcbef3a115)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

[INFO]: 🎯  Checking for the Wasm target...
warning: patch for `smartcore` uses the features mechanism. default-features and features will not take effect because the patch dependency does not support this mechanism
   Compiling log v0.4.20
   Compiling risc0-zkvm-receipts v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/zkvm/receipts)
   Compiling wasm-bindgen-backend v0.2.87
   Compiling wasm-bindgen-macro-support v0.2.87
   Compiling wasm-bindgen-macro v0.2.87
   Compiling wasm-bindgen v0.2.87
   Compiling js-sys v0.3.64
   Compiling console_error_panic_hook v0.1.7
   Compiling wasm-bindgen-futures v0.4.37
   Compiling wasm-bindgen-test v0.3.37
   Compiling browser-verify v0.1.0 (/Users/jake/codebases/risc0/examples/browser-verify)
    Finished dev [optimized + debuginfo] target(s) in 7.71s
[INFO]: ⬇  Installing wasm-bindgen...
warning: patch for `smartcore` uses the features mechanism. default-features and features will not take effect because the patch dependency does not support this mechanism
   Compiling risc0-zkvm-receipts v0.19.0-alpha.1 (/Users/jake/codebases/risc0/risc0/zkvm/receipts)
   Compiling browser-verify v0.1.0 (/Users/jake/codebases/risc0/examples/browser-verify)
    Finished test [optimized + debuginfo] target(s) in 0.41s
     Running unittests src/lib.rs (/Users/jake/codebases/risc0/examples/target/wasm32-unknown-unknown/debug/deps/browser_verify-ec8020e95928baca.wasm)
no tests to run!
     Running tests/app.rs (/Users/jake/codebases/risc0/examples/target/wasm32-unknown-unknown/debug/deps/app-6d8aa8efa02fc8c1.wasm)
Set timeout to 20 seconds...
Running headless tests in Safari on `http://<IP_ADDRESS>:63947/`
Try find `webdriver.json` for configure browser's capabilities:
Not found
running 1 test

test app::test_verify ... FAIL

failures:

---- app::test_verify output ----
    error output:
        panicked at browser-verify/tests/app.rs:24:62:
        called `Result::unwrap()` on an `Err` value: Io(Kind(UnexpectedEof))

        Stack:

        @http://<IP_ADDRESS>:63946/wasm-bindgen-test:507:30
        logError@http://<IP_ADDRESS>:63946/wasm-bindgen-test:155:23
        wasm-stub@[wasm code]
        <?>.wasm-function[console_error_panic_hook::hook::h41ac3c5da157acdd]@[wasm code]
        <?>.wasm-function[wasm_bindgen_test::__rt::Context::new::{{closure}}::{{closure}}::h1c7b705b144b7bb2]@[wasm code]
        <?>.wasm-function[std::panicking::rust_panic_with_hook::h3aa054d35a0817d7]@[wasm code]
        <?>.wasm-function[std::panicking::begin_panic_handler::{{closure}}::h2f73e4cf6cd6319a]@[wasm code]
        <?>.wasm-function[std::sys_common::backtrace::__rust_end_short_backtrace::h98ac61a6abbff7e9]@[wasm code]
        <?>.wasm-function[rust_begin_unwind]@[wasm code]
        <?>.wasm-function[core::panicking::panic_fmt::h3e1dd3d08288569e]@[wasm code]
        <?>.wasm-function[core::result::unwrap_failed::h8b3db0f11171b57b]@[wasm code]
        <?>.wasm-function[app::test_verify::h8d59dc18075d90dd]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::{{closure}}::{{closure}}::h9dd96672ce3578d4]@[wasm code]
        <?>.wasm-function[wasm_bindgen::convert::closures::invoke0_mut::h8349c23053174761]@[wasm code]
        wasm-stub@[wasm code]
        __wbg_adapter_31@http://<IP_ADDRESS>:63946/wasm-bindgen-test:272:73
        cb0@http://<IP_ADDRESS>:63946/wasm-bindgen-test:444:44
        @http://<IP_ADDRESS>:63946/:38:39
        @http://<IP_ADDRESS>:63946/wasm-bindgen-test:449:30
        handleError@http://<IP_ADDRESS>:63946/wasm-bindgen-test:277:23
        wasm-stub@[wasm code]
        <?>.wasm-function[wasm_bindgen_test::__rt::__wbg_test_invoke::h7e50854ea5fbd56f]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::hab3a649755635407]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::ExecuteTests as core::future::future::Future>::poll::hec66c8b5d4c35d1a]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::future_to_promise::{{closure}}::{{closure}}::hee8296e6e2dc23ac]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::task::singlethread::Task::run::h81be225c46ec7d77]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::queue::Queue::new::{{closure}}::he7fff773e55dd8ab]@[wasm code]
        <?>.wasm-function[<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h89a0a72a4cb49205]@[wasm code]
        wasm-stub@[wasm code]
        __wbg_adapter_18@http://<IP_ADDRESS>:63946/wasm-bindgen-test:175:134
        real@http://<IP_ADDRESS>:63946/wasm-bindgen-test:138:21

    JS exception that was thrown:
        RuntimeError: Unreachable code should not be executed (evaluating 'wasm.wasm_bindgen__convert__closures__invoke0_mut__h8349c23053174761(arg0, arg1)')
        <?>.wasm-function[__rust_start_panic]@[wasm code]
        <?>.wasm-function[rust_panic]@[wasm code]
        <?>.wasm-function[std::panicking::rust_panic_with_hook::h3aa054d35a0817d7]@[wasm code]
        <?>.wasm-function[std::panicking::begin_panic_handler::{{closure}}::h2f73e4cf6cd6319a]@[wasm code]
        <?>.wasm-function[std::sys_common::backtrace::__rust_end_short_backtrace::h98ac61a6abbff7e9]@[wasm code]
        <?>.wasm-function[rust_begin_unwind]@[wasm code]
        <?>.wasm-function[core::panicking::panic_fmt::h3e1dd3d08288569e]@[wasm code]
        <?>.wasm-function[core::result::unwrap_failed::h8b3db0f11171b57b]@[wasm code]
        <?>.wasm-function[app::test_verify::h8d59dc18075d90dd]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::{{closure}}::{{closure}}::h9dd96672ce3578d4]@[wasm code]
        <?>.wasm-function[wasm_bindgen::convert::closures::invoke0_mut::h8349c23053174761]@[wasm code]
        wasm-stub@[wasm code]
        __wbg_adapter_31@http://<IP_ADDRESS>:63946/wasm-bindgen-test:272:73
        cb0@http://<IP_ADDRESS>:63946/wasm-bindgen-test:444:44
        @http://<IP_ADDRESS>:63946/:38:39
        @http://<IP_ADDRESS>:63946/wasm-bindgen-test:449:30
        handleError@http://<IP_ADDRESS>:63946/wasm-bindgen-test:277:23
        wasm-stub@[wasm code]
        <?>.wasm-function[wasm_bindgen_test::__rt::__wbg_test_invoke::h7e50854ea5fbd56f]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::hab3a649755635407]@[wasm code]
        <?>.wasm-function[<wasm_bindgen_test::__rt::ExecuteTests as core::future::future::Future>::poll::hec66c8b5d4c35d1a]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::future_to_promise::{{closure}}::{{closure}}::hee8296e6e2dc23ac]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::task::singlethread::Task::run::h81be225c46ec7d77]@[wasm code]
        <?>.wasm-function[wasm_bindgen_futures::queue::Queue::new::{{closure}}::he7fff773e55dd8ab]@[wasm code]
        <?>.wasm-function[<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h89a0a72a4cb49205]@[wasm code]
        wasm-stub@[wasm code]
        __wbg_adapter_18@http://<IP_ADDRESS>:63946/wasm-bindgen-test:175:134
        real@http://<IP_ADDRESS>:63946/wasm-bindgen-test:138:21

failures:

    app::test_verify

test result: FAILED. 0 passed; 1 failed; 0 ignored

console.log div contained:
    panicked at browser-verify/tests/app.rs:24:62:
    called `Result::unwrap()` on an `Err` value: Io(Kind(UnexpectedEof))

    Stack:

    @http://<IP_ADDRESS>:63946/wasm-bindgen-test:507:30
    logError@http://<IP_ADDRESS>:63946/wasm-bindgen-test:155:23
    wasm-stub@[wasm code]
    <?>.wasm-function[console_error_panic_hook::hook::h41ac3c5da157acdd]@[wasm code]
    <?>.wasm-function[wasm_bindgen_test::__rt::Context::new::{{closure}}::{{closure}}::h1c7b705b144b7bb2]@[wasm code]
    <?>.wasm-function[std::panicking::rust_panic_with_hook::h3aa054d35a0817d7]@[wasm code]
    <?>.wasm-function[std::panicking::begin_panic_handler::{{closure}}::h2f73e4cf6cd6319a]@[wasm code]
    <?>.wasm-function[std::sys_common::backtrace::__rust_end_short_backtrace::h98ac61a6abbff7e9]@[wasm code]
    <?>.wasm-function[rust_begin_unwind]@[wasm code]
    <?>.wasm-function[core::panicking::panic_fmt::h3e1dd3d08288569e]@[wasm code]
    <?>.wasm-function[core::result::unwrap_failed::h8b3db0f11171b57b]@[wasm code]
    <?>.wasm-function[app::test_verify::h8d59dc18075d90dd]@[wasm code]
    <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::{{closure}}::{{closure}}::h9dd96672ce3578d4]@[wasm code]
    <?>.wasm-function[wasm_bindgen::convert::closures::invoke0_mut::h8349c23053174761]@[wasm code]
    wasm-stub@[wasm code]
    __wbg_adapter_31@http://<IP_ADDRESS>:63946/wasm-bindgen-test:272:73
    cb0@http://<IP_ADDRESS>:63946/wasm-bindgen-test:444:44
    @http://<IP_ADDRESS>:63946/:38:39
    @http://<IP_ADDRESS>:63946/wasm-bindgen-test:449:30
    handleError@http://<IP_ADDRESS>:63946/wasm-bindgen-test:277:23
    wasm-stub@[wasm code]
    <?>.wasm-function[wasm_bindgen_test::__rt::__wbg_test_invoke::h7e50854ea5fbd56f]@[wasm code]
    <?>.wasm-function[<wasm_bindgen_test::__rt::TestFuture<F> as core::future::future::Future>::poll::hab3a649755635407]@[wasm code]
    <?>.wasm-function[<wasm_bindgen_test::__rt::ExecuteTests as core::future::future::Future>::poll::hec66c8b5d4c35d1a]@[wasm code]
    <?>.wasm-function[wasm_bindgen_futures::future_to_promise::{{closure}}::{{closure}}::hee8296e6e2dc23ac]@[wasm code]
    <?>.wasm-function[wasm_bindgen_futures::task::singlethread::Task::run::h81be225c46ec7d77]@[wasm code]
    <?>.wasm-function[wasm_bindgen_futures::queue::Queue::new::{{closure}}::he7fff773e55dd8ab]@[wasm code]
    <?>.wasm-function[<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h89a0a72a4cb49205]@[wasm code]
    wasm-stub@[wasm code]
    __wbg_adapter_18@http://<IP_ADDRESS>:63946/wasm-bindgen-test:175:134
    real@http://<IP_ADDRESS>:63946/wasm-bindgen-test:138:21

Error: some tests failed
error: test failed, to rerun pass `--test app`

Caused by:
  process didn't exit successfully: `/Users/jake/Library/Caches/.wasm-pack/wasm-bindgen-cargo-install-0.2.87/wasm-bindgen-test-runner /Users/jake/codebases/risc0/examples/target/wasm32-unknown-unknown/debug/deps/app-6d8aa8efa02fc8c1.wasm` (exit status: 1)
note: test exited abnormally; to see the full output pass --nocapture to the harness.
Error: Running Wasm tests with wasm-bindgen-test failed
Caused by: Running Wasm tests with wasm-bindgen-test failed
Caused by: failed to execute `cargo test`: exited with exit status: 1
  full command: cd "/Users/jake/codebases/risc0/examples/browser-verify" && CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER="/Users/jake/Library/Caches/.wasm-pack/wasm-bindgen-cargo-install-0.2.87/wasm-bindgen-test-runner" SAFARIDRIVER="/System/Cryptexes/App/usr/bin/safaridriver" WASM_BINDGEN_TEST_ONLY_WEB="1" "cargo" "test" "--target" "wasm32-unknown-unknown"

I'm using the latest lts/hydrogen for node. I also enabled "Allow Remote Automation" in Safari as well, but did not test other browsers.
Any suggestions?

I looks like you're trying to run cargo xtask from the examples workspace. It needs to be run from the root of the project.

That was it, thanks. I haven't used hierarchical workspaces before; now I know.
I was also able to get the verifier working in the freestanding Wasm environment.
Thanks!


Unable to parse Opportunity events

We are unable to successfully parse events from Account/Opportunity and other objects. This issue is occuring in a sandbox environment. Other developer and prod environments work as expected for said objects
/Users/.../node_modules/avro-js/lib/schemas.js:464
    throw new Error('potential precision loss');
          ^

Error: potential precision loss
    at LongType._read (/Users/.../node_modules/avro-js/lib/schemas.js:464:11)
    at RecordType.readChangeEventHeader [as _read] (eval at RecordType._createReader (/Users/.../node_modules/avro-js/lib/schemas.js:1563:10), <anonymous>:4:133)
    at RecordType.readOpportunityChangeEvent [as _read] (eval at RecordType._createReader (/Users/.../node_modules/avro-js/lib/schemas.js:1563:10), <anonymous>:4:40)
    at readValue (/Users/.../node_modules/avro-js/lib/schemas.js:2015:17)
    at Type.fromBuffer (/Users/.../node_modules/avro-js/lib/schemas.js:247:13)
    at parseEvent (/Users/.../node_modules/salesforce-pubsub-api-client/dist/client.cjs:143:31)
    at /Users/.../node_modules/salesforce-pubsub-api-client/dist/client.cjs:622:33
    at Array.forEach (<anonymous>)
    at ClientDuplexStreamImpl.<anonymous> (/Users/.../node_modules/salesforce-pubsub-api-client/dist/client.cjs:621:23)
    at ClientDuplexStreamImpl.emit (node:events:512:28)

this is the event that is referenced in client.cjs:143:31 (event has been sanitized)
{
  event: {
    id: '00xx00x0-000x-0xx0-0xx0-0x0xx00000x0',
    schemaId: 'XX0XxXX0XXx0xXxX0xxxXX',
    payload: <Buffer <sanitized> ... 286 more bytes>
  },
  replayId: <Buffer ... <sanitized> ... >
}

hi @kunalrgarg, are you using the latest version of the library?
We had a similar issue (#21) with Long number precision in Avro-JS but it was fixed.

Version 3.4.0 worked, thank you!


Adding io.* to IMPORT_LAYOUT_TABLE in IntelliJ style

Adding io.* will be the first thing I do after #115. I need it as well for my project :)

I signed it!

Just wondering. What's the criteria for TLD's to be introduced? Why isn fr absent, for instance?

The criteria was approximately "the ones we found in our code and OSS we were using." Once we're able to add io, it would be easy to add fr.


Release sdk/resourcemanager/servicelinker/armservicelinker/0.1.0

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armservicelinker - ci


Maybe there is something difference between the paper and the code??

First,thanks a lot for the align codes,it's quite important for me .
But ,after reading the paper twice and the code,I think there is something difference.
In the paper ,the Grid network are connected after the 4th ResBlock.However ,in the network restructed by the code,The grid network are connected after the 5th network......
Maybe there is something misunderstanding ？Thanks a lot for the answer.   orz

In mine mind, the ResBlock2-Resblock5 are the part of the stn network in order to figure out the θ.And the 'Affine network' in the paper,its work is to use the θ to calculate the target feature map and BP.

Hi @zengqixun12
The Grid network input is res4fx which size is 14x14x1024
Then I copy a 5th block as Grid network(net3) and add some conv layers.

Thanks a lot for the answering!!
In the stn network,the input and the output should be the same size,so I think the Resblock2-Resblock5 has the the same function as the 'localisation-net' defined by the paper of the stn.The 'Grid network' and the 'Res3-Res4' in the PAN is corresponding to the 'localisation-net' in the stn.
Anyway,thank you very much for answering my questions carefully!
Waiting for your new paper!

Yes.
If you compare my code with the concept in original spatial transform network,
GridNet + (Res3+Res4 in base branch) serve as localisation net.

(1) addpath CM_Curve in zzd_evaluation_res_faster.m is not need since that there are no  dir of  CM_Curve in your project?
(2) the name of function in train_id_net_res_market_align.m should be train_id_net_res_market_align, and not be  train_id_net_vgg16(varargin)?

Hi @TaihuLight
(1) This is the original evaluation api. For faster evaluation, I just removed it. So you can ignore it.
(2) The filename is more important. For experiment, I usually just copied the training code so the function name may be wrong but the filename is the key.


tests: Use current python interpreter for sub tests

Can be useful to run tests using distro runtimes,
(like python3 on Debian).
Relate-to: https://github.com/theupdateframework/tuf/issues/263
Signed-off-by: Philippe Coval<EMAIL_ADDRESS>Please fill in the fields below to submit a pull request.  The more information
that is provided, the better.
Fixes #
Description of the changes being introduced by the pull request:
Please verify and check that the pull request fulfills the following
requirements:

[ ] The code follows the Code Style Guidelines
[ ] Tests have been added for the bug fix or new feature
[ ] Docs have been added for the bug fix or new feature

Looks correct to me.
The CI failures are some unrelated Windows BS as far as I can tell.

Hmm, re-running the tests still gives multiple failures here but other PRs are green...
I don't think there's anything wrong with this PR but maybe this actually does end up changing the executable used on CI and this triggers the issues? we could wait until we can test this with some test fixes from #1344...

I assumed those were sporadic failures. Since it was on windows and I was unable to reproduce, I didn't look too much in details,
is it related to locks when runing executables ?

test processes still seem to have open files in the directory we try to remove on test cleanup. Windows is very picky about that -- but unfortunately not reliably so. This change seems to have made it more reliable, or alternatively something changed in github end in the last day.
The failure I looked at does look like a bug in our tests: I'll try fixing that on monday and we'll see how it affects this.

Would you mind rebasing this so we see test results with the hopefully fixed tests?

Thanks!


Setting isMetricsEnabled flag in Zork Firefox app based on options file

This pull request modifies the Zork Firefox app so that it will set a isMetricsEnabled flag to true iff a "/zork-options" JSON file exists on that machine (i.e. Zork docker container) with "isMetricsEnabled": true.
Note currently isMetricsEnabled is not yet used, and the Zork install scripts are not yet setting this file.  This just lays the groundwork for enabling server-side metrics.  Next changes will be:

Setting this file in the docker install scripts
Reporting metrics from the server if isMetricsEnabled==true
Asking users to opt into metrics collection during server creation.

This change is

Just made those changes, PTAL

:+1:


Disable the cheat protection

Is there any way to disable the cheat protection of the ct-code?
Whenever I try to load MKWii with ct-code and enabled Ocarina or WiiRD, I only get a black screen ...

The published version here should have no cheat protection. If you borrowed a .dol file from CTGP-R v1.02 or similar, you may have inherited the protection from that.

A direct copy/paste from YouTube:
This tutorial will show you how to remove the cheat security from CTGPR
I would like to give thanks to Chadderz for helping me with this
If you are NTSCU:

open the main.dol in your favourite hex editor
go to offset 0x84 making sure to replace 80 00 28 00 with 80 2A 80 00
go to 0x29F354 and do what you did in step 2 by making sure to replace 80 00 28 00 with 80 2A 80 00

Save and enjoy
For PAL users:

open the main.dol in your favourite hex editor
go to offset 0x84 making sure to replace 80 00 28 00 with 80 2A 80 00
go to 0x2A36B4 and do what you did in step 2 by making sure to replace 80 00 28 00 with 80 2A 80 00

Save and enjoy
For NTSCJ users:

open the main.dol in your favourite hex editor
go to offset 0x84 making sure to replace 80 00 28 00 with 80 2A 80 00
go to 0x2A3034 and do what you did in step 2 by making sure to replace 80 00 28 00 with 80 2A 80 00

Save and enjoy
The rough documentation
NTSCJ 0x84 and 0x2A3034
NTSCU 0x84 and 0x29F354
PAL 0x84 and 0x2A36B4
search 80 00 28 00 00 00 00 00 00 00 00 00 in hex editor
Replace with 80 2A 80 00


Review needed

As I'm not very good with Rust this project needs a review from the proficient engineer.

Trying out the library based on your example, it seems that you did not create the typeid type?
create table users
(
  id typeid default typeid_generate('user') not null primary key,
  created_at timestamp default CURRENT_TIMESTAMP not null
);

Output:
Query 1 ERROR at Line 3: : ERROR:  type "typeid" does not exist


Extending functionality of the LiveSession experimental feature to en…

Extending functionality of the LiveSession experimental feature to enforce 4 eyes behaviour. Added reviewer to ExecutionRequest.kt and set it when approving a LiveSession Access, the reviewer is then the only user that can run commands in that session, while the author is the only one that can write

Hi @Askir, I work with Chris and have picked up developing this tool further to fit with our live session 4 eyes review use case. This change enforces the request author can only write sql and reviewer can only run what the author wrote.
I've done this by introducing an explicit reviewer field in the execution request object that's set when someone approves the request. I went with that approach since we envision the author inviting another user to review/join the session in the future.
Not sure if this fits with your vision for the tool going forward, but hope you'll consider it

Hey, thank you so much for the contribution!
I'll leave some thoughts about this feature here, honestly it's not 100% structured yet so there might be some conflicting ideas but I hope it helps us get a bit more aligned with how this should work:

I would like the live sessions executions to work similar to the current approval process. Meaning that it would ideally share the approval mechanism that the typical execution requests have:

If the connection is set up to require 2 approvals both are needed before the statement is executed even in a live session.
Same role and permission requirements apply to the live session executions.
This would make the reviewer field that you are adding obsolete I think.

Currently any execution/comment/review is tracked in the events table of the database. However the reviews relate to the parent execution request. This can probably stay this way. But I am not sure yet if the same review/approval entity  should be used for the live session requests, where the statement to be executed probably lives in some sort of pendingExecution entity in the events table.
If we only allow one pending execution at a time (which probably makes sense). The statement to be executed as well as the reviewers could be stored on the liveSession entity and one corresponding pendingExecution Event. As soon as this one is approved it would turn into a normal execution event with the corresponding review events.
If a statement is denied or canceled it could instead be turned into a canceledExecution event.
Instead of messing with the events itself it could also use some sort of event sourcing mechanism where the event chains always look like: liveSessionRequested -> liveSessionApproved -> pendingExecution -> approval review -> execution or pendingExecution -> denied review -> caneledExecution -> ...

Well as I said it's all a bit vague still, but I'd prefer to integrate it into the existing approval system or at least build a new one that accomodates the existing async execution requests as well as the live sessions.


Duplicated Rotary Hearth Furnace (and Bulk Blast Chiller) recipes

GregTech CEu Version
v2.4.0
Gregicality Multiblocks Version
v1.1.4
Gregicality Science Version
v0.0.1
Modpack Used
GregTech Expert 2
Addons Installed
No response
Environment
SP
New Worlds
Yes
Cross-Mod Interaction
No
Expected Behavior
Rotary Hearth Furnace has one recipe
Actual Behavior

Steps to Reproduce
this is a recipe bug
Additional Information
No response

This is fixed with an upcoming release of GCYM meant to be used in coordination with the next alpha of GCYS.


Why is the extra complexity of the AES encryption in Android

Hi,
Is there a reason for adding the extra AES encryption (on Adnroid)?
As I see it, the actual values could be encrypted/decrypted using the RSA one (from the keystore) - removing extra AES enc/dec cycle and reducing code complexity.
Thanks for your reply and for this useful library.

Hey!
RSA can encrypt payloads <= to its key size. Hence we use AES for encryption and then RSA to encrypt the key.


Zoom Issue

Previous tickets with same issue #47 and #113  have been raised previously.
When zooming in and out, the size and position of the line is not updated, event when calling .position()
Here is reproduction steps:
https://jsfiddle.net/97etdyr6/

Hi @andyhoyle, thank you for the comment.
The zoom property is not supported by some browsers, and usage of the property in your CSS code is incorrect.
https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport
You should use scale CSS function instead. And that has to be specified for <body> as viewport.
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale()
Also, lines are not positioned correctly in an element having scale because that changes transform.
If you want to change size of the lines and elements, you should change each size of parts, or add SVG for lines.

No reply came, then this abandoned issue is closed.

FYI;
https://jsfiddle.net/jp2yout4/