[UI-SDK] - Investigate why 100 requests are sent from UI-SDK

Created by: @maprokes Sep 29 2021 at 14:46 CET
Last updated: Jul 18 2022 at 11:21 CET
ClickUp ID: IK-1586
This is causing our alerting to go off as it's significant deviance in the traffic.
It's usually ~300 rps - 150 is OPTIONS and 150 is POST
It causes the latency to grow to 10s, because the BE is not able to scale fast enough because this is totally unexpected traffic
{
"insertId": "1cahckjg28qz26y",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry",
"statusDetails": "response_sent_by_backend"
},
"httpRequest": {
"requestMethod": "POST",
"requestUrl": "https://jarvis.indykite.id/auth/46118143-d58b-4b1a-bc3d-b2055cc54bfc",
"requestSize": "265",
"status": 200,
"responseSize": "1006",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36",
"remoteIp": "<IP_ADDRESS>",
"referer": "https://home.indyriot.com/",
"serverIp": "<IP_ADDRESS>",
"latency": "0.874949s"
},
"resource": {
"type": "http_load_balancer",
"labels": {
"forwarding_rule_name": "gke-https-lb-https",
"target_proxy_name": "gke-https-lb-https-proxy",
"project_id": "jarvis-jigsaw-289713",
"zone": "global",
"url_map_name": "gke-https-lb",
"backend_service_name": "gke-https-lb-backend-default-new"
}
},
"timestamp": "2021-09-29T10:44:56.005487Z",
"severity": "INFO",
"logName": "projects/jarvis-jigsaw-289713/logs/requests",
"trace": "projects/jarvis-jigsaw-289713/traces/f5c54b64a355a205119871035c381eb1",
"receiveTimestamp": "2021-09-29T10:44:57.499007752Z",
"spanId": "b2b7c309ea4a7aae"
}

Commented by: @bayegan Oct 02 2021 at 07:01 CET
@dusan-kovacik-profiq : please mark as verified if this has been tested by @hanny21 . please @hanny21 comment on the testing that was done, for the record. thank you both


Add UNB & University of Toronto Logos To Associate Members

UNB & University of Toronto are both missing from the associate member's section of the homepage. They are both active members and should be added.

Note I can not assign this to myself but I am happy to make this update.

Fixed by https://github.com/chipsalliance/chips-alliance-website/pull/84


Inconsistency between test-build-config and CMake code

The --build-type passed to the test-build-config bash script is passed further to the CMake -DCMAKE_BUILD_TYPE parameter here.
However, the test-build-config script capitalizes the --build-type / -b parameter before passing it to CMake (see here) and even validates that it's all uppercase here.
The problem is that there are parts of the CMake code that doesn't expect it to be all uppercase. For example here. This leads to errors and masked test failures, like the most recent one discovered here.
@andschwa pointed out that it's not a good practice to do if (CMAKE_BUILD_TYPE) in this issue https://github.com/Microsoft/openenclave/issues/756.
However, if the effort to remove if (CMAKE_BUILD_TYPE) from CMake is high, I think that we can at least make the test-build-config script to correctly pass the BUILD_TYPE, as it's expected by the CMake code.

cc @andschwa @johnkord
What do you think about my suggestion about adjusting the test-build-config script until https://github.com/Microsoft/openenclave/issues/756 is fully addressed ?

@ionutbalutoiu I thought we were removing test-build-config entirely, so this should be addressed by the Jenkinsfile passing the correct case of CMAKE_BUILD_TYPE (or by checking all instances of that in CMake and doing the to_upper comparison).

We don't really need this issue as the Linux test-build-config script has gone and the Windows test-build-config script is also being deprecated (PR #1428 ).
@andschwa - Can you verify that the JenkinsFile has the correct parameters?

We don't really need this issue as the Linux test-build-config script has gone away and the Windows test-build-config script is also being deprecated (PR #1428 ).
@andschwa - Can you verify that the JenkinsFile has the correct parameters?

This issue is referring to the Linux test-build-config script.
As mentioned by Andy here, we didn't delete it yet. So far, we have these:

PR https://github.com/Microsoft/openenclave/pull/1398 - Converts the Packaging.Jenkinsfile to scripted and removes the test-build-config usage
PR https://github.com/Microsoft/openenclave/pull/1324 - Converts the libcxx_tests.Jenkinsfile to scripted and removes the test-build-config usage
https://github.com/Microsoft/Azure-DCAP-Client/issues/36 - Just created another issue to track the removal of test-build-config usage from Azure-DCAP-Client Jenkinsfile. We'll take care of it.

After all the above get sorted, I think we can remove the test-build-config script entirely, and we can close this issue.
@andschwa @anitagov What do you think ?

@aserdean merged https://github.com/Microsoft/openenclave/pull/1431 adding insensitive comparison to CMake, and we'll not have troubles around the CMAKE_BUILD_TYPE parameter.
Also, after https://github.com/Microsoft/openenclave/pull/1324 gets merged, the test-build-config script can be removed entirely.
I'm closing this issue since it's not a problem anymore.


Get block ignores full transaction objects

eth_getBlockByHash and eth_getBlockByNumber specify an additional parameter that allows to return the full transaction objects instead of only the hashes of the transactions. These parameters are already specified, but the actual request ignores this parameter and only returns the hashes.

@uldaman could you take a look at it? I am not really familiar with the internal workings of thor.

There is no way to directly meet this requirement in thor api. So here are two options:

The client traverses transactions after acquiring block.
Web3-gear takes over this requirement and traverses transactions before returning.

For full support it would probably be better to implement it in web3-gear? What is your view on it?

In our original scenario, only the lowest level of api was provided, and the business was resolved by the client itself. But if it is to make it compatible with Ethereum, it is reasonable for web3-gear to support this parameter. I will do this.

I have done this on feature-full-tx branch, you can pull it down and test it, hope to receive your feedback..
87a31356a710450edb34025aadbb2d802a8d7b43

Works great with web3j! Thank you very much.


UI issue

Is there an existing issue for this?

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

Steps to reproduce

Create flutter app
Add Container in the center with size and color. width and height is wrapped in dp function, which is - I use this code  - import 'dart:ui';

class _Metrics {
static final scale = setScale();
static double setScale() {
final pixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
final screenWidth = PlatformDispatcher.instance.views.first.physicalSize.shortestSide;
final deviceScreenWidth = screenWidth / pixelRatio;
const designScreenWidth = 375;
return deviceScreenWidth / designScreenWidth;
}
}
double dp(pixels) {
return (pixels * _Metrics.scale);
}
designScreenWidth is the width of design screen in figma
3. Run in profile mode
4. Close the app
5. Open app again from the device
Expected results
Color block in the center of the app on the second open
Actual results
The block in the center does not appear. Same issue on ios. Also, wrapping runApp in Future.delayed solves the problem
Code sample
Code sample

import 'dart:ui';

class _Metrics {
  static final scale = setScale();

  static double setScale() {
    final pixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
    final screenWidth = PlatformDispatcher.instance.views.first.physicalSize.shortestSide;
    final deviceScreenWidth = screenWidth / pixelRatio;
    const designScreenWidth = 375;
    return deviceScreenWidth / designScreenWidth;
  }
}

double dp(pixels) {
  return (pixels * _Metrics.scale);
}

import 'package:flutter/material.dart';
import 'metrics.dart';

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

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Container(
          width: dp(100),
          height: dp(100),
          color: Colors.blue,
        )
      ),
    );
  }
}

Screenshots or Video

First video is the state of the app after building it in profile mode. Second video is the opening of the app after closing it.
[Upload media here]

https://github.com/flutter/flutter/assets/109822566/c0e6d5e1-fd5a-4642-95b2-acf782be504f
https://github.com/flutter/flutter/assets/109822566/70a52df5-8e2f-4d73-84ea-91003c0ed7ce
Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.6, on macOS 12.5 21G72 darwin-arm64 (Rosetta), locale en-US)
    • Flutter version 3.10.6 on channel stable at /Users/user/FlutterDev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (10 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

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

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

[✓] Connected device (3 available)
    • 23021RAA2Y (mobile) • 47350df3 • android-arm64  • Android 13 (API 33)
    • macOS (desktop)     • macos    • darwin-arm64   • macOS 12.5 21G72 darwin-arm64 (Rosetta)
    • Chrome (web)        • chrome   • web-javascript • Google Chrome 115.0.5790.102

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

• No issues found!

Hi @g1tPush. Thanks for filing this issue. I'm currently unable to reproduce this issue on the latest flutter version, Can you help provide more information about reproducing this?
https://github.com/flutter/flutter/assets/53122008/1bec269b-b92d-497b-b12f-6353e1464a18

Thanks for checking the issue, in order to reproduce it, you need to run it in profile mode on real device and terminate it completely before reopening

Hi @g1tPush. Thanks for your response. This seems to be specific to Android devices. Testing on a TECNO LC6a, Android 9 and the center color block doesn't appear even on the first run. Is this the case on your end? If not, can you share details on the device information you are reproducing this on?

Actually, I have tried this on iphone 7 and there was the same problem with the block after restart.  android phone is Xiaomi Redmi Note 12

Hi @g1tPush. Thanks for your response. This is a duplicate of https://github.com/flutter/flutter/issues/101478. window.physicalSize is used but its more or less the same principle as using PlatformDispatcher. Using the platform dispatcher api to access the window info, in profile/release mode, the data may not be available so it is not reliable. Per https://github.com/flutter/flutter/issues/101478#issuecomment-1095402681, this could help. Closing this as a duplicate, if you disagree, kindly comment and I'd reopen it.
Thank you!


Potential race conditions with RemoteInstance creation

From https://github.com/uProxy/uproxy/pull/729
So here it's possible that you will create two remoteInstances for the same instance, eventually the second one will replace the first one, but this could be buggy.
start creating remote instance 1
start creating remote instance 2
finish creating remote instance 1
receive consent update
finish creating remote instance 2, which replaces the first one.
Probably the best way to handle this is to add handlerQueues to process the messages in order in user.syncInstance_

Will be fixed by: https://github.com/uProxy/uproxy/pull/923

Done in #923


Page isn't read properly using VO in iOS

When reading using VoiceOver, "COVID Alert" (Tap for menu) from the "No exposure detected" page, it doesn't read the "menu" page, but reads what's underneath.
iPhone XR 13.5.1

Closed because this is duplicated in Collapse BottomSheet after submission flow is finished #387


Feature/modernization

This PR does a few different things:

Enables Objective-C modules.
Converts to 64-bit only (it’s almost 2016)
Removed nsenumerate macros for for . . . in loops.
Fixed some warnings in MiscMerge from there not being UTF-8.
Sets the minimum deployment to 10.8 (from 10.6).

Nothing else should be impacted.
I am merging this into a new develop branch, since we talked about doing some more breaking changes. I’d rather we do those on a develop branch than committing stuff that we may change before shipping on master.
Feedback welcomed.

Would like your feedback on this one @rentzsch and @atomicbird.  Thx!

So this is a laundry list of things I've been wanting to do. And now's the time to do it. :+1:


Introduce StringJoin check

Suggested commit message:
Introduce `StringJoin` check (#194)

This new `BugChecker` flags `String#format` invocations which can be
replaced with a `String#join` or even `String#valueOf` invocation.

Rebased and resolved conflict. @rickie who shall we ask for a second review? :smile:


Fix installation on Ubuntu 16.10 #629

Fixes issue #629.
Printing a unicode string at the end of the setup.py script is asking for trouble. It's also redundant: the pip tool itself tells the user whether installation was successful.

As much as I liked the rocket, it looks like it has to go... 🚀


⚠ SceneTime has degraded performance

In 3df673a, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1840 ms

Resolved: SceneTime performance has improved in db43342 after 27 minutes.


Improve head expansion

@jonsterling
This PR fixes these:

We forgot to head-expand the type in EQ.
We forgot to unfold when the RHS is CUST.

It also addresses these:

Prevent random side-switching during head-expansion.
The tactic head-expand really tries all positions.

There is still a fundamental flaw in the refiner:
        case (Syn.out m, blocker1, Syn.out n, blocker2) of
...
         | (Syn.IF _, Machine.VAR z, _, _) => Bool.Elim z
         | (_, _, Syn.IF _, Machine.VAR z) => Bool.Elim z

The machine should tell us the innermost frame (if any) and then the refiner checks whether it is the IF frame. Right now we are looking at the outermost operator, which is not accurate.

@favonia Nice work!
And you're right about that flaw, which looks at the wrong frame... We can fix that either here or in a separate PR, whatever you like.

Re: that heuristic that is checking the wrong frame, maybe it would be simpler to not check any frame, and instead just elim that variable regardless of its type. Or if there are some cases where that's not a good idea, we could filter those out by looking at the type.
Just an idea! Not sure if it's a good one. In any case, once Travis passes, feel free to merge this.

@jonsterling Fixing that flaw must change the machine as well... What's your opinion on exposing the frame? VAR of RedPrlAbt.variable * Neutral frame option?

Oh, right, we can look up the type of the variable in the context and try to do something...


Remove whitelist and blacklist from the API

We have methods setWhitelistedCountries and setBlacklistedCountries that we should remove from the API in 8.0.0
See: https://github.com/firebase/FirebaseUI-Android/pull/1905

This has been implemented and released in version 8.0.0


improving setup scripts and kernel files

This PR makes several improvement to the setup scripts and kernel files, ordered by the importance:

add DESCPYTHONPATH to the desc-stack* kernels
start ipykernel only if kernel arguments are present (this makes these scripts useful for setting up the same python environments in CLI; cc @wmwv).
avoid kernel arguments being propagated to source command (otherwise the unexpected arguments sometimes cause errors or warning messages).
remove redundant kernel argument (-m) in some of the kernel json files.
fix a typo (lSST -> LSST) in desc-pyspark.sh
remove an unused script setup_dev_python.sh (in the new setting only setup_current_python is used. Versioning is done by using different directories).

@yymao thanks for those changes. In the desc-pyspark kernel, could you also update the DESCPYTHONPATH to:
export DESCPYTHONPATH="${SPARKPATH}/python/lib/py4j-0.10.7-src.zip:${SPARKPATH}/python:${DESCPYTHONPATH}"

such that it is propagated and not reset? (see #4, I just forgot to open the PR).

@JulienPeloton done.

Thanks!

looks good to me.  I'm ready to approve and merge, then we just need to install this and make sure the kernels are still working as expected.


[Dubbo-2424] Fix switch-case fall through in ChannelEventRunnable

What is the purpose of the change
Fix #2424
Brief changelog
Add missing break statement in ChannelEventRunnable#run
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[x] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #2426 into master will decrease coverage by 0.09%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##             master    #2426     +/-   ##
===========================================
- Coverage     55.14%   55.05%   -0.1%
+ Complexity     5274     5270      -4
===========================================
  Files           573      573
  Lines         25459    25460      +1
  Branches       4537     4537
===========================================
- Hits          14039    14016     -23
- Misses         9327     9349     +22
- Partials       2093     2095      +2

Impacted Files
Coverage Δ
Complexity Δ

...ing/transport/dispatcher/ChannelEventRunnable.java
79.16% <0%> (-1.69%)
9 <0> (ø)

...he/dubbo/remoting/transport/netty/NettyClient.java
72.88% <0%> (-10.17%)
12% <0%> (-1%)

...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java
58.06% <0%> (-6.46%)
3% <0%> (ø)

...ng/zookeeper/zkclient/ZkclientZookeeperClient.java
59.52% <0%> (-4.77%)
10% <0%> (ø)

...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
41.66% <0%> (-4.17%)
3% <0%> (ø)

...rg/apache/dubbo/rpc/protocol/dubbo/DubboCodec.java
59.79% <0%> (-4.13%)
14% <0%> (-2%)

...bo/remoting/transport/netty/NettyCodecAdapter.java
53.12% <0%> (-1.57%)
3% <0%> (ø)

...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java
77.2% <0%> (-1.48%)
29% <0%> (ø)

.../dubbo/remoting/transport/netty4/NettyChannel.java
65% <0%> (-1.25%)
22% <0%> (-1%)

...pache/dubbo/registry/support/AbstractRegistry.java
67.41% <0%> (-1.13%)
62% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2ae2f58...961cf56. Read the comment docs.

It looks good to me.


updated pubspec

Fix this Error: Type 'DiagnosticableMixin' not found
https://github.com/dnfield/flutter_svg/issues/368

Thanks a lot, man! I am very happy that someone has really looked at this project!


zlib.error: Error -3 while decompressing data: invalid literal/length code

Common issues before reporting
Have you modified the save files
I did not, just took the file from the server
Have you tried the latest release
I have the v0.16
tried on v0.15 too
Describe the bug
 python convert.py ..\..\serv\BU_saves\2024_01_26_7pm\E34AD9AFCE4B463AA57F484FFAEBAB44\Level.sav Converting ..\..\serv\BU_saves\2024_01_26_7pm\E34AD9AFCE4B463AA57F484FFAEBAB44\Level.sav to JSON, saving to ..\..\serv\BU_saves\2024_01_26_7pm\E34AD9AFCE4B463AA57F484FFAEBAB44\Level.sav.json Decompressing sav file Traceback (most recent call last):   File "D:\Documents\Palworld\toolsave\palworld-save-tools-windows-v0.15.0\convert.py", line 115, in <module>     main()   File "D:\Documents\Palworld\toolsave\palworld-save-tools-windows-v0.15.0\convert.py", line 53, in main     convert_sav_to_json(args.filename, output_path, args.minify_json)   File "D:\Documents\Palworld\toolsave\palworld-save-tools-windows-v0.15.0\convert.py", line 72, in convert_sav_to_json     raw_gvas, _ = decompress_sav_to_gvas(data)                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "D:\Documents\Palworld\toolsave\palworld-save-tools-windows-v0.15.0\lib\palsav.py", line 27, in decompress_sav_to_gvas     uncompressed_data = zlib.decompress(data[12:])                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ zlib.error: Error -3 while decompressing data: invalid literal/length code
Copy of .sav or .sav.json files
Level.zip

Good guess, i tried with another sav file and it worked ! So you can add it on your requirements : make sure to stop the serv or the save might be corrupted ^^
Thank you !


implement a draft packs manager plugin

For draft to work in a large organization, there needs to be a mechanism to acquire and update a standard set of packs. Developers need to ensure they are using the same set of possibly team-specific language packs and charts.
This would mean:

remove pack initialization from draft init
implement a draft-packs plugin to fetch, update and otherwise manage installed packs
implement a pack server to serve these packs

This got accidentally closed.

I've had a few conversations with people and it seems like a good idea might be to port helm's plugin installer into draft for this purpose: https://github.com/kubernetes/helm/blob/master/pkg/plugin/installer/installer.go

I see that the plugin installer is already ported. Maybe we could be inspired by Helm and have some of the same concepts? It would maybe make it easier to adopt the technology and move from one tool to the other since they are closely linked.
Pack management
So we would need operation on packs (package, verify, etc.) Maybe something like:
$ draft pack package
$ draft pack verify

Server
Maybe we could have something similar to helm with a simple http server that would server an index.yaml with link to archives containing the pack.
Maybe introduce the notion of repo, as with helm:
$ draft repo add <url>
$ draft repo update

Any thoughts on this?

I think @technosophos already has his teeth sunk into this feature, but yes, that's how we envisioned this feature.

Good.
@technosophos, if you need help with some tasks or testing, I would be more that willing to help!

Actually I was wrong on that assumption. Feel free to take this PR if you feel like working on it, otherwise myself or someone from the Azure team will pick up on this within the next month or so tops. :)

Good, I started working on this. Should it really be a plugin? Could you fill me in on the direction regarding plugins architecture of Draft?
It seems to be core to draft and Helm brought this functionality as embedded commands. I will put up a tentative pull request with the same approach. Feel free to comment.

One name stuck out above all the rest for this feature... In order to differentiate the scope and feature set of this plugin vs. #287, we thought draft pack-man would be an AWESOME name.
We're still ironing out the user/developer experience at this time, but a pack manager is still on the roadmap before we release v1.0.0.

Development is ongoing at https://github.com/Azure/draft-pack-repo.


As a developer, I need to fix a bug in the Collection inspector -completeness check- for the ASR fields

Where: In the production version, Inspector tool
How to reproduce:
-Load the B&G collection
-Select the ASR-words field
-Check that the graphic is not updated

@jblom: we are preparing an exercise for the AVinDH workshop in which they want to show how the completeness of metadata and ASR can be checked using the Inspector tool. Is it perhaps possible to fix this issue before July 4,2019? -the workshop is on the 8th, but we have to print the handouts on the 5th-. If not, we can show the completeness of the ASR using the CKAN info pages or the archiefstaats site, but just to check whether it is possible ;)


Support toggling item visibility on touch screens

What
You can now click the "hover" buttons on list items on touch screens, by first selecting the item, which will now make the buttons appear.
I also did a few other improvements.
Best reviewed commit by commit
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: app.rerun.io
Using examples from latest main build: app.rerun.io
Using full set of examples from nightly build: app.rerun.io

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

Tested on iPhone, and works


Can't follow this procedure

I'm trying to add the   (open angle bracket) XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" /    (close angle bracket)
line but the directions don't say which file.  I tried several candidates but I only get errors.
Trying to use Visual Studio to create apps is the most exasperating thing I have ever done.  I tried using MFC, UPF and now WinUI and all I can find are tutorials that don't work, books that are hopelessly out of date, and grossly incomplete documentation.

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

ID: 532b04ea-7927-f97a-1121-b8feac6df957
Version Independent ID: e3cf5c39-5efa-aaea-3ac3-8c4ffa50e960
Content: Getting started with the Windows UI library - WinUI
Content Source: hub/apps/winui/winui2/getting-started.md
Product: uwp
Technology: apps
GitHub Login: @Karl-Bridge-Microsoft
Microsoft Alias: kbridge

See Step 4 (the parent step to the instruction you reference):
Add the Windows UI (WinUI) Theme Resources to your App.xaml resources. There are two ways to do this, depending on whether you have additional application resources.

I was trying to do #4.  The instructions do not say what file to add it into, that is, where Application.Resources resides - should I add something somewhere, or do I edit an existing file.  I tried adding it in to App.xaml in various ways and whatever I tried always threw an error.
Note: the Microsoft.UI.Xaml was the only one that came up, Microsoft.UI.Xaml.Core.Direct did not appear in the list.

From: KB<EMAIL_ADDRESS>Sent: Tuesday, February 9, 2021 7:31 PM
To: MicrosoftDocs/windows-uwp<EMAIL_ADDRESS>Cc: StanLackey<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-uwp] Can't follow this procedure (#2960)
See Step 4 (the parent step to the instruction you reference):
Add the Windows UI (WinUI) Theme Resources to your App.xaml resources. There are two ways to do this, depending on whether you have additional application resources.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-uwp/issues/2960#issuecomment-776342258, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASZNPAQKR5J6WQBED6OFIHLS6HHVTANCNFSM4XL5VLZA.

Step 4 specifies to add the code to the App.xaml file, as I highlighted in bold (using one of the two ways listed).
The Microsoft.UI.Xaml.Core.Direct package doesn't appear if you don't have the "Show pre-releases" checkbox checked. See step 3. I don't believe this is necessary, but won't hurt anything.

Here's the code if that snippet is just added:

Here are the errors:
[cid:7a15d60e-0246-4f6a-8e1e-31670ce1a6fb]
If I try something like this:

<Application.Resources>
    <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</Application.Resources>

it still gets this error:
[cid:9cd89064-4956-4216-abf6-d86a22888b22]

From: KB<EMAIL_ADDRESS>Sent: Wednesday, February 10, 2021 2:53 PM
To: MicrosoftDocs/windows-uwp<EMAIL_ADDRESS>Cc: StanLackey<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-uwp] Can't follow this procedure (#2960)
Step 4 specifies to add the code to the App.xaml file, as I highlighted in bold (using one of the two ways listed).
The Microsoft.UI.Xaml.Core.Direct package doesn't appear if you don't have the "Show pre-releases" checkbox checked. See step 3. I don't believe this is necessary, but won't hurt anything.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-uwp/issues/2960#issuecomment-776973533, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASZNPAQD3KUVI7GLITHI773S6LP4PANCNFSM4XL5VLZA.

You can't have duplicate <Application...> elements, so your second snippet is the correct way. I'm not sure why there is a xmlns:local="using:App3" declaration. Did you add that? Try removing that.
I think this topic is assuming some basic familiarity with XAML and Windows app development. Perhaps it could do with some clarifications here and there. I'll see what I can do to improve that experience.
If you have more feedback on how the docs can be improved, please open issues or PRs for those.
Otherwise, try stackoverflow for help and support with your specific errors and general development issues/questions.
Thanks

The wizard inserted the xmlns:local="using:App3" declaration.  The project built OK with it in, prior to me inserting the    stuff.

From: KB<EMAIL_ADDRESS>Sent: Wednesday, February 10, 2021 5:36 PM
To: MicrosoftDocs/windows-uwp<EMAIL_ADDRESS>Cc: StanLackey<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-uwp] Can't follow this procedure (#2960)
You can't have duplicate <Application...> elements, so your second snippet is the correct way. I'm not sure why there is a xmlns:local="using:App3" declaration. Did you add that? Try removing that.
I think this topic is assuming some basic familiarity with XAML and Windows app development. Perhaps it could do with some clarifications here and there. I'll see what I can do to improve that experience.
If you have more feedback on how the docs can be improved, please open issues or PRs for those.
Otherwise, try stackoverflow for help and support with your specific errors and general development issues/questions.
Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-uwp/issues/2960#issuecomment-777081999, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASZNPAW2S3IIJNGX22QJCMTS6MDAVANCNFSM4XL5VLZA.

Now I'm getting errors that it can't open the app store.  Why would it try to open the app store ?!  I do not want to open the app store, I want to write a stand-alone program on my PC.
This is hopeless.

From: KB<EMAIL_ADDRESS>Sent: Wednesday, February 10, 2021 5:36 PM
To: MicrosoftDocs/windows-uwp<EMAIL_ADDRESS>Cc: StanLackey<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-uwp] Can't follow this procedure (#2960)
You can't have duplicate <Application...> elements, so your second snippet is the correct way. I'm not sure why there is a xmlns:local="using:App3" declaration. Did you add that? Try removing that.
I think this topic is assuming some basic familiarity with XAML and Windows app development. Perhaps it could do with some clarifications here and there. I'll see what I can do to improve that experience.
If you have more feedback on how the docs can be improved, please open issues or PRs for those.
Otherwise, try stackoverflow for help and support with your specific errors and general development issues/questions.
Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-uwp/issues/2960#issuecomment-777081999, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASZNPAW2S3IIJNGX22QJCMTS6MDAVANCNFSM4XL5VLZA.


Graph arrow key does not show becuase of this plugin

As the title says In new update of obsidian 1.1.8 when this plugin is running arrow in canvas do not show and after turning off this plugin arrows are visible.
https://user-images.githubusercontent.com/87773845/208963866-2e5a58a5-ccd5-4e2b-9833-cebf43982049.mp4

Fixed in https://github.com/Seraphli/obsidian-link-embed/commit/c92473a62928bc5ce2cea3e528648a03d0d3353a


i cant come back from rear to front

Hello i need some little help.
for example right not im on the one number page or three doesnt matter and i open the reveal view menu then i clicked some cell and i want to open second controller
i want to open with navigation controller for example if i am here home page
when the second page opened the navigation bar back button must be home and when i click the back button then must be return to home page
it has been 3 mounts in swift this is my first project if you help me i'd be very happy

There are a lot of samples here. One of them I wrote:
SWHomePushSwift.zip
If you want to come back to Home view controller, you have to push your controller from Home Navigation Controller, right? See LeftMenuTableViewController.swift.

but  i have tab bar controller how can i connect between tab bar controller and navigation controller

also thanks for your help i'm waiting from yesterday that someone read anything

i just want to know i have one view controller that name is privacyviewcontroller its not connected with tab bar controller all tab bar controller pages have navigation controller for example right now i'm on home view controller ( home view controller in tab bar controller ) if i open the menu and click privacy cell i want to open privacy view controller with navigation bar and navigation bar must be have back button finally back button must be go to home view controller

        revealViewController().revealToggle(animated: true)
        let privacyPage = self.mainStoryBoard.instantiateViewController(withIdentifier: "PrivacyPolicyViewController")
        let homePage = self.mainStoryBoard.instantiateViewController(withIdentifier: "HomeViewController")
        homePage.navigationController?.pushViewController(privacyPage, animated: true)

i tried this

You can have a look here:
https://github.com/iDevelopper/PBRevealViewController/issues/30#issuecomment-318896654

Here is a sample for your privacy view controller:
SWTabNavSwift.zip

hello.... i need some help for "rightside menu"
i cant come back from sw_right menu to front view...can u plese give some sample code for rightside menu field when i clicked show that view through push ,and i will back to home.. thank for . any help

Above code? SWTabNavSwift? If yes, can you upload it with what you tried to do in it?

no..SWHomePushSwift.zip ...this code

thank u for ur reply

And what did you try?

//            let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
//            let destController = mainStoryBoard.instantiateViewController(withIdentifier: "aboutus") as! AboutUsSidemenu
//            let newFrontViewController = UINavigationController.init(rootViewController: destController)
//            // newFrontViewController.isNavigationBarHidden = true
//            revealViewController.pushFrontViewController(newFrontViewController, animated: true)
i tried this code to display "aboutussidemenu" but i did not get the back button
i am new to this enviroment....

If you want a back button you have to push with a navigation controller, for example from front view controller's navigation controller. revealViewController.pushFrontViewController only show the new front view controller and close the menu. Can you upload here a sample?

Thank u .......Now i got the back button.....the issue with navigationcontroller only.......

please help me.. i am facing the same problem not getting the home menu .... when i am login from appdelegate i am not getting the backbutton plese give me some suggestion .i new to this environment  plese check my code once please...
myProject.zip

Yes, I will this week-end, no time now

Thank u patrick.....

If you want a back button you must have a navigation controller, and his navigation bar must be visible, not hidden. Also I fixed the constraints for your collection and table view in code as you create them programmatically.
FileBrowser.one.zip

Thank u so much Patrick... u made my day.........i am struggled so much for that issue.......... now solved.........thank u once again...........

Ok, hope it help!

@alkincakiralar1996 can you please me with the same that you faced ? as i'm facing this issue :/
on selecting home from menu list, my tab bar disappears from home screen which was there before selecting.


[Bug]: ME - unable to see correct data for Prod and Staging

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Unable to see correct data for Prod and Staging. Production data was getting shown in staging environment as well.
Steps To Reproduce

Create a DS say PostGreSQL and configure both prod and staging [one to mockdb and one to amazonaws postgres - https://www.notion.so/appsmith/Servers-and-Credentials-665f00d9505745d59db4f3b4eda27c79#cd6a1610a7e84073b0491cd2c020de4e]
Create a query and switch between prod and staging
Note that same values come up for both prod and staging
This is incorrect behavior.
Workaround - @sondermanish asked me to rename the datasource, after which this worked.
This issue was not happening earlier. It seems to have cropped up due to some other changes.

Public Sample App
No response
Issue video log
No response
Version
ec2 instance

Should not be reproducible now considering Manish pushed in a fix.

not reproducible

Issue seems to have been fixed. Works fine now


fix: ignore wrappers

Hello,
In NixOS it is impossible to use the wrappers from mvn and gradle and we have to always use the binaries which are installed via the derivations.
It looks like the ignore_wrappers option was ignored completely, and there was also a small bug when setting the options (it seems to me the API for vim.tbl_extend has changed, and it now returns a table instead of modifying the table in-place). I fixed both issues in this MR.
Please tell me if there's something more I can do :)

Thanks for the fix!


the test isnt working

When in the test I choose yes and then one of the three option it's showing nothing, and it cannot understand what am saying. But I have already given the code to execute the further code

a buggy instruction, the parameter name "chosenOptions " should be renamed to ""chooseOptions".
candidates:

first_simple:
variants:
- speech: You picked $session.params.chooseOptions.


Vanilla Minishift install not working.

Syndesis is already installed fwiw.
I followed the step guide and the CRD is having problems. I am new to Minishift so I might have problems diagnosis obvious things.
mj@mj-desktop:~$ kamel install --cluster-setup
Error: cannot check CRD installation after 25 seconds
mj@mj-desktop:~$ kamel install --skip-cluster-setup
Error: no matches for kind "IntegrationPlatform" in version "camel.apache.org/v1"

@michaelwjoyner could you please elaborate more on the procedure you have followed in order to install camel-k and which version of kamel you are using?
Have you followed the local cluster setup guide?
I would assume might be a rights issue. If you could please check the user you are logged in as e.g

$ oc whoami
system:admin

If you are not using admin, please login as admin i.e

$ oc login -u system:admin

And then try again the cluster setup

$ kamel install --cluster-setup

Please, note this operation is only for the first-time installation only.

Please close this issue, but thanks for replying. I was told by Nicola that
my version of openshift will not work.
On Thu, Apr 30, 2020 at 4:36 PM Ioannis Polyzos<EMAIL_ADDRESS>wrote:

@michaelwjoyner https://github.com/michaelwjoyner could you please
elaborate more on the procedure you have followed in order to install
camel-k and which version of kamel you are using?
Have you followed the local cluster setup guide
https://camel.apache.org/camel-k/latest/installation/installation.html?
I would assume might be a rights issue. If you could please check the user
you are logged in as e.g
$ oc whoami
system:admin
If you are not using admin, please login as admin i.e
$ oc login -u system:admin
And then try again the cluster setup
$ kamel install --cluster-setup
Please, note this operation is only for the first-time installation only.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/camel-k/issues/1429#issuecomment-622175254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEG4MCLCHQRZRABFMLRNRFLRPIDRVANCNFSM4MQ63PZA
.

--
Michael Joyner
Solutions Architect
SugarCRM
mobile:<PHONE_NUMBER>
email<EMAIL_ADDRESS>https://facebook.com/michaelwjoyner..

Ok closing


What are the guarantees of RemoveDuplicates output parameter Filtered?

Consider improving the documentation for the MSBuild RemoveDuplicates task to discuss the guarantees, if any, of the output parameter Filtered.
The reason I'm looking for these details is I'm trying to implement an check in my targets that a given Item doesn't contain duplicates. (If it does, my targets will encounter file sharing violations at build time. I can't just remove the duplicates, as the Item metadata may be significant. The consumer of the targets needs to ensure there are no duplicates.)
I was going to check for this situation by doing something like this:
<Target Name="CheckNoDuplicateFooItems"
        BeforeTargets="DoSomethingWithFoo"
        Condition="'@(Foo)' != ''">
  <RemoveDuplicates
      Inputs="@(Foo)">
    <Output
        TaskParameter="Filtered"
        ItemName="_FooFiltered"/>
  </RemoveDuplicates>

  <Error Text="The Foo item contains duplicates. Ensure that each Foo item is only included once. (Check for explicit includes and globs that also match.)"
         Condition=" '@(Foo)' != '@(_FooFiltered)' " />
</Target>

However, for such a check to work, I need to know that Filtered preserves the input order. Or, alternatively, I need to be able to perform a set-comparison in MSBuild. Looking at the current implementation, it is order preserving. However, this does not appear to be contractual behavior. For example, there are no tests that it is order preserving.
Really, though, something like the .NET SDK's CheckForDuplicateItems task actually solves my problem directly, but

I'm not sure whether that's part of the SDKs public interface and
I don't know whether this SDK will always be available where my targets are running.

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

ID: 7a4d1763-973a-e01c-4659-3340a25d0882
Version Independent ID: bda17ef2-ad9e-dc90-f04a-b9491da81ed1
Content
Content Source
Service: unspecified

If it helps, I've written unit tests to assert the in order behavior, so if a strengthing of the guarantee is deemed appropriate, regressions due to future changes can be minimized.
If this strengething is something that should be discussed in the MSBuild repository instead/as well, let me know. (The unit tests changes will need to end up there.)
https://github.com/chwarr/msbuild/commit/528bb735bd51db60a11a6e831f315cfd5d1e3fcd

Since it has been order-preserving, I agree: we should document that it is order-preserving, and we should test that contract. It'd be great if you could open an MSBuild PR with those tests.

I've created PR #632 to update the documentation.


[root_users_should_be_granted_access] Add privileges to the root user

If mysql_bind_address is set to something other than localhost, when we end up connecting
to that IP address as root we want the root user we created to be able to do all actions,
such as creating other new users.

From looking at https://github.com/ANXS/mysql/blob/master/tasks/users.yml
I would suggest you could add the user to the mysql_users dict with the needed host and privs?

@soupdiver Thanks for the suggestion... however, that won't work for me, unfortunately.
Firstly, (imho) root users should always have the grant permission - otherwise they aren't really root users. What's happening in the existing code is that we are adding artificially limited users. So when connecting from some ips, the user will be able to do something, and when connecting other IPs, they won't. I think that's super confusing. :) It certainly confused me yesterday.
The other problem, though, is a bit of a logic problem in the code:
I had a user 'root'@'%' in my mysql database. This user had permission to grant users access. When I connected to the db as<EMAIL_ADDRESS>I could thus add other users, set their passwords etc. All was fine.
When I ran the role without this patch, it worked the first time, but it would then fail the second time.
This was because the role would add a 'root'@'{{ ansible_hostname }}' user, and the other users in the role list below:
- name: MySQL | Set the root password and ensure root user has the correct access level.
  mysql_user:
    user: root
    host: "{{item}}"
    password: "{{mysql_root_password}}"
    priv: "*.*:ALL,GRANT"
  with_items:
   - "{{ansible_hostname}}"
   - <IP_ADDRESS>
   - ::1
   - localhost
  when: ansible_hostname != 'localhost'

The first time the role ran, it'd connect as the existing root@% user - which had permissions.
The second time the role ran, mysql would choose a different user, based on the differing IP address of mysql_bind_address - in my case, 'root@{{ansible_hostname}}'. The user that was being connected-as would no longer have permission to grant access, or even access the mysql.* tables.
So the first run of the role, all would be fine.
The second run of the role, it would fail - because I was now connected as a restricted user.
If I were to add the permissions into the list from users.yml, by the time that users.yml was run the database would already have revoked access.
To fix things up, I had to perform the mysql root user recovery steps - because the root users being added kept interfering.
To my mind, the other alternative to this patch is to not maintain root users at all - unless they are in users.yml. I was a little surprised to find out that this role added root users to the dB.
I'm not sure the above is clear! If you don't know what I'm rambling on about, I can put together a virtual machine or something to try and demonstrate it.
Thanks!

@soupdiver Any further thoughts on this? I'm currently running against our local forked branch, and would prefer to run against your Galaxy release.
Thanks!

Looking at this, it seems sane to me, and non-breaking.. Im happy to bring it in, @soupdiver ?

Sorry, took some time to get to this.....
Looks also good for me!
@oskarpearson could you please update the PR with the current master? I will then merge quickly

@soupdiver @farridav I've updated based on the current master. Thanks!

Thanks for your contribution :+1:


Signature calculation error for non standard port

These are the headers sent by ex_aws for an S3 server listening on port 9000:
(here using nc instead of S3 server to show the header dump)
$ nc -l 9000
GET / HTTP/1.1
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=SXO8VW2OFKKP2OG7AC85/20160909/us-east-1/s3/aws4_request,SignedHeaders=content-length;host;x-amz-content-sha256;x-amz-date,Signature=c346a88db16082f1bc6a937045c09f3501fafb4c21407f47e09b925fc8cdd758
User-Agent: hackney/1.6.1
x-amz-date: 20160909T075815Z
Host: <IP_ADDRESS>:9000
content-length: 0

Note that Host header includes port 9000
but for the signature calculation on the client side, this is the canonical request it uses to calculate signature:
in auth.ex I do:
    request = build_canonical_request(http_method, url, headers, body)
    IO.puts(request)

canonical request:
GET
/

content-length:0
host:<IP_ADDRESS>
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20160909T075849Z

content-length;host;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Note that host:<IP_ADDRESS> does not include the port here causing signature mismatch.
This was found during debugging this issue; https://github.com/minio/minio/issues/2632

Hey!
Can you you try against master?

works now, thanks.

Awesome, i'll push a release soon!


Add notice that framework can't be ran as root user.

This is due to [1] and fails in a rather silent way.
[1] https://github.com/openstack-k8s-operators/install_yamls/blob/main/devsetup/scripts/crc-setup.sh#L5
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running
[X] Appropriate documentation exists and/or is up-to-date:

[X] README in the role
[X] Content of the docs/source is reflecting the changes

/lgtm


[FEATURE] : Add Reunion Game

Description
Two friends are lost and the path between them is broken. Build the path by filling up broken parts with falling pieces and help them to reunite.
Screenshot:

Screenshots
Demo vedio:
https://github.com/ssitvit/Games-and-Go/assets/98798977/5ddb7604-cfed-4d12-bb66-d32c6b9d5280
Additional information
@panwar8279 @cleveranu please assign this task to me

Hi @Durgesh4993 , I have assigned this task to you. Kindly complete your work within a week. Make sure you will make your game in react because it's react based repository. Good luck!

@panwar8279 This game is in javascript, Can i send a PR

Thank you


Proposal for Unparsable Remote References (mainly to support XML.)

Solace has customers who love AsyncAPI but use XML payloads in their messaging systems. Also, the question of whether things like XSD schemas are supported has come up more than once in the Slack channels.
We would like to propose the notion of an Unparsable Remote Reference. These would be, at minimum, URLs represented by simple strings. By Unparsable we mean that in general, AsyncAPI parsers would not be expected to retrieve and/or parse the entities pointed to by these references. Code generators, on the other hand, could use these references.
The use case we are trying to solve immediately is how to provide a URL to an XSD schema, so that a code generator could created a model class from the schema and use it with XML libraries for serializing messages.
One simple way to do this is one that requires no change to the specification nor to the parser. A message could look like this:
messages:
    myXmlMessage:
      payload:
        remoteReference: "https://example.com/myschema.xsd"
      contentType: "application/xml"

(This fragment works fine with the current parser, you can try it in the playground.)
When this message is passed back from the parser, the payload contains an anonymous schema containing the field remoteReference with its value.
An improvement would be to create a parser plugin (similar to the avro parser. That would allow us to also specify the schemaFormat (currently the parser will fail if you try to set the schemaFormat to application/xml - that won't work now because there is no schema parser defined for that format.)
Yet another improvement would be to allow an object representing a schema registry, in cases where it would be desirable to add more fields besides just a URL.
This mechanism would also allow users to use Avro files in their original form (the current avro parser translates to JSON schema), and it could also be used to support protobuf or any other kind of schema.
The name remoteReference was intended to be general enough to be applied to other use cases, not just non-JSON schemas.
Ideally it would be nice to have a standard, documented way to do this.

I think this proposal addresses, in a generic way, an issue that will likely continue to re-emerge.
OpenAPI naturally uses JSON due to its focus on synchronous RESTful interactions. The async world is much more diverse in both protocols and data formats. Data formats include things like Avro, Protobuf, XML, EDI, and the inevitable "cool new format" that will emerge next year.  It feels like we need an extensible way to accommodate that diversity without needing to explicitly include it in the spec.
Longer term, we may need to have something like a "format binding" (a parallel to protocol bindings.)  The format binding would that provides format specific fields. For example, an XML format binding could include a namespace.  But that seems like a lengthy, heavy lift, and @damaru-inc proposal seems like a good first step that will get early adopters off the ground.
messages:
  myProtobufMessage:
    remoteReference: "https://example.com/myschema.proto"
  contentType: "application/x-protobuf"

Interesting concept. Maybe it would be enough to add a flag which would specify whether a given schema should be parsed/formatted or not. We could extend my proposal to define schemas in other formats in different places (currently it is possible only in message's payload) - https://github.com/asyncapi/spec/issues/622 and add to Schema Object a parse field:
messages:
    myXmlMessage:
      payload:
        parse: false
        schema:
          $ref: "https://example.com/myschema.xsd"
      contentType: "application/xml"

which would mean that it should not be parsed and transformed to JSON, but only resolved/fetched.

@jmenning-solace Could you create issue about (as you described it) format binding? It's very interesting idea and we should not forget it :)

Currently we have many objects defined in XSD. These historical objects can be repurposed as event attributes. This unlocks tremendous value(financial, technical)  if re-use can be accomplished. Looking forward for this discussion and feature availability.

remoteReference isn't good solution for pointing to the remote source which should be fetched, because then link to this source must be handled by tool to fetch that, and the $ref is standarized to this purpose. We shouldn't reinvent wheel from scratch.

@magicmatatjahu, my concern is this would create valid AsyncAPI documents that are invalid JSON documents.  $ref is defined within  JSON schema as a reference to another JSON schema, not an adhoc schema type.  Standard JSON parsers are coded to the spec. When standardized JSON/JSON schema parsers encounter the non-JSON schema (protobuf, XML, COBOL copybook, etc.)   they will either ungracefully fail or return unpredictable results.
So where do we go from there? I see two options (would love to hear others):

Custom code the AsyncAPI specific parser.  But the divergence between OpenAPI and JSON Schema was so painful it took years to reconcile them.  And if there are standard JSON parsers baked into products like databases, we will never be able to apply workarounds to them.
Use something like remoteReference  This keeps  AsyncAPI documents as valid JSON documents. Standard parsers will not throw up when they encounter them, and just treat the URL as a string.  While not ideal, this seems like a reasonable fall back. But when used in an "AsyncAPI aware" parser, it can import the full body of the external non-JSON schema into the main AsyncAPI document as a string that can be parsed by code generators, etc..

My preference would be the second.

We could extend my proposal to define schemas in other formats in different places (currently it is possible only in message's payload)

This is an interesting concept, and maybe that's the appropriate place for the payload binding. Let me think more on that.  It seems extendable to these use cases, with the caution that Avro is an easier format to deal with because it's JSON.

Currently we have many objects defined in XSD. These historical objects can be repurposed as event attributes. This unlocks tremendous value(financial, technical) if re-use can be accomplished. Looking forward for this discussion and feature availability.

Thanks for chiming in @masterhead , it's nice to get an end user perspective.  Can I ask you a couple questions about your use case?

Do you need the full text of the XML schema imported into the AsyncAPI spec, or is simply having a URL pointer to it sufficient?
Do your XML documents typically have a single root element?  Or do they have multiple root elements?

@jmenning-solace

my concern is this would create valid AsyncAPI documents that are invalid JSON documents. $ref is defined within JSON schema as a reference to another JSON schema, not an adhoc schema type. Standard JSON parsers are coded to the spec. When standardized JSON/JSON schema parsers encounter the non-JSON schema (protobuf, XML, COBOL copybook, etc.) they will either ungracefully fail or return unpredictable results.

But you know, that $ref doesn't have to point to a valid JSON schema, right? Also string is also valid JSON schema, not in the sense of validation, but of value (JSON spec treats string value as normal JSON instance 😄 ), so for example:
// some_xsd.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd"
           targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd"
           elementFormDefault="qualified">
 <xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
 <xsd:complexType name="PurchaseOrderType">
  <xsd:sequence>
   <xsd:element name="ShipTo" type="tns:USAddress" maxOccurs="2"/>
   <xsd:element name="BillTo" type="tns:USAddress"/>
  </xsd:sequence>
  <xsd:attribute name="OrderDate" type="xsd:date"/>
 </xsd:complexType>

 <xsd:complexType name="USAddress">
  <xsd:sequence>
   <xsd:element name="name"   type="xsd:string"/>
   <xsd:element name="street" type="xsd:string"/>
   <xsd:element name="city"   type="xsd:string"/>
   <xsd:element name="state"  type="xsd:string"/>
   <xsd:element name="zip"    type="xsd:integer"/>
  </xsd:sequence>
  <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
 </xsd:complexType>
</xsd:schema>

# asyncapi.yaml
asyncapi: '2.1.0'
info:
  title: Account Service
  version: 1.0.0
  description: This service is in charge of processing user signups

channels:
  user/signedup:
    subscribe:
      message:
        $ref: '#/components/messages/UserSignedUp'

components:
  messages:
    UserSignedUp:
      payload:
        type: object
        properties:
          displayName:
            type: string
            description: Name of the user
          email:
            type: string
            format: email
            description: Email of the user
        someCustomProp:
          $ref: ./some_xsd.xsd

and then after dereferencing I have:
{
  "asyncapi": "2.1.0",
  "info": {
    "title": "Account Service",
    "version": "1.0.0",
    "description": "This service is in charge of processing user signups"
  },
  ...
  "components": {
    "messages": {
      "UserSignedUp": {
        "payload": {
          "type": "object",
          "properties": {
            "displayName": {
              "type": "string",
              "description": "Name of the user",
              "x-parser-schema-id": "<anonymous-schema-2>"
            },
            "email": {
              "type": "string",
              "format": "email",
              "description": "Email of the user",
              "x-parser-schema-id": "<anonymous-schema-3>"
            }
          },
          "someCustomProp": "<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:tns=\"http://tempuri.org/PurchaseOrderSchema.xsd\" targetNamespace=\"http://tempuri.org/PurchaseOrderSchema.xsd\" elementFormDefault=\"qualified\"> <xsd:element name=\"PurchaseOrder\" type=\"tns:PurchaseOrderType\"/> <xsd:complexType name=\"PurchaseOrderType\"> <xsd:sequence> <xsd:element name=\"ShipTo\" type=\"tns:USAddress\" maxOccurs=\"2\"/> <xsd:element name=\"BillTo\" type=\"tns:USAddress\"/> </xsd:sequence> <xsd:attribute name=\"OrderDate\" type=\"xsd:date\"/> </xsd:complexType>\n<xsd:complexType name=\"USAddress\"> <xsd:sequence> <xsd:element name=\"name\"   type=\"xsd:string\"/> <xsd:element name=\"street\" type=\"xsd:string\"/> <xsd:element name=\"city\"   type=\"xsd:string\"/> <xsd:element name=\"state\"  type=\"xsd:string\"/> <xsd:element name=\"zip\"    type=\"xsd:integer\"/> </xsd:sequence> <xsd:attribute name=\"country\" type=\"xsd:NMTOKEN\" fixed=\"US\"/> </xsd:complexType> </xsd:schema>",
          "x-parser-schema-id": "<anonymous-schema-1>"
        },
        ...
      }
    }
  },
  "x-parser-spec-parsed": true
}

So the dereferencer even fetches something from the web it still treats it as a string value, and only if it's valid JSON, i.e. a value starting with { then it treats it as JSON, otherwise it parses it as a string. This is how it works in JS (and also in our ParserJS), I don't know about other languages, but it should be similar because JSON is standarized for a long time.
If you are talking about this case with making references that should not be fetched, there is now a possibility to use e.g. an extension for this case:
messages:
    myXmlMessage:
       $ref: "https://example.com/myschema.xsd" # it will be fetched and treated as string value
      contentType: "application/xml"
      x-remote-ref: "https://example.com/myschema.xsd" # point to this reference that can be used in generators

Another possibility is to add each $ref before resolving to the schema/(part of document) as x-parser-original-ref and then you have the value of the reference and the link to it.

Currently we have many objects defined in XSD. These historical objects can be repurposed as event attributes. This unlocks tremendous value(financial, technical) if re-use can be accomplished. Looking forward for this discussion and feature availability.

Thanks for chiming in @masterhead , it's nice to get an end user perspective. Can I ask you a couple questions about your use case?

Do you need the full text of the XML schema imported into the AsyncAPI spec, or is simply having a URL pointer to it sufficient?
We would not want full text of XML schema in the AsyncAPI file. More on the lines of remote pointer, where our tools can parse to provide how a sample payload look for user understanding. If it is remotely hosted on URL https://domain/ssss/schema_def it works good. But some times the URL may be relative path to AsyncAPI file too  ) eg
Root Folder
AsyncApi File
SomeSchemaDef.xsd
refence pointer to be  "./SomeSchemaDef.xsd" or on similar lines

Do your XML documents typically have a single root element?  Or do they have multiple root elements?
For historical reasons, currently majority of objects are definitions are  already in the WSDL which have to liberated and defined as events. It would be ideal if spec can support XSD for any combination of multiple objects. (Could re-use existing infrastructure of already defined XSD as-is instead of manually editing and creating xsd of each event object)

Independent objects : Obj-1 has no relation ship with Obj-2

Dependent objects : Obj-2 , Obj-3 has parent of Obj-1  (acyclic graphs/trees)

Do you know, that $ref doesn't have to point to a valid JSON schema? Also string is also valid JSON schema, not in the sense of validation, but of value (JSON spec treats string value as normal JSON instance 😄 ), so for example:

I tried your example, and it does work. My concern here isn't so much with your proposal, but with the fact that at least our parser-js treats $ref differently depending on whether it's under message/payload or above it.
And what should we call 'someCustomProp?' At least with remoteReference, we can put that somewhere like message/payload and then its purpose becomes clear, and that also gives us a standard name for a property that we can use elsewhere.

@damaru-inc

I tried your example, and it does work. My concern here isn't so much with your proposal, but with the fact that at least our parser-js treats $ref differently depending on whether it's under message/payload or above it.

Most probably you mean the situation when you make a reference to the schema, e.g. xml, but then get an error from the parser that it can't parse that?  The $ref is used only to de-reference the given reference and replace it with a value. Only after that comes the validation phase and parsing against the schema format, so our parser doesn't change/adjust the logic of $ref.

And what should we call 'someCustomProp?' At least with remoteReference, we can put that somewhere like message/payload and then its purpose becomes clear, and that also gives us a standard name for a property that we can use elsewhere.

If one only needs a reference and not a value from a reference then remoteRef is ok, but I would prefer to be able to reuse in this use case the $ref so that later after parsing you still have the reference.

Most probably you mean the situation when you make a reference to the schema, e.g. xml, but then get an error from the parser that it can't parse that?  The $ref is used only to de-reference the given reference and replace it with a value. Only after that comes the validation phase and parsing against the schema format, so our parser doesn't change/adjust the logic of $ref.
But I guess again (because I haven't yet studied the source code: clearly I should) : our parser-js doesn't throw errors every time it sees a $ref probably because there are only a few situations where it needs to interpret the reference as a JSON Schema. If it's in a place in the parse tree where it doesn't care, it just returns the string (contents of the file), right?

If one only needs a reference and not a value from a reference then remoteRef is ok, but I would prefer to be able to reuse in this use case the $ref so that later after parsing you still have the reference.

Hey @magicmatatjahu, I had a simple NodeJS application using the json-schema-ref-parser used in the asyncapi parser.js to test out cml parsing. The parser threw an error when it encountered an xml schema file. Since the $ref uses json-schema-ref-parser as the $RefParser wouldnt it be problematic to assume that it'll handle it any non JSON format as a string? This is what I did for a quick local test
const $RefParser = require("@apidevtools/json-schema-ref-parser");

const myJSON = "./myJSON.json";

const myXML = "./sampleXML.xsd";

$RefParser.dereference(myJSON, (err, schema) => {
  if (err) {
    console.error(err);
  } else {
    console.log(schema);
  }
});

$RefParser.dereference(myXML, (err, schema) => {
  if (err) {
    console.error(err);
  } else {
    console.log(schema);
  }
});

What are your thoughts on this?

@TamimiGitHub Hi! You have error, because you try pass the non JSON as argument to the $RefParser. dereference function what isn't supported. The root object for dereference must be JSON. What I meant in my comment about reference to non JSON schemas, that it works when you have referenced e.g. xsd schema as reference (by $ref keyword) in JSON. I used your xsd schema in this JSON:
{
  "test": "test",
  "reference": {
    "$ref": "./sampleXML.xsd"
  }
}

and then after dereferencing I have:
{
  "test": "test",
  "reference": "<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd" targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd" elementFormDefault="qualified"> <xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/> <xsd:complexType name="PurchaseOrderType"> <xsd:sequence> <xsd:element name="ShipTo" type="tns:USAddress" maxOccurs="2"/> <xsd:element name="BillTo" type="tns:USAddress"/> </xsd:sequence> <xsd:attribute name="OrderDate" type="xsd:date"/> </xsd:complexType> <xsd:complexType name="USAddress"> <xsd:sequence> <xsd:element name="name"   type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city"   type="xsd:string"/> <xsd:element name="state"  type="xsd:string"/> <xsd:element name="zip"    type="xsd:integer"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/> </xsd:complexType> </xsd:schema>"
}

Many thanks to @magicmatatjahu , @TamimiGitHub , @masterhead  and @damaru-inc for helping me understand the implications here.  I've learned a lot thanks to you all.
In an attempt to summarize, I wanted to walk through a couple scenarios and see if we are the on same page
I want to have entire .xsd imported into AsyncAPI, as a string
components:
  messages:
    UserSignedUp:
      payload:
         $ref: ./some_xsd.xsd
      contentType: "application/xml"

I just want a pointer from AsyncAPI to a schema registry/file, not bringing in the whole thing (maybe because it's huge)
components:

messages:
   UserSignedUp:
     contentType: "application/xml"
     x-payload-remote-ref: "https://example.com/myschema.xsd"

Provide a pointer to a particular element

components:
  messages:
    UserSignedUp:
	  contentType: "application/xml"
	  x-payload-remote-ref: "https://example.com/myschema.xsd"
	  x-payload-remote-pointer: "/PurchaseOrder"

For instance, if xsd has multiple root elements:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd"
           targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd"
           elementFormDefault="qualified">
 <xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
 <xsd:element name="AnotherRootElement" type="tns:PurchaseOrderType"/>

Pointer to a particular element if importing the schema

components:
  messages:
    UserSignedUp:
      payload:
         $ref: ./some_xsd.xsd
         $pointer: "/PurchaseOrder"
      contentType: "application/xml"

Still valid. @derberg Could you remove stale label?

Any conclusion on this topic ?
I agree that most important would be to get it possible to reference other schemas but skip any automated parsing.
It is better to describe any event no matter which format in a industry standard then only being able to support JSON.
What needs to happen to get that into the next releases ?

We definitely need a champion that wants to drive the change, come up with proposal, respond to feedback, and present it to others


feat: update node and signal id to u128

Description
This PR points to the 0.09 release. It updates the node signal ids to be u128 instead of u32.
Related Issues

#33

Replaced by #40


Fix thermostat

As discussed in #31 and #33, the thermostat node currently doesn't work. This PR fixes it.
It introduces a third state for the switch message. You can send in a message with topic switch and payload true to have the thermostat always stay on, false to have the thermostat always stay off and `"auto" (or rather, anything else except true/false) to return the thermostat into automatic (temperature dependent) mode.

Hi, great to see an update.
Question: How to update this on my local NodeRed?
Can I download the new modified thermostat.js for example?
regards,
Peter

Yes, you can download the updated thermostat.js from my PR, replace your thermostat.js with it and restart Node-RED.

Thank you!


item bar boundary background color change

Hi, when I drag item bar to the boundary, it's will show the background color.
How can I change the background color?
I already tried to change view background color, but it didn't change.
Or can I fixed not to drag when it's the item bar's boundary?
Thanks for help!

OK, I find it
pagingViewController.collectionView.backgroundColor


Use alpine to reduce image size

281 MB -> 85 MB
https://hub.docker.com/r/sj26/mailcatcher/tags/
https://hub.docker.com/r/mtsmfm/mailcatcher/tags/

Here you are https://github.com/spaquet/alpinemailcatcher

can we merge this? this would be very helpful

I've rebased this so that it's using ruby 2.7.
In my test using dive build, this creates a 186MB layer, then a 15 MB layer:

Further optimising to install build tools, install mailcatcher, then remove build tools in a single command results in only a 16MB layer:

Thanks!

The docker image has been updated to use alpine, and now clocks in at ~25MB total, only 5.85MB (compressed) of that is a unique layer for mailcatcher.
https://hub.docker.com/layers/sj26/mailcatcher/latest/images/sha256-ea9cc63aaceb360b5bc3c5d3a090e0d69905b2b5e3eaf2d4e7b311bed9cfbe0e?context=repo
I've also pushed both linux/arm64 and linux/amd64 images.


fix: MongoDB backups failing

Caused by this commit.
I removed backup database names from MongoDB, as MongoDB can store multiple databases.
This PR should close #2081.

Thank you!


Add StartCase to Str & Stringable

Adds Str:startCase() and Stringable ->startCase() functionality to the helpers.
This allows for users to convert a cased string (studly, camel, etc.) to Start Case.
It differs slightly from Title case in two ways. https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage

Title case does & should not convert from kebab, camel, studly cases
Title case should not capitalize all words where Start Case should (this may be something that needs implementing in title() in future)

This functionality is really useful for converting a class name 'FooBar' to a nice string for display 'Foo Bar'.
I have been needing this a lot in Nova to generate nice resource names from a class in a Select.
Originally I was using lodash's _.startCase() and building custom fields.
Now the values can be provided much cleaner using ->options() directly.
It is an addition only and does not change any existing functionality.
If accepted I will also PR the necessary changes to the docs repo.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Add example of canny edge detection algorithm

Add example of canny edge detection using gil as my competency test for GSoC 2019
References
Find more about Canny edge detection on https://en.wikipedia.org/wiki/Canny_edge_detector
Tasklist

[ ] Review
[ ] Adjust for comments
All CI builds and checks have passed ATM, examples are not built by CI jobs

For complete records and references, here is @Antropovi  confirmation this is intended as competency test:
https://lists.boost.org/Archives/boost/2019/03/245630.php

As my competencytest, I have implement a simple Canny edge detection algorithm using GIL. https://github.com/boostorg/gil/pull/258

I believe there is a bug in the last hysteresis step: it will only detect Г shaped edges, and not horizontally flipped L shaped edges. Let me give an example (the values are somewhere in the image padded by zeroes on all sides, the values are intensity of the pixel's luminosity):
Case which current code will detect:
1 0.5 0.5               1 1 1
0.5 0 0         ====>   1 0 0
05. 0 0                   1 0 0

Case which current code will not detect
0.5 0.5 0.5            1 1 1
0.5 0 0.5        ====> 1 0 1
0.5 0.5 1              1 1 1

Here are the lines of code which are connected to the issues:
    // Weak pixels check
    // If weak pixel has a strong neighbor, then it is strong one
    // otherwise it is definitely not-edge pixel
    auto dst_loc = dst.xy_at(1, 1);
    for (int i = 1; i < dst.height() - 1; ++i) {
        for (int j = 1; j < dst.width() - 1; ++j, ++dst_loc.x()) {
            if (dst_loc(0, 0) == MIDDLE_VALUE) {
                if (dst_loc(-1, -1) == TOP_VALUE || dst_loc(-1, 0) == TOP_VALUE ||
                        dst_loc(-1, 1) == TOP_VALUE || dst_loc(1, -1) == TOP_VALUE ||
                        dst_loc(1, 0) == TOP_VALUE || dst_loc(1, 1) == TOP_VALUE ||
                        dst_loc(0, -1) == TOP_VALUE || dst_loc(0, 1) == TOP_VALUE)
                    dst_loc(0, 0) = TOP_VALUE;
                else
                    dst_loc(0, 0) = BOTTOM_VALUE;
            }
        }
        dst_loc += point2<std::ptrdiff_t>(-dst.width() + 2, 1);
    }

Instead, I believe there should be connected components search. The search process basically tries to hop over weak edge or strong edge and reach all of the reachable pixels from start location. If there is at least one strong pixel in the connected component, all should be marked as strong too.
Could you please verify if my theory is correct? I believe a good input image for this test case should be one of the O shaped Unicode characters with upper diagonal part blurred out.

This isn't a bug and there are some reasons, why I chose this implementation.
First and most important - this is an example. It should be easy to understand. There are a lot of guides and blog posts about this implementation.
Second - this is simple Canny algorithm. There are more precise and complex algorithms to detect edges. This one dont even construct a list of all edges.
Third - you are right. If you use image and rotated on 180 copy of it, output will be slightly different, but the main point still how to choose best threshold values.

Sorry for choosing confusing wording. I meant that weak edges that should've been included in the output will not be included. Thanks for clarification on the decisions.

@Antropovi Thank you very much again for your example. I'd like to incorporate it into GIL's collection in example/. Hopefully, I'll be able to do it in near future. So, let's keep this PR open.

@stefanseefeld Shall we add those as they are (optionally, with minor stylistic refactoring) to example/ folder? I think, it's never too many examples showing how to actually use GIL. What do you think?

With boost 1.80.0 and -std=c++20
I get the following compile errors:
/usr/include/boost/gil/extension/numeric/kernel.hpp:16:1: note: ?#pragma message: This header is deprecated. Use <boost/gil/image_processing/kernel.hpp> instead.?
   16 | BOOST_HEADER_DEPRECATED("<boost/gil/image_processing/kernel.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/gil/extension/numeric/convolve.hpp:15:1: note: ?#pragma message: This header is deprecated. Use <boost/gil/image_processing/convolve.hpp> instead.?
   15 | BOOST_HEADER_DEPRECATED("<boost/gil/image_processing/convolve.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/rgw16_edge_align.cpp:32:
src/rgw16_edge_detect.hpp: In function ?void gaussian_blur(const SrcView&)?:
src/rgw16_edge_detect.hpp:49:52: error: ?convolve_option_output_ignore? was not declared in this scope
   49 |   convolve_rows<gray32f_pixel_t>(src, kernel, src, convolve_option_output_ignore);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/rgw16_edge_detect.hpp: In function ?void sobel_filtering(const boost::gil::gray8c_view_t&, const boost::gil::gray8_view_t&, const boost::gil::gray32f_view_t&)?:
src/rgw16_edge_detect.hpp:76:75: error: ?convolve_option_output_zero? was not declared in this scope
   76 |   convolve_rows<gray32f_pixel_t>(src, first_sobel_kernel, view(vertical), convolve_option_output_zero);
      |                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/rgw16_edge_detect.hpp: In function ?int main_detect(int, char**)?:
src/rgw16_edge_detect.hpp:229:35: error: ISO C++ forbids converting a string constant to ?char*? [-Werror=write-strings]
  229 |   char* input                   = "test.jpg";
      |                                   ^~~~~~~~~~
src/rgw16_edge_detect.hpp:230:35: error: ISO C++ forbids converting a string constant to ?char*? [-Werror=write-strings]
  230 |   char* output                  = "canny.jpg";
      |                                   ^~~~~~~~~~~
src/rgw16_edge_detect.hpp: In function ?void non_maximal_suppression(const boost::gil::gray8c_view_t&, const boost::gil::gray32fc_view_t&, const boost::gil::gray8_view_t&)?:
src/rgw16_edge_detect.hpp:120:10: error: ?r? may be used uninitialized [-Werror=maybe-uninitialized]
  120 |   int q, r;
      |          ^
src/rgw16_edge_detect.hpp:120:7: error: ?q? may be used uninitialized [-Werror=maybe-uninitialized]
  120 |   int q, r;
      |       ^

All of which are trivially fixed.
It would be nice if example code did not contain compile errors.

@Bockeman

(I have not yet figured out what PR stands for.

PR = Pull Request

My comment above relates to the example/canny.cpp code, the only one in the "files changed" tab above.

I see. Well, this PR is a proposal and it has not been accepted and merged into the GIL sources. So it should be considered as a work in progress.

(Aside: I am currently attempting some tweaks, because unwanted artefacts are also being detected as edges)

If you have an improved version of this example here, then please, feel free to contribute it to GIL and submit your version as new PR.


Import assets from the level into Javabuilder

Previously, Javabuilder wasn't checking the level starter assets when trying to load assets. This change makes Javabuilder first check the list of starter asset file names and use the corresponding URL if it exists, or if not, use the standard assets URL for loading assets.
Testing: local & unit
Related TODO: https://codedotorg.atlassian.net/browse/CSA-690

Sorry for the late comment - this would be a great candidate for an eyes/UI test


saral sdk layout detection restrictions feature

SDK changes to configure threshold minWidth, maxWidth in layout json. These values are used to restrict layout detection in scanning process

hi @dileep-gadiraju i have tested above pr. it is working as expected


Updating SPM example Dockerfile

I left two environment variables that were previously created:

SPMMCRCMD: for genericity, I would not add the option "script" explicitly and let Nipype adds it itself if and when required.
FORCE_SPMMCR: this is only meaningful for Nipype.
See http://nipy.org/nipype/0.10.0/users/spmmcr.html

closing as this seems obsolete: I have reused most of the recipe coming from the SPM bids app


lock question

I plan to use khash as a cache in a long lived server process (web server).
At times I'll need to synchronize add / updates to khash.
I'd like to avoid locking the entire table. I wanted to confirm this strategy.
cache_entry;
kh_put(..)
lock()
if (put_ret == 0)
get & free entry
add / replace entry
unlock()

You need to put kh_put() in the critical section – i.e. you need to put lock above kh_put(). If locking is frequent, khash is not the best for you. There are lock-free hash table implementations.

Do you know of an actively supported lock-free hash table impl?   I've googled and googled... seems you're in league of your own with a "live" project.

Hello geemang200 and lh3,
I have a problem same to you to use khash with multi-thread (multicore also). It works very well with single thread, but with multithread when i use pthread mutex to lock/unlock with kh_put for add/del emlement, the performance is not good. I found some lock-free hashtable implement C: http://www.liblfds.org/, https://github.com/urcu/userspace-rcu and https://github.com/LPD-EPFL/ASCYLIB but it seems complicated and difficult to use. Can you give me some advices?
Thank you,

I am not aware of good lock-free hash table implementation. I guess to be lock-free, the table size has to be fixed because malloc() needs to be locked anyway.


fix(ingest/bigquery): Support cross project usage using FileBackedDict

May be easier to review by commit. Adding some more tests, but ready for review.
A lot of the log warnings should be report warnings... not sure if I should make the change here or in a separate PR where we go over all log / report warnings.
Comparing performance of in-memory implementation vs this one, with 10_000 tables, 7 days, 100_000 selects, 20_000 operations, 10 users, 10_000 average query length:
FILE BACKED
-------------------------------- live log call ---------------------------------
WARNING  datahub.ingestion.source.state.stateful_ingestion_base:stateful_ingestion_base.py:151 Stateful ingestion is disabled, disabling store_last_usage_extraction_timestamp config option as well
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:85 Time spent in stage <All: Seed Data Generation at 2023-04-06 12:46:41.307718>: 0.23 seconds
Events generated: 420223
Data structures size: 1.63 GB
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:85 Time spent in stage <All: Event Generation at 2023-04-06 12:46:41.536087>: 39.68 seconds
INFO     datahub.ingestion.source.bigquery_v2.usage:usage.py:377 Total number of events aggregated = 420223.
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:85 Time spent in stage <All: Event Ingestion at 2023-04-06 12:47:21.216895>: 180.94 seconds
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:85 Time spent in stage <All: Usage Extraction Operational Stats at 2023-04-06 12:50:22.216642>: 76.62 seconds
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:85 Time spent in stage <All: Usage Extraction Usage Aggregation at 2023-04-06 12:51:38.835335>: 198.30 seconds
Workunits Generated: 89711
Seconds Elapsed: 455.86 seconds
Memory Used: 335.65 MB
PASSED

IN MEMORY
-------------------------------- live log call ---------------------------------
WARNING  datahub.ingestion.source.state.stateful_ingestion_base:stateful_ingestion_base.py:151 Stateful ingestion is disabled, disabling store_last_usage_extraction_timestamp config option as well
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:87 Time spent in stage <All: Seed Data Generation at 2023-04-06 12:57:58.831374>: 0.22 seconds
Events generated: 421554
Data structures size: 1.57 GB
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:87 Time spent in stage <All: Event Generation at 2023-04-06 12:57:59.052493>: 33.88 seconds
INFO     datahub.ingestion.source.bigquery_v2.usage:usage.py:732 Number of read events joined with query events: 301554
INFO     datahub.ingestion.source.bigquery_v2.usage:usage.py:220 Total number of events aggregated = 301554.
INFO     datahub.ingestion.source.bigquery_v2.bigquery_report:bigquery_report.py:87 Time spent in stage <All: Event Ingestion at 2023-04-06 12:58:32.932223>: 57.13 seconds
Workunits Generated: 86974
Seconds Elapsed: 57.13 seconds
Memory Used: 9.62 GB
PASSED

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Codecov Report
Patch coverage: 59.03% and project coverage change: -11.01 :warning:

Comparison is base (c7d35ff) 74.90% compared to head (ae37304) 63.89%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           master    #7663       +/-   ##
===========================================
- Coverage   74.90%   63.89%   -11.01%
===========================================
  Files         353      353
  Lines       35395    35444       +49
===========================================
- Hits        26511    22646     -3865
- Misses       8884    12798     +3914

Flag
Coverage Δ

pytest-testIntegration
?

pytest-testIntegrationBatch1
?

pytest-testQuick
63.89% <59.03%> (+0.30%)
:arrow_up:

pytest-testSlowIntegration
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...c/datahub/ingestion/source/bigquery_v2/bigquery.py
34.72% <0.00%> (+0.43%)
:arrow_up:

...ub/ingestion/source/bigquery_v2/bigquery_schema.py
66.44% <ø> (ø)

...rc/datahub/ingestion/source/bigquery_v2/lineage.py
26.22% <0.00%> (+0.62%)
:arrow_up:

...n/src/datahub/utilities/file_backed_collections.py
100.00% <ø> (ø)

.../src/datahub/ingestion/source/bigquery_v2/usage.py
52.03% <55.93%> (+29.77%)
:arrow_up:

...hub/ingestion/source/bigquery_v2/bigquery_audit.py
54.88% <81.81%> (+0.83%)
:arrow_up:

...ub/ingestion/source/bigquery_v2/bigquery_config.py
94.44% <100.00%> (+0.06%)
:arrow_up:

...ub/ingestion/source/bigquery_v2/bigquery_report.py
98.48% <100.00%> (+3.24%)
:arrow_up:

...src/datahub/ingestion/source/usage/usage_common.py
100.00% <100.00%> (ø)

... and 98 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@asikowitz looks like there are conflicts, can you please resolve them ?


#2003 - Basic e2e tests for the low coverage parts of the application

Created e2e basic tests for:

Institution Account Creation
Designation Agreement
Education Program
Offferings

Changed designation agreement factory to create entities with "Approved" status because the tests that create them need that the institution does not have any previous designation agreements with "Pending" status.

Thanks for adding tests and improving the coverage. Please have a look at the comments.


Update xcode in engine builder to 12.3

Framework and devicelab are already using 12.3 for all the builds and tests. To use a consistent version across all the repositories we need to also update engine builds to 12.3.

\cc @a-siva @athomas would xcode 12.3 work for the new dart requirements?

Yes 12.3 should work, see https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon

We can't do this for the Mac iOS Engine* builders.  The version of clang used to build the frameworks must remain lower than the minimum required in the tool.  So on master, dev, and beta, that's 12.0.1 (https://github.com/flutter/flutter/pull/77025 on 2.1.0-12.0.pre), and on stable it's 11.0.  If we upgrade past those versions, add-to-app Flutter developers will get bitcode App Store validation errors unless they upgrade Xcode to the same version that the engine is using.
See requiem/doc/postmortem126775 and https://github.com/flutter/flutter/issues/49787 for more details.

\cc @zanderso

Closing as infeasible.


Configure built-in auth for Azure Container Apps

Purpose
Fixes #2181
This PR configures built-in auth for the new default deployment target, Azure Container Apps.
It also configures CORS correctly, based on Matt's old PR with a few fixes, so that logout works as expected.
This uses a currently undocumented way of connecting the token storage container, which uses managed identity instead of keys. I've asked the team about timeline for documenting that feature. Note that built-in auth for ACA is considered a preview feature.
One potential issue: if you've got an app with built-in auth deployed already, then our frontend code will only logout the user from MSAL, not from built-in auth, because it checks for an MSAL token first. We could potentially change that to be based on whether the ".auth/me" endpoint returned anything.
Does this introduce a breaking change?
When developers merge from main and run the server, azd up, or azd deploy, will this produce an error?
If you're not sure, try it out on an old environment.
[X] Yes - Somewhat, in that it's a different experience, and if users are already logged in via MSAL, their logout won't work (as it'll be a MSAL logout only).
[ ] No

Does this require changes to learn.microsoft.com docs?
This repository is referenced by this tutorial
which includes deployment, settings and usage instructions. If text or screenshot need to change in the tutorial,
check the box below and notify the tutorial author. A Microsoft employee can do this for you if you're an external contributor.
[ ] Yes
[X] No

Type of change
[X] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Code quality checklist
See CONTRIBUTING.md for more details.

[x] The current tests all pass (python -m pytest).
[ ] I added tests that prove my fix is effective or that my feature works
[ ] I ran python -m pytest --cov to verify 100% coverage of added lines
[x] I ran python -m mypy to check for type errors
[x] I either used the pre-commit hooks or ran ruff and black manually on my code.

Ooh great. I think :-) I deployed to a container app which was behind Entra Auth and app correctly asks for auth before displaying the chat page, however, the login context was not set (with the Login button saying just that!). Clicking would then log the user in without any further interaction. Hopefully, this resolves that so the user context is logged in from the outset?

With this change, it will prompt the user to login, then fetch the token from .auth/me, so that the user appears as logged in as soon as they see the chat screen.
If you already were using built-in auth though, you may want to clear your cookies/localStorage.


Update to Notebook 7

I left the to-be-obsoleted solution2 metadata in the updated cells, it doesn't do anything in version 7 notebook.

I see py37 tests are failing, I'll update our orb-examples shortly.

You probably also want to update the README

Good catch, thanks! Updated here and the pegasus JN example


Broken Links Tutorial Github Page

https://p5js.org/learn/ > Integrating other libraries > Example: using Buzz
"See example Integrating-other-libraries/0-2" - Links are broken and lead to 404 Github Page.

ah thank you those parts were out of date. updated


IsADirectoryError

After starting from a clean /data/.data PYSTOW_HOME folder, I got this:
  File "/home/ubuntu/.virtualenvs/py38/lib/python3.8/site-packages/bioversions/sources/ols.py", line 76, in extend_ols_getters
    for ols_getter in iter_ols_getters(force_download=force_download):
  File "/home/ubuntu/.virtualenvs/py38/lib/python3.8/site-packages/bioversions/sources/ols.py", line 66, in iter_ols_getters
    ols = get_ols(force_download=force_download, mappify=True)
  File "/home/ubuntu/.virtualenvs/py38/lib/python3.8/site-packages/bioregistry/external/ols.py", line 27, in get_ols
    return ensure_registry(
  File "/home/ubuntu/.virtualenvs/py38/lib/python3.8/site-packages/bioregistry/external/utils.py", line 35, in ensure_registry
    with open(cache_path) as file:
IsADirectoryError: [Errno 21] Is a directory: '/data/.data/bioregistry/ols.json'

$ rm /data/.data/bioregistry/ols.
ols.json/ ols.tsv/
$ rm -r /data/.data/bioregistry/ols.json/
$ rm -r /data/.data/bioregistry/ols.tsv/

I observed something similar for a folder with PyOBO, in that case
  File "/home/ubuntu/.virtualenvs/py38/lib/python3.8/site-packages/pyobo/utils/io.py", line 58, in open_map_tsv
    with open(path) as file:
IsADirectoryError: [Errno 21] Is a directory: '/data/.data/pyobo/raw/cl/cache/names.tsv'

so I wonder if this is actually a PyStow bug?

sorry I think I explained to you over a call what I think is going on, but didn't write it. I upgraded PyStow to make you explicitly say when something is a directory or a file, so this created some directories whose names look like files on code that wasn't upgraded.

Thanks, I'll close this since it's been resolved elsewhere.


404 at organizationSettingsMenu

Wrong url is used in requests:
https://saveourtool.com/api/v1/organizations//users

Got this error in Safari:
Refused to execute https://saveourtool.com/save-frontend-vendors.js as script because "X-Content-Type-Options: nosniff" was given and its Content-Type is not a script MIME type.

It can be reproduced by SuperUser who will add himself to the project as an admin. @petertrr @Cheshiriks pls investigate

The problem originates in the fact that we pass Organization into organizationSettingsMenu instead of just organization name. Organization object, that is needed to display information on Info tab, is retrieved from the backend in componentDidMount of OrganizationView, but used in manageUserRoleCardComponent during the initial render. We should only use data that is already available during the initial view. @sanyavertolet I believe it's the problem with your implementation

@sanyavertolet it's your implementation, please fix asap