fix(dump) add workaround for free mode mtls-auths

Treat a 403 on the mtls-auth endpoint the same as a 404. This handles the endpoint's behavior in Enterprise free mode gracefully, whereas previously the dump would fail entirely.
We eventually want a way to properly determine if an instance is in Enterprise free mode and avoid unavailable API calls entirely rather than relying on the return code.
Fix #274

y'all got a patch release for this planned?

I found it to be fixed in deck version 1.7.0 :)


Remove VLA to support MSVC

This fixes #2
It looks like you are planning to migrate the native code to rust to resolve #2, but I think a MSVC compatible release before the migration is also needed.

I Appreciate your work and Thanks for this PR, I Tried Something Similar by replacing VLA with dynamic memory allocation, but somehow it was causing runtime errors, have you verified if your branch wh201906:fix_windows_vla is working on a windows device on your side.
Thank you.

I guess it's caused by the size_t type. For Windows x64 the size_t is an unsigned 64bit number, but the int type in Dart is signed 64bit number.

I'll try the example app to run on windows 🤞

I just tested them and I also got the blank image view when decoding.
However, it looks like the decoding result from the native C code is good. I added some code to print the decoding result and tested them on both Windows and Linux, then I got the same result.

Patch to show the head and the and of the decoding result
diff --git a/lib/blurhash.dart b/lib/blurhash.dart
index 63d8de9..29f719b 100644
--- a/lib/blurhash.dart
+++ b/lib/blurhash.dart
@@ -341,6 +341,38 @@ class BlurhashFFI {
     return completer.future;
   }

