Optimize Class.getDeclaredField in Feign plugin

Improve the performance of Class.getDeclaredField

[x] Add a benchmark for the improvement: Not necessary
[x] The benchmark result: trivial
[x] Links/URLs to the theory proof or discussion articles/blogs. https://stackoverflow.com/questions/16395881/getdeclaredfields-absolute-performance

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. No.
[ ] Update the CHANGES log.

I am wondering if we can add FieldUtil and/or ClassUtil similar to MethodUtil in agent core since I've met a couple of cases where this helper is needed.

I am wondering if we can add FieldUtil and/or ClassUtil similar to MethodUtil in agent core since I've met a couple of cases where this helper is needed.

We are trying to avoid moving things into the core for 2 reasons

Once we are facing some JDK breaking level change(it happened, and definitely will happen again), the core is as safer as possible.
The core doesn't care how plugins work, if there are some things that should be shared, we could write another plugin to provide assistance, it doesn't have to be in the core level(agent.jar).

Thanks for the explanation! Reasonable for me.
Changelog modified.


DatePicker component has no cancel method

Please list the package(s) involved in the issue, and include the version you are using
ui-extensions 2024-04
Describe the bug
When using a DatePicker component there is a property specifying the onChange action, but not for the onCancel action; when the DatePicker is rendered as an inline type, the calendar shows with a Cancel and OK button by default; however, clicking Cancel has the same effect as clicking OK (ie, hitting the onChange event rather than the ability to have an onCancel event which could then be used to tidy-up and dismiss the calendar.
Expected behavior
There should be an onCancel property with callback to allow for cancellation.

This is/was for POS.


Incorrect statement about mS-DS-ConsistencyGuid feature for group objects

Release notes for v<IP_ADDRESS> state that:

Added support for the mS-DS-ConsistencyGuid feature for group objects. This allows you to move groups between forests or reconnect groups in AD to Azure AD where the AD group objectID has changed, e.g. when an AD server is rebuilt after a calamity. For more information see Moving groups between forests.
The mS-DS-ConsistencyGuid attribute is automatically set on all synced groups and you do not have to do anything to enable this feature.

Looking at the Synchronization Rules Editor, both the In from AD - Group Join and In from AD - Group Common inbound sync rules have these transformations:

sourceAnchorBinary = IIF(IsPresent([mS-DS-ConsistencyGuid]),[mS-DS-ConsistencyGuid],[objectGUID])
sourceAnchor = IIF(IsPresent([mS-DS-ConsistencyGuid]),ConvertToBase64([mS-DS-ConsistencyGuid]),ConvertToBase64([objectGUID]))

There are no outbound rules for the group object type to AD.
What this means is that:

The sourceAnchor and sourceAnchorBinary properties of the metaverse object is set to the mS-DS-ConsistencyGuid attribute from AD if present.
No attributes of group objects are written back to AD.

Contrast this with the user object type - the Out to AD - User ImmutableId outbound sync rule has this transformation:

mS-DS-ConsistencyGuid = IIF(IsPresent([cloudSourceAnchor]),IIF(IsPresent([sourceAnchorBinary]),[sourceAnchorBinary],IgnoreThisFlow),IgnoreThisFlow)

This means that for user objects, the mS-DS-ConsistencyGuid attribute in AD is set to the metaverse object’s sourceAnchorBinary attribute.
In short, AAD Connect will make use of the mS-DS-ConsistencyGuid attribute for group objects if present, but will not populate it. You would need to do so manually or create a custom rule to do so.

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

ID: b98c85da-46c7-c32e-6376-1bf13faaaaee
Version Independent ID: 931d7f84-565e-c49c-1c5b-4b6794937749
Content: Azure AD Connect: Version release history archive
Content Source: articles/active-directory/hybrid/reference-connect-version-history-archive.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@LijuV-MSFT
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Thank you for submitting this issue.  Unfortunately, due to high volumes I was unable to respond to this in a timely manner.  At this point, I am going to close this due to it's age and the possibility that it may have been addressed.  If this is still a problem, please consider submitting a new issue.  Thank you.
#please-close


iOS cache path is not recognised

I am having troubles in identifying the cached path only on iOS platform, the android is working as desired. I am fetching the JSON content using RNFB and storing the data into local cache of respective platforms, then there is a check of 24 hours to pass, if that condition is not met data is rendered from the local cache and if it is met, data is re-downloaded and updates the cache file and renders on the screen. This all is working fine on both platforms except one bit that on iOS it is failing to reach to the cache file in the iOS file system, following is the code I am using;
`componentDidMount() {
var now = new Date().getTime();
var nextFetch = now + 86400000;
var PATH_TO_READ = '';
console.log('path', PATH_TO_READ);
console.log('difference', nextFetch - now);
	if ((nextFetch - now) > 86400000) {
		console.log('remoteData')
		RNFetchBlob
			.config({
				path: dirs.CacheDir + '/vinthub',
				fileCache: true,
				appendExt: 'txt'
			})
			.fetch('GET', 'https://azurewebsites.net/wp-json/wp/v2/posts', {})
			.then((res) => {
				jsonData = res.json();
				PATH_TO_READ = res.path();
				console.log('remote response path', PATH_TO_READ);
				return jsonData;
			})
			.then((jsonData) => {
				console.log('finally', jsonData);
				let ds = new ListView.DataSource({
					rowHasChanged: (r1, r2) => r1 !== r2
				});
				this.setState({
					isLoading: false,
					dataSource: ds.cloneWithRows(jsonData),
				})
			});
	} else {
		console.log('localData');
		console.log('dirs', dirs.CacheDir);
		if (Platform.OS === 'ios') {

			let fileUri = '/Users/taimoorkhan/Library/Developer/CoreSimulator/Devices/2149B687-A347-4C12-82FB-B83CA14B59D8/data/Containers/Data/Application/6B6B2061-56EE-40EA-A3B3-812264BD860B/Library/Caches/vinthub';
			let arr = fileUri.split('/')
			const dirs = RNFetchBlob.fs.dirs
			filePath = `${dirs.DocumentDir}/${arr[arr.length - 1]}`
		} else {
			filePath = '/data/user/0/com.vinthub/cache/vinthub'
		}
		RNFetchBlob.fs
			.readFile(filePath, 'utf8')
			.then((res) => {
				jsonData = JSON.parse(res);
				// PATH_TO_READ = res.path();
				console.log('local response path', PATH_TO_READ);
				return jsonData;
			})
			.then((jsonData) => {
				let ds = new ListView.DataSource({
					rowHasChanged: (r1, r2) => r1 !== r1
				});
				this.setState({
					isLoading: false,
					dataSource: ds.cloneWithRows(jsonData),
				})
			});
	}
}`

As you can see on the console I am getting following path '/Users/taimoorkhan/Library/Developer/CoreSimulator/Devices/2149B687-A347-4C12-82FB-B83CA14B59D8/data/Containers/Data/Application/6B6B2061-56EE-40EA-A3B3-812264BD860B/Library/Caches/vinthub' which is of course the path of my computer made by the iOS simulator, any ideas how I would be able to figure out the actual path of the iOS device?

"react-native-fetch-blob": "^0.10.8",

Could that be something related to the simulators?
I am having a similar issue with a path like that and android is just fine.
https://github.com/wkh237/react-native-fetch-blob/issues/657


Fix Editor Hands with VR

Overview
This change swaps out the Editor DLL that is packaged as part of MRTK Foundation. Instead of using the Editor DLL build for standalone platform, it uses the Editor DLL built for WSA platform.
Changes

Fixes: #6391

/azp run

It's helpful to have PR descriptions that say how the issue was fixed/what the underlying cause was (i.e. we're switching the DLL because we want access to certain APIs that are WSA-specific and behind the UNITY_WSA compiler flag)

/azp run


How to model the heatflow of a radiator?

Helllo together,
Short question: I want to model a simple room with a radiator in it:
ex:room a brick:Room
ex:zone a brick:HVAC_Zone
ex:radiator: a brick:Radiator

ex:zone brick:hasPart ex:room
ex:room brick:isLocationOf ex:radiator

Until here i am quite certain, that i am right. But now i was asking myself if i can state:
ex:zone brick:isFedBy ex:radiator

Because the Radiator is feeding heat to the room. But heat is not "some media that flows from subject into object."
Also i wanted to ask when brick 1.4 is released and where i can download the nightly version.
Greetings!

Hi @MaxBerktoldRWTH we don't have a perfect relationship to use here because Brick does not model heat flow; however, if you want to model the "serving" of some room by some equipment, then the feeds relationship you've chosen above is appropriate.
Brick 1.4 should hopefully be released next week or so. We're waiting on some last minute details from the RealEstateCore folks. You can see the last changes here and the nightly build can be found here

Thank you so much, as always!


”Slobozia” is listed in the drop-down menu

Description:
"Slobozia" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Slobozia" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Slobozia, GIURGIU (Slobozia)".


Add GitHub actions to assess CCUD build and samples syntax

signArchives task is excluded from CCUD smoke test to avoid passing credentials
Gradle configuration samples are validated on the syntax aspect only

I agree, but let's limit the scope of our first CI integration. :) We can add that later.

That's exactly what I meant.  This is a good first step.

Regarding renaming - I think we should use the name gradle-slow-task-executions.gradle since it refers to tasks. Not all work units are not captured here.


Local git clone

My repo is set as:
set('repository', 'repo/site.git');
Firstly I run this:
task('deploy:push', function() {
	runLocally('git push site master');
})->desc('Git push to site');

But when deploy:update_code is ran, I get this:
Run: git clone  --depth 1 --recursive -q repo/site.git /home/user/deploy/releases/20160131092504 2>&1
> warning: --depth is ignored in local clones; use file:// instead.

What's the problem here?

Did you try?
set('repository', 'file://repo/site.git');

Or ssh/https?


NestedScrollView with UserScrollNotification direction value is not right

Steps to Reproduce
listener UserScrollNotification,and print direction.
when i fling,i get
log is:
I/flutter ( 5729): update scroll direction ScrollDirection.idle
I/flutter ( 5729): update scroll direction ScrollDirection.reverse
I/flutter ( 5729): update scroll direction ScrollDirection.idle
in this case ,when i begin drage,i get first update state is idle
or
I/flutter ( 5729): update scroll direction ScrollDirection.forward
in this case, when i drage end,i not get idle

Expected results:
when i begin drage,i can get update state is reverse or forward
when NestedScrollView scroll end,i can get  update state is idle
Actual results:
I/flutter ( 5729): update scroll direction ScrollDirection.idle
I/flutter ( 5729): update scroll direction ScrollDirection.reverse
I/flutter ( 5729): update scroll direction ScrollDirection.idle
or
I/flutter ( 5729): update scroll direction ScrollDirection.forward

Code sample

NotificationListener<UserScrollNotification>(
        onNotification: (notification) {
          print(' update scroll direction ScrollDirection.${notification.direction.toString()}');
          return true;
        },
        child: NestedScrollView(
                headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
                  return <Widget>[
                    SliverAppBar(
                      title: const Text('ListView'),
                      pinned: true,
                      forceElevated: innerBoxIsScrolled,
                    ),
                  ];
                },
                body: ListView.builder(
                  padding: const EdgeInsets.all(8),
                  physics: const ClampingScrollPhysics(),
                  itemCount: 30,
                  itemBuilder: (BuildContext context, int index) {
                    return SizedBox(
                      height: 50,
                      child: Center(child: Text('Item $index')),
                    );
                  },
                ),
              ),
            )
        ),

Logs

Hi @pba-cra
I can not reproduce the issue on the latest stable and master channels.
I got the expected results:
 update scroll direction ScrollDirection.ScrollDirection.reverse
 update scroll direction ScrollDirection.ScrollDirection.reverse
 update scroll direction ScrollDirection.ScrollDirection.idle
 update scroll direction ScrollDirection.ScrollDirection.idle
 update scroll direction ScrollDirection.ScrollDirection.reverse
 update scroll direction ScrollDirection.ScrollDirection.reverse
 update scroll direction ScrollDirection.ScrollDirection.idle
 update scroll direction ScrollDirection.ScrollDirection.idle

Demo
https://user-images.githubusercontent.com/104349824/177471309-e8450151-e013-4408-81b0-6a862ffd129d.mp4

Sample code
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

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

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

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: NotificationListener<UserScrollNotification>(
          onNotification: (notification) {
            print(' update scroll direction ScrollDirection.${notification.direction.toString()}');
            return true;
          },
          child: NestedScrollView(
            headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
              return <Widget>[
                SliverAppBar(
                  title: const Text('ListView'),
                  pinned: true,
                  forceElevated: innerBoxIsScrolled,
                ),
              ];
            },
            body: ListView.builder(
              padding: const EdgeInsets.all(8),
              physics: const ClampingScrollPhysics(),
              itemCount: 30,
              itemBuilder: (BuildContext context, int index) {
                return SizedBox(
                  height: 50,
                  child: Center(child: Text('Item $index')),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.4, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.4 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 85684f9300 (3 days ago), 2022-06-30 13:22:47 -0700
    • Engine revision 6ba2af10bb
    • Dart version 2.17.5
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 103.0.5060.53

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1506, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.1506 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b5be42f2d (4 hours ago), 2022-07-05 18:39:08 -0400
    • Engine revision ed6adf55e0
    • Dart version 2.18.0 (build 2.18.0-256.0.dev)
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 964AY0WL20 • android-arm64  • Android 12 (API 32)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 103.0.5060.114

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Which Flutter version are you using?  Please provide the output of flutter doctor -v.
Thank you!

@pba-cra Please provide the output of flutter doctor -v. Thanks!

Hi @pba-cra
You are using the old Flutter version, the latest Flutter stable is 3.0.4 and the master is 3.1.0. Please try upgrading them and retry to see if this issue still reproduces.

Hi @pba-cra, I can reproduce the issue on the latest stable and master channels. But the results are quite variable on some environments.

iOS: ❌
Android: ❌ (only happens with scrolling forward: idle ->  forward)
MacOS: ❌ (scrolling with mouse is fine, only happens with touchpad)
Web: ✅

✅: No Issue ❌: Issue reproduced

Demo

iOS:

https://user-images.githubusercontent.com/104349824/177948916-284c6d61-51aa-41ee-87b7-1a36fffd5f40.mp4

Android:

https://user-images.githubusercontent.com/104349824/177948923-9bb94246-2fae-4ed9-bc75-0676c1930fad.mp4

MacOS:

https://user-images.githubusercontent.com/104349824/177949738-d4c011af-9193-4f2e-b14c-87c67c829d55.mp4

Web:

https://user-images.githubusercontent.com/104349824/177949728-93dfabe0-1c59-4679-acd5-13408653130e.mp4

Sample code
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

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

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

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: NotificationListener<UserScrollNotification>(
          onNotification: (notification) {
            print(' update scroll direction ScrollDirection.${notification.direction.toString()}');
            return true;
          },
          child: NestedScrollView(
            headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
              return <Widget>[
                SliverAppBar(
                  title: const Text('ListView'),
                  pinned: true,
                  forceElevated: innerBoxIsScrolled,
                ),
              ];
            },
            body: ListView.builder(
              padding: const EdgeInsets.all(8),
              physics: const ClampingScrollPhysics(),
              itemCount: 30,
              itemBuilder: (BuildContext context, int index) {
                return SizedBox(
                  height: 50,
                  child: Center(child: Text('Item $index')),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.4, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.4 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 85684f9300 (3 days ago), 2022-06-30 13:22:47 -0700
    • Engine revision 6ba2af10bb
    • Dart version 2.17.5
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 103.0.5060.53

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1553, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.1553 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d3e385de05 (32 minutes ago), 2022-07-07 21:59:09 -0400
    • Engine revision 177d1ad4e2
    • Dart version 2.18.0 (build 2.18.0-263.0.dev)
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 964AY0WL20 • android-arm64  • Android 12 (API 32)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 103.0.5060.114

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Labeling this issue for further investigation from the team.

@Piinks


Anonymous non-uniform property?

How can I define a (named) Attribute for this structure?
I'm documenting an API that, at one point, returns something like this:
{
    "tag1" : [ 1, 2, 3],
    "tag2" : [2, 4, 6, 8],
    "tag3" : [1, 1, 2, 3, 5, 8, 13]
}

But not quite like that: on any given call, depending on the app state, there might or might not be values for any given tag. If a given tag has no values, then it's entirely suppressed (no empty sub-array or null value). So this, also, is a possible return:
{
    "tag2" : [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5],
    "tag3" : [3, 4, 5]
}

And likewise all of the other subsets.
To top it all off, that set of tags is useful in its own right (e.g., as an URI Template Parameter for "just give me any tag2 values").
There's a hauntingly inviting section in the MSON book, Non-uniform Property, but it seems to require me to name the non-uniform entity. But it has no other name than "+ Body", and Blueprint seems to require an URL associated with every Asset definition.

@jrep I think this is related to what are we discussing here https://github.com/apiaryio/mson/issues/26#issuecomment-132204408 any ideas on that would be appreciated!

@jrep Was this answered in https://github.com/apiaryio/mson/issues/26#issuecomment-132204408 or is this still an open question?

Hmm ... well, for other reasons, the actual case that got me started was redefined in a simpler way. Originally it was something like
GET /path/to/stuff
=> { "tag1" : [1,2,3], "tag2": [1,4,7] }

and also
GET /path/to/stuff/tag1
=> [1,2,3]

(and also a lot of "SQL SELECT type" URIs to be more specific about what to return)
I had wanted to give a type-name to the list of possible tags, and then in many places to declare that this URI parameter, that query parameter, or this other body object member was an instance of that type.
But the first form was eliminated. Also, since asking the question, I have learned that the set of tags is too large (over 100 values, and in fact run-time extensible) to actually list in the Blueprint. So I kind of dropped the thread.
Status now seems to be:

I no longer actually care, so it's only hypothetical
cases I do care about are simpler, and well handled by MSON
but, no, I don't see how the hypothetical case is covered by mson#26


Add Crypotests

Add Crypotest #3829

Move existing security tests to sub dir
Update gitignore
Add task getDependentLibs to support compiling by subdir functional/security/AQAvit

Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

CryptoTest will be added to functional security as a sub test. Would prefer to move the current security tests net.adoptopenjdk.test to sub directory. @ShelleyLambert is that ok? If it's ok any preference for the tests name? ( in my draft  PR I just name it Adoptium by random).

Since this test material originates from rh-openjdk, then that would be an appropriate name to use.

@smlambert I'm talking the tests already exists in aqa-tests/functional/security, which was added by you

Grinder https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/6606/

https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/1986/

Move to https://github.com/adoptium/aqa-tests/pull/4327 using jtreg


Fix stream playing stops when exit from fullscreen mode on iOS

When you open full screen mode then exit from it, you see just still picture but not streaming video. In order to start stream again you "play" button should be pressed.

Do you use ui: true?

Having the same problem as well with ui: false.
When I include ui: true, I can't see the fullscreen icon which is supposed to be on the lower left corner of the stream.
Running on iOS HA App, OS: iOS 14.6

iOS doesn't support fullscreen with custom UI

I see, then the only problem is the stream will pause when exiting from full-screen

https://github.com/AlexxIT/WebRTC/releases/tag/v3.5.0


specify content type of ajax responses to json

ie
header("Content-type: application/json");
echo json_encode(array('success' => true));

although, check we're not extending the size of responses, in case of bigger payload increasing export times

JSON headers will be smaller than HTML
SUCCESS Message in HTML:
Content-Length: 1047
{success: true} in JSON:
Content-Length: 1045


project status

@Michaelvilleneuve Could you please tell me the status of this project? I find it a bit outdated, and no activity.
Do you have some ongoing plan about it or just recommend a package replacement?

this plugin not working with recent react native version, i really need a plugin like that. Waiting for response too, thanks :D

@NikolasRoger I needed for a demo the scanner working, therefore I changed by the following package (forked from this one) and compatible with the latest RN.
See: @woonivers/react-native-document-scanner


XBlockAsides generate warnings and extra info when following tutorial

Hi,
I'm writing my first XBlock and ran into this FutureWarning on the console when running the sdk.
Development server is running at http://x.x.x.x:18000/
Quit the server with CONTROL-C.
/opt/xblock_development/venv/src/xblock/xblock/runtime.py:578: FutureWarning: IdGenerator will be required in the future in order to support XBlockAsides
  warnings.warn("IdGenerator will be required in the future in order to support XBlockAsides", FutureWarning)
[14/Oct/2015 11:35:04] "GET / HTTP/1.1" 200 1796

And then when accessing it, I get a lot of Aside related UI components.

Cheers!
Jun

Workaround for the second problem is to pip uninstall acid-xblock. Thanks @nedbat

This should now be fixed.


Add TPS62132 and TPS62133 DC/DC Converters

TPS62132 3.3V 3A fixed output step-down converter
TPS62133 5V 3A fixed output step-down converter

These changes are worth making to the existing TPS62152 part as well
Should I make a new PR for that, or change it here?

Good point, change it here please.


Create Cache/status.json if not existent

Instead of breaking after removing the Cache directory.

Should work now.


[Bug]: selectedItem of List Widget Not Reflecting Dynamically Update Value Immediately

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In a List widget populated by a JS Object, if a property of the selectedItem changes dynamically (e.g., onClick of a button), the updated value id not getting reflected in the selectedItem until the user deselects it and selects it again (or selects another item, then selects it again). See this screen recording.
Steps To Reproduce

Add a List widget to the canvas and populate it from a JS Object.
Create a JS function that updates a property of one of the items (e.g., the first one).
Run this JS function in the onClick event of a button.
Add a Text widget and bind it to the respective property of the selectedItem of the list.
Select the item, then click the button, and note that the value shown in the Text widget does not get updated unless re-selecting the item.

Public Sample App
https://app.appsmith.com/app/list-selecteditem-updated-dynamically/list-64be65fc4088450b8c5789d2
Environment
Production
Issue video log
https://www.loom.com/share/afe79d54db434c67bff38eb1d6160cd2
Version
v1.9.29

This is expected @ame-appsmith. Appsmith does not support updates like these, as we dont evaluate or re-render the component. The same reason why we worked set meta property project.
@ashit-rath is this intended in list specifically or you think this is generic behaviour?
cc @dilippitchika @sbalaji1192

Somewhat loosely explained here.
Seems like this is intentional by design.


[Розширений пошук] Near the location icon, the address does not show.

Environment: Windows 10, Google Chrome 92.0.4515.107 (Розробка) (64-розрядна версія)
Reproducible: always
Build found: last commit
Preconditions
The user should be logged in the site https://speak-ukrainian.org.ua/dev/
Steps to reproduce

Go to 'Розширений пошук' button
Click on 'Розширений пошук' button
Click to view by list button

Actual result
Near the location icon, the address does not show.

Expected result
Near the location icon, the address is shown
User story and test case links
"User story #274

Near the location icon, the address is shown


chore(deps): update urllib3 minimum version

The current constraint expresses at least urllib3 version 1.10.0,
which has at least 5 CVEs open.
Projects relying on sentry-sdk will get an optimistic version of
the latest, so current test suites are already using the latest version
which patches these vulnerabilities.
Refs:

https://github.com/advisories/GHSA-www2-v7xj-xrc6 (critical)
https://github.com/advisories/GHSA-mh33-7rrq-662w (high)
https://github.com/advisories/GHSA-hmv2-79q8-fv6g (high)
https://github.com/advisories/GHSA-wqvq-5m8c-6g24 (moderate)
https://github.com/advisories/GHSA-5phf-pp7p-vc2r (moderate)

Signed-off-by: Mike Fiedler<EMAIL_ADDRESS>

@sl0thentr0py any chance for a review here? It's be nice to close out some if these security issues.

Test fails for Python 3.4 - how long are you planning on supporting legacy versions?

Hi @miketheman, we're looking into dropping 3.4 but we need to follow some deprecation process first, will get back to you when I know more.

@sl0thentr0py any chance of coming back to this?

Thanks @sl0thentr0py ! Looking forward to the release and closing the vulnerable alerts.


Implement multiline string literal syntax

Description
Currently multiline string literal (|||) syntax is unsupported by parser and should be implemented to guarantee full spec-compatibility.
Details
Expr::Str should be created for ||| string literals.
Alternatively, a specific Expr may be added like MultilineStr(Vec<String>).
Example
... of a valid expression using ||| syntax:
{
  'foo': |||
    bar
    baz
    qux
  |||
}

Fixed in b7f33d336d240403484caa221e65bd250b0d91fa


[Enhancement]: home UI

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
Game enhancement : home UI very difficult to understand at first time. either add how to use button / how to play button or make UI easy to understand.
Describe the solution you'd like
Solution steps : either add how to use button / how to play button or make UI easy to understand.
Select program in which you are contributing
No response
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@Vipullakum007 Could you please explain more what you want to do, if possible you can also add screenshot.

If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created seprate chennals for all projects...
Thank you :)


Make red rectangle when image is found.

In  #6 , we just do "red rectangle" on text when searching a text.
We should do the same thing for searching an image.

check-in and the update is in v.1.1.2 branch.


fix: remove awsEksDetector

:tada: This PR is included in version 1.13.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


New Activities Won't Sync

For roughly the last 3 weeks my activities won't sync to Sauce despite being in strava.  I've tried manually syncing but it still doesn't update.

Hi @fernrees Few questions:
Is this your profile or another users?
Can you send a pic of the sync panel?
If you right click -> Inspect and navigate to the console tab, do you see any errors or warnings?
If you're super technical I have one more thing that would be very useful to see, which is the console output from the Sauce "background" page.  I'll put the brief instructions here but if it's too much, don't worry about it just yet.
Go to the main browser menu (three vertical dots usually)  -> More Tools -> Extensions
Then enable developer mode using the top right toggle.
Find Sauce for Strava and click on the "Inspect views
pages/bg.html" link.
This opens a new devtools window.  Navigate to the console tab and then either send me the logs you see there or if it is clean initiate a sync manually from another window and then see if that generated any useful log messages.
Thank you @fernrees


license updates

Coverage remained the same at 44.89% when pulling b74b67c859a062e2837888747853c758b7622b7b on unit-tests into 8245420d1304f898d0dd22f72b628d9caace5b9c on master.


Pull To Refresh Wonkiness

Sometimes, when pulling to refresh, the screen wonks out and the logo does a funny dance. We should prevent this dance.

fixed via https://github.com/NewSpring/react-pull-to-refresh/commit/553ea6ae54aaf26e7c0127d8e8da9beddfcad66d


/opt/hpccloud/proxy.db is empty when creating new PVW session

Trying to connect to ws://${location.hostname}:8888/proxy?sessionId=${resp.data.metadata.sessionId}
Looking more into it, /opt/hpccloud/proxy.db remains empty. Jobs seem to be all running fine before this. This was trying to run on Ulmus.

d2456bb should resolve this


About screen font is huge

Since the recent update of the about screen, the font is huge. The text barely fits my screen and is nearly twice as big when comparing to a normal settings screen. (Additionally, there is no right margin on some items. Therefore, the text sticks to the edge of the screen)

Device: OnePlus 3T, LineageOS 17.1
K9mail version: master
Ping @williamvds

Whoops, my bad. I didn't notice how bad it would be with a normal screen density
I'll send a PR to correct this


Small edits

I made small edits throughout the document.
In general you need to introduce what something does before explaining why that is the case. In several places it would be good if you give a 2 sentence summary before jumping into the details.
You might need to generate a diagram for Resource and ResourceItem because it is difficult to read the list of use cases and know how and why these all fit together. I am less immediately concerned by what actions performed, and more concerned by how everything fits together. You could also structure the "Features" section of Resource, ResourceItem better.

Thank you for your advice! Adding more explaination

Hi, I added more explainations and images for the documentation, please have a check :-)

Excellent! Can you please open a pull request to privly-organization? You can open a new "docs" folder. Once that is merged we will add a link to it in the source code and on priv.ly/develop.

Done :-) https://github.com/privly/privly-organization/pull/39


Make sure you can't ignite a project named React

Make sure you can't ignite a project named React
Fixes #399


feat(media_data): add info about most currently used sources in kite

This PR adds metadata for most news sources currently active in Kite's feeds.
Unused media entries have been removed to optimize the client-side payload.
Previous entries remain accessible in the commit history if needed for future use.

[x] World
[x] USA
[x] Business
[x] Technology
[x] Science
[x] Sports
[x] Gaming
[x] Bay Area
[x] Linux & OSS
[x] Cryptocurrency
[x] Germany
[x] Italy

These categories are planned for a later time:

Europe
UK
Brazil
Australia
Estonia
Mexico
Canada
Thai
Vermont

Great job! Can you make sure some staples like aljazeera, france24, rt.com are covered in the db first

Good to merge?

Good to merge?

Cleaning up some stuff and we should be good!

Should be ready to merge now :)

Amazing work!


Remove pin on eccodes.

WIP - do not merge
Closes #3723 (?we hope?)
We should now be able to test with the latest python-eccodes.
We shall see what this attempts to install, and whether it functions !

Related for iris-grib : https://github.com/SciTools/iris-grib/pull/209

Unfortunately, the news is already not good.
The latest seems to seg-fault : https://travis-ci.org/github/SciTools/iris-grib/builds/693839716

This is now dead, as we no longer have any grib in the iris tests, and are not installing eccodes


When the code block in html is echoed by generateNodesFromDOM, elements and styles are missing

this is my default html:
let a= 1;
Use this html to generate nodes through the $generateNodesFromDOM function and insert the editor:
    const parser = new DOMParser();

    const dom = parser.parseFromString(defaultHtml, 'text/html');

    const nodes = $generateNodesFromDOM(editor, dom);

    const root = $getRoot();

    const paragraphNode = $createParagraphNode();

    nodes.forEach((n)=> paragraphNode.append(n));

    root.append(paragraphNode);

After the node is generated, it becomes like this
let a=1;

You have a few options here:

if what you want is just the exact HTML that Lexical renders, just use getRootElement and access the innerHtml property to get that:

editor.getRootElement().innerHtml

If you want to control how the HTML is exported from these nodes, you have to learn about Serialization:

https://lexical.dev/docs/concepts/serialization
You can use the new (in v0.6.2) $applyReplacementNode API to overrride CodeNode and CodeHighlight node with your own nodes that implement exportDOM however you want.


MLSD

Hi!
First of all, thanks for this great package, it backs the new vinyl-ftp and turns out to be very, very robust.
However, I needed to implement MLSD for better listings (needed seconds). It's just a small derivation from your LIST code, and I thought you might want to include it. It should be trivial to implement MLST, too. I could also work this into a pull request if you wanted.
https://github.com/morris/vinyl-ftp/blob/master/mlsd.js

I'd be open to a PR adding them as separate methods and not automagically used. Since there is some overlap with the existing dir listing functionality, it would be great to share some of the common code to keep things DRY.

Definitely, I also use both MLSD and LIST (as a fallback if MLSD is not supported). Hope I get around to filing the PR one of these days...


Does user relationship work with firebase auth?

Does emberfire utilize Firebase's built in authentication, or do we need to keep our own database of users?

I always end up keeping my own collection of users, indexed by the userID provided by Firebase. Emberfire does include authentication functions, but you need to keep your own collection of users, especially if you need to save custom attributes on your users (as far as I know).
Model hook of my authenticated route:
async model() {
  let { uid: id } = this.session.data.authenticated.user;

  let user;
  try {
    user = await this.store.findRecord('user', id);
  } catch(err) {
    if (err.message === 'The adapter could not find the resource') {
      this.store.recordForId('user', id).unloadRecord();
      user = this.store.createRecord('user', { id });
    }
  }

  if (!user) throw 'User not identified.';

  return user.save();
}


Alertmanager not using Pagerduty Event V2 API

What did you do?
I send alerts from alertmanager to pagerduty and I'd like to use Events API v2. I would expect better support for Pagerduty Events API v2. Though it is supported for a while since #1054 I am still experiencing some trouble using it right now. Though there is following in alertmanager config routing_key: <secret>, url: https://events.pagerduty.com/v2/enqueue, I still see my alerts as Events API v1 messages in PD.
Proposition
Also I would expect some better options in alertmanager configuration matching the Events API v2 structure. Right now the example uses Event API v1 and internally it should just pass given fields to an event with API v2 structure. It would be much easier to have access to the fields directly so they could be accessed in alertmanager config directly.
What did you expect to see?
Event API v2 message in Pagerduty.
What did you see instead? Under which circumstances?
Event API v1 message in Pagerduty.
Environment

System information:
Linux 4.9.0-8-amd64 x86_64
Alertmanager version:
Version: 0.16.1, BuildDate: 20190131-18:04:53, non-git
Prometheus version:
Version: 2.6.1, BuildDate: 20190121-13:02:26, non-git
Alertmanager configuration file:
In configuration file:

- name: 'devops-pagerduty'
  pagerduty_configs:
  - routing_key: {{ <key from pillar> }}
    description: '{{if .CommonAnnotations.summary }}{{ .CommonAnnotations.summary }}{{ else }}{{ .GroupLabels.alertname }}{{ if .CommonLabels.instance }} {{ .CommonLabels.instance }}{{ end }}{{ end }}'
    severity: '{{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toLower }}{{ else }}critical{{ end }}'

Applied:
- name: srch-devops-pagerduty
  pagerduty_configs:
  - send_resolved: true
    http_config:
      proxy_url: http://<proxy>
    routing_key: <secret>
    url: https://events.pagerduty.com/v2/enqueue
    client: '{{ template "pagerduty.default.client" . }}'
    client_url: '{{ template "pagerduty.default.clientURL" . }}'
    description: '{{if .CommonAnnotations.summary }}{{ .CommonAnnotations.summary
      }}{{ else }}{{ .GroupLabels.alertname }}{{ if .CommonLabels.instance }} {{ .CommonLabels.instance
      }}{{ end }}{{ end }}'
    details:
      firing: '{{ template "pagerduty.default.instances" .Alerts.Firing }}'
      num_firing: '{{ .Alerts.Firing | len }}'
      num_resolved: '{{ .Alerts.Resolved | len }}'
      resolved: '{{ template "pagerduty.default.instances" .Alerts.Resolved }}'
    severity: '{{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toLower
      }}{{ else }}critical{{ end }}'

Pagerduty
If I check Incidents in Pagerduty and go to view message option following structure should be displayed there.
Expected event:
{
  "description": "<job>@<instance> stamp too old ( 48.01949361112383 h > 48)",
  "event_type": "trigger",
  "incident_key": "<incident_key>",
  "service_key": "<service_key>",
  "details": {
    "alertname": "job-not-finished-in-time",
    "cluster": "<cluster>",
    "exported_job": "<job_name>",
    "instance_short": "<instance>fridexlauncher.ko",
    "job": "<job>",
    "max_hours": "48",
    "severity": "critical",
    "team": "devops",
    "description": "MR job <job>@<instance> done stamp too old",
    "summary": "<job>@<instance> stamp too old ( 48.01949361112383 h > 48)"
  }
}

Actual event:
{
  "client": "AlertManager",
  "client_url": "http://server:9093/#/alerts?receiver=devops-pagerduty",
  "description": "<job>@<instance> stamp too old ( 48.01949361112383 h > 48)",
  "event_type": "trigger",
  "incident_key": "<incident_key>",
  "service_key": "<service_key>",
  "details": {
    "firing": "Labels:\n - alertname = job-not-finished-in-time\n - cluster = <cluster>\n - exported_job = <job_name>\n - instance_short = <instance>\n - job = <job>\n - max_hours = 48\n - severity = critical\n - team = devops\nAnnotations:\n - description = MR job <job>@<instance> done stamp too old\n - summary = <job>@<instance> stamp too old ( 48.01949361112383 h > 48)\nSource: <source>\n",
    "num_firing": "1",
    "num_resolved": "0",
    "resolved": ""
  }
}

I admit this specific problem can be subject of wrong configuration or so, I already started a discussion in Prometheus users for it.

Not sure how you determined the structure of the expected event. FWIW the details field matches with what is actually configured in your receiver.
Can you also more precise about what is missing and what is superfluous in the actual payload?

The expected v2 API Event should actually look like this:
{
  "routing_key": "<routing_key>",
  "event_action": "trigger",
  "dedup_key": "<dedup_key>",
  "payload": {
    "summary": "<job>@<instance> stamp too old ( 48.01949361112383 h > 48)",
    "severity": "critical",
    "source": "some source name",
    "custom_details": {
      "alertname": "job-not-finished-in-time",
      "cluster": "<cluster>",
      "exported_job": "<job_name>",
      "instance_short": "<instance>fridexlauncher.ko",
      "job": "<job>",
      "max_hours": "48",
      "team": "devops",
      "description": "MR job <job>@<instance> done stamp too old",
    }
  }
}

The problem is not in AlertManager but in PagerDuty. When you click on 'Show Message' link in alert message detail in PagerDuty it shows you JSON view of the alert - BUT always in v1 Events API way... Tested by directly sending v2 Events API request to PagerDuty - everything is working fine as expected and as it's done in AlertManager until you click on that alert detail.
So i think performing requests in AlertManager is OK, it really sends Events API v2 requests to PagerDuty.

The problem is not in AlertManager but in PagerDuty.

Based on your last comment, I'm closing the issue then. Feel free to follow up on the mail thread if more discussion is needed.


Add dialog to remove voice search from search bar

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3477

PR #3489

PR #3516
PR #3491
PR #3490

PR #3528

PR #3541   👈

This comment was auto-generated by Graphite.


Decouple authorization from Http4sGitHubApiAlg

The main purpose of this change is to use Http4sGitHubApiAlg with other kinds of authorization.


ARROW-7323: [CI][Rust] Use the same toolchain

It fixes nightly CI failure:
https://circleci.com/gh/ursa-labs/crossbow/5685
Step 8/8 : RUN rustup component add rustfmt --toolchain nightly-2019-11-14-x86_64-unknown-linux-gnu
 ---> Running in b28e33fbf36d
error: toolchain 'nightly-2019-11-14-x86_64-unknown-linux-gnu' is not installed
ERROR: Service 'debian-rust' failed to build: The command '/bin/sh -c rustup component add rustfmt --toolchain nightly-2019-11-14-x86_64-unknown-linux-gnu' returned a non-zero code: 1

@ursabot crossbow submit test-debian-10-rust-nightly-2019-09-25

BTW, we should update the toolchain we use for CI to nightly-2019-11-14 because we update our toolchain by 886b206b82b0e394e92331e1071c28c83c40e277.

Green.
I'll also update toolchain in this pull request.

@ursabot crossbow submit test-debian-10-rust-nightly-2019-11-14

Green.
I'll merge this.


Fix CI resolving to bundled JDK

This works  currently works locally but not on azure devops where it falls back to the installed JRE8 which the snapshots build no longer accepts as a valid java version.
This PR updates abstractions to version that prints JAVA_HOME just before starting elasticsearch and forces it on the Process instance

https://github.com/elastic/elasticsearch/issues/44902
This will now raise an error if a body was sent but was left unconsumed by the server which is a great addition.
SupportsBody now makes it way to our codegen to make sure we never sent a body if no body is documented.


[improve][pip] PIP-304: Make PublishContext provide the message metadata

Motivation
A PIP for making PublishContext provide the message metadata.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

I can accept the above two options:

This is a solution without waiting for a new feature version release because we should not cherry-pick any APIs changes to LTS version and patch release.
A performance optimization in the future may cause the buffer to be released early, and relying on the buffer here will make it almost difficult to optimize in the future.

But you can have a cache for metadata of the inflight messages, the key can be (topic, producerId, sequence) and the value is metadata, after the message is published, just retrieve it from the cache.

This is a good way to solve my problem, although it requires depending on a cache.
We can move the headersAndPayload to org.apache.pulsar.broker.service.Producer.MessagePublishContext and when the publish operation is finished we can call the org.apache.pulsar.broker.service.Producer.MessagePublishContext#recycle to recycle the headersAndPayload, I think this is a good direction.

And BTW, the MessagePublishContext is a 100% internal broker concept. We shouldn't expose it to the plugin. But it is already there.


Directly reference metaschema

Because Draft6Validator is typealias as  Draft7Validator, the vendor method was picking up from the wrong meta schema.

Thanks @TimothyChilvers !


Update Sparrow Wallet project description and summary

Update "summary" and "description" as per OpenSats/volunteers#1

That's excellent, exactly what I'm looking for. A little bit of meat on the bone, well formatted, looks nice.

Will look even better once we display additional links and metadata in a nice way.


When modeling a Call Activity, I can configure if all parent variables must be propagated or not

Problem you would like to solve
Currently, Zeebe always propagates all variables from the parent process instance to the child process instance when executing a call activity. This leads to many redundant data across the called process instances, resulting in a larger runtime state in Zeebe. Additionally, all the variables need to be imported by the webapps (like Operate, and so on).
With https://github.com/camunda/zeebe/issues/13959, Zeebe introduces a new property called propagateAllParentVariables so that users can decide if they want to propagate all variables or only specific one:

(Default) propagateAllParentVariables = true, all variables from the parent process instance are propagated to the child process instance
propagateAllParentVariables = false, only the variables defined via input mappings are propagated to the child process instance.

The property can be configured per Call Activity.
Basically, with this feature request, a user should be able to configure the property propagateAllParentVariables
Proposed solution
Similar to the existing Output Propagation, a group Input Propagation exists which contains a toggle to turn enable/disable the propagation of all variables. By default, when modeling a new Call Activity, the toggle is enabled (i.e. on).
Tasks

[x] https://github.com/camunda/zeebe-bpmn-moddle/issues/50
[x] https://github.com/bpmn-io/bpmn-js-properties-panel/issues/953
[x] Validate version compatibility for propagateAllParentVariables, cf. https://github.com/camunda/bpmnlint-plugin-camunda-compat

[x] https://github.com/camunda/bpmnlint-plugin-camunda-compat/issues/123
[x] https://github.com/camunda/linting/issues/81

Alternatives considered
No.
Additional context
The resulting BPMN XML is supposed to be the following
<bpmn:callActivity id="CallActivity_1">
  <bpmn:extensionElements>
    <zeebe:calledElement propagateAllParentVariables="true|false" />
  </bpmn:extensionElements>
</bpmn:callActivity>

related to https://github.com/camunda/zeebe/issues/13959 (Zeebe)
related to https://github.com/camunda/product-hub/issues/141 (Product Hub Epic)

@romansmirnov If we implement this then we want to add a validation rule, too? Cf. https://github.com/camunda/bpmnlint-plugin-camunda-compat. This way users know when this property becomes available.

@nikku, yes, makes sense. I would love to open a PR therefore, but I would need a short intro to the linting plugin. Would you be available, therefore? 😄

Looks like we're on track to ship this with the next release.

Shipped upstream via<EMAIL_ADDRESS><EMAIL_ADDRESS>

Integrated into Camunda Modeler:

This is cool but we forgot to document it at https://docs.camunda.io/docs/next/components/modeler/bpmn/call-activities/


Download times out

Good morning,
I am installing neflix on libreelec. Netflix installs without problems, when I try to log in it asks me to install the various addons but when it tries chrome os at some point it stops and in the logs I find what I attach. How could I solve it?
KODI 18.2
ARCHITECTURE: RPi 3 B+
Repository: Castagnait Repository 1.1.1
log:
2020-04-05 20:49:55.974 T:1545548656 ERROR: [plugin.video.netflix (1)] Traceback (most recent call last):
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/run_addon.py", line 182, in run
route([part for part in g.PATH.split('/') if part])
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/run_addon.py", line 33, in lazy_login_wrapper
return func(*args, **kwargs)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/run_addon.py", line 57, in route
play(videoid=pathitems[1:])
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/common/videoid.py", line 294, in wrapper
return func(*args, **kwargs)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/common/logging.py", line 133, in timing_wrapper
return func(*args, **kwargs)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/navigation/player.py", line 72, in play
list_item = get_inputstream_listitem(videoid)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/navigation/player.py", line 144, in get_inputstream_listitem
if not is_helper.check_inputstream():
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/init.py", line 1053, in check_inputstream
return self._check_drm()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/init.py", line 1008, in _check_drm
return self.install_widevine()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/init.py", line 776, in install_widevine
return self._install_widevine_arm()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/init.py", line 703, in _install_widevine_arm
downloaded = self._http_download(url, message=localize(30022), checksum=arm_device['sha1'], hash_alg='sha1', dl_size=int(arm_device['zipfilesize'])) # Downloading the recovery image
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/init.py", line 414, in _http_download
chunk = req.read(chunk_size)
File "/usr/lib/python2.7/socket.py", line 384, in read
File "/usr/lib/python2.7/httplib.py", line 597, in read
File "/usr/lib/python2.7/socket.py", line 384, in read
File "/usr/lib/python2.7/ssl.py", line 772, in recv
File "/usr/lib/python2.7/ssl.py", line 659, in read
SSLError: ('The read operation timed out',)
2020-04-05 20:50:12.348 T:1936587152 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.netflix/play/movie/81033429/?profile_guid=NPDMLGKCNBEABNDKVTJBXE6DSE]

Can you please update InputStreamHelper to v0.4.5 and try again and provide a full debug log if the error happens again?
It seems there was a problem with the internet connection and the download of Widevine failed.
Apart from providing a nicer error message there is nothing we can do about a failing internet connection.

I had the same problem. Problem was, if i use a newer kodi version, kodi disabled most of my addons. So i decided to downgrade. The solution was to disable the widevine check in inputstreamhelper.

@AlleSchonWeg In that case you can simply disable inputstreamhelper from the settings.

So, what should be done about this? I could think of these options:

Increase the timeout introduces in #275 (not sure that helps much)
Catch the error and return False
Catch the error and ask whether the download should be restarted
Catch the error and retry to read that chunk (idk if that's even possible, or if the stream would have moved its position)

@horstle The urlopen timeout in PR #275 is a connection timeout, and IMO should not be set to 5 seconds. When you have a bad connection lowering the connection timeout seems the wrong thing to do IMO. I don't understand why the PR talks about it influencing the "chunk download".

When you have a bad connection lowering the connection timeout seems the wrong thing to do IMO.

I didn't propose to lower it, but to increase it. Afaik the default value should be None (i.e. no timeout), but I assumed it would be set to something smaller in Kodi. If that's not the case #275 makes no sense.

I don't understand why the PR talks about it influencing the "chunk download".

Well, according to the docs that timeout is for "blocking operations", but idk if calling read is considered to be one.

That's is what I am saying. PR #275 makes no sense. It would be good to understand the use-case where this did help though...

Afaik the default value should be None (i.e. no timeout)

Indeed, this means that if your internet goes down while downloading, urlopen will wait forever to get data.

Catch the error and retry to read that chunk (idk if that's even possible, or if the stream would have moved its position)

That's totally possible using the http range header, I implemented a working example:
(You can turn off and on your internet connection while downloading to test.)
# -*- coding: utf-8 -*-

from __future__ import absolute_import, division, print_function, unicode_literals
import os
import time
from socket import timeout
from ssl import SSLError

try:  # Python 3
    from urllib.request import Request, urlopen
    from urllib.error import URLError
except ImportError:  # Python 2
    from urllib2 import Request, URLError, urlopen

def run():
    url = 'https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_12739.111.1_bob_recovery_stable-channel_mp.bin.zip'
    zipfilesize =<PHONE_NUMBER>
    filename = url.split('/')[-1]
    download_path = os.path.join(os.getcwd(), filename)

    chunk_size = 32 * 1024
    position = 0
    begin = 0
    end = zipfilesize
    with open(download_path, 'wb+') as image:
        while position < zipfilesize:
            headers = {'Range': 'bytes=%s-%s' % (begin, end)}
            req = Request(url, headers=headers)
            try:
                result = urlopen(req, timeout=5)
                while position < zipfilesize:
                    data = result.read(chunk_size)
                    if data:
                        image.write(data)
                        position = image.tell()
                        percent = position / zipfilesize * 100
                        print('downloading %d %%' % percent, end='\r')
            except (timeout, URLError, SSLError) as exc:
                print('internet is down', end='\r')
                begin = position
                time.sleep(0.5)
    print('download is ready')

if __name__ == '__main__':
    run()

Did you check the hash of the resulting file? While reading your code I get the impression it might write the first 32KiB of the zipfile again and again, until the wanted size is reached.

I hadn't seen the header specifying the beginning. I can confirm the checksums always match, with or without losing network connection.

Well, according to the docs that timeout is for "blocking operations", but idk if calling read is considered to be one.

I can now confirm this. The read times out after the seconds specified in urlopen.

I think it wouldn't hurt to increase the timeout a little.

10 seconds is okay for me.


[vx.dev] implements #20

[vx.dev] This PR implements #20, created by vx.dev.

[vx.dev]:

[vx.dev]: This JSX code creates a colorful pricing page with three pricing cards, a slider to select the number of agendas, and toggle buttons for monthly and yearly billing. Each card includes a title, description, price, and a button to choose the plan, along with additional agenda pricing. The layout is responsive, with cards stacking on smaller screens and aligning side by side on larger screens.

each card has a colorful background, you can add some beautiful gradients to it

[vx.dev]: This JSX code represents a colorful pricing page with three pricing cards, each with a gradient background. The page includes a main title, a subtitle, a slider for selecting the number of agendas, and tabs for switching between monthly and yearly billing. Each pricing card has a title, a description, pricing information, a button to choose the plan, and additional agenda pricing. The cards use Tailwind CSS classes for styling and layout.


"ape.exceptions.AccountsError: Transfer value meets or exceeds account balance" is misleading & not checking balance correctly ??? [APE-618]

Environment information

OS: macOS / linux / win
Python Version: x.x.x
ape and plugin versions:

Environment information

apeworx/ape:latest Docker image

$ ape --version
0.6.2

$ ape plugins list
Installed Plugins:
  tokens       0.6.0
  alchemy      0.6.0
  trezor       0.6.0
  ledger       0.6.0
  ens          0.6.0
  infura       0.6.0
  hardhat      0.6.0
  etherscan    0.6.0
  foundry      0.6.0
  vyper        0.6.1
  avalanche    0.1.0a3
  solidity     0.6.0
  bsc          0.6.0
  polygon      0.6.0
  template     0.6.0

Contents of your ape-config.yaml (NOTE: do not post anything private like RPC urls or secrets!):

$ cat ape-config.yaml
dependencies:
  - name: OpenZeppelin
    github: OpenZeppelin/openzeppelin-contracts
    version: 4.8.1

  - name: Chainlink
    github: smartcontractkit/chainlink
    branch: master
    contracts_folder: contracts/src/v0.8

solidity:
  import_remapping:
    -<EMAIL_ADDRESS>    - "@chainlink=Chainlink/master"

geth:
  bsc:
    testnet:
      uri: https://bsc-testnet.public.blastapi.io
    mainnet:
      uri: https://bsc-mainnet.public.blastapi.io
  avalanche:
    fuji:
      uri: https://api.avax-test.network/ext/bc/C/rpc # https://ava-testnet.public.blastapi.io/ext/bc/C/rpc
    mainnet:
      uri: https://api.avax.network/ext/bc/C/rpc # https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc
  fantom:
    testnet:
      uri: https://fantom-testnet.public.blastapi.io
    opera:
      uri: https://fantom-mainnet.public.blastapi.io
  polygon:
    mumbai:
      uri: https://polygon-mumbai.g.alchemy.com # https://polygon-testnet.public.blastapi.io
    mainnet:
      uri: https://polygon-mainnet.public.blastapi.io

What went wrong?
In ape console:
In [16]: with networks.polygon.mumbai.use_provider("geth") as provider:
    ...:         provider.connect()
    ...:
WARNING: Connecting Geth plugin to non-Geth client 'bor'.
WARNING: Connecting Geth plugin to non-Geth client 'bor'.

In [32]: provider.get_balance(account.address)
Out[32]:<PHONE_NUMBER>000000000

In [33]: account.balance
Out[33]: 0

In [38]: contract = account.deploy(project.SpiderwebPredictionRequest, publish=True)
File ~/.local/lib/python3.9/site-packages/ape/api/accounts.py:276, in AccountAPI.prepare_transaction(self, txn)
    273 txn = self.provider.prepare_transaction(txn)
    275 **if txn.total_transfer_value > self.balance:**
--> 276     raise AccountsError(
    277         "Transfer value meets or exceeds account balance.\n"
    278         "Are you using the correct provider/account combination?\n"
    279         f"(transfer_value={txn.total_transfer_value}, balance={self.balance})."
    280     )
    282 return txn

AccountsError: Transfer value meets or exceeds account balance.
Are you using the correct provider/account combination?
(transfer_value=1000000000, balance=0).

Problem 1 = Both out[32] and out[33] should match, but unfortunately it doesn't, thus, Ape thinks that my wallet is not funded enough for my smart contract deployment, which ends up failing with
ape.exceptions.AccountsError: Transfer value meets or _exceeds_ account balance.
Are you using the correct provider/account combination?
(transfer_value=1000000000, balance=0).

Problem 2 = as per the source code seeable in the trace above, the IF checks for the balance to be superior or equal to the transfer value (makes sense), so the error message should be Transfer value meets or _be inferior to_ account balance.
How can it be fixed?
Problem 1 -> is there any way to force a refresh of the balance? something like account.set_balance(provider.get_balance(account.address))
Problem 2 -> typo fix
Hope I'm not doing anything wrong? :)

Answering myself, hope it helps any other (beginners) Web3 devs in the future:
Unlike one could understand from the doc, if using a custom ecosystem/blockchain/network, all subsequent commands needs to stay within the with ... as provider block:
with networks.polygon.mumbai.use_provider("geth") as provider:
    provider.connect()
    account.deploy(project.MyContract, publish=True)

Problem #2 remains valid (it's just a typo though, so I'm closing anyway)

Answering myself, hope it helps any other (beginners) Web3 devs in the future: Unlike one could understand from the doc, if using a custom ecosystem/blockchain/network, all subsequent commands needs to stay within the with ... as provider block:
with networks.polygon.mumbai.use_provider("geth") as provider:
    provider.connect()
    account.deploy(project.MyContract, publish=True)

btw, you shouldn't have to do provider.connect() as the context manager will call this automatically (it doesn't hurt though with that provider since it doesn't start anything)

Yes, the documentation needs to be improved to show that the reference to provider after the context manager is no longer the primary connected provider, but the reference will still work (e.g. you can still make a call to provider.get_balance, but account.balance is making a call to the current provider in the connection stack, or basically provider != networks.provider after you exit the context manager)

Thank you for the feedbacks @fubuloubu , very insightful
Do you want me to try and open a PR for Transfer value meets or _be inferior to_ account balance in lieu of Transfer value meets or _exceeds_ account balance. or did I miss something also here?

Thank you for the feedbacks @fubuloubu , very insightful
Do you want me to try and open a PR for Transfer value meets or _be inferior to_ account balance in lieu of Transfer value meets or _exceeds_ account balance. or did I miss something also here?

I don't think that the error message is incorrectly worded, but I do agree it could be clearer/more direct. Overall, docs issues with people understanding how the provider context manager works

Note: it should not matter if using parse_network_choice() versus the getattr approach. They do the same thing.

I am guessing there was a bug in here somewhere, maybe it is fixed now. The double connect() call could have causes an issue, I don' know. ProviderContextManager is completely missing from the user guides, I am adding that now.
What I want to do is after the next release, let's start over and we will fix anything remaining issues.


feat: p2p addrs situation

ref: https://github.com/ipfs/js-ipfs/issues/981

passes locally, will wait for CI.


RecurrenceField defaults to empty Recurrence object rather than none

RecurrenceField lets itself be saved without any value, even when null and blank are both set to False
Test case:
class RecurringOrderGenerator(models.Model):
    recurrences = RecurrenceField(blank=False, null=False)

# Test
order = RecurringOrderGenerator()
order.full_clean()
# Expecting this to fail with an error that occurrences must be present
# Instead passes. RecurringOrderGenerator now has an empty recurrence object.

I've looked at the code and I think the issue is in
recurrence/base.py : deserialize
It will return an empty occurrence on an empty string, but it should return None.
if text == '':
     Return None

I have tested this locally and it solves the problem.
I wouldn't mind submitting a PR, but note that this is a breaking change of the public API - some people might be depending on this bug.

PR welcome - I think now we're more definite about allowing fields to be blank, or requiring them not to be (#133), this change makes sense. We can mark it as a breaking change with a version bump.

Alright, I've been working a bit on this, and I think we need to specify the semantics of the field a little bit for the fix to get good.
I'm looking for input on how to handle blanks and null in the fields. Seeing as we extend
Currently we save empty periods as empty strings '' in the database, but I assume we want these to be "None" when they're retrieved again.
I'm thinking the following behaviour is appropriate:
Into DB

We save '' as '' in the database.
We save None as Null in the database. User has to deal with the null constraint themselves
We save Recurrences in string format as regular

From DB

We convert '' to None when taking it out of the database
Other strings are converted to Recurrence events when taken out of the database
None is returned as None

Thoughts?

Hey @GeeWee - appreciate all the thought you're putting in to this.
I think we should save empty periods as null values - although we'll have to convert '' into None for data that's already stored. Can anyone think of a downside to this? Any thoughts here @AimeeMS?

I agree that that makes the most sense. To make sure I understand, you want to do the '' -> None conversion only from the database and out, to make sure that empty periods that are already saved, are handled correctly?

Hey @GeeWee - if an instance has an empty value, we should save it to the database as null. When we retrieve null or empty values from the database, we should convert to None. Hopefully with this change, the only time we'd see empty values would be from old versions of django-recurrence.
Does that make sense?

Yeah that makes sense to me.


Added yum_repository task

Changed from adding the yum EPEL repo using template to using the yum_repository task.

Sorry for the delay and lack of actions. We are finding that we are not using this role anymore and cannot commit to its maintenance. We are looking for an individual or organization to take over. Please see #53 if you are interested.

I'm afraid are far too many unrelated changes in this PR. Switching to yum_repository will also require users to upgrade to Ansible 2.1.
While I agree that we shouldn't template the EPEL repo, the standard way to install the repo is to use the release RPM. I've opened #55 to address this.


APPS-956 Localize private variables.

@r-i-v-a this should fix the issue with private variables not being localized. Needs a test though.

Added test case, running integration tests now.


PiT 24.0: cannot run any hilla app in when bumping to 2.0.0.beta3

Description of the bug
Migrating Hilla apps from 1.3.0 or from 2.0.0.beta2 to 2.0.0.beta3, there are console errors regarding endopoints not found
ERROR(TypeScript)  Cannot find module 'Frontend/generated/HelloWorldEndpoint' or its corresponding type declarations.

Minimal reproducible example

Uncompress and run the following example:
latest-lit.zip
Run the app mvn

It was generated by:

Going to https://start.vaadin.com
Selecting Vaadin V24 (pre) in the technology section
Removing default views, and add 'Hello world using Hilla' and optionally  'Master Detail using Hilla'
Download, uncompress
Bump version <hilla.version>2.0.0.beta3</hilla.version>

Expected behavior
App should work
Actual behavior
TS errors in console
Versions:
- Vaadin / Hilla version: 2.0.0.beta3

Could be caused by missing a Java service registration for packages/java/engine-runtime/src/main/java/dev/hilla/internal/EndpointGeneratorTaskFactoryImpl.java.

Shouldn't that registration come within a .jar so as the user doesn't have to do ?

This is already fixed in https://github.com/vaadin/hilla/pull/767

I tried with 2.0-SNAPSHOT and still failing,
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.example.application:latest-lit >-----------------
[INFO] Building latest-lit 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:3.3.0:resources (default-resources) @ latest-lit ---
[INFO] Copying 1 resource
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ latest-lit ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- hilla-maven-plugin:2.0-SNAPSHOT:prepare-frontend (default) @ latest-lit ---
[WARNING] The productionMode parameter no longer has any effect. Production mode is automatically enabled when you run the build-frontend target.
[INFO] The globally installed Node.js version 16.19.0 is older than the required minimum version 18.0.0. Using Node.js from /home/runner/.vaadin.
[INFO] Reflections took 2730 ms to scan 164 urls, producing 9768 keys and 50512 values
[INFO] Copying frontend resources from jar files ...
[INFO] Visited 163 resources. Took 126 ms.
[INFO]
[INFO] --- hilla-maven-plugin:2.0-SNAPSHOT:build-frontend (default) @ latest-lit ---
[INFO] Reflections took 1807 ms to scan 164 urls, producing 9768 keys and 50512 values
[INFO] Scanning classes to find frontend configurations and dependencies...
[INFO] Visited 742 classes. Took 885 ms.
[INFO] Visited 9 classes. Took 45 ms.
[INFO] Unable to determine version information. No vaadin-core-versions.json found
[INFO] Skipping `npm install` because the frontend packages are already installed in the folder '/home/runner/work/platform/platform/tmp/latest-lit/node_modules' and the hash in the file '/home/runner/work/platform/platform/tmp/latest-lit/node_modules/.vaadin/vaadin.json' is the same as in 'package.json'
[INFO] Hilla engine configuration not found: configure using build system plugin
[INFO] JVM Parser started
[INFO] Search for endpoints in directories [/home/runner/work/platform/platform/tmp/latest-lit/target/classes]
[INFO] JVM Parser finished successfully
�[32mINFO�[39m (tsgen): �[36mOutput directory: /home/runner/work/platform/platform/tmp/latest-lit/frontend/generated�[39m
�[32mINFO�[39m (tsgen): �[36mPlugins: BackbonePlugin, ClientPlugin, BarrelPlugin, ModelPlugin, PushPlugin�[39m
�[32mINFO�[39m (tsgen) : �[36mGenerating 'endpoints.ts' file�[39m
[INFO] The Generator process finished with the exit code 0
[INFO] Copying frontend resources from jar files ...
[INFO] Visited 163 resources. Took 51 ms.
[INFO] Reflections took 2036 ms to scan 164 urls, producing 9768 keys and 50512 values
[INFO] The globally installed Node.js version 16.19.0 is older than the required minimum version 18.0.0. Using Node.js from /home/runner/.vaadin.
[INFO] Running Vite ...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.465 s
[INFO] Finished at: 2023-02-22T07:31:12Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal dev.hilla:hilla-maven-plugin:2.0-SNAPSHOT:build-frontend (default) on project latest-lit: Execution default of goal dev.hilla:hilla-maven-plugin:2.0-SNAPSHOT:build-frontend failed: Vite process exited with non-zero exit code.
[ERROR] Stderr: 'vite v4.1.2 building for production...
[ERROR] transforming...
[ERROR] frontend/views/masterdetaillit/master-detail-lit-view.ts(22,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsampleaddresslit/master-detail-sample-address-lit-view.ts(21,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(25,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(62,84): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'.
[ERROR]   Type 'undefined' is not assignable to type 'number[]'.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(85,31): error TS2532: Object is possibly 'undefined'.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(86,45): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'.
[ERROR]   Type 'undefined' is not assignable to type 'number[]'.

[ERROR] transforming...
[ERROR] frontend/views/masterdetaillit/master-detail-lit-view.ts(22,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsampleaddresslit/master-detail-sample-address-lit-view.ts(21,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(25,23): error TS2307: Cannot find module 'Frontend/generated/dev/hilla/mappedtypes/Sort' or its corresponding type declarations.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(62,84): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'.
[ERROR]   Type 'undefined' is not assignable to type 'number[]'.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(85,31): error TS2532: Object is possibly 'undefined'.
[ERROR] frontend/views/masterdetailsamplebooklit/master-detail-sample-book-lit-view.ts(86,45): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'.
[ERROR]   Type 'undefined' is not assignable to type 'number[]'.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException


Mixing SAM and normal CF API Gateway causes methods to be lost

Description:
I'm not actually certain whether this is a SAM issue or a CloudFormation issue, but figured I'd report it here just in case.
If a SAM template has Serverless Functions with API Events as well as SAM Functions attached to an API using normal CF resources, then making changes to the SAM-configured functions causes the CF configured ones to disappear.
Since that's a fairly obtuse description, it will become more obvious looking at the attached template:
houdini.yaml.txt
Steps to reproduce the issue:

Generate a new empty SAM project
Replace template.yaml with attached houdini.yaml
Deploy stack using SAM (notice that API has 2 resources: hello and goodbye)
Uncomment function 'fubar'
Update stack using SAM

Observed result:
The goodbye resource has disappeared and only hello and fubar are present.
Expected result:
All three resources should exist.

As near as I can tell, it works the first time because SAM calculates the entire API that it knows about and adds it as a CF resource.  CF then sees the additional resources and adds them.
On an update, SAM again calculates the entire API that it knows about, sees that there has been a change and submits it as an update which unfortunately replaces the entire existing API.  However since the other resources haven't changed, CF sees no reason to do anything with them.

One additional piece of information.  If you make a change (for example the path) of the goodbye function at the same time you add the fubar function, then the resulting API has all three functions, so it definitely seems to be a case of the entire API gateway being replaced.

@jasonmk What you're experiencing has to do with the fact that there are 2 ways to configure an API Gateway REST API in CloudFormation: (1) Defining the API as a swagger document on the AWS::ApiGateway::RestApi resource and (2) Defining the API using resource types like AWS::ApiGateway::Resource and AWS::ApiGateway::Method. The two ways are not compatible with one another so you have to choose one way (swagger) or the other (explicit API Gateway resource types).
When you use SAM, SAM chooses option 1 in the background, so the behavior you're experiencing is because you are declaring the goodbye API endpoint via option 2 which works initially, but then on subsequent deployments, the swagger generated by SAM overrides the resources you're manually defining in CloudFormation.


fix for below issue

https://github.com/brandondocusen/CntxtPY/issues/2

After a close look at this your commit brings the project in closer alignment with NetworkX's default functionality. It simplifies the final knowledge graph output a little- I think that may be for the better.
Solid & safe commit, thanks for your contribution!


VMSS create with existing network in another resource group

Description
I used "az vmss create --vnet-net  " where existing vnet exists in another resource group. My expectation was to reuse the existing network in another resource group.
Instead of using the existing vnet in another resource group, the command created new vnet in the same resource group.
Thank you

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: MSI
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here: <IP_ADDRESS>
OS Version: What OS and version are you using?
Answer here: Windows 10 Enterprise
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: cmd.exe

This is 100% by design. If you would like to use a VNET in another resource group, you must supply the fully-qualified resource ID to the VNet you want to use. This pattern is used throughout the CLI for cross-RG (and cross-subscription) resources.

Sorry and thank you for the explanation!

No problem. This question comes up every now and then :)

Where in documentation I can find the details about the pattern for full-qualified resource IDs?

@JasonRShaver do we have a blog post that addresses this?

From this issue I have found that I only need to specify fully-qualified ID for the subnet, without --vnet-name switch. That seems to work.
https://github.com/Azure/azure-cli/issues/2128
Thank you for your support.

If you do it incorrectly you should see something like:
incorrect usage: --subnet ID | --subnet NAME --vnet-name NAME


Scaffolding to Reverse Engineer a SQL Server Database Surreptitiously Renames Columns

Scaffolding from the NuGet Package Manager Console appears to work effectively but surreptitiously, generating classes in the Model realm for tables in the existing database but "secretly" renaming table and column structures and containers. Sarcastically though I may be, this appears to me to be equivalent to renaming C# or Java namespaces and/or class names for some darker purpose (on a reverse-engineering procedure). These dark purposes appear to be deemed "standardization".
In this case, the command is Scaffold-DbContext with arguments passed as needed.
In my situation, the database uses Schema Names, Table Names, and Column Names that provide type constraint hints. For example, the Primary Surrogate Key columns in the tables do not use the common epigraph "ID", but rather use the table name, an underscore and the acronym _PSK for Primary Surrogate Key.
In SQL Server tables, the concept of ID comes from a proper trait of the column known as an IDENTITY Property, with seed value and an increment. The seed and the increment are defined at the database engine during table design. It is a well-known and well-tested technique for generating integer surrogate (meaningless) values which uniquely identify an entire row in a surrogate, proxy, meaningless way. They are used exclusively for JOIN efficiency, since relations are almost always indexed for the purpose of the fast and efficient JOIN algorithms.
Foreign Key columns in Foreign (child) Tables that are related to the Primary Key Columns in the Primary (parent) Table are named exactly the same, except they use _FSK. The justification for this naming is that it removes the need to specify a table alias.
In other words, when the columns being joined on two different tables have slightly different but conceptually similar names, a table alias to differentiate them can be dispensed.  For example, two tables named DB.Table.Parents and DB.Table.Children would have a Primary Surrogate Key column (PSK) in the Parent named Parent_PSK, and the related Foreign Key Column would be named Parent_FSK - that is, one Primary Key Column in the Parent and one Foreign Key Column in the Child.
To JOIN the tables, then, we can write (in valid TSQL)
SELECT
MotherName, ChildName
FROM
DB.Tables.Parents INNER JOIN DB.Tables.Children
ON Parent_PSK = Parent_FSK;

When the Scaffold-DbContext operation finished, the column names had their underscores stripped surreptitiously, and the capitalization was changed on the suffix from PSK to Psk, or FSK to Fsk.  I find this type of renaming to be insidious, and I do not see any ANSI / ISO standards that govern this.
The original fully qualified column names in the database are:

DB.Table.Parents.Parent_PSK
DB.Table.Children.Parent_FSK

Entity Framework Scaffold-DbContext  broke that convention and renamed the columns as follows, removing the Schema Name in the process. If the default schema in the database engine is no longer DBO, a lot of refactoring would need doing, or some attributes set, or various other tweaks to make the EF Model match the existing model.
Parents.Parent_PSK
Children.Parent_FSK

I would suggest changing EF Core 2.2.0 rather than changing the inherited interfaces of the database object signatures, such as column names, schema names, default constraint functionality, or key constraint properties such as the IDENTITY property.
Also, a full scale acceptance of the epigram ID, which is commonly used as a false conceptual name for a column flagged as an IDENTIFIER should be restrained, because the concept of ID is not associated with the IDENTITY property, but is only a matter of slick naming convenience, which is a property that assigns a seed and an increment to an integer column.  How many OOPs developers know that ID is actually an ever-increasing, seeded, incremental value controlled by the IDENTITY property on the column definition in TSQL?
EF Core version: 2.2.0
Database Provider: (e.g. Microsoft.EntityFrameworkCore.SqlServer)
Operating system: Windows 10 Professional on a Domain
Visual Studio 2017 15.9.6

@CubeSpark A couple of comments:

Reverse engineering/scaffolding a database does not modify that database in any way
Identifiers are, by default, modified to be more idiomatic to C#. This can be disabled with the use-database-names option.
Whatever column you have setup to be an Identity column will be scaffolded as a property that acts this way in the model. The convention of using "Id" for the primary key and making it an Identity column doesn't apply if something else is configured as the key.

If you're seeing behaviors different from these, then please post a small, runnable project/solution or complete code listing that demonstrates what you are seeing.

Thanks,
That’s a good answer - use database names …
I am new at this, and I have a lot to learn.
Again, thanks for the response.
Sincerely,
Robert (Bob) Letts
From: Arthur Vickers<EMAIL_ADDRESS>Sent: Saturday, February 09, 2019 5:39 PM
To: aspnet/EntityFrameworkCore<EMAIL_ADDRESS>Cc: Robert T. Letts<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [aspnet/EntityFrameworkCore] Scaffolding to Reverse Engineer a SQL Server Database Surreptitiously Renames Columns (#14654)
Closed #14654https://github.com/aspnet/EntityFrameworkCore/issues/14654.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/aspnet/EntityFrameworkCore/issues/14654#event-2128950084, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AgKzneMpchm4D1myNNmymkNZTHM_qsN9ks5vL03mgaJpZM4ayTl2.


Switch linting to ruff

Flake8 is slow and sometimes doesn't play well with black.
Description
Ruff is a replacement for flake8 and many other linters. It is fast. Also works on jupyter notebooks. It's supposed to play well with black?
Motivation and Context
Modernize our linting setup.
Types of Changes

[ ] Documentation update
[ ] Bug fix
[x] New feature
[ ] Breaking change1

1The change breaks (or has the potential to break) existing functionality.
Checklist:

[x] I am familiar with the Contributing Guidelines.
[x] I agree with the terms of the Contributor Agreement.
[x] The changes introduced by this pull request are covered by existing or newly introduced tests.
[ ] I have updated the changelog and the credits.

From doc/development.rst:
    Alternatively, the tools can be run manually using the commands:

  .. code-block:: bash

      black coxeter/ tests/
      isort coxeter/ tests/

Should we update this with commands to manually run ruff?


support dart2js to run my web service in any host

aqueduct support only some host
i need to publish my web serice any where.

maybe if you split the commits, is easier to review the PR