+  void printUint8ListInHex(Uint8List list) {
+    print("data length: " + list.length.toString());
+    print("head:");
+    int printLength = list.length > 256 ? 256 : list.length;
+    String hexString = "";
+    int i = 0;
+    for (i = 0; i < printLength; i++) {
+      hexString += list[i].toRadixString(16).padLeft(2, '0');
+      if (i % 16 == 15) {
+        print(hexString);
+        hexString = "";
+      }
+    }
+    if (i % 16 == 15) {
+      print(hexString);
+    }
+
+    print("end:");
+    int startLength = list.length > 256 ? list.length - 256 : 0;
+    Uint8List lastBytes = list.sublist(startLength);
+    for (i = 0; i < printLength; i++) {
+      hexString += lastBytes[i].toRadixString(16).padLeft(2, '0');
+      if (i % 16 == 15) {
+        print(hexString);
+        hexString = "";
+      }
+    }
+    if (i % 16 == 15) {
+      print(hexString);
+    }
+  }
+
   void isolateEntryPoint(SendPort sendPort) async {
     void onSend(dynamic data) {
       try {
@@ -366,6 +398,7 @@ class BlurhashFFI {
           data.free();
           final Uint8List resultImage =
               result.asTypedList(data.width * data.height * data.channels);
+          printUint8ListInHex(resultImage);
           _bindings.freePixelArray(result);
           final _DecodeResponse response =
               _DecodeResponse(data.id, resultImage);

Result on linux
linux
flutter: data length: 57600
flutter: head:
flutter: 004346ff004346ff004346ff004346ff
flutter: 004346ff004346ff004346ff004346ff
flutter: 004246ff004246ff004245ff004245ff
flutter: 004245ff004245ff004144ff004144ff
flutter: 004144ff004043ff034043ff0e4042ff
flutter: 163f42ff1c3f42ff223f41ff263e41ff
flutter: 2b3e40ff2f3d3fff333d3fff363c3eff
flutter: 393c3eff3d3b3dff403b3cff433a3bff
flutter: 463a3bff48393aff4b3939ff4e3838ff
flutter: 503737ff523736ff553635ff573534ff
flutter: 593534ff5b3433ff5d3331ff5f3330ff
flutter: 61322fff63312eff64312dff66302cff
flutter: 682f2bff692f2aff6a2e29ff6c2d28ff
flutter: 6d2d26ff6e2c25ff6f2c24ff712b23ff
flutter: 722b22ff722a21ff732a20ff74291fff
flutter: 75291eff75281dff76281cff77281bff
flutter: end:
flutter: b64536ffb64536ffb74536ffb74636ff
flutter: b84636ffb84637ffb84737ffb84737ff
flutter: b84737ffb84737ffb84838ffb74838ff
flutter: b74838ffb64838ffb64839ffb54839ff
flutter: b44939ffb34939ffb24939ffb1493aff
flutter: af493affae493affac493affab493bff
flutter: a9493bffa7493bffa5493bffa3493cff
flutter: a1493cff9f493cff9c493cff9a493cff
flutter: 97493dff95493dff92493dff8f493dff
flutter: 8c493eff89493eff86493eff83483eff
flutter: 7f483eff7c483eff78483fff75483fff
flutter: 71483fff6e483fff6a473fff66473fff
flutter: 624740ff5f4740ff5b4740ff574740ff
flutter: 534740ff504740ff4c4640ff494640ff
flutter: 454640ff424640ff3f4640ff3d4640ff
flutter: 3b4641ff394641ff384641ff374641ff
flutter: data length: 57600
flutter: head:
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff060000ff120000ff
flutter: 1a0000ff210000ff270000ff2c0c0cff
flutter: 311818ff352121ff3a2828ff3e2e2eff
flutter: 413333ff453838ff493c3cff4c4040ff
flutter: 4f4444ff524848ff554b4bff584f4fff
flutter: 5b5252ff5d5555ff605757ff625a5aff
flutter: 655c5cff675f5fff696161ff6b6363ff
flutter: 6d6565ff6f6767ff716868ff736a6aff
flutter: 746c6cff766d6dff776e6eff786f6fff
flutter: 7a7070ff7b7171ff7c7272ff7d7373ff
flutter: 7e7474ff7f7474ff7f7575ff807575ff
flutter: 807575ff817575ff817575ff817575ff
flutter: 817575ff827575ff817575ff817474ff
flutter: end:
flutter: 4c4a4aff4a4949ff494848ff474747ff
flutter: 454545ff434444ff414242ff3e4040ff
flutter: 3b3e3eff383c3cff353939ff313636ff
flutter: 2c3434ff273030ff222d2dff1b2929ff
flutter: 122525ff042020ff001a1aff001313ff
flutter: 000808ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: data length: 57600
flutter: head:
flutter: 3d4d43ff3d4d43ff3e4d44ff3f4d44ff
flutter: 404d44ff414e45ff434f45ff454f46ff
flutter: 475047ff4a5147ff4c5248ff4f5349ff
flutter: 52544aff54554bff57564cff5a574dff
flutter: 5d584eff605a4fff635b50ff655c51ff
flutter: 685d52ff6b5e53ff6d5f54ff706055ff
flutter: 736156ff756257ff776357ff7a6458ff
flutter: 7c6559ff7e6659ff80675aff82675aff
flutter: 84685aff85685aff87695bff88695bff
flutter: 8a6a5bff8b6a5bff8c6a5aff8d6a5aff
flutter: 8e6a5aff8f6a59ff906a59ff906a58ff
flutter: 916a58ff916957ff926956ff926955ff
flutter: 926855ff926854ff926753ff926652ff
flutter: 926651ff926550ff91644fff91634eff
flutter: 90634dff90624bff8f614bff8f604aff
flutter: 8e6049ff8d5f48ff8c5e47ff8c5e47ff
flutter: end:
flutter: b18a73ffb38d74ffb59076ffb79278ff
flutter: b9957affbb987cffbd9b7effbf9e80ff
flutter: c1a182ffc3a484ffc5a686ffc7a988ff
flutter: c9ac8affcbae8cffccb18effceb390ff
flutter: d0b592ffd2b893ffd3ba95ffd5bc97ff
flutter: d6be98ffd7c09affd9c19bffdac39cff
flutter: dbc49effdcc69fffddc7a0ffdec8a1ff
flutter: dec9a2ffdfcaa3ffdfcba3ffe0cca4ff
flutter: e0cca5ffe1cda5ffe1cda6ffe1cda6ff
flutter: e1cea7ffe1cea7ffe1cea7ffe1cea7ff
flutter: e1cea7ffe1cea7ffe1cda8ffe0cda8ff
flutter: e0cda7ffe0cda7ffdfcca7ffdfcca7ff
flutter: dfcba7ffdecba7ffdecaa7ffddcaa6ff
flutter: ddcaa6ffddc9a6ffdcc9a6ffdcc8a6ff
flutter: dcc8a6ffdbc8a5ffdbc7a5ffdbc7a5ff
flutter: dbc7a5ffdbc7a5ffdac7a5ffdac7a5ff

Result on Windows
windows
flutter: data length: 57600
flutter: head:
flutter: 004346ff004346ff004346ff004346ff
flutter: 004346ff004346ff004346ff004346ff
flutter: 004246ff004246ff004245ff004245ff
flutter: 004245ff004245ff004144ff004144ff
flutter: 004144ff004043ff034043ff0e4042ff
flutter: 163f42ff1c3f42ff223f41ff263e41ff
flutter: 2b3e40ff2f3d3fff333d3fff363c3eff
flutter: 393c3eff3d3b3dff403b3cff433a3bff
flutter: 463a3bff48393aff4b3939ff4e3838ff
flutter: 503737ff523736ff553635ff573534ff
flutter: 593534ff5b3433ff5d3331ff5f3330ff
flutter: 61322fff63312eff64312dff66302cff
flutter: 682f2bff692f2aff6a2e29ff6c2d28ff
flutter: 6d2d26ff6e2c25ff6f2c24ff712b23ff
flutter: 722b22ff722a21ff732a20ff74291fff
flutter: 75291eff75281dff76281cff77281bff
flutter: end:
flutter: b64536ffb64536ffb74536ffb74636ff
flutter: b84636ffb84637ffb84737ffb84737ff
flutter: b84737ffb84737ffb84838ffb74838ff
flutter: b74838ffb64838ffb64839ffb54839ff
flutter: b44939ffb34939ffb24939ffb1493aff
flutter: af493affae493affac493affab493bff
flutter: a9493bffa7493bffa5493bffa3493cff
flutter: a1493cff9f493cff9c493cff9a493cff
flutter: 97493dff95493dff92493dff8f493dff
flutter: 8c493eff89493eff86493eff83483eff
flutter: 7f483eff7c483eff78483fff75483fff
flutter: 71483fff6e483fff6a473fff66473fff
flutter: 624740ff5f4740ff5b4740ff574740ff
flutter: 534740ff504740ff4c4640ff494640ff
flutter: 454640ff424640ff3f4640ff3d4640ff
flutter: 3b4641ff394641ff384641ff374641ff
flutter: data length: 57600
flutter: head:
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff060000ff120000ff
flutter: 1a0000ff210000ff270000ff2c0c0cff
flutter: 311818ff352121ff3a2828ff3e2e2eff
flutter: 413333ff453838ff493c3cff4c4040ff
flutter: 4f4444ff524848ff554b4bff584f4fff
flutter: 5b5252ff5d5555ff605757ff625a5aff
flutter: 655c5cff675f5fff696161ff6b6363ff
flutter: 6d6565ff6f6767ff716868ff736a6aff
flutter: 746c6cff766d6dff776e6eff786f6fff
flutter: 7a7070ff7b7171ff7c7272ff7d7373ff
flutter: 7e7474ff7f7474ff7f7575ff807575ff
flutter: 807575ff817575ff817575ff817575ff
flutter: 817575ff827575ff817575ff817474ff
flutter: end:
flutter: 4c4a4aff4a4949ff494848ff474747ff
flutter: 454545ff434444ff414242ff3e4040ff
flutter: 3b3e3eff383c3cff353939ff313636ff
flutter: 2c3434ff273030ff222d2dff1b2929ff
flutter: 122525ff042020ff001a1aff001313ff
flutter: 000808ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: 000000ff000000ff000000ff000000ff
flutter: data length: 57600
flutter: head:
flutter: 3d4d43ff3d4d43ff3e4d44ff3f4d44ff
flutter: 404d44ff414e45ff434f45ff454f46ff
flutter: 475047ff4a5147ff4c5248ff4f5349ff
flutter: 52544aff54554bff57564cff5a574dff
flutter: 5d584eff605a4fff635b50ff655c51ff
flutter: 685d52ff6b5e53ff6d5f54ff706055ff
flutter: 736156ff756257ff776357ff7a6458ff
flutter: 7c6559ff7e6659ff80675aff82675aff
flutter: 84685aff85685aff87695bff88695bff
flutter: 8a6a5bff8b6a5bff8c6a5aff8d6a5aff
flutter: 8e6a5aff8f6a59ff906a59ff906a58ff
flutter: 916a58ff916957ff926956ff926955ff
flutter: 926855ff926854ff926753ff926652ff
flutter: 926651ff926550ff91644fff91634eff
flutter: 90634dff90624bff8f614bff8f604aff
flutter: 8e6049ff8d5f48ff8c5e47ff8c5e47ff
flutter: end:
flutter: b18a73ffb38d74ffb59076ffb79278ff
flutter: b9957affbb987cffbd9b7effbf9e80ff
flutter: c1a182ffc3a484ffc5a686ffc7a988ff
flutter: c9ac8affcbae8cffccb18effceb390ff
flutter: d0b592ffd2b893ffd3ba95ffd5bc97ff
flutter: d6be98ffd7c09affd9c19bffdac39cff
flutter: dbc49effdcc69fffddc7a0ffdec8a1ff
flutter: dec9a2ffdfcaa3ffdfcba3ffe0cca4ff
flutter: e0cca5ffe1cda5ffe1cda6ffe1cda6ff
flutter: e1cea7ffe1cea7ffe1cea7ffe1cea7ff
flutter: e1cea7ffe1cea7ffe1cda8ffe0cda8ff
flutter: e0cda7ffe0cda7ffdfcca7ffdfcca7ff
flutter: dfcba7ffdecba7ffdecaa7ffddcaa6ff
flutter: ddcaa6ffddc9a6ffdcc9a6ffdcc8a6ff
flutter: dcc8a6ffdbc8a5ffdbc7a5ffdbc7a5ff
flutter: dbc7a5ffdbc7a5ffdac7a5ffdac7a5ff

So I guess it's something wrong in the Dart side.

That proves native part is working fine on windows, like it does in linux and mac, I've tried different methods of rendering the ui:Image output, but they are all giving the same white image.
import 'dart:ui' as ui;

import 'package:flutter/material.dart';

class UIImage extends StatelessWidget {
  final ui.Image image;

  const UIImage({
    Key key,
    @required this.image,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CustomPaint(painter: _UIImagePainter(image));
  }
}

class _UIImagePainter extends CustomPainter {
  final ui.Image image;

  _UIImagePainter(this.image);

  @override
  void paint(Canvas canvas, Size size) {
    canvas.drawImageRect(
      image,
      Rect.fromLTWH(0, 0, image.width.toDouble(), image.height.toDouble()),
      Rect.fromLTWH(0, 0, size.width, size.height),
      Paint(),
    );
  }

  @override
  bool shouldRepaint(_UIImagePainter oldDelegate) {
    return image != oldDelegate.image;
  }
}

RawImage(
    image: snap.data
)

in place of this
https://github.com/folksable/blurhash_ffi/blob/e51e43f2a287d9cb288508883bd63c90e16fa59a/lib/blurhashffi_widget.dart#L174-L180
So it's not the problem with rendering output either, so this has to be an issue with how ui:Image is constructed from the data that's coming from the native side.

Maybe there is something wrong in the _createBmp()
https://github.com/folksable/blurhash_ffi/blob/e51e43f2a287d9cb288508883bd63c90e16fa59a/lib/blurhash.dart#L541-L565
You can check the BMP data in the bmp.buffer and see if it’s consistent across all platforms

_createBmp() is only being used on the web, on other platforms it's using ui.decodeImageFromPixels
https://github.com/folksable/blurhash_ffi/blob/e51e43f2a287d9cb288508883bd63c90e16fa59a/lib/blurhash.dart#L216-L219
I tried different PixelFormat enum, but that's not fixing the problem.
https://github.com/folksable/blurhash_ffi/blob/e51e43f2a287d9cb288508883bd63c90e16fa59a/lib/blurhash.dart#L219-L222

Could you please check the errors (if any) from decodeImageFromPixels() and all arguments of it? Are the arguments the same across all platforms?

By the way, this PR is a fix for the native C code. I think it's safe to merge it because we've proved that the compilation on Windows works and the data from the native C code is the same as the one in other platforms.
As for the bug in the decoding process, we can discuss it after this PR is merged or create a new issue for it.

Thanks.


Shutterbug Support

In order to use shutterbug without a lot of changes, we send shutterbug a html page that embeds CLUE as a iframe. The html page includes the JSON of the document that we want to screenshot. Javascript on the html page sends this document to the iframe via postMessage so CLUE can render the document. The CMS already has an iframe version of CLUE which supports receiving a document via postMessage.
One challenge with snapshots of CLUE is getting the height of the image based on the height of the document. We have a local screenshot script which was figuring this out by summing the height of each row within puppeteer.
So changes in this PR:

fix a Cypress check that was breaking when CLUE was running in a parent frame that was in a different domain
add a script shutterbug.ts to generate the html from a document file passed as an argument
add url param to unwrap document in standalone document editor to test the simplification of puppeteer screenshot which captures the full height with just a simple fullPage:true option. This param is also supported in iframe.html
rename cms-editor.html to iframe.html, since this is now a generic iframe'd CLUE.
add height monitoring and messaging to iframe.html. It uses a ResizeObserver to monitor the height it needs and sends this back to the parent window with an updateHeight message.
add iframe height adjusting to the html generated by shutterbug.ts: when it gets the updateHeight message from the iframe it changes the height of the <iframe> to match the requested height.

Separate work:
In order for this dynamic height to work properly in shutterbug, shutterbug has to be updated so it has an option to send fullPage:true to puppeteer. That work will take place in https://github.com/concord-consortium/shutterbug-lambda/

Here is the shutterbug-lambda PR: https://github.com/concord-consortium/shutterbug-lambda/pull/23


CustomInput label only accepts string

components: CustomInput checkbox
reactstrap version ^6.5.0
import method umd/csj/es  es
react version ^16.6.3
bootstrap version ^4.2.1

What is happening?
CustomInput label is PropTypes.string
What should be happening?

label should be PropTypes.node
Steps to reproduce issue
My requirement is to have a red * to show it is a required field and unfortunately it breaks into 2 lines. The * has a different style and is in a  of its own.

This issue is already fixed and should be closed
https://github.com/reactstrap/reactstrap/blob/ad2a9a0101c838831f31a932a32cb37d3316c153/src/CustomInput.js#L10


hyperclair login not working with amazon ecr service

I am trying to login to hyperclair as follows:
With https I am seeing following output
hyperclair login https://<account>.dkr.ecr.us-west-2.amazonaws.com
Username: AWS Password:   client quit unexpectedly FATA[0016] log in: log in http://https://<account>.dkr.ecr.us-west-2.amazonaws.com/v2: Get http://https://<account>.dkr.ecr.us-west-2.amazonaws.com/v2: dial tcp: unknown port tcp/
Without https it wait for longer period, looks like it is trying to communicate at port 80 which is not allowed in case of ecr.
hyperclair login <account>.dkr.ecr.us-west-2.amazonaws.com

Hello,
currently Hyperclair is deprecated. Could you check it with github.com/jgsqware/clairctl.
Thanks

However, with clairctl, you will logged first with docker, than it will work automatically


Update videos/docs for quickstarts etc

Basic mapping and loading with G2Loader
Video 1: https://senzing.zendesk.com/hc/en-us/articles/115007461148-Video-Mapping-and-Loading-Part-1
Video 2: https://senzing.zendesk.com/hc/en-us/articles/115007708808-Video-G2-Mapping-and-Loading-Part-2
Advanced Mapping Concepts (review both the video and guide)
Video: https://www.youtube.com/watch?v=2ethEN8alqY&feature=youtu.be
Guide: https://senzing.zendesk.com/hc/en-us/articles/360054097153-Advanced-mapping-concepts

Should be an issue in https://github.com/Senzing/g2loader rather than this repository.

Moved to https://github.com/Senzing/g2loader/issues/43


[Installer] Don't eval gemfile twice

Closes #3096
\c @indirect

I don't know how to make this work, it turns out .duping a SourceList doesn't do what we need, and because there's hidden mutable state in Source and we need a matching source because @dependencies maintains references to sources and :sob:

Can anyone think of any possible avenues to make this work?

I have previously spent days fighting this and eventually given up. I think we need less hidden mutable state for it to be possible?

@indirect well... yes. But a rewrite of how source / index / definition work isn't really feasible given time constraints right now

Im happy to work on this @segiddins if you're on other things.

@colby-swandale up to you -- it might just be frustrating though, so I can't wholeheartedly suggest it :/

:umbrella: The latest upstream changes (presumably #4654) made this pull request unmergeable. Please resolve the merge conflicts.

Done in 2.0

Closed via https://github.com/bundler/bundler/pull/4952


BUG: to_dense now preserves dtype in SparseArray

Also fixes values and get_values.
fixes #10648

@jreback sorry for being slow in getting back to this, I'll make the changes requested before the week is out.

can you update

@ebolyen can you update according to comments. need a whatsnew note as well.

can you update according to comments

closing, but pls reopen if you'd like to work on this again.


SEO: missing region-independant link for language

What problem does this feature solve?
When enabling the seo option, the plugin correctly generates <link rel="alternate" hreflang="x"> tags for every language configured in nuxt.config.js.
However, it is also recommended to generate a catchall URL for geographically unspecified users of that language.
For example, you may have specific URLs for English speakers in Ireland (en-ie), Canada (en-ca), and Australia (en-au), but should also provide a generic English (en) page for searchers in, say, the US, UK, and all other English-speaking locations. It can be one of the specific pages, if you choose.
Please see https://support.google.com/webmasters/answer/189077 for more information.
What does the proposed changes look like?
We already have the properties code (e.g. en)  and iso (e.g. en-AU) in the locales object when configuring the module in nuxt.config.js.
We could use the code property to generate the catchall URL tag.

This feature request is available on Nuxt community (#c340)

We can't use the code property alone as we wouldn't know which of the country-specific locale (for example, whether en-US or en-GB) should be used as the catchall locale. We would need to use another property of the locale object like isCatchallLocale: true or similar to indicate which locale should act like one.
With isCatchallLocale: true, we could then just automatically derive locale to use from the iso code (so only en from en-GB). That would be better than using code IMO as code doesn't have any special meaning and could be anything really.

@rchl Thanks for that very elaborate reply. Indeed, solely relying on code would not cut it for everyone.

Maybe we could even do it "per language"? ({ code: 'gb', iso: 'en-GB', isRegionIndependent: true ... },)


Only iOS - App freezes on Leanplum Campaigns In App Message

I am encountering a significant issue on iOS where the screen freezes upon the appearance of a Leanplum In-App Message within our React Native application. This modal, intended for user campaigns, inhibits any screen interaction or the ability to dismiss the modal, rendering the app unusable while it is visible. The issue does not manifest on Android, where the modal functions correctly and does not impede user interaction.
Steps to Reproduce

Open the application on an iOS device.
Trigger the campaign that launches the modal.
Observe that the app screen freezes and no interactions are possible.

Expected Behavior

The modal should appear without freezing the app, allowing user interaction and closure, similar to the behavior observed on Android devices.

Actual Behavior

The modal appears but freezes the entire app screen on iOS. No touches are registered, and it cannot be dismissed.

System Information

OS: macOS 14.4.1
CPU: Apple M1 (arm64)
Memory: 121.03 MB / 8.00 GB
Node.js: 18.19.1
Yarn: 1.22.21
npm: 10.5.2
Watchman: 2<IP_ADDRESS>
CocoaPods: 1.13.0
Xcode: 15.3 (15E204a)
iOS SDK: 17.4
React: 18.2.0
React Native: 0.73.0
Hermes enabled: Yes
@leanplum/react-native-sdk: 2.2.0 or 2.3.0
clevertap-react-native: 2.0.0 or 2.2.1

The Campaign for In App Message

Screenshots

Hi @dionisio28, we will try to reproduce this and get back to you.

I see that you have connected with support already, lets keep the communication through there.

yeah make sense, I think we can close the ticket


Modules: 'Modules' Information Card

As a Run App user, I would like to be able to manage my modules from the 'Modules and Pipettes' page.
Acceptance Criteria

[ ] New 'Modules' card on the 'Modules and Pipettes' page
[ ] Modules card includes model
[ ] Modules card includes version number
[ ] Modules card includes status
[ ] Modules card includes image of module type
[ ] Modules card displays something sane (either hidden entirely, or 'no modules connected') if the API returns a 404 (i.e., we haven't added the relevant API endpoints yet)

Implementation Notes

We will likely build this before API support (before we have a 'Get Modules' endpoint), so (1) implementation of this story defines the endpoint and (2) we should have some sane handling for 404s

Dependencies

Need 'Modules and Pipettes' page #1564

No modules:

Modules:


Fixed displaying of nav bar menu links

This is fixed in different branch and will be merged in master soon.

This is fixed in different branch and will be merged in master soon.

Can i please take a part in development / join development team?


Configurable Server Options

As per our discussion on issue #54, this pull request provides the ability to pass a struct of server options to the new server in order to override certain configuration values. In particular, it allows the operator to increase (or decrease) the size of the buffer and block used in the circular buffer for each client. This is necessary in systems where larger message payloads would otherwise be dropped due to over-running the buffer.
Key changes:

A new NewServer(opts *Options) *Server function has been added to server.go, which allows the instantiation of a server with options. The original New() *Server function should be deprecated.

Discussion: Alternatively, A) we introduce a breaking change and add the opts *Options parameter directly to the existing New function. Or B), NewServer should be renamed to NewWithOptions and the former New should not be deprecated. Insights wanted!

Example files have been updated to use the new NewServer function.
The Readme has been updated to include details about the new Options available.
A minor change was made to circ.Pool to ensure it resolved the package Default rather than relying on it being passed externally.

I can't seem to add any reviewers to this PR, but FAO @jmacd, @deadprogram, @stffabi

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 14 (85.71%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.07%) to 98.581%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

server/internal/circ/pool.go
1
3
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
2639

Relevant Lines:
2677

💛  - Coveralls


fixed file extensions

it seems the autogenerated filenames were missing the file extension dot

Thanks @tromshusky for raising this pr!


Travis CI builds broken

See https://github.com/travis-ci/apt-source-whitelist/issues/279

It seems to be fixed now.


NFC is on after boot

To reproduce:

switch NFC off
reboot - it will be on again

Its upstream bug that can be resolved by
chown -R nfc:nfc /var/lib/nfcd

See https://together.jolla.com/question/208758/xa2-nfc-auto-enabled-after-restart/
Closing here as its not a bug of the port


GSD error metrics throw if reference did not detect a GS

At the moment we get a divide by 0 error when the reference did not detect a GS. However, we should return NaN for the metrics that can not be calculated and not throw, as it could be valid that no gait happened in a recording.

Maybe a similar approach as with the f1-Score calculation would make sense. Allow the user if it should warn, raise or be ignored

I also realised, that the settings for what should happen with "zero-divide" are not exposed in the higher level functions. She should probably add this :)

I added a zero_division_hint parameter to the calculate_unmatched_gsd_performance_metrics function. I named it differently than the parameter used for the basic evaluation functions as it behaves differently

set to False: warning is suppressed and values are set to nan
set to "warn": warning is raised and values are set to nan
set to "raise": ZeroDivisionError is raised

(comp. to zero_division parameter from f1-score etc: result is either set to 0, 1, or warning is raised)


arm64 image

I have an arm64 server. Can I support arm64?

Hi there,
I need to add arm64 builds to the CI pipeline. In the mean time, you can try cloning the repo and subproject and running docker build from your server - it should pull in the arm dependencies. I will get something set up for automatic arm build soon

I tried to compile the error myself
1、git clone https://github.com/ravenscroftj/turbopilot.git
2、cd turbopilot
3、docker build -t turbopilot:0.1 .
=> ERROR [build 6/7] RUN cmake -D CMAKE_EXE_LINKER_FLAGS="-static" ..                                                                                0.2s

[build 6/7] RUN cmake -D CMAKE_EXE_LINKER_FLAGS="-static" ..:
#0 0.221 CMake Warning:
#0 0.221   Ignoring extra path from command line:
#0 0.221
#0 0.221    ".."
#0 0.221
#0 0.221
#0 0.221 CMake Error: The source directory "/build/ggml" does not appear to contain CMakeLists.txt.
#0 0.221 Specify --help for usage, or press the help button on the CMake GUI.

Dockerfile:11
9 |     WORKDIR  /build/ggml/build
10 |
11 | >>> RUN cmake -D CMAKE_EXE_LINKER_FLAGS="-static" ..
12 |     RUN make codegen-serve

13

ERROR: failed to solve: process "/bin/sh -c cmake -D CMAKE_EXE_LINKER_FLAGS="-static" .." did not complete successfully: exit code: 1

Hi again @GeekWorkCode
I have now added ARM64 builds to the CI pipeline so you should just be able to run it straight away now:
docker run --rm -it \
  -v ./models:/models \
  -e THREADS=6 \
  -e MODEL="/models/codegen-2B-multi-ggml-4bit-quant.bin" \
  -p 18080:18080 \
  ghcr.io/ravenscroftj/turbopilot:latest

Please note the docker image URI name has changed to ghcr.io/ravenscroftj/turbopilot:latest


Raise new Bundler::VirtualProtocolError in response to Errno::EPROTO

Related to #4163, #3932, and #3581

Ideally, a custom error and/or error message would be returned in these cases rather than just error out because of the uncaught Errno::EPROTO.
I'd like some feedback on what the appropriate error message should be however. The caveat is that it seems like a wide range of errors (possibly any error?) that occur in the presence of virtualization will raise this Errno::EPROTO error.

This looks good to me. :+1:
@homu r+

:pushpin: Commit 57af37d has been approved by indirect

:hourglass: Testing commit 57af37d with merge e76760d...

:sunny: Test successful - status


Unrecognized manifest key 'browser_specific_settings' in Chromium-based browsers

For those people who encountered this notification when importing this extension in Chromium-based browsers, please just simply remove the browser_specific_settings section from your manifest.json file. The manifest key browser_specific_settings is not being used by Chrome, only by Firefox.

It's just a warning, not an error. You can keep using the extension without any problems :)

Thanks for pointing this out! I’ve updated the README to mention that if you’re using a Chromium-based browser, you can ignore the browser_specific_settings warning.
Appreciate you sharing the tip!


Corrected the license to be LogRhythm MIT and adjusted the README

This pull request corrects the LogRhythm LICENSE and improves the Readme.
The README can best be read at: https://github.com/KjellKod/StopWatch-1/blob/LogRhythm_OpenSource_Compliance/README.md

:+1:

:+1:

👍


Add spoiler class to hide text in a blur, and reveal on click?

Something like Discourse has that can be revealed on a click.

https://github.com/discourse/discourse/blob/2a007bafa218afde0b3f6032917571a574d3d1ce/spec/components/pretty_text_spec.rb#L474
This would be a great addition!
Thanks

Can I work on this?

@vireakpanha you don’t ha e to request to work on an issue 😉

@vireakpanha please, do! @GiacomoLaw is right 👍

@vireakpanha do you have any update on this? Thanks

You mean like hiding spoilers inside an article or hiding all article?

Done. Example here: https://wowthemesnet.github.io/mediumish-theme-jekyll/quick-start-guide/

Thanks so much!

Is there a way to blur them, and in click show? So the page dynamic doesn’t change?
Thanks!

Something like that?

Yep! 🙂

But the reveal button should still be there, right?

No, just clicking on it should show it.

What if the people don't know they can reveal it with a click

Maybe have a small box when you mouseover like on trakt.tv

Yes, that's better. It's on my to do list.

Or just change the cursor to the click one, would be great. Can you link the branch for this? I would happily take a look.
Thanks

https://wowthemesnet.github.io/mediumish-theme-jekyll/quick-start-guide/ How about that? If you can't see the blurred text yet, please, empty cache.

That's great! Thanks so much 😄

Spoiler class isn't working for me for some reason on the site, was working locally:
https://github.com/GiacomoLaw/takanodan/blob/master/_posts/2019-02-11-shield-hero.md
On this post:
https://takanodan.net/2019/02/shield-hero/
Thanks!

the screen.css doesn't look updated yet: https://takanodan.net/assets/css/screen.css

Odd, let me take a look. Thanks!

That fixed it, sorry for my stupidity and thanks!


No state in response with Google Authentification

Hello,
I am using :

a  .NetCore API published on Azure with GoogleAuthentification turned on
a simple js client ( adapted from https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/7_JavaScriptClient/src/JavaScriptClient/wwwroot )

My goal is to get access to the (protected) API from the js client.
During the first response (ie in the signinRedirectCallback function of the callback.html page), i have a " No state in response ".
I see that the response url is parsed in the parseUrlFragment function :
my return url is : "http://localhost:5003/callback.html?state=ee2a6ef8dc0e427b905d14aff81974e&code=4/j2PaTGmWfieCe2jV4gCA5RoH17An88yY9-AGBqDlM&authuser=0&session_state=d62f565d22aafa728b54c01cc4a87f9f6fad4dc..230b&prompt=none# "
the problem is at that condition at line 32 of UrlUtility.js
if (idx >= 0) {
value = value.substr(idx + 1);
}
where idx = 129 (index of the # character) and so
value is changed from " "http://localhost:5003/callback.html?state=ee2a6ef8dc0e427b905d14aff81974e&code=4/j2PaTGmWfieCe2jV4gCA5RoH17An88yY9-AGBqDlM&authuser=0&session_state=d62f565d22aafa728b54c01cc4a87f9f6fad4dc..230b&prompt=none# "" to " " . Hence the state is nerver parsed and the exception "no state in response " is raised further.
So, Is my client not well configured or is it a bug ?
Thanks for the help
Tulyopt

The token server is sending you back the results in correctly. They should be via the hash fragment, not the query string.

The token server is Google's : was oidc-client-js already tested with Google auth service ?

@TulyOpt Yes, here.

ok thanks for the exemple, it works now : I changed this line in the userManagerConfig :
response_type: 'code',
to
response_type: 'token id_token',

response_type: 'code',

Well, then you were getting what you asked for :)
Glad to hear it's now working.


Improve style of user OpenID setting page

Also regenerates CSS from .less file (in separate commit)

NOTE: this gives the user OpenID setting page the same style as the user Email setting page.

LGTM

LGTM

Make LGTM Work


issue with appveyor

@JaKXz I've configured appveyor, it looks like there's a slight issue:
https://ci.appveyor.com/project/bcoe/set-blocking
Should be easier to debug now that appveyor is actually turned on 👍

@bcoe The issue here is that the AppVeyor requires the configuration to include a matrix key when there's multiple Node versions required I think:
environment:
  matrix:
    - nodejs_version: "4"
    - nodejs_version: "6"

Running the tests on Windows locally, I've also found they won't pass. This is because the test fixture files call node via a shebang in the heading (#!/usr/bin/env node) which doesn't work on Windows as its an entirely different environment, working on a fix for both.


Kafka-14965 - ListOffsetsRequestManager implementation

Implementation of ListOffsetRequestManager and beginning and end offsets integrated with it.
Note on metadata interaction:
This includes metadata interaction based only on the ConsumerMetadata object that is maintained up-to-date by the network client. The ListOffsetRequest manager calls the ConsumerMetadata object requestUpdate when needed, and gets notified of the updates by implementing the existing ClusterResourceListener.

Hey @lianetm - I've made my first pass - sorry about the fragmented reviews. My main ask here is to add a test at the Background thread level and test the onUpdate per the comment!

Hey @lianetm - The changes look good to me.  Could you address @kirktrue 's comments Thanks!

Thanks @philipnee and @kirktrue for the review. I added a last commit following @kirktrue 's suggestion of using the newest CompletableApplicationEvent and EventHandler.addAndGet functionality which are indeed very helpful. All comments have been addressed so merging this, and will follow up with other PRs to add new functionality to the ListOffsetRequestManager and add more tests.


1080p/4K Netflix?

So yeah due to drm we can't get Netflix on safari but has anyone else managed to get it in full he or more on any other browser

You can get 1080p on chrome via an extension called Netflix-1080p

You can get 1080p on chrome via an extension called Netflix-1080p

4K Netflix is supported by Sarari

Yeah but you can't use safari due to drm right?


feat: expose request headers

Not needed.
We are sending a JWT (which includes the userId) in the first message after establishing the ws connection, so we can establish a relationship between the connectionId and the user.
we don't need to access the request headers for auth.


Not getting the list of selected values on setting multiselect as true in  dynamic picky

Version
4.4.5
Here's what went wrong:
Hi Aidurber,
I have recently downloaded the picky and have used it inside a map function to loop through my dynamic data. In the picky i have set multiselect as true.
How ever on the onchange function am getting only the currently selected value and not the list of values selected for picky.
This is the sample code:
{
sectorsData.map((selectItem, i) => (

))}
in the on change function  i have written the following code :
const selectedOption = (name,value) =>{
setAssetsAddedState(prev => { return { ...prev, [name] : value}});
}
The issue am facing is in the case of multiselect where the value will be a single object containing the current selected item rather than the list of items selected. Could you please help me with the issue. I have tried every possible solution and it does not seem to work.Any help would be really appreciated as am stuck in the issue for sometime.
Where a sample sectorsData:
[
{
"name": "Technology",
"options": [
{ "id": "1",
"name": "AI & Analytics"
},
{
"id": "2",
"name": "Robotics"
},
{
"id": "3",
"name": "IoT"
}
]
},
{
"name": "Sector",
"options": [
{
"id": "1",
"name": "Automotive"
},
{
"id": "2",
"name": "Oil and gas"
}
]
}
]

Can you please provide a Code Sandbox, you can use this as the base:
https://codesandbox.io/s/6o6y0

Hi Aidurber,
Thank you for the response,
I have used the base provided by you to share the code and please find it below.
https://codesandbox.io/embed/picky-demo-l8gpj
Also, I referred the resolved issues to see if I can get some help and found an issue similar to this #136 but its single select which works fine. In my case, it is the multi-select that is causing the issue and the issue persists

Hi Aidurber,
Could you please check my code base and see what's the root cause, thanks in advance


comparer not called with different concrete types of interface

https://godoc.org/github.com/google/go-cmp/cmp#Comparer states "If T is an interface, it is possible that f is called with two values of different concrete types that both implement T."
I'm trying to compare different concrete types of an interface, but my Comparer is never called.
Running:
package main

import (
	"github.com/google/go-cmp/cmp"
)

func main() {
	var i1 I
	var i2 I

	i1 = &A{}
	i2 = &B{}

	cmp.Equal(i1, i2, cmp.Comparer(ic))

	panic("not compared")
}

type I interface {
  Foo()
}

type A struct {}
func(a *A) Foo() {}

type B struct {}
func(b *B) Foo() {}

func ic(i1 I, i2 I) bool {
        panic("compared")
}

Results in:
panic: not compared

goroutine 1 [running]:
main.main()
        /tmp/main.go:16 +0x111
exit status 2

$ go version
go version go1.13 linux/amd64
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/cjnosal/.cache/go-build"
GOENV="/home/cjnosal/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/mnt/d/workspace/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build444735255=/tmp/go-build -gno-record-gcc-switches"

The issue at hand is that is that when you call a function in Go where the argument is an interface, the exact type of the interface is lost. This is the reason why the following does not do what most users expect:
var r io.Reader
t := reflect.TypeOf(r) // users expect this to be io.Reader, but its actually nil

The workaround is usually to take a reference to the interface and them dereference it:
var r io.Reader
t := reflect.TypeOf(&r).Elem() // now t is actually an io.Reader

Similarly, directly calling cmp.Equal with i1 and i2 is actually giving it values of the concrete *A and *B type, rather than the I interface.
A workaround is to instead pass &i1 and &i2 instead. Doing so fixes the issue.
It's not clear to me that this is a problem with the cmp package, but more so a gotcha with the Go language.

@dsnet Thank you. Regarding the docs, when can the Comparer be "called with two values of different concrete types"? Your explanation makes it sound like it can't?

In the adjusted playground example sent earlier, Comparer is being called with two different concrete types.

This playground example makes it even more clear. It panics with:
panic: comparing *main.A and *main.B

I see. I missed that the Comparer signature was still for type I when Equal is called with *I, and Equal is dereferencing when considering if a Comparer is valid for the type.

The docs mention 'The comparer f must be a function "func(T, T) bool" and is implicitly filtered to input values assignable to T'. Does this mean that *A and *B are not considered assignable to I when implicitly filtered?

@dsnet

Does this mean that *A and *B are not considered assignable to I when implicitly filtered?

I'm not sure what you mean. Both *A and *B implement I, and so are by definition assignable to an argument of type I. For this reason, the Comparer provided is actually being called.

I'm trying to reconcile this conversation with the documentation:
If I call cmp.Equal(i1, i2, cmp.Comparer(ic)) in my original example
the exact type of the interface is lost in the call
so the effective call is cmp.Equal(*A, *B, cmp.Comparer(func(I, I) bool))
Comparers are filtered by "input values assignable to T"
*A and *B are assignable to I
But the func(I, I) Comparer is still filtered out?

As stated in https://github.com/google/go-cmp/issues/161#issuecomment-537786843, a gotcha of the language is that top-level calls to a function lose information about the interface type.
Thus, at the type-level, the types of  *A and *B are not I, but interface{}. Since interface{} is not assignable to I, the comparer is not called.

I'm not seeing the loss of type information. In this example I can verify assignability of interface{} to I and invoke the function: https://play.golang.org/p/P6nhXcSJteC

Thus, at the type-level, the types of *A and *B are not I, but interface{}. Since interface{} is not assignable to I, the comparer is not called.

Why not use the concrete type to check assignability instead? This is pretty confusing given the docs state:

If T is an interface, it is possible that f is called with two values of different concrete types that both implement T.

Several reasons:

The wording used matches the those of the Go language specification, and the behavior matches that of the Go reflect package (which is functionally a dynamic implementation of the Go language).
It's non-trivial (but do-able) to implement this as it requires descending into the concrete types of an interface first, checking whether any options apply on those concrete types before coming back and performing the general type equality check.
It's too late to change the behavior. If cmp were being doing over from afresh, perhaps we should have done it the way that leads to less gotchas. When I experimented with the changed behavior, it broke a lot of targets.

I frequently find myself tripping over this issue or a similar issue, and it's difficult to figure out how to write the appropriate cmp.Options to fix it, debug why a transformer is not being applied, etc.
I don't follow the subtlety of the language in the documentation, even after reading over this thread. Here is my test program. The body of main is the interesting bit:
transformCount := 0
// "The transformer f must be a function "func(T) R" that converts values of
// type T to those of type R and is implicitly filtered to input values
// assignable to T. The transformer must not mutate T in any way."
f := func(i I) string {
	transformCount++
	fmt.Printf("transformIToFoo(%+v) called, got %q\n", i, i.Foo())
	return i.Foo()
}
transformIToString := cmp.Transformer("T", f)
var a1, a2 interface{} = &AlwaysA{}, &AnotherImpl{"A"}
_, isA1AssignableToI := a1.(I)
_, isA2AssignableToI := a2.(I)
explainAssignability("a1", isA1AssignableToI)
explainAssignability("a2", isA2AssignableToI)
T := reflect.ValueOf(f).Type().In(0)
explainAssignability("a1", reflect.ValueOf(a1).Type().AssignableTo(T))
explainAssignability("a2", reflect.ValueOf(a2).Type().AssignableTo(T))

fmt.Printf("diff1: %s\n", cmp.Diff(a1, a2, transformIToString))
fmt.Printf("transform count: %d\n", transformCount)

produces
=============== case 1 =================
a1 IS assignable to I
a2 IS assignable to I
a1 IS assignable to I
a2 IS assignable to I
diff1:   interface{}(
- 	&main.AlwaysA{},
+ 	&main.AnotherImpl{foo: "A"},
  )

As far as I can tell, the input values a1 and a2 are assignable to I. What am I missing?

In Go, the only possible way you can have two different concrete types is in an interface. In the documented behavior of cmp.Equal it says (regarding interfaces):

Pointers and interfaces are equal if they are both nil or both non-nil, where they have the same underlying concrete type and recursively calling Equal on the underlying values reports equal.

The phrase where they have the same underlying concrete type is not satisfied, so logic doesn't even get to the point where it checks for assignability to any comparers that were provided.
I don't think we can change the default behavior of this now. However, it's probably worth exploring how to make your specific use case work, but it opens a can of worms regarding gnarly type variance issues.

What confused me about that description of the algorithm (cmp.Equal) is that three bullets appear before the language you are quoting, the first one of which seems to apply to the values a1 and a2 (as x and y in the param list of cmp.Equal):

Let S be the set of all Ignore, Transformer, and Comparer options that remain after applying all path filters, value filters, and type filters. If at least one Ignore exists in S, then the comparison is ignored. If the number of Transformer and Comparer options in S is greater than one, then Equal panics because it is ambiguous which option to use. If S contains a single Transformer, then use that to transform the current values and recursively call Equal on the output values. If S contains a single Comparer, then use that to compare the current values. Otherwise, evaluation proceeds to the next rule.

If the values have an Equal method of the form "(T) Equal(T) bool" or "(T) Equal(I) bool" where T is assignable to I, then use the result of x.Equal(y) even if x or y is nil. Otherwise, no such method exists and evaluation proceeds to the next rule.

Lastly, try to compare x and y based on their basic kinds. Simple kinds like booleans, integers, floats, complex numbers, strings, and channels are compared using the equivalent of the == operator in Go. Functions are only equal if they are both nil, otherwise they are unequal.

Structs are equal if recursively calling Equal on all fields report equal. If a struct contains unexported fields, Equal panics unless an Ignore option (e.g., cmpopts.IgnoreUnexported) ignores that field or the Exporter option explicitly permits comparing the unexported field.
Slices are equal if they are both nil or both non-nil, where recursively calling Equal on all non-ignored slice or array elements report equal. Empty non-nil slices and nil slices are not equal; to equate empty slices, consider using cmpopts.EquateEmpty.
Maps are equal if they are both nil or both non-nil, where recursively calling Equal on all non-ignored map entries report equal. Map keys are equal according to the == operator. To use custom comparisons for map keys, consider using cmpopts.SortMaps. Empty non-nil maps and nil maps are not equal; to equate empty maps, consider using cmpopts.EquateEmpty.
Pointers and interfaces are equal if they are both nil or both non-nil, where they have the same underlying concrete type and recursively calling Equal on the underlying values reports equal.
Before recursing into a pointer, slice element, or map, the current path is checked to detect whether the address has already been visited. If there is a cycle, then the pointed at values are considered equal only if both addresses were previously visited in the same path step.

The piece about how interfaces are treated by comparing concrete types seems to be part of the third bullet, though it is hard to tell with the formatting in godoc. I would not expect the algorithm to ever reach that point of execution since the first bullet seems to apply.
===
In any case, I take your point about the default behavior. Perhaps you can supply a cmp.Option that configures this?
I think I got it to work for the playground example earlier:
	transformCount := 0
	// "The transformer f must be a function "func(T) R" that converts values of
	// type T to those of type R and is implicitly filtered to input values
	// assignable to T. The transformer must not mutate T in any way."
	f := func(i interface{}) string {
		transformCount++
		return i.(I).Foo()
	}
	opt := cmp.FilterValues(func(x, y interface{}) bool {
		_, ok1 := x.(I)
		_, ok2 := y.(I)
		return ok1 && ok2
	}, cmp.Transformer("T", f))
	var a1, a2 interface{} = &AlwaysA{}, &AnotherImpl{"B"}

	fmt.Printf("diff1: %s\n", cmp.Diff(a1, a2, opt))
	fmt.Printf("transform count: %d\n", transformCount)
    // Outputs transform count: 6

My specific use case can be replicated with
git clone --branch wirepath https://github.com/gonzojive/xtoproto.git
cd xtoproto
# git checkout ec083e522355913a0667a80acf28900b696ace29
bazel test //wirepath:wirepath_test

The approach I pasted isn't yet working in the xtoproto test case for some reason.

Why not check if the return value of Kind() is reflect.Ptr and take Elem() in that case (iiuc)?


We cannot reach the server to update your progress.

Oncde again, issue #37571 has been closed, this time by "raisedadead", and yet it is STILL not resolved. It has been THREE weeks and I am STILL unable to submit my projects. I do not have a duplicate account, so the solution that was accepted there is NOT the correct one. This is getting very frustrating. Please do NOT close a ticket until you have checked with the original person that posted it to see if the issue has been resolved, which never happened - no one checked to see if I could submit projects (I CAN log in) but they closed it anyway. Stop hurrying and be sure.

Hi @macengr did you send an email to have us check whether your account is duplicated?

Yes, earlier this week.
On Sun, Nov 3, 2019, 1:05 AM Parth Parth<EMAIL_ADDRESS>wrote:

Hi @macengr https://github.com/macengr did you send an email to have us
check whether your account is duplicated?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/37670?email_source=notifications&email_token=AB6F7N2FRHKEGRXHVTIBYZDQRZL3JA5CNFSM4JIIB4Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5K7SY#issuecomment-549105611,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB6F7N56NHPIZMD2OXMOJZ3QRZL3JANCNFSM4JIIB4QQ
.

Yes, earlier this week.
…
On Sun, Nov 3, 2019, 1:05 AM Parth Parth @.***> wrote: Hi @macengr https://github.com/macengr did you send an email to have us check whether your account is duplicated? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#37670?email_source=notifications&email_token=AB6F7N2FRHKEGRXHVTIBYZDQRZL3JA5CNFSM4JIIB4Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5K7SY#issuecomment-549105611>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6F7N56NHPIZMD2OXMOJZ3QRZL3JANCNFSM4JIIB4QQ .

@ahmadabdolsaheb

Thanks for your feedback.
Your request is pending with us.
I am responsible for the codebase and I can assure you this is a duplicate account issue, reasons for which have been described multiple times in multiple threads.
You are welcome to open fresh issues, but we are obliged to analyse and close if it's not a codebase issue. As in there is no programmatic fix that will solve this automatically for you.
A human, will have to look into the records, see what's happening with your account(s). At the minute my inbox is full of ~50 requests like yours.
We do not have any timeline on when it will be resolved for you, being a tiny team completely donor supported. We have 3.5 million users and a total of 3 full-time staff doing all the core devops (the whole platform and our time is supported by only ~5000 donors).
Being able to provide any user support is something we are doing regardless, and as seen in threads like this is a thankless job.
We request your patience and share your frustration, and sincerely thank you for your understanding.


Add TLS certificate configuration and public IP

tl;dr

Adds a public IP to the worker so that it can connect to required AWS services like the secret manager (and other nodes)
Adds TLS certificate configuration for a public domain
Fixes subnets allowed to connect to the mls_validation_service

Notes
The domain needs to be pre-registered through the AWS console. I haven't been able to make it work through automation. Once the domain is registered and the status has moved past pending Terraform will take control of the domain and register the name servers appropriately.

#10  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 5, 12:35 PM PST: A user started a stack merge that includes this pull request via Graphite.


Add soft_destroy_all to ActiveRecordBase.

I have implemented a soft_destroy_all.
Delete multiple rows can be easily.

Coverage remained the same at 100.0% when pulling ed6a7b1f38acf4961e6717ff2bcfba20c89af233 on kazuhisa:feature-soft_destroy_all into 24f5ce3d7c13c8c8971d0795fa7b52da30b422da on alfa-jpn:master.

ping @alfa-jp

Sorry for the late reply.
Thank you for great PR!
I'm sorry to trouble you, but could you do a little correction?
best regards.

OK!
Please wait a few days.

@alfa-jpn
Fixed test. I hope that you like this correction.

Coverage remained the same at 100.0% when pulling 1d342bf830b1092ecc369edd5a51c24da98b0f5c on kazuhisa:feature-soft_destroy_all into 24f5ce3d7c13c8c8971d0795fa7b52da30b422da on alfa-jpn:master.

Thank you for the speedy response.
Please fix some issues, and squash your commits into one.
https://help.github.com/articles/about-git-rebase/#rebasing-commits-against-a-point-in-time
Best regards,

Coverage remained the same at 100.0% when pulling 2b9dfaf752bee26afeae7e2753a28e3c11a36fe4 on kazuhisa:feature-soft_destroy_all into 24f5ce3d7c13c8c8971d0795fa7b52da30b422da on alfa-jpn:master.

Thanks for the advice. Make sure the fix please.

LGTM.
Thanks for good PR!!
I release the new version in a few days.


What is the license for output produced?

When I generate the HTML code, do I legally own the output?

There are no obligations. This software itself released under MIT license and the library which are used like Datatables also distributed under MIT license.


Skip checking if user is root

We actually run the Vitess build as the root user in a chroot jail... :-)

This was added here: https://github.com/youtube/vitess/commit/ba8b31099f4576eae48f34a5fe0cb45d459b8462
Back then Anthony said it doesn't work anyway.
If you can confirm that it's working now, I'll merge this change.

@michael-berlin Yes it does work now! :-)


Added the ability to pass in args and kwargs to the zappa invoke

Description

Added the ability to pass in arguments to invoked commands from the command line.  For example:
$ zappa invoke production 'my_app.my_function' one two three=3 name=bob
Which would get passed to your function in the event['args'] and event['kwargs'] dictionary.  For example:
def myfunc(event, context):
    print("Args: {}".format(event['args']))
    print("Kwargs: {}".format(event['kwargs']))

Would print out
Args: ['one', 'two']
Kwargs: {'three': '3', 'name': 'bob'}

GitHub Issues

Couldn't find a ticket for this, but @Miserlou said in slack:

this was assigned to somebody as their school project but they never did it

Coverage decreased (-22.3%) to 50.995% when pulling 8012c9dcd00b9b0221ab4f4843ea168f1df78745 on xuru:master into b7c16d3ac62aa496dfce8ba533dc64cd20376269 on Miserlou:master.

The build is not happy!

Coverage decreased (-0.2%) to 73.118% when pulling 195589069c9f9220d7cdc75d596358cba6021dd8 on xuru:master into b7c16d3ac62aa496dfce8ba533dc64cd20376269 on Miserlou:master.

Coverage decreased (-0.2%) to 73.118% when pulling 195589069c9f9220d7cdc75d596358cba6021dd8 on xuru:master into b7c16d3ac62aa496dfce8ba533dc64cd20376269 on Miserlou:master.

Coverage decreased (-0.2%) to 73.307% when pulling b039d54205e913ca20bf0d1c87626ca669422af0 on xuru:master into d3a986ee3f6a2b78cd340b9d85f71f3388746ca1 on Miserlou:master.

Coverage decreased (-0.2%) to 73.307% when pulling b039d54205e913ca20bf0d1c87626ca669422af0 on xuru:master into d3a986ee3f6a2b78cd340b9d85f71f3388746ca1 on Miserlou:master.

I'd still like to see this merged! @mizell - can you review and test it for your purposes?

@Miserlou I'll test it out either today or tomorrow. This is great!

I'd think it needs to be opened as a bug, not re-opened the original feature creation.

I'm having the same problem, can't send args or kwargs to functions using zappa invoke. Any progress on this? Thanks!!


feat: Adds vl_convert.pyi type stub

Closes https://github.com/vega/vl-convert/issues/184
Updated
Tried enabling pyright on the tests/ directory and answered my own question on Option.
With that fixed, this is an example in VSCode:

Suggestion
You could setup mypy to run on tests/ to:

Confirm whatever you've expected in a test will not raise a warning for users
Notify if stubs become out of sync with the actual interface

Hi @dangotbanned, thank for working on this. I checked out the branch to review and updated the type signatures for Python 3.8+ compatibility, since vl-convert is a bit more conservative than vega-altair (I try to use current vl-convert with prior versions of Vega-Altair).
Take a look and see if that makes sense to you, then I'll merge it

Hi @dangotbanned, thank for working on this. I checked out the branch to review and updated the type signatures for Python 3.8+ compatibility, since vl-convert is a bit more conservative than vega-altair (I try to use current vl-convert with prior versions of Vega-Altair).
Take a look and see if that makes sense to you, then I'll merge it

Thanks @jonmmease!
On the 3.8 compatibility, did the stub cause any runtime issues for you?
If not, I would suggest reverting those changes since AFAIK .pyi files are allowed to use features from newer versions https://typing.readthedocs.io/en/latest/spec/distributing.html#stub-files

@jonmmease I'm thinking this is unrelated to that series of changes?
https://github.com/vega/vl-convert/actions/runs/10645388913/job/29511135603?pr=185

Yes, that CI failure is unrelated. There seems to be an inconsistency in the files that are pulled down from skypack, where they sometimes include a trailing comment.  I've been meaning to update the vendoring logic to strip out trailing comments for this reason.
I'll restart CI and see if that resolves it for now.

On the 3.8 compatibility, did the stub cause any runtime issues for you?
If not, I would suggest reverting those changes since AFAIK .pyi files are allowed to use features from newer versions

Oh, you're right, these files are only for mypy 🤦♂  Looks like you're merge reverted to the original form, so that works for me.

It passes now and looks good to me. Are you ready for it to merge?

It passes now and looks good to me. Are you ready for it to merge?

Perfect, yeah I'm happy for you to merge


Rename old data refresh to legacy_data_refresh

Fixes

Related to #4146 by @stacimc
Description

This PR makes no changes to the current data refreshes, but renames the directory to legacy_data_refresh to avoid naming collisions. I think this is the easiest path forward for simply deleting it when the new DAGs are running.
This is pulled into a separate PR because the diff for adding the new data refresh would otherwise be extremely confusing.
Testing Instructions

Locally, run an image and an audio DAG for a few minutes to ingest some new records (I ran Cleveland and Jamendo). Now run the (regular) audio_data_refresh and image_data_refresh locally and verify that they still work. Note that the reported record count will have increased because you got some new local data before running them.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (just catalog/generate-docs for catalog
PRs) or the media properties generator (just catalog/generate-docs media-props
for the catalog or just api/generate-docs for the API) where applicable.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Hm, that's interesting @obulat -- what DAGs had you run, on top of the sample data? I don't see that locally, and it seems like it would be an issue with the data rather than the DAG.
From varchar(2000) it looks like possibly a creator/creator url/title that's too long? But the same constraints are on the catalog tables, so that's quite odd... Do you mind repeating your tests on main?

Hm, that's interesting @obulat -- what DAGs had you run, on top of the sample data? I don't see that locally, and it seems like it would be an issue with the data rather than the DAG.
From varchar(2000) it looks like possibly a creator/creator url/title that's too long? But the same constraints are on the catalog tables, so that's quite odd... Do you mind repeating your tests on main?

I found the problem. It's a wikimedia title for item https://commons.wikimedia.org/w/index.php?curid=148076183:

French:
Rustican <img alt='Edit this at Wikidata' src='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png' decoding='async' width='10' height='10' class='mw-file-element' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x' data-file-width='20' data-file-height='20'>

title QS:P1476,fr:'Rustican <img alt='Edit this at Wikidata' src='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png' decoding='async' width='10' height='10' class='mw-file-element' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x' data-file-width='20' data-file-height='20'>'

label QS:Lfr,'Rustican <img alt='Edit this at Wikidata' src='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png' decoding='async' width='10' height='10' class='mw-file-element' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x' data-file-width='20' data-file-height='20'>'

In catalog, the title has max length set to 5000, and in the API it's 2000. I wonder how that never caused problems for us?
It seems that we need to escape the wikimedia titles.
Looks like we need to open a new issue for this, it's definitely not a problem with this PR.

Wow, what a find @obulat!


fix #321

I also removed some of your custom implementations of stdlib strings functions for consistency

Ok I'm going to force it. I guess that's what happens when we re-implement standard library functions 😬 .

Thank you very much @blockloop, sorry for the very late answer. I need to properly setup my github notifications.


TikTok userID URL does not work

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
United States California
Description
Attempting to give yt-dlp a link to a tiktok account using the userID does not work. Inputting the link for pokemonlife22 using the id like 'https://www.tiktok.com/@6820838815978423302' instead of 'https://www.tiktok.com/@pokemonlife22' works in browser and brings the users account up totally fine but gives an error when using yt-dlp to do it. This would be useful to fix because while users URLs change occasionally, the userID will not.
This is my first bug report, thank you!
Verbose log
E:\tiktok>yt-dlp.exe -vU https://www.tiktok.com/@6820838815978423302
[debug] Command-line config: ['-vU', 'https://www.tiktok.com/@6820838815978423302']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19042-SP0
[debug] exe versions: none
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [tiktok:user] Extracting URL: https://www.tiktok.com/@6820838815978423302
[tiktok:user]<PHONE_NUMBER>978423302: Downloading webpage
ERROR: [tiktok:user]<PHONE_NUMBER>978423302: Unable to extract user ID; please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 617, in extract
  File "yt_dlp\extractor\tiktok.py", line 595, in _real_extract
  File "yt_dlp\extractor\common.py", line 1201, in _html_search_regex
  File "yt_dlp\extractor\common.py", line 1192, in _search_regex

Is there a way to quickly get this ID, other than Ctrl+f in source for "authorId"?

Not sure, I was just using the uploader_id that is provided by yt-dl when I run it with the -j flag with the normal username link for JSON.


custom vaidation on a specific form route only?

My Problem:
I check the email for already existing ones, like it is documented for "usernames" in the docs.
But, the validation should not take affect if the user want to use the resetPwd route.
How can i check for the current route?
Router.current().route.path() returns "/" all the time.

hello @Jehu!
Which code are you using for the validation?
If it's a server side method, IR might return "/" because there's not current route on the server...
I'd say you could use AccountsTemplates.getState() on the client conparing it against changePwd to choose whether to trigger the server-side method or not...
does this make sense?

yeah! this make sense. Thank you!


ICE: Variable slot is too deep inside stack

What is wrong?
Please include information like:

full output of the error you received

Error: Internal exception in StandardCompiler::compile: /solidity/libyul/backends/evm/EVMObjectCompiler.cpp(67): Throw in function void solidity::yul::EVMObjectCompiler::run(solidity::yul::Object&, bool)
Dynamic exception type: boost::wrapexcept<solidity::yul::StackTooDeepError>
std::exception::what: Variable return_val is 1 slot(s) too deep inside the stack.
[solidity::util::tag_comment*] = Variable return_val is 1 slot(s) too deep inside the stack.

thread 'main' panicked at 'Yul compilation failed with the above errors', crates/driver/src/lib.rs:90:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

what command you ran

cargo run --features solc-backend -- --optimize false foo.fe

the code that caused the failure (see this link for help with formatting code)

contract TooManyVariables:
    pub fn foo(self):
        let x0: i32 = 1
        let x1: i32 = 1
        let x2: i32 = 1
        let x3: i32 = 1
        let x4: i32 = 1
        let x5: i32 = 1
        let x6: i32 = 1
        let x7: i32 = 1
        let x8: i32 = 1
        let x9: i32 = 1
        let x10: i32 = 1
        let x11: i32 = 1
        let x12: i32 = 1
        let x13: i32 = 1
        let x14: i32 = 1
        let x15: i32 = 1

How can it be fixed
Ref: https://github.com/ethereum/solidity/issues/5766
I don't have any idea to fix the issue other than implementing the spill concept used in register allocation, though I feel implementing it is far beyond the scope of the Fe.  But at least, it would be better to report this error to users instead of panicking.

Have you try using struct instead spill concept


User Story 91050: Add quick-links to application form view

Replay of pull request with Github Actions issue

All good


Remove scheduled local notifications

Is there a way to remove scheduled notifications?
thanks

Currently I don't have plan to include it in this library because it's simple enough to use plain UIApplication to cancel a notification (see: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/occ/instm/UIApplication/cancelLocalNotification:).


[UT] pr ut error,  I don't think my PR involves error reporting. #13995

The unit test reports an error, but I don't think my PR involves error reporting #13995

jenkins error info error

So, is it OK now?


add refactoring: inline local variable

Fixes #18459
I've run into a problem though. If I invoke the refactoring in a development instance, it works fine. The tests fail for some reason that is beyond me. I've managed to narrow it down to my own function named getReferencesInScope. Somehow, the test environment can't populate the array it is supposed to return. I had to use this function, because the compiler internal FindAllReferences.Core.eachSymbolReferenceInFile only ever returns one reference and I didn't find any other solution that took care of my problem.

Ignore above comment, I assumed that in the test environment all nodes had unique ids, which is apparently not the case.


Flat surface detection

Is your feature request related to a problem? Please describe.
It would be nice if AR.js could be used to detect flat surfaces (horizontal or vertical) and provide some form of bounding box or geometry w/ coordinates for where these surfaces exist.
Describe the solution you'd like
Provided above
Describe alternatives you've considered
Trying to roll my own based on some 3d recon libraries
Additional context
N/A

AR.js is pretty much a marker recognition thing, so this is most probably out of scope.
But yes, it would be nice if there was a nice way to do this on the web platform.

Thanks @janpio any libraries (JS or otherwise) you can recommend for flat surface detection? Maybe the artoolkit that AR.js is based on?

The reason AR.js only support markers and these barcodes it because artoolkitx only supports these as far as I know.
There is some "NFT - Natural Feature Tracking" - but I don't know exactly how this works and if it can be used together with AR.js: https://github.com/artoolkitx/artoolkitx/wiki/Creating-and-using-NFT-markers

Your best bet so far is to get an ARCore compatible Android device, turn on smoe flags in Chrome and check out this page.

Perhaps take a look at:
https://youaugment.com/ or https://github.com/KhronosGroup/OpenXR-SDK

There is some hope in this, perhaps:
https://trackingjs.com/

Since this is outside of the scope of this project should someone not close this?
A related issue is this:
https://github.com/jeromeetienne/AR.js/issues/544

What would need to be done to get this added? what is the code use to take a video and detect the lines and then assume the surface? I looked at trackingjs but it seems to no longer be working. Although did get me thinking can you detect something and then have the 3D object simple show on that thing?

https://www.8thwall.com/8thwall/placeground-aframe found this


Struggling to use autogen studio using Azure Open AI

Describe the issue
Sorry to bother again.. I am trying to use the autogen studio. I installed  autogenstudio-0.0.21a0. After that i ran autogenstudio ui --port 8081 command to open the port. Once i am in the app, i manually included my azure key in the general agent workflow under the built menu. Once i tell it to do stock price demo, i get the following error.
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
Sometimes i get the following error too
openai.NotFoundError: Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
From the article, it seems like it works with Azure Open AI.
Just wondering whether i can get some help on this. Thank you again.
Steps to reproduce
No response
Screenshots and logs
error 1:
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
error 2:
openai.NotFoundError: Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
Additional Information
pyautogen 0.2.0
Python 3.11.3
autogenstudio-0.0.21a0

@victordibia

Hi @PriyaBrataSen ,
Thanks for the note.  For azure you will need to set the following

model - which is the deployment id or engine
api key .. from azure
base url .. from azure
model type ..  -  "azure"
api version ... which must be what you get from azure.

Also note that you should only have this model in your list of models.

thanks a ton!  i had to set it up for both user proxy and primary assistant and then it worked. I had previously multiple models listed for primary and user proxy. thank you again

Hi @victordibia  many thanks for your Azure setting suggestions.
I have followed and set all Azure setings for both "User Proxy" and "Primary" agents . Also removed all models from the list and just set this Azure model created.
Im getting this error. AttributeError: 'NoneType' object has no attribute 'model_dump'.
Maybe Im missing something? Thanks in advance.

az_userproxy (to az_primary_assistant):

hello

--------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogenstudio/web/app.py", line 68, in add_message
    response_message: Message = chatmanager.chat(
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogenstudio/chatmanager.py", line 29, in chat
    flow.run(message=f"{message_text}", clear_history=False)
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogenstudio/workflowmanager.py", line 196, in run
    self.sender.initiate_chat(
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/agentchat/conversable_agent.py", line 621, in initiate_chat
    self.send(self.generate_init_message(**context), recipient, silent=silent)
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/agentchat/conversable_agent.py", line 398, in send
    recipient.receive(message, self, request_reply, silent)
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/agentchat/conversable_agent.py", line 551, in receive
    reply = self.generate_reply(messages=self.chat_messages[sender], sender=sender)
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/agentchat/conversable_agent.py", line 1193, in generate_reply
    final, reply = reply_func(self, messages=messages, sender=sender, config=reply_func_tuple["config"])
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/agentchat/conversable_agent.py", line 716, in generate_oai_reply
    extracted_response = model_dump(extracted_response)
  File "/home/xxxx/.local/lib/python3.10/site-packages/autogen/_pydantic.py", line 37, in model_dump
    return model.model_dump()
AttributeError: '**NoneType**' object has no attribute '**model_dump**'

It looks like the Azure endpoint returned a None value in its response. @yenif @maxim-saplin @sonichi

Hi experts:
I have also face this problem by using Azure Openai
INFO:     <IP_ADDRESS>:49858 - "GET /page-data/build/page-data.json HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49856 - "GET /page-data/gallery/page-data.json HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49858 - "GET /component---src-pages-gallery-index-tsx-25eaa0ea2f26f1c4361f.js HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49856 - "GET /component---src-pages-build-tsx-3bd5608467a276d90ea7.js HTTP/1.1" 200 OK
Traceback (most recent call last):
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\web\app.py", line 68, in add_message
response_message: Message = chatmanager.chat(
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\chatmanager.py", line 22, in chat
flow = AutoGenWorkFlowManager(config=flow_config, history=history, work_dir=scratch_dir)
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 37, in init
self.receiver = self.load(config.receiver)
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 158, in load
agent = self.load_agent_config(agent_spec.config, agent_spec.type)
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 173, in load_agent_config
agent = autogen.AssistantAgent(**agent_config.dict())
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\assistant_agent.py", line 61, in init
super().init(
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\conversable_agent.py", line 126, in init
self.client = OpenAIWrapper(**self.llm_config)
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 108, in init
self._clients: List[OpenAI] = [
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 109, in
self._client(config, openai_config) for config in config_list
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 149, in _client
client = OpenAI(**openai_config)
File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai_client.py", line 93, in init
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
INFO:     <IP_ADDRESS>:49856 - "POST /api/messages HTTP/1.1" 200 OK
even I delete all other model in my model list, I still face this problem

How can I sovle this problem ?
Thanks

thanks a ton! i had to set it up for both user proxy and primary assistant and then it worked. I had previously multiple models listed for primary and user proxy. thank you again

my error is ：
"Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_exceptions.py", line 10, in map_exceptions
yield
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_backends\sync.py", line 206, in connect_tcp
sock = socket.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\socket.py", line 851, in create_connection
raise exceptions[0]
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\socket.py", line 836, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 。
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_transports\default.py", line 67, in map_httpcore_exceptions
yield
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_transports\default.py", line 231, in handle_request
resp = self._pool.handle_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_sync\connection_pool.py", line 268, in handle_request
raise exc
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_sync\connection_pool.py", line 251, in handle_request
response = connection.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_sync\connection.py", line 99, in handle_request
raise exc
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_sync\connection.py", line 76, in handle_request
stream = self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_sync\connection.py", line 124, in _connect
stream = self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_backends\sync.py", line 205, in connect_tcp
with map_exceptions(exc_map):
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectTimeout: [WinError 10060]。
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\openai_base_client.py", line 885, in _request
response = self._client.send(
^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_client.py", line 915, in send
response = self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_client.py", line 943, in _send_handling_auth
response = self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_client.py", line 980, in _send_handling_redirects
response = self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_client.py", line 1016, in _send_single_request
response = transport.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_transports\default.py", line 230, in handle_request
with map_httpcore_exceptions():
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "C:\ProgramData\Anaconda3\envs\autogen\Lib\site-packages\httpx_transports\default.py", line 84, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectTimeout: [WinError 10060]。
 Try many times, but I still  don't know how to solve.
Thank you very much.

Hi experts:
I have also face this problem by using Azure Openai
INFO: <IP_ADDRESS>:49858 - "GET /page-data/build/page-data.json HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49856 - "GET /page-data/gallery/page-data.json HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49858 - "GET /component---src-pages-gallery-index-tsx-25eaa0ea2f26f1c4361f.js HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49856 - "GET /component---src-pages-build-tsx-3bd5608467a276d90ea7.js HTTP/1.1" 200 OK Traceback (most recent call last): File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\web\app.py", line 68, in add_message response_message: Message = chatmanager.chat( File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\chatmanager.py", line 22, in chat flow = AutoGenWorkFlowManager(config=flow_config, history=history, work_dir=scratch_dir) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 37, in init self.receiver = self.load(config.receiver) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 158, in load agent = self.load_agent_config(agent_spec.config, agent_spec.type) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 173, in load_agent_config agent = autogen.AssistantAgent(**agent_config.dict()) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\assistant_agent.py", line 61, in init super().init( File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\conversable_agent.py", line 126, in init self.client = OpenAIWrapper(**self.llm_config) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 108, in init self._clients: List[OpenAI] = [ File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 109, in self._client(config, openai_config) for config in config_list File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 149, in _client client = OpenAI(**openai_config) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai_client.py", line 93, in init raise OpenAIError( openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
INFO: <IP_ADDRESS>:49856 - "POST /api/messages HTTP/1.1" 200 OK
even I delete all other model in my model list, I still face this problem

How can I sovle this problem ?
Thanks
only one model

oh I got the same problem ...  Did you resolve it?

Hi experts:
I have also face this problem by using Azure Openai
INFO: <IP_ADDRESS>:49858 - "GET /page-data/build/page-data.json HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49856 - "GET /page-data/gallery/page-data.json HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49858 - "GET /component---src-pages-gallery-index-tsx-25eaa0ea2f26f1c4361f.js HTTP/1.1" 200 OK INFO: <IP_ADDRESS>:49856 - "GET /component---src-pages-build-tsx-3bd5608467a276d90ea7.js HTTP/1.1" 200 OK Traceback (most recent call last): File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\web\app.py", line 68, in add_message response_message: Message = chatmanager.chat( File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\chatmanager.py", line 22, in chat flow = AutoGenWorkFlowManager(config=flow_config, history=history, work_dir=scratch_dir) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 37, in init self.receiver = self.load(config.receiver) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 158, in load agent = self.load_agent_config(agent_spec.config, agent_spec.type) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogenstudio\workflowmanager.py", line 173, in load_agent_config agent = autogen.AssistantAgent(**agent_config.dict()) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\assistant_agent.py", line 61, in init super().init( File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\agentchat\conversable_agent.py", line 126, in init self.client = OpenAIWrapper(**self.llm_config) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 108, in init self._clients: List[OpenAI] = [ File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 109, in self._client(config, openai_config) for config in config_list File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\autogen\oai\client.py", line 149, in _client client = OpenAI(**openai_config) File "C:\Users\bozho\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai_client.py", line 93, in init raise OpenAIError( openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
INFO: <IP_ADDRESS>:49856 - "POST /api/messages HTTP/1.1" 200 OK
even I delete all other model in my model list, I still face this problem

How can I sovle this problem ?
Thanks
only one model

oh I got the same problem ... Did you resolve it?

Update to new version


HTML outputted over thumbnail

see https://github.com/lbryio/block-explorer/issues/23#issuecomment-385883696

@akinwale has this been completed?


Log hooks to stdout

Hooks currently get logged into stderr, which (if you're running tus in GKE) result in hook logs being erroneously reported as errors. This PR sets hook logs to go to stdout.
It's also possible that this should be a user configurable setting, I'm open to suggestions on how this should be implemented.

First of all, sorry for my delayed response.
I don't recall a specific reason why these hooks events are written to stderr, in particular if all other non-error events are logged on stdout. So, I am more than open for this change.

Thank you very much for this! BTW, GitHub does not send notifications if a new commit is pushed to a PR, so I am sorry if you have been waiting for me reaction.


Support default value in labeled-value and heatmap query.

@hanahmily I think you asked for a fail-safe mechanism in the new query implementation if a label is missing. I add this to the labeled metrics query and heatmap query.
FYI @mrproliu

Codecov Report

Merging #4711 into master will decrease coverage by 51.05%.
The diff coverage is n/a.

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


Update article to reflect latest ArcGIS Online

This article appears to reference an earlier version of ArcGIS Online. It should be updated to refer to the current version of ArcGIS Online.

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

ID: b25c1c16-90b1-1cfa-9096-66ec8b064a9b
Version Independent ID: e00282ca-b1b1-b517-e9d9-85123fdc4a79
Content: Tutorial: Azure Active Directory integration with ArcGIS Online
Content Source: articles/active-directory/saas-apps/arcgis-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@jbailey-limgeomatics
Thanks for your feedback! We will investigate and update as appropriate.

@jbailey-limgeomatics
Thanks for your feedback! I have assigned this issue to the author who will investigate and update as appropriate.

#please-close


Update ERC-1046: updated some links

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

The PR edits only existing draft PRs.
The build passes.
Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
If matching on email address, the email address is the one publicly listed on your GitHub profile.

As @Pandapip1 said, eip-... in URLs is correct.