Update link for CONTRIBUTING(ko)

Update CONTRIBUTING link on HOWTO-ko.md from CONTRIBUTING.md to CONTRIBUTING-ko.md

What does this PR do?
Improve repo
For resources
Description
Why is this valuable (or not)?
Easy to read from HOWTO-ko.md to CONTRIBUTING-ko.md.
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


No way to specify extended mode

If you want to be able to get the full text of a truncated tweet, it seems like you need to make a request in extended mode (which may be the default in the future):
Twitter documentation
I don't see a way to do this in Swifter yet - is this something that should be added?

I believe this extended mode should be the new default, with the option to get the truncated tweet if needed.
All theres's to do is add the tweet_mode=extended parameter isn't it?

That should be it, yes. The other option for that parameter is compat, which is just the current behavior and will always limit the tweet text to 140 characters to avoid breaking anything that relies on 140 being the maximum length of the text.

This is actually a pretty disruptive change - the response with tweet_mode=extended does not include a text field, but has a full_text field instead. So making this the default would break any existing code that references text. Given this, should the default remain Twitter's default (so tweetMode: String? = nil in the function definitions, which is nice and consistent with the other parameters), or do you still think the default should change now to extended?

The whole reason Twitter chose to add tweet_mode=extended was so that it does not break any legacy code; neither should we. We can simply add an enum that specifies the tweetMode attribute and have it default to the original.

If we force it to default to the original, Swifter's behavior will differ from Twitter's in the future once Twitter decides it is ready to break the legacy code and extended becomes the default. If we implement this with a parallel structure to the other parameters (default to nil and use the ??= operator to conditionally add to the parameters array) then Swifter's behavior will always match Twitter's default behavior. This wouldn't require adding a enum, so I think this is a simpler change and more straightforward in the long-term.

I'm with @JTP3XP in this one: Twitter intentions are clear and point to use the extended mode from now on.
The sooner our apps adapt, the better! 😄

I agree that our apps should adapt, but in this case I think they should be adapting on Twitter's schedule, not ours. To that end, I'm proposing the default would remain not specifying either mode, just like all other parameters in the framework, but after this change everyone would have the option to opt into extended. To me this seems like the most consistent solution with the rest of the framework; it makes no decisions for you, it just facilitates interacting with the Twitter API.

please review PR 211. It still in compatibility mode by default but you easily can get extended tweets by adding tweetMode: .extended to the getTimeLine()


Implement AsArg for Instance + TInstance

Closes #749.
Also adds integration tests for existing AsArg implementations (Ref + TRef).

bors r+


Uncaught Error: ENOENT: no such file or directory, lstat '~/AppData\Local\atom\app-1.47.0\ Female...

[Enter steps to reproduce:]

...
...

Atom: 1.47.0 x64
Electron: 5.0.13
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat 'C:\Users\friar\AppData\Local\atom\app-1.47.0\ Female Cat Caster.txt'
At fs.js:122

Error: ENOENT: no such file or directory, lstat 'C:\Users\friar\AppData\Local\atom\app-1.47.0\ Female Cat Caster.txt'
    at Proxy.realpathSync (fs.js:1512:7)
    at Proxy.fs.realpathSync (electron/js2c/asar.js:300:40)
    at TreeView.moveEntry (~/AppData/Local/atom/app-1.47.0/resources/app/static/<embedded>:14:943665)
    at TreeView.onDrop (~/AppData/Local/atom/app-1.47.0/resources/app/static/<embedded>:14:950594)
    at HTMLDivElement.<anonymous> (~/AppData/Local/atom/app-1.47.0/resources/app/static/<embedded>:14:924225)

Commands
     -3:48.7.0 core:confirm (input.hidden-input)
     -3:42.4.0 tree-view:add-folder (div.tool-panel.tree-view)
     -3:39.7.0 core:confirm (input.hidden-input)
     -3:38.4.0 tree-view:copy (div.tool-panel.tree-view)
     -3:36.4.0 tree-view:paste (div.tool-panel.tree-view)
     -2:19.4.0 tree-view:move (div.tool-panel.tree-view)
  2x -2:17.2.0 core:confirm (input.hidden-input)
     -2:06.9.0 core:cancel (input.hidden-input)
     -2:04.2.0 tree-view:move (div.tool-panel.tree-view)
     -2:01.3.0 core:confirm (input.hidden-input)
     -1:54.1.0 tree-view:add-folder (div.tool-panel.tree-view)
     -1:50.8.0 core:confirm (input.hidden-input)
     -1:29.4.0 tree-view:remove (div.tool-panel.tree-view)
     -0:50.2.0 tree-view:collapse-directory (div.tool-panel.tree-view)
     -0:48.4.0 tree-view:add-folder (div.tool-panel.tree-view)
     -0:43 core:confirm (input.hidden-input)

Non-Core Packages

Thanks for reporting this!
This has already been fixed in https://github.com/atom/tree-view/pull/1358. It is currently scheduled for release when v1.53.0 reaches Stable.


CC-14662 Project code migration

Ticket: https://spryker.atlassian.net/browse/CC-14662

Don't forget to prepare tests for the facade methods (after the merge to faster unlock the next stories development).

Please, add also "spryker/transfer": "^3.25.0" into composer.json.
And create file vendor/spryker/spryker/Bundles/ProductConfiguration/dependency.json with
{
    "include": {
        "spryker/transfer": "Provides transfer objects definition with `::get*OrFail()` functionality."
    }
}

Please always remove branches after merge etc!


[Release] Rename directories and fix checkstyle issues

Generally looks fine! However, not sure if this is part of code quality, but perhaps we can standardise to import all the constant values individually (those in CAPITAL LETTERS) eg. the PREFIX in CliSyntax, which was what was practised in AB3, rather than importing the entire class CliSyntax and calling CliSyntax.PREFIX etc.

Generally looks fine! However, not sure if this is part of code quality, but perhaps we can standardise to import all the constant values individually (those in CAPITAL LETTERS) eg. the PREFIX in CliSyntax, which was what was practised in AB3, rather than importing the entire class CliSyntax and calling CliSyntax.PREFIX etc.

Yup, sounds good! Perhaps we can create an issue for this and work on it in future PRs. Thanks, Linus!


CUDA Race Condition

Get the right answer if CUDA_DEVICE_BLOCKING is set to 1 so the GPU code is doing the correct logic. The answer also differs on each run, indicating a race condition

Just bringing the CPU Code up to date. The issue is not resolved

The close with comment button is far to close to the comment button...


possible to make all the extension sync with one drive/dropbox/google drive?

want to request a features to sync all the extension into cloud drive, meaning that when changing a new PC or new device, all the extension from the previous PC can be easily get back, no need to be re-install all the extension again.

Some things that people do to accomplish extension/settings sync with other editors:

Copy extensions to Google Drive and then symlink the directory to the config dir (~/.vscode/extensions)
Setup extensions in your dotfiles

These are a little harder to automate on Windows though.

i'm not sure how to make it work on VS code, but for sublime text 2, can use the below line to make it work, for sync with dropbox.
ln -s /Users/yeun/Dropbox/Packages /Users/yeun/Library/Application\ Support/Sublime\ Text\ 2/

Should be just a matter of finding the config path on your OS, try:

/Users/yeun/Library/Application\ Support/vscode/
/Users/yeun/.vscode/
or similar

thanks, will try it out on mac and windows, see either it possible to make it work!!

For Windows 10 the extensions are located in C:\Users\<user>\vscode\extensions, and the settings are located in C:\Users\<user>\AppData\Roaming\Code\User. Not sure about mac.

Also, I sync the settings in my dotfiles like this, I haven't looked at syncing extensions yet, I'm hoping it will be possible eventually to do it with a series of calls to vsce like you can with apm install for Atom (like this).

yup, and one more things, the dropbox folder should in the correct path too, i mean in windows environments (i'm testing it on dropbox). =.=

This doesn't seem to be an inherent issue with Code. But I'm glad people are finding solutions.

On Windows start cmd.exe as Administrator and run mklink /D C:\Users\YOURNAME\AppData\Roaming\Code\User C:\Dropbox\CloudSettings\VSCode\User.


Change Dismiss infusion / spell to a swift action

Currently Dismiss infusion / spell is a standard action this waste a characters whole round just to remove a spell.
I would like to change  change Dismiss infusion / spell so that it is a swift action but can't be done in the turn you cast the spell or infusion.

It's a standard action to dismiss a spell in Tabletop.


BetterEnd and Vertical Slab Compat (Using quark 1.20)

Mod Name
Vertical Slab Compat (with quark) with BetterEnd
Mod Homepage
https://www.curseforge.com/minecraft/mc-mods/vertical-slabs-compat
Minecraft version
1.20.1
Describe the bug
missing textures
Steps to reproduce

you just gotta open the game with the mods and look

...
Logs
e
Additional context
quarks 1.20 public update is only on there discord right now

quarks 1.20 public update is only on there discord right now

Please provide a direct download link or other link to download the mod

Here's are the download links from their discord:

Zeta 1.0-beta-3
Quark 4.0-beta-430.3234.jar

Quark requires a new library mod they called Zeta. Here's an invite to their discord server: https://discord.gg/vm

Having this issue too

Quark and Zeta for 1.20.1 have since been officially released. Their pages can be found here:

https://www.curseforge.com/minecraft/mc-mods/quark
https://www.curseforge.com/minecraft/mc-mods/zeta

The relevant mod pages, where this issue is occurring between (using the latest versions for 1.20.1):

https://www.curseforge.com/minecraft/mc-mods/vertical-slabs-compat
https://www.curseforge.com/minecraft/mc-mods/betterend

Specifically, any slabs automatically generated by Vertical Slabs Compat for BetterEnd have broken/missing textures.

quarks 1.20 public update is only on there discord right now

Please provide a direct download link or other link to download the mod

Links are above, can confirm this issue

I updated the post (sorry for not doing it way sooner) to match the issue better. It does not require quark.

Issue is still present, I am wondering why it is happening

Idk if this issue is related but https://www.curseforge.com/minecraft/mc-mods/mavm This mod loses its textures with connector too, similar to how vertical slabs does


llvm-config: error: components given, but unused

I've just compiled Crystal from the master to test out 0.16.0.
İ'm getting the following error when running any crystal command
llvm-config: error: components given, but unused

usage: llvm-config <OPTION>... [<COMPONENT>...]

Get various configuration information needed to compile programs which use
LLVM.  Typically called from 'configure' scripts.  Examples:
  llvm-config --cxxflags
  llvm-config --ldflags
  llvm-config --libs engine bcreader scalaropts

Options:
  --version         Print LLVM version.
  --prefix          Print the installation prefix.
  --src-root        Print the source root LLVM was built from.
  --obj-root        Print the object root used to build LLVM.
  --bindir          Directory containing LLVM executables.
  --includedir      Directory containing LLVM headers.
  --libdir          Directory containing LLVM libraries.
  --cppflags        C preprocessor flags for files that include LLVM headers.
  --cflags          C compiler flags for files that include LLVM headers.
  --cxxflags        C++ compiler flags for files that include LLVM headers.
  --ldflags         Print Linker flags.
  --system-libs     System Libraries needed to link against LLVM components.
  --libs            Libraries needed to link against LLVM components.
  --libnames        Bare library names for in-tree builds.
  --libfiles        Fully qualified library filenames for makefile depends.
  --components      List of all possible components.
  --targets-built   List of all targets currently built.
  --host-target     Target triple used to configure LLVM.
  --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).
  --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).
Typical components:
  all               All LLVM libraries (default).
  engine            Either a native JIT or a bitcode interpreter.
Using compiled compiler at .build/crystal

P.S: The program actually works.

In which platform? And what's your LLVM version?

Also, how did you compile crystal from master?

Ah i forgot to add those here it is.
Mac OS X 10.11.2
LLVM 3.6.2
Compiled with
make clean
make crystal

First time seeing this error

And what's your current crystal version, 0.15.0?

Yes

I can't reproduce this.
Can you post here all the commands you typed, including the one that triggers the error?
By the way, 0.16.0 will be released soon, so maybe this isn't a big issue.

I also found this, which might suggest it's an LLVM bug and there's something configured in a different way in your case.

same error, just checkout to master from 370c2f13 (here is ok)
make clean crystal
rm -rf .build
rm -rf ./doc
rm -rf src/llvm/ext/llvm_ext.o
rm -rf src/ext/sigfault.o src/ext/libcrystal.a
c++ -c -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc `/usr/local/bin/llvm-config-3.6 --cxxflags`
cc -fPIC   -c -o src/ext/sigfault.o src/ext/sigfault.c
ar -rcs src/ext/libcrystal.a src/ext/sigfault.o
CRYSTAL_CONFIG_PATH=`pwd`/src ./bin/crystal build  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
llvm-config: error: components given, but unused
....

@kostya Do you mean this?
git checkout 370c2f13abd968a47bcfc45d861f77b86a579717
make clean crystal

It works fine for me. I still don't understand how to reproduce the problem, sorry.

in 370c2f13a ok, in master error

even this
git co 370c2f13abd968a47bcfc45d861f77b86a579717
./bin/crystal --version
Crystal 0.15.0 (Fri Apr  1 18:39:41 UTC 2016)

git co master
./bin/crystal --version
llvm-config: error: components given, but unused

usage: llvm-config <OPTION>... [<COMPONENT>...]

@waj found a typo here it says "lllvm" with three "L". If you change that to two "L"s, does it work?

By the way, I tried all of this:
$ git describe
0.16.0
$ git rev-parse HEAD
fc89c1aeaa7ce2443ac2f3c10a5adcf96bef23ec
$ make clean
rm -rf .build
rm -rf ./doc
rm -rf src/llvm/ext/llvm_ext.o
rm -rf src/ext/sigfault.o src/ext/libcrystal.a
$ which crystal
/usr/local/bin/crystal
$ crystal --version
Crystal 0.15.0 (Fri Apr  1 17:57:09 UTC 2016)
$ uname -ms
Darwin x86_64
$ bin/crystal --version
Crystal 0.15.0 (Fri Apr  1 17:57:09 UTC 2016)
$ make crystal
c++ -c -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc `/usr/local/bin/llvm-config --cxxflags`
cc -fPIC   -c -o src/ext/sigfault.o src/ext/sigfault.c
ar -rcs src/ext/libcrystal.a src/ext/sigfault.o
CRYSTAL_CONFIG_PATH=`pwd`/src ./bin/crystal build  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
$ bin/crystal --version
Using compiled compiler at .build/crystal
Crystal 0.16.0 [fc89c1a] (Thu May  5 18:40:40 UTC 2016)
$ cat foo.cr
puts "Hello!"
$ bin/crystal foo.cr
Using compiled compiler at .build/crystal
Hello!

bagged commit by bisect 00f1efa98af59816e61bbad292cebf7b3179c570, 3l to 2l not change anything

The strange this is that it doesn't happen to me.
What's your output of this?
command -v llvm-config-3.6 lllvm-config36 lvm-config-3.5 llvm-config35 llvm-config

And then, using that result, doing ... --version and ... --host-target?

@asterite
➜  ~ command -v llvm-config-3.6 lllvm-config36 lvm-config-3.5 llvm-config35 llvm-config
/usr/local/bin/llvm-config-3.6
/usr/local/bin/llvm-config
➜  ~ /usr/local/bin/llvm-config-3.6 --version
3.6.2
➜  ~ /usr/local/bin/llvm-config-3.6 --host-target
x86_64-apple-darwin15.2.0

Hm, but two results. I only have one results. Maybe that's the issue?
$ /usr/local/bin/llvm-config /usr/local/bin/llvm-config-3.6 --host-target
x86_64-apple-darwin15.4.0
llvm-config: error: components given, but unused

So let's not worry about this. This was a workaround until 0.16.0, it will be gone once we release it (which should happen very soon). Then we'll remove those lines from the Makefile and everything will be working fine again :-)

I'm sorry I broke the build!
There is indeed a double typo in the line outlined by asterite: one lllvm and one lvm, and it may also be miss a | head -n 1 to only select the first matched command.


Review and revamp Gmail connector

Description:

[x] #4875
[x] #4928
[x] #5743

[x] Implement the new Gmail API design
[x] Add testcases for the new Gmail implementation
[x] API Doc Review
[x] API Spec
[x] Graalvm compatibility
[x] Observability

[x] #5744
[x] #5749
[x] #5753

The pending tasks will be tracked in separate issues


Water Guardian Server crash 5/13/15

i killed 1 but didn't get the blue infinity orb i need so i spawned another, when it hit me with it's drown attack it crashed the server, and now when i log in i crash the server again. i can't even log in long enough for /spawn. since i was fine at spawn. just that one chunk keeps crashing me and the server.
Log: http://paste.atlauncher.com/view/15c36bb6
Newest crash at 14:59:19

wait.... water orbs are always equiped? right?
i just saw that post. that could be it.

yeah it was just the water orbs.


Add mean-field rules for AR node

This PR extends the AR node by supplying rules for mean-field factorization around the node.

I've updated the rules.


Redirected back with access and id tokens, but seemed to be logged out

After logging in in the hosted UI page, I am redirected back to my page with access token and id token, which is good.
But then I call some sdk methods and it seems that I'm not logged in:
auth.isUserSignedIn() -> false
auth.getCurrentUser() -> null
auth.getSignInUserSession() -> all tokens are empty strings
auth.getUserContextData() -> undefined
Here's my code (React):
import React, { Component } from 'react';
import { CognitoAuth } from 'amazon-cognito-auth-js';

const authData = {
	ClientId: '<my client id>',
	AppWebDomain: '<my domain>',
	TokenScopesArray: ['profile','openid'],
	RedirectUriSignIn: 'http://localhost:3000',
	RedirectUriSignOut: 'http://localhost:3000',
        UserPoolId: '<my pool id>'
};

class App extends Component {
  constructor() {
    super();

    this.auth = new CognitoAuth(authData);

    this.handleSignIn = this.handleSignIn.bind(this);
    this.handleSignOut = this.handleSignOut.bind(this);
    this.test = this.test.bind(this);
  }

  handleSignIn() {
    this.auth.getSession();
  }

  handleSignOut() {
    this.auth.signOut();
  }

  test() {
    console.log(this.auth.isUserSignedIn());
    console.log(this.auth.getCurrentUser());
    console.log(this.auth.getSignInUserSession());
    console.log(this.auth.getUserContextData());
  }

  render() {
    return (
      <div>
        <button onClick={this.handleSignIn}>SignIn</button>
        <button onClick={this.handleSignOut}>SignOut</button>
        <button onClick={this.test}>Test</button>
      </div>
    );
  }
}

export default App;

What am I doing wrong?

Once you redirected back to the page with the access token and id token, you have to call  following method.
var curUrl = window.location.href;
auth.parseCognitoWebResponse(curUrl)

Note : curUrl is  your redirected url with the access token and id token

Once you redirected back to the page with the access token and id token, you have to call following method.
var curUrl = window.location.href;
auth.parseCognitoWebResponse(curUrl)

Note : curUrl is your redirected url with the access token and id token

This works! thanks


Implement basic scene support

Allows reading scene states as well as changing scene states (toggle or explicitly on/off). I did not write any tests yet.

Looking awesome! I'll have a test with my environment and write some test cases.

FYI, I made a small tweak to your logic, dropping the scenes param is_on  in favor of a more generic filters. A replacement call for the old behavior would be filters={'isOn': True}


[macos]Dart_PostCObject_DL get EXC_BAD_ACCESS (code=1, address=0x0) crash

I have followed the sample https://github.com/dart-lang/sdk/tree/master/samples/ffi/async to implement an async callback in C++ by using the Dart_PostCObject_DL, but I get EXC_BAD_ACCESS (code=1, address=0x0) crash when I directly click the x of the mac APP if there still a callback received. Is there any suggestion to avoid this?
Here's my sample code, the OnEventEx function will be called by our SDK when there's an event received.
EXPORT void OnEventEx(const char *event, const char *data,
                      char result[kBasicResultLength],
                      const void **buffer, unsigned int *length,
                      unsigned int buffer_count)
{
    if (dart_send_port_ == -1)
    {
        return;
    }

    Dart_CObject c_event;
    c_event.type = Dart_CObject_kString;
    if (event == nullptr)
    {
        c_event.value.as_string = (char *)"";
    }
    else
    {
        c_event.value.as_string = const_cast<char *>(event);
    }

    Dart_CObject c_data;
    c_data.type = Dart_CObject_kString;
    if (data == nullptr)
    {
        c_data.value.as_string = (char *)"";
    }
    else
    {
        c_data.value.as_string = const_cast<char *>(data);
    }

    if (buffer_count != 0)
    {
        Dart_CObject dbuffer;
        dbuffer.type = Dart_CObject_kArray;
        dbuffer.value.as_array.length = buffer_count;
        Dart_CObject **type_data_array =
            new Dart_CObject *[buffer_count];
        for (int i = 0; i < buffer_count; i++)
        {
            const void *obuffer = buffer[i];
            unsigned int abufferLength = length[i];
            uint8_t *abuffer = reinterpret_cast<uint8_t *>(malloc(abufferLength));
            memcpy(abuffer, obuffer, abufferLength);

            Dart_CObject *cbuffer = new Dart_CObject;
            cbuffer->type = Dart_CObject_kExternalTypedData;
            cbuffer->value.as_external_typed_data.type = Dart_TypedData_kUint8;
            cbuffer->value.as_external_typed_data.length = abufferLength;
            cbuffer->value.as_external_typed_data.data = abuffer;
            cbuffer->value.as_external_typed_data.peer = abuffer;
            cbuffer->value.as_external_typed_data.callback = Finalizer;

            type_data_array[i] = cbuffer;
        }
        dbuffer.value.as_array.values = type_data_array;
        Dart_CObject *c_event_data_arr[] = {&c_event, &c_data, &dbuffer};

        Dart_CObject c_on_event_data;
        c_on_event_data.type = Dart_CObject_kArray;
        c_on_event_data.value.as_array.values = c_event_data_arr;
        c_on_event_data.value.as_array.length =
            sizeof(c_event_data_arr) / sizeof(c_event_data_arr[0]);

        Dart_PostCObject_DL(dart_send_port_, &c_on_event_data);

        if (buffer_count != 0)
        {
            for (intptr_t i = 0; i < buffer_count; ++i)
            {
                delete type_data_array[i];
            }
            delete[] type_data_array;
        }
    }
    else
    {
        Dart_CObject *c_event_data_arr[] = {&c_event, &c_data};

        Dart_CObject c_on_event_data;
        c_on_event_data.type = Dart_CObject_kArray;
        c_on_event_data.value.as_array.values = c_event_data_arr;
        c_on_event_data.value.as_array.length =
            sizeof(c_event_data_arr) / sizeof(c_event_data_arr[0]);

        Dart_PostCObject_DL(dart_send_port_, &c_on_event_data);
    }
    // dbuffer.value.as_array.values = type_data_array;
}

Logs

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-x64, locale en-CN)
    • Flutter version 3.0.1 at /Users/fenglang/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 months ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

Checking Android licenses is taking an unexpectedly long time...[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/fenglang/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

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

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

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

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

[✓] Connected device (4 available)
    • LLD AL20 (mobile) • 37KRX18A15006445          • android-arm64  • Android 9 (API 28)
    • iPhone (mobile)   • 00008101-000634CC1169001E • ios            • iOS 15.1.1 19B81
    • macOS (desktop)   • macos                     • darwin-x64     • macOS 12.4 21F79 darwin-x64
    • Chrome (web)      • chrome                    • web-javascript • Google Chrome 104.0.5112.101

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

• No issues found!

Stacktrace
* thread #32, name = 'AgCallback', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001074be267 libsystem_pthread.dylib`pthread_mutex_lock + 9
    frame #1: 0x00000001129ab623 FlutterMacOS`dart::Zone::Segment::New(long, dart::Zone::Segment*) + 83
    frame #2: 0x00000001129abaae FlutterMacOS`dart::Zone::AllocateExpand(long) + 126
    frame #3: 0x00000001127d756f FlutterMacOS`dart::ZoneAllocated::operator new(unsigned long, dart::Zone*) + 79
    frame #4: 0x000000011285583c FlutterMacOS`dart::BaseSerializer::NewClusterForClass(long, bool) + 1884
    frame #5: 0x0000000112855fb1 FlutterMacOS`dart::ApiMessageSerializer::Trace(_Dart_CObject*) + 961
    frame #6: 0x000000011285783b FlutterMacOS`dart::ApiMessageSerializer::Serialize(_Dart_CObject*) + 139
    frame #7: 0x00000001128586c8 FlutterMacOS`dart::WriteApiMessage(dart::Zone*, _Dart_CObject*, long long, dart::Message::Priority) + 72
  * frame #8: 0x0000000112c0c870 FlutterMacOS`Dart_PostCObject + 80
    frame #9: 0x000000010721b785 iris_event_handler`::OnEventEx(event="onApiCallExecuted", data="{\"api\":\"rtc.api.leave_channel\",\"err\":0,\"result\":\"\"}", result=0x0000000000000000, buffer=0x0000000000000000, length=0x0000000000000000, buffer_count=0) at iris_event.cc:213:13
    frame #10: 0x000000010721b3d9 iris_event_handler`::OnEvent(event="onApiCallExecuted", data="{\"api\":\"rtc.api.leave_channel\",\"err\":0,\"result\":\"\"}", buffer=0x0000000000000000, length=0x0000000000000000, buffer_count=0) at iris_event.cc:36:5
    frame #11: 0x000000010d381411 AgoraRtcWrapper`agora::iris::rtc::IrisEventHandlerInternal::OnEvent(this=0x0000600003928d30, event="onApiCallExecuted", data="{\"api\":\"rtc.api.leave_channel\",\"err\":0,\"result\":\"\"}", buffer=0x0000000000000000, length=0x0000000000000000, buffer_count=0) at iris_rtc_internal_obj.cc:20:5
    frame #12: 0x000000010d64b7d6 AgoraRtcWrapper`agora::iris::rtc::RtcEngineEventHandler::onApiCallExecuted(this=0x0000600001f58000, err=0, api="rtc.api.leave_channel", result="") at rtc_engine_event_handler.cc:466:3
    frame #13: 0x000000010a6e45cc AgoraRtcKit`___lldb_unnamed_symbol54095$$AgoraRtcKit + 140
    frame #14: 0x000000010a75cc54 AgoraRtcKit`___lldb_unnamed_symbol56353$$AgoraRtcKit + 132
    frame #15: 0x0000000109d3b1a7 AgoraRtcKit`___lldb_unnamed_symbol18543$$AgoraRtcKit + 327
    frame #16: 0x0000000109d422fb AgoraRtcKit`___lldb_unnamed_symbol18659$$AgoraRtcKit + 411
    frame #17: 0x0000000109d40cf7 AgoraRtcKit`___lldb_unnamed_symbol18636$$AgoraRtcKit + 87
    frame #18: 0x0000000109dab959 AgoraRtcKit`___lldb_unnamed_symbol19942$$AgoraRtcKit + 1609
    frame #19: 0x0000000109da9aef AgoraRtcKit`___lldb_unnamed_symbol19917$$AgoraRtcKit + 1727
    frame #20: 0x0000000109d3ab58 AgoraRtcKit`___lldb_unnamed_symbol18515$$AgoraRtcKit + 200
    frame #21: 0x00000001074b8c0d libsystem_pthread.dylib`_pthread_start + 125
    frame #22: 0x00000001074c0ccf libsystem_pthread.dylib`thread_start + 15
(lldb)

Hi @littleGnAl, please provide a minimal, reproducible example. Thank you.

@flutter-symbolizer-bot ios x64 flutter#v3.0.1 https://github.com/flutter/flutter/issues/110006#issue-1346538268

Is the description enough or not? I will try to create a reproducible example if possible.

address=0x0 indicates that you have tried to call null-pointer. This means you (likely) have not initialsed DL API. Remember that you need to call initializeApi(NativeApi.initializeApiDLData) from Dart side before using DL API from native side.

@mraleph
I indeed call the initializeApi  to initialize it, here's my completed initialized process.
https://github.com/AgoraIO-Extensions/iris_event_flutter/blob/main/lib/iris_event.dart#L48-L56
It works fine when the APP live, this crash occurs when I close the macOS APP by clicking the close button.

Is the description enough or not? I will try to create a reproducible example if possible.

The issue is descriptive but I am not familiar with C++ and connecting Flutter and C++ code. Therefore, it would great if you can provide a repo with the necessary files to reproduce this issue so that I can verify it :)

I will try to create a reproducible example.

@mraleph
This issue is most likely cause by the process exit, I try to subscribe the NSApplicationWillTerminateNotification and  unregister the event callback, but it still has channce to face this crash. It's possible to query the current status of the Dart VM, say that if the VM shutdown, I will do nothing.

@littleGnAl yeah, based on the currently provided stack trace this looks like a shutdown race. the Flutter engine is has gone away and shut the Dart VM down by the time you are trying to send a message. I think you need some way to detect that the application is closing and then prevent your native code from trying to communicate with the Dart VM.

@mraleph Thanks for your suggestion, I can finally fix the issue by implementing the UIApplicationWillTerminateNotification /NSApplicationWillTerminateNotification on Apple
https://github.com/AgoraIO-Extensions/iris_event_flutter/blob/main/cxx/src/iris_life_cycle_observer.mm#L24-L37
But, again, is it possible to get the current state(shutdown or unavailable) of the Dart VM, so I can easier to check the state and send the data to the Dart side. Or I will try to learn and implement the way to detect the application close in different platforms, in my case, I still need to learn how to implement it on Android and Windows.
I think it's a common issue if the people using the ffi to implement the async callback feature, it's better to have a way to handle it easier.

@littleGnAl Can we close this issue as you have found a solution to your issue?

@exaby73 Okay, thanks.


Autogenstudio - Add GroupChat Support to UI

Why are these changes needed?
Add support for GroupChat, and other quality of life improvements to autogenstudio
https://github.com/microsoft/autogen/assets/1547007/58e66ce1-3c10-4c5e-b45d-783121d151ec

Related issue number
#1285  #1265 #1294 #1296

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

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

Comparison is base (ca56782) 34.57% compared to head (782a0f6) 32.87%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1352      +/-   ##
==========================================
- Coverage   34.57%   32.87%   -1.71%
==========================================
  Files          38       38
  Lines        4587     4587
  Branches     1060     1060
==========================================
- Hits         1586     1508      -78
- Misses       2875     2957      +82
+ Partials      126      122       -4

Flag
Coverage Δ

unittests
32.87% <ø> (-1.66%)
:arrow_down:

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

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

@victordibia are you able to build this PR in the studio devcontainer and get autogenstudio ui to succeed?

@gagb , I just tried this and I am able to run the studio devcontainer. and autogenstudio ui runs once the devcontainer loads. Are you seeing any issues?

@gagb , I just tried this and I am able to run the studio devcontainer. and autogenstudio ui runs once the devcontainer loads. Are you seeing any issues?

I haven't tried today but when I tested yesterday, in the studio container the autogenstudio ui command runs, but once I try to interact with the webpage (which it opens via a port redirect) the webpage encounters many error messages (toasts). I will have time to test again tomorrow morning. Did that correctly work for you?

@gagb , I just tried this and I am able to run the studio devcontainer. and autogenstudio ui runs once the devcontainer loads. Are you seeing any issues?

I haven't tried today but when I tested yesterday, in the studio container the autogenstudio ui command runs, but once I try to interact with the webpage (which it opens via a port redirect) the webpage encounters many error messages (toasts). I will have time to test again tomorrow morning. Did that correctly work for you?

Thanks. I'll test again, but If you can share the exact toast errors (e.g., if it is an api key thing .. ), it would be helpful

@gagb , I just tried this and I am able to run the studio devcontainer. and autogenstudio ui runs once the devcontainer loads. Are you seeing any issues?

I haven't tried today but when I tested yesterday, in the studio container the autogenstudio ui command runs, but once I try to interact with the webpage (which it opens via a port redirect) the webpage encounters many error messages (toasts). I will have time to test again tomorrow morning. Did that correctly work for you?

Thanks. I'll test again, but If you can share the exact toast errors (e.g., if it is an api key thing .. ), it would be helpful

I am no longer seeing the toast errors! I am not sure what changed.
But I am still seeing interactions that feel buggy for creating a simple chatgpt like experience -- I can meet 1-1 and show. Some of these are related to adding default params models and agents that do not exist. Why is min max consecutive replies set to 2?
Would be worth addressing these in a separate PR, ideally, before making a release.


test(combineLatest): add subscription assertions

Add tests for combineLatest (proto and static) that assert the
subscription and unsubscription times of the inner Observables.

I think it's totally fine, and almost preferable to write tests that cover the same code twice when that code is exposed via two separate points on the API. Things change, and I'd hate for something to change with the static operator, cause breakage, and not be caught because we didn't have tests around it.

merged with 7ca7857 thanks, @staltz


Where is the data source of your pre-trained model?

To learn my own pix2pix model,
I need sketch data as input and landscape picture as output.
Natural landscape photos can be obtained with a crawler or web.
but where did you get the sketch data for input?
Can you tell me the where? Or did you use HED?

Yes, I exploited the HED to extract the edges as the "sketch".
For more detail, you could read the section 4 of my report here:
Artistic_Image_Generation_from_Sketch.pdf


Inconsistent Behavior Across platform

EDIT:
There seems to have been an issue with how I implemented the API. It is functioning perfectly now on both Android and PC. You may close this issue. Thank you!
Original:
I am developing an application that is for multi-platform. I am chaining these modal dialogues as a way to log into the application; however, I am getting some strange behavior. My current design looks something like this:
swal({optionsForEmpLogin})
   .then(function(empNo){
      swal({optionsForEmpSuccess})
         .then(function(userClosed){
               ShowNextSWAL()
            },function(timerClosed){
               ShowNextSWAL()
            });
      }, function(){swal(error)});

This works perfectly on desktop, but on tablet it does not. Desktop is using chrome browser as is the android device. Now something strange, if I do this:
swal({optionsForEmpLogin})
   .then(function(empNo){
      swal({optionsForEmpSuccess})
         .then(function(userClosed){
            },function(timerClosed){
            });
      ShowNextSWAL()
      }, function(){swal(error)}

That shows the next swal() on both pc and tablet; however, the success dialogues do not display. I'm guessing I am probably implementing this wrong. Let me know if my assumption is correct or if there is something else I'm missing. The ShowNextSWAL() is a function that just contains a
swal({options}).then(function(){swal(success)})

Fiddle: https://jsfiddle.net/hk38dbhh/

For bug reports, please include a jsfiddle in order for us to be able to reproduce the issue.

JSFiddle template: https://jsfiddle.net/limon/ad3quksn/

Sorry about that. First time using jsfiddle. I've updated my report.

Closing based on

EDIT:
There seems to have been an issue with how I implemented the API. It is functioning perfectly now on both Android and PC. You may close this issue. Thank you!

If you feel like sharing what you did wrong, it might help other people who stumble upon the issue later :smile:

I did change how I was dealing with the catch. Instead of doing the Promise().then().catch() design I instead opted for the Promise().then(function(resolve){},function(reject){}) way of doing things. I think there were some other Javascript errors in the called functions that were actually causing the problems.


Add UUID dependency to sql-bindings

Usage added in https://github.com/microsoft/azuredatastudio/pull/18912 but the package was never added as a dependency. Any direct dependencies like this need to be added to the dependency list or stuff may break.
In this case it happened to work because webpacking picked up the root uuid dependency, but that's generally unsafe to rely on and was making it so this was broken for me when using an un-webpacked version.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.023%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
27943

Relevant Lines:
62182

💛  - Coveralls


Add bundle tutorial mappings

Add mappings for class class_5829, as well as finishing mappings of TutorialManager (and GameOptions, as they were missing a boolean relevant to this).
First PR to yarn, feel free to comment/completely edit the changes

Is this intended to supersede @liach 's #2011 ?

Since it isn't supposed to supersede and I just forgot to check for that, I'll close this


All access attempts from unregistered users are written in one record

Greetings
Settings:
Django==1.8.15
django-axes==2.3.2 with default settings.
For example: when I try to login in default django admin with non existent user I've got new record in Access attempts table with Failed Logins counter equals 1 and username=testuser1.
When I try to login with another unregistered user(testuser2 for example) I don't get new user record in Access attempts table but in record username=testuser1 I have Failed Logins counter equals 2.

They will appear inside the attempt. I was thinking to update the username every time a new attempt is made, let me know if you think is better this way.

Greeting @camilonova again.
Thanks for reply
For me willl be a good feature not to save such login attemps at all.
It's my feature proposal

Is better to save each attempt if you want to have good information to check.


fix the example yaml

Signed-off-by: RyanZhaoXB<EMAIL_ADDRESS>

@fisherxu please help to review this pr. thanks.


Different Behavior of tf.raw_ops.Pow with jit_compile=True

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
2.14.0
Custom code
Yes
OS platform and distribution
Ubuntu 22.04.3 LTS (x86_64)
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
11.8
GPU model and memory
GPU 0: NVIDIA GeForce RTX 2070 GPU 1: NVIDIA GeForce RTX 2070 GPU 2: NVIDIA GeForce RTX 2070 GPU 3: NVIDIA GeForce RTX 2070
Current behavior?
When the tf.raw_ops.Pow operation is invoked within a tf.function with JIT compilation enabled (jit_compile=True), it produces different results compared to the same operation called without JIT compilation. This inconsistency is observed when the code is executed on a GPU device.
Standalone code to reproduce the issue
import tensorflow as tf
import traceback

class Network(tf.Module):
    def __init__(self):
        super().__init__()

    @tf.function(jit_compile=True)
    def __call__(self, x):

      x = tf.raw_ops.Pow(x=x, y=tf.random.uniform([4, 1], minval=0, maxval=1000000, dtype=tf.int32))
      return x

m = Network()
inp = {
    "x": tf.random.uniform([], minval=-1000000, maxval=1000000, dtype=tf.int32),
}

with tf.device('/GPU:0'):
    tf.config.run_functions_eagerly(True)
    no_op_res = m(**inp)
    tf.config.run_functions_eagerly(False)
    with tf.device('/GPU:0'):
        op_res = m(**inp)

    tf.debugging.assert_near(tf.cast(no_op_res, tf.float64), tf.cast(op_res, tf.float64), atol=0.001, rtol=0.001)

Relevant log output
File "/home/guihuan/LLM/results/tf-2/2023-10-22-20-21/test.py", line 26, in <module>
    tf.debugging.assert_near(tf.cast(no_op_res, tf.float64), tf.cast(op_res, tf.float64), atol=0.001, rtol=0.001)
  File "/home/guihuan/.conda/envs/night/lib/python3.9/site-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/home/guihuan/.conda/envs/night/lib/python3.9/site-packages/tensorflow/python/ops/control_flow_assert.py", line 102, in Assert
    raise errors.InvalidArgumentError(
tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected 'tf.Tensor(False, shape=(), dtype=bool)' to be true. Summarized data: b''
b'x and y not equal to tolerance rtol = tf.Tensor(0.001, shape=(), dtype=float64), atol = tf.Tensor(0.001, shape=(), dtype=float64)'
b'x (shape=(4, 1) dtype=float64) = '
-249281983.0,<PHONE_NUMBER>.0, -1676834287.0, ...
b'y (shape=(4, 1) dtype=float64) = '
-1839635735.0, -50435503.0,<PHONE_NUMBER>.0, ...

Hi @zoux1a ,
I have replicated the reported behaviour with jit_compile=True.One interesting observation is that if I rerun the same code multiple times some times the assertion is success. Please refer attached success-gist for reference. Please also find the gist for the assertion failure case for the same code.
With jit_compile = False no error reported. Attached gist for reference.

@zoux1a ,
Could you please verify the behaviour I mentioned above?

Hi @SuryanarayanaY Su
I have attempted to run this program a total of 15 times, and on each occasion, I encountered the same bug.

Hi @zoux1a ,
I noticed two issues here.

You are taking power to large number which eventually overflows since the output is not representable in int32 range
Inside the call function you are generating the value for y, which in each calls generates different values which makes the output different for obvious reason.

I have done the changes the dtype to int64 and also shifted y to outside the call function to ensure same inputs. I ran 1 experiments and printed the reduce_sum difference of outputs using:
print(tf.reduce_sum(no_op_res)-tf.reduce_sum(op_res))
which outputs 0 in every run. This indicates this is not an issue with any TF code.
Please refer attached gist.


bug: Disabling range not working

Type: bug
Ionic Version: 2.x
Platform: android 5.1 webview
Adding [disabled]="true" to ion-range is not disabling it.

@ErkoKnoll this was already fixed. wait until next release! https://github.com/driftyco/ionic/pull/6800


video transcription pipeline

As an data analyst, I want to have a clean transcript of video recordings automatically generated when a discussion completes. One way to do this would be to use openai's Whisper model to make a time-aligned transcription of the individual audio tracks. (The lab has an openai account to make this easier, or an open-source version that can be run locally).
tasks

[ ] learn how to use the whisper API to transcribe an audio file and get time-stamped voice-to-text. Test with some local files
[ ] output data using a format consistent with recommendations from: https://www.mikeyeomans.info/papers/PGCR_yeomans.pdf, possibly as a standard .vtt or .srt file for each participant.
[ ] combine these into a turn-level CSV including all participants, ordered by the speaker start time...
[ ] Learn how to hook this up to our S3, possibly needing to generate pre-signed URLs to pass to the whisper API, or maybe they have a direct AWS connection.
[ ] Save both the "captions" files and the aggregate turn-level csv in the video bucket.

Ideally, we could set this up to run automatically whenever a new video becomes available on the S3 bucket, but for now we can run it manually on particular videos. Not sure if we need to set it up as an AWS lambda, or some other format.
Practice videos
A description of the recording format is here: https://github.com/Watts-Lab/deliberation-empirica/issues/384#issuecomment-1405278431
We have a bucket with some videos for practicing on here: https://wattslab-video-test-public.s3.amazonaws.com/, some example files:

https://wattslab-video-test-public.s3.amazonaws.com/01GR9ED3G57XJBBA77068BNH90/1675354384929-1e60214d-05d1-401e-9bd9-d117f5bec0f0-cam-audio-1675354390747
https://wattslab-video-test-public.s3.amazonaws.com/01GR9ED3G57XJBBA77068BNH90/1675354384929-1e60214d-05d1-401e-9bd9-d117f5bec0f0-cam-video-1675354390750

Plan is for @mxumary to explore how to do this and decide if its a task she wants to take on, and form a full plan by end of september.

Todo: make a document (Google doc) that shows a table of all of the possible API options -- talk about pricing, free trials, criticisms from online
Overall, it seems like Whisper (or stable-ts?) is the best option so far


About the socks5 proxy service supplied by this project.

Hi,
I noticed this project and it seems very interesting. As you have told in the description for this project: Let the non-free proxy software EasyConnect developed by Sangfor runs in docker cnotainer and provides a socks5 proxy service. I just want to know how you can convert a VPN service to a socks5 service. I inspected a little the danted.conf configuration file used in this project. But I still not so clear on the working mechanism. Could you please kindly give me some more explanations/hints?
Regards,
HY

Hi.
danted.conf is the configuration file of dante server which converts the VPN service to a socks5 service.
In this project, the following command is used to run dante server:
https://github.com/Hagb/docker-easyconnect/blob/ee0ee65fd2039b9a706ea7394258b343b77839d0/docker-root/usr/local/bin/start.sh#L18

Can this be done by other tools, say, haproxy, transocks, iptables, and so on?

Other tools can also be used to do that.
For example, ip forwarding is set in (but I didn't mention it in document):
https://github.com/Hagb/docker-easyconnect/blob/ee0ee65fd2039b9a706ea7394258b343b77839d0/docker-root/usr/local/bin/start.sh#L30
and we can use (assume that the ip of EasyConnect container is <IP_ADDRESS> and mtu is 4800)
sudo ip route add <IP_ADDRESS>/8 via <IP_ADDRESS> mtu 4800

so that the connection to <IP_ADDRESS>/8 will go through EasyConnect.
Sorry for my poor English :-)

Thanks a lot for your notes and explanations.


Changelog is missing for the 6.x release

Bumping the major version implies that there might be BC breaks, so not having any readme looks weird to me.

the release notes are auto generated from the commit changes (via semantic-release)
https://github.com/jossef/material-design-icons-iconfont/releases/tag/v6.1.0

I did bumped the major. sorry if that confuses you
from now on the major will not bump unless there are breaking changes


Provide more descriptive error message

When we are configuring plugin, there is not much useful information to indicate the exact error. We have to either use inspector or check docker log to guess what is wrong.

yes agreed, currently the failure error is too generic and not useful at all. this one takes care of it:
https://github.com/grafana/grafana-plugin-sdk-go/pull/389


Memory leak: getPlacement resize & scroll

https://github.com/snapappointments/bootstrap-select/blob/fecf38196946c9f3809fe7f41f55cd7768605832/js/bootstrap-select.js#L1803
These event hooks are not namespaced (so I can't clean them up myself), and are never removed by Bootstrap Select itself.

Released in v1.13.4!


add options for semicolon insertion

I favour standard.js codestyle and I would appreciate, if I could make the inserted line not end with a semicolon.
An option on the plugin settings would work best I think. Or only insert semicolon if the current line ends with semicolon?

I came here to raise exactly the same issue. It would be great if the standard.js style was supported via the options. Thanks.

Sorry for the radio silence.
This project isn't being maintained as I don't use Atom anymore.

@capaj @biofractal I don't know if you're still interested in this feature, but I took a stab at it in a fork:
https://github.com/hellojeffhall/extract-selection
Until it's published through the Atom package manager, you should be able to install it manually by running:
git clone https://github.com/hellojeffhall/extract-selection && apm link
(If Atom is already open you might have to reload the window for the package to show up.)
@dbazile If you are no longer interested in maintaining the repo, may I ask for you to unpublish the repo with atom.io so that I can publish my fork under that name? If you're OK with this, the command should be:
apm unpublish extract-selection
Alternatively I can publish under another name if you'd like. Thank you!

@hellojeffhall: Unpublished just now.  Let me know if you have any issues publishing!  :+1:
Thanks for taking this over; I pretty much use JetBrains IDEs exclusively these days.  Is it alright if I point folks at your fork in my README?

@dbazile Thanks for your reply; looks like it worked!
If you want to point people over, that would be great.
I included you in my README.md and the LICENSE.md but let me know if you'd like any other attribution or if you'd like it done differently.

Ha, the readme shoutout is good enough! 👌


chore: deleting the unused AWS S3 extension.

Current dependencies on/for this PR:

main

PR #1032   👈

This comment was auto-generated by Graphite.


useOidcFetch as a useEffect dependency

Issue and Steps to Reproduce
I want to use the fetch returned by the useOidcFetch hook in a useEffect setup function. My linter warns me that I ought to list fetch as one of the dependencies of the effect:

React Hook useEffect has a missing dependency: 'fetch'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

However, it seems the value returned by useOidcFetch differs from call to call, so listing fetch in the dependencies array of  useEffect causes the effect to run in an infinite loop - meaning the same call to fetch is made over and over, wasting network resources.
For now, I am omitting fetch from the dependency array, and ignoring the linter error, but it would be nice if this would work out of the box.
import React, { useEffect, useState } from 'react';
import { useOidcFetch } from '@axa-fr/react-oidc';

// Mount this component inside <OidcProvider> and <OidcSecure>
export const Example = () => {
  const { fetch } = useOidcFetch();
  const [reponse, setResponse] = useState(null as any);
  useEffect(() => {
    fetch('https://api.example.com') // set this to a URL configured to allow CORS requests
      .then(setResponse)
      .then(() => console.log(`Fetch finished at ${Date()}`))
      .catch(console.error);
  }, [fetch, setResponse]); // remove fetch to prevent repeated requests, but then ESLint warns about react-hooks/exhaustive-deps
  return
See console log
;
};

Versions
@axa-fr/react-oidc 6.16.10
Expected
The effect should only be run once.
Actual
The effect is run repeatedly, so long as fetch is in the dependency array.

Hi @jasonaowen , thank you for your issue. It is a good and simple enhanczmznt to add.

Hi @jasonaowen , I close the issue, thank you for it, feel free to reopen it if needed.


--skip-verify not working with CERTIFICATE_VERIFY_FAILED error

Dremio client version:
Dremio version:  Enterprise Edition 4.1.7-202002220604270180-54f278ec
Python version: Python 3.7.6
Operating System: macOS Catalina Version 10.15.3

Description
I am trying to use the dremio_client command to issue a SQL command to the Dremio server. However, I am getting a client side certificate verification error even when I use the --skip-verify argument
What I Did
First, I installed dremio-client using the pip3 command like this:

$ pip3 install dremio-client

Then I attempted to run the following command:

$ dremio_client --ssl --skip-verify --hostname dremio.org --port 443 --username <MY USERID> --password '<MY PASSWORD>' query --sql 'select * from sys.options'

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/dremio_client/auth/__init__.py", line 41, in auth
    return _existing_token(config_dict)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/auth/__init__.py", line 76, in _existing_token
    raise KeyError
KeyError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 360, in connect
    ssl_context=context,
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 370, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 423, in wrap_socket
    session=session
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 870, in _create
    self.do_handshake()
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1139, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='dremio.org', port=443): Max retries exceeded with url: /apiv2/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/dremio_client", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/cli.py", line 107, in query
    base_url, token = get_base_url_token(args)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/conf/cli_helper.py", line 36, in get_base_url_token
    token = auth(base_url, config)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/auth/__init__.py", line 44, in auth
    token = config_auth(base_url, config_dict)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/auth/config.py", line 52, in login
    return _login(base_url, username, password, timeout, verify)
  File "/usr/local/lib/python3.7/site-packages/dremio_client/auth/basic.py", line 40, in login
    r = requests.post(url, json={"userName": username, "password": password}, timeout=timeout, verify=verify)
  File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='dremio.org', port=443): Max retries exceeded with url: /apiv2/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))

I also tried placing the configuration in the file: ~/.config/dremio_client/config.yaml but I experienced the same error.

$ cat ~/.config/dremio_client/config.yaml
auth:
    type: basic #  currently only basic is supported
    username<EMAIL_ADDRESS>    password: ********
    timeout: 10
hostname: dremio.org
port: 443
ssl: true
skip-verify: true

fixed in 0.10.1

@rymurr ,i  still  facing  issues  in  skip  verify  and  mine  client  version 0.13.2 and  python 3.7

hey @vikashsingh009 that looks ok to me. Do you get results back? The output in your screenshot looks like warnings only. Those are happenign because you are making unverified requests but are indicative of actual requests being made

Hello @rymurr ,  yes  working  for  me  also  but  respond  took  too  long  as  compared to  called  flight  client as  flight  client  did  not  responding  us schema  so  i  have  force  to  use simple client .shall  i  have  to  reaise  separate  isses  or  you  can  examplain  here

raising a new issue would be good, sounds like a lot is going on there.


Integrate EnvironmentSettingsManager Exporter V1.5.1

Integrate EnvironmentSettingsManager Exporter V1.5.1
This work item was migrated from CodePlex
CodePlex work item ID: '6017'
Assigned to: 'tfabraham'
Vote count: '0'

[UnknownUser@2/11/2010]
Resolved with changeset 36271.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]


Deprecated warning message part of stdout instead of stderr resulting in invalid json response

sfdx version 7.184.2 using deprecated function and redirecting stderr to /dev/null, the output is invalid json as the json is prefixed by some non json text Warning... that does not respect json formatting rules:
$ sfdx force:data:soql:query -r json -q "${query}" 2>/dev/null | head -2
Warning: The "force data soql query" command has been deprecated. Use "data query" instead.
{

This deprecation warning is a breaking change, assume I don't control the sfdx version, the new data query does not work on older sfdx version and we now have to do 2 things to fix this :

The main and immediate workaround we have put in place is to remove the first line of json output if it starts with Warning - I expect warning should be sent to stderr then there would not be any issue (we capture stderr to logs but that would not break automations)...
And we'll add code to check sfdx version is lower or higher than 7.184.2 to call the new methods which did not exist in previous version

Hi @jguay , thanks for reporting this issue! I was able to reproduce it, but also found a workaround.
➜  dreamhouse-lwc git:(main) ✗  hub:(GLOBAL - DevHub<EMAIL_ADDRESS> ➜  sfdx force:data:soql:query -q "SELECT MemberName, MemberType FROM SourceMember" --json -t 2>/dev/null | head -2
{
  "status": 0,
➜  dreamhouse-lwc git:(main) ✗  hub:(GLOBAL - DevHub<EMAIL_ADDRESS> ➜  sfdx force:data:soql:query -q "SELECT MemberName, MemberType FROM SourceMember" -r json -t 2>/dev/null | head -2
Warning: The "force data soql query" command has been deprecated. Use "data query" instead.
{

instead of using -r json, just using the --json flag

Thank you @WillieRuemmele --json option works perfectly all warnings end up in JSON payload in array .warnings[], this is the exact behaviour I needed

duplicate of #1926


Remove adapter iogo

Adapter iogo is now out of service and replaced by iogogpro

Can you please prepare an admin notiviation? see https://github.com/ioBroker/ioBroker.docs/blob/master/info/news.md and make PR for https://github.com/ioBroker/ioBroker.docs/blob/master/info/news.json

Can you please prepare an admin notiviation? see https://github.com/ioBroker/ioBroker.docs/blob/master/info/news.md and make PR for https://github.com/ioBroker/ioBroker.docs/blob/master/info/news.json

PR https://github.com/ioBroker/ioBroker.docs/pull/339


Add all arguments from the original uuid class

Codecov Report

Merging #16 (7fc200c) into main (cc664c3) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #16   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           67        72    +5
  Branches         9        11    +2
=========================================
+ Hits            67        72    +5

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

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

Impacted Files
Coverage Δ

src/uuid6/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


[Bug]:  Cannot obtain Schema for entity

I'm trying to start dab with this configuration
  "$schema": "https://github.com/Azure/data-api-builder/releases/download/v1.1.7/dab.draft.schema.json",
  "data-source": {
    "database-type": "mssql",
    "connection-string": "@env('cnn')",
    "options": {
      "set-session-context": false
    }
  },
  "runtime": {
    "rest": {
      "enabled": true,
      "path": "/api",
      "request-body-strict": true
    },
    "graphql": {
      "enabled": true,
      "path": "/graphql",
      "allow-introspection": true,
      "multiple-mutations": {
        "create": {
          "enabled": true
        }
      }
    },
    "host": {
      "cors": {
        "origins": [],
        "allow-credentials": false
      },
      "authentication": {
        "provider": "StaticWebApps"
      },
      "mode": "development"
    }
  },
  "entities": {
    "MGAnaArt": {
      "source": {
        "object": "dbo.MG_AnaArt",
        "type": "table"
      },
      "graphql": {
        "enabled": true,
        "type": {
          "singular": "MGAnaArt",
          "plural": "MGAnaArts"
        }
      },
      "rest": {
        "enabled": true
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "*"
            }
          ]
        }
      ]
    }
  }
}

where the user used in the connection string is a SQL user.
Running the dab from one computer starts fine, however when running on another PC with the same user and password the error shown in the "Relevant log output" section appears
Using the sql profiler, we saw that there is no query to the database when run with dab start.
If instead the dab validate command is used, dab correctly accesses the database (activity is always displayed via profiler) and dab detects, for example, the triggers present on the table as per the output
Information: Microsoft.DataApiBuilder 1.1.7
Information: Config not provided. Trying to get default config based on DAB_ENVIRONMENT...
Information: Environment variable DAB_ENVIRONMENT is (null)
Information: Validating config file: dab-config.json
Loading config file from dab-config.json.
Information: The config satisfies the schema requirements.
Information: Validating entity relationships.
Information: [MGAnaArt] REST path: /api/MGAnaArt
Information: An insert trigger is enabled for the entity: MGAnaArt
Information: An update trigger is enabled for the entity: MGAnaArt
Information: An update trigger is enabled for the entity: MGAnaArt
Information: An insert trigger is enabled for the entity: MGAnaArt
Information: Config is valid.

Version
1.1.7
What database are you using?
Azure SQL
What hosting model are you using?
No response
Which API approach are you accessing DAB through?
GraphQL
Relevant log output
Information: Microsoft.DataApiBuilder 1.1.7
Information: Config not provided. Trying to get default config based on DAB_ENVIRONMENT...
Information: Environment variable DAB_ENVIRONMENT is (null)
Loading config file from dab-config.json.
Information: Loaded config file: dab-config.json
Information: Setting default minimum LogLevel: Debug for Development mode.
Starting the runtime engine...
Loading config file from dab-config.json.
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[63]
      User profile is available. Using 'C:\Users\myuser\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
info: Azure.DataApiBuilder.Core.Services.ISqlMetadataProvider[0]
      [MGAnaArt] REST path: /api/MGAnaArt
fail: Azure.DataApiBuilder.Service.Startup[0]
      Unable to complete runtime initialization. Refer to exception for error details.
      Azure.DataApiBuilder.Service.Exceptions.DataApiBuilderException: Cannot obtain Schema for entity MGAnaArt with underlying database object source: dbo.MG_AnaArt due to: Invalid object name 'dbo.MG_AnaArt'.
         at Azure.DataApiBuilder.Core.Services.SqlMetadataProvider`3.HandleOrRecordException(Exception e) in /_/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs:line 100
         at Azure.DataApiBuilder.Core.Services.SqlMetadataProvider`3.PopulateObjectDefinitionForEntity(String entityName, Entity entity) in /_/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs:line 1116
         at Azure.DataApiBuilder.Core.Services.SqlMetadataProvider`3.PopulateObjectDefinitionForEntities() in /_/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs:line 1054
         at Azure.DataApiBuilder.Core.Services.SqlMetadataProvider`3.InitializeAsync() in /_/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs:line 289
         at Azure.DataApiBuilder.Core.Services.MetadataProviders.MetadataProviderFactory.InitializeAsync() in /_/src/Core/Services/MetadataProviders/MetadataProviderFactory.cs:line 65
         at Azure.DataApiBuilder.Service.Startup.PerformOnConfigChangeAsync(IApplicationBuilder app) in /_/src/Service/Startup.cs:line 613
fail: Azure.DataApiBuilder.Service.Startup[0]
      Could not initialize the engine with the runtime config file: dab-config.json
info: Microsoft.Hosting.Lifetime[0]
      Application is shutting down...
fail: Microsoft.Extensions.Hosting.Internal.Host[11]
      Hosting failed to start
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
         at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
         at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
Unable to launch the Data API builder engine.
Error: Failed to start the engine.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @MauroVevy a few things to try:
There looks to be an issue accessing dbo.MG_AnaArt

Cannot obtain Schema for entity MGAnaArt with underlying database object source: dbo.MG_AnaArt due to: Invalid object name 'dbo.MG_AnaArt'.

There may be an issue with the connection string: validate that the environment variable cnn is populated.
Run dab start --config "Full_Path_To_Config" to ensure dab is resolving the correct config file
Hard code connection string (temporarily) to your config file, and run dab with dab start --config "Full_Path_To_Config" to rule out any issues resolving the environment variable value.

If none of the above work please supply logs of those mitigation attempts. there may also be an issue with the db account referenced in the connection string

Downloading the sources and debugging I found the reason.
I have in my computer an environment variable called connectionstring which contains the connectionstring to an old database.
In the methods public static ITelemetryChannel? CustomTelemetryChannel { get; set; }  of file
data-api-builder\src\Service\Startup.cs there is this code:
string configFileName = Configuration.GetValue<string>("ConfigFileName") ?? FileSystemRuntimeConfigLoader.DEFAULT_CONFIG_FILE_NAME;
string? connectionString = Configuration.GetValue<string?>(
    FileSystemRuntimeConfigLoader.RUNTIME_ENV_CONNECTION_STRING.Replace(FileSystemRuntimeConfigLoader.ENVIRONMENT_PREFIX, ""),
    null);

Where the variable RUNTIME_ENV_CONNECTION_STRING is equal to DAB_CONNSTRING and
FileSystemRuntimeConfigLoader.ENVIRONMENT_PREFIX is equal to DAB_
The result of Replace is CONNSTRING the value of variable that contains the connection string to the wrong database.
The error is even though the connection string is written explicitly in the dab-config.json file, dab takes the connection string present in the environment variable.
How to test the bug
set this environment variable
set connstring=Server=myserver; Database=MY_WRONG_DATABASE; Trusted_Connection=True; Integrated Security=true; TrustServerCertificate=true;
Create a dab-config.json like this:
{
  "$schema": "https://github.com/Azure/data-api-builder/releases/download/v1.1.7/dab.draft.schema.json",
  "data-source": {
    "database-type": "mssql",
    "connection-string": "Server=myserver; Database=MY_CORRECT_DATABASE; Trusted_Connection=True; Integrated Security=true; TrustServerCertificate=true;",
    "options": {
      "set-session-context": false
    }
  },

run dab start
dab in this way search the schema on MY_WRONG_DATABASE

@seantleonard
It would be precious if DAB could write the Server and Database names when starting.
This way:

it would be easier to find out errors during development
it would be nicer for the logs when running in the container

Thanks


OOMKilled Error

When running a ServingRuntime with 2 replicas, models are not unloaded/loaded correctly leading to OOMKilled error.
In this example, model size is ~891.7mb. 4 InferenceServices were created incrementally. As described in the example below  (no. of models -> memory usage), not all models were loaded in both replicas. Since Pod 2 only had 1 model loaded and there was sufficient memory available, the fourth model was expected to be loaded in Pod 2. However that was not the case.
Pod 1:
2 models -> 3.1GiB
3 models -> 4GiB
4 models -> crash
Pod 2:
Only 1 copy of model loaded
mlserver-adapter container logs:

2022-12-16T15:05:38+08:00 1.6711743387692351e+09	INFO	MLServer Adapter.MLServer Adapter Server.Load Model	Setting 'SizeInBytes' to a multiple of model disk size	{"model_id": "de-id-55__isvc-60ac5fc3c4", "SizeInBytes":<PHONE_NUMBER>, "disk_size": 894445588, "multiplier": 1.25}
2022-12-16T15:05:38+08:00 1.6711743387692757e+09	INFO	MLServer Adapter.MLServer Adapter Server.Load Model	MLServer model loaded	{"model_id": "de-id-55__isvc-60ac5fc3c4"}
2022-12-16T15:08:00+08:00 1.6711744809072714e+09	INFO	MLServer Adapter.MLServer Adapter Server.Load Model	Using model type	{"model_id": "de-id-66__isvc-60ac5fc3c4", "model_type": "custom"}
2022-12-16T15:08:00+08:00 1.6711744809073634e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	Reading storage credentials
2022-12-16T15:08:00+08:00 1.6711744809074411e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	found existing client in cache	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e"}
2022-12-16T15:08:00+08:00 1.6711744809523559e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	found objects to download	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/", "count": 7}
2022-12-16T15:08:00+08:00 1.6711744809525683e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/classifier_pipeline.pkl", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/classifier_pipeline.pkl"}
2022-12-16T15:08:00+08:00 1.6711744809526064e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/config.json", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/config.json"}
2022-12-16T15:08:00+08:00 1.6711744809526336e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/model-settings.json", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/model-settings.json"}
2022-12-16T15:08:00+08:00 1.6711744809526622e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/pytorch_model.bin", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/pytorch_model.bin"}
2022-12-16T15:08:00+08:00 1.671174480952697e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/special_tokens_map.json", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/special_tokens_map.json"}
2022-12-16T15:08:00+08:00 1.6711744809527254e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/tokenizer.json", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/tokenizer.json"}
2022-12-16T15:08:00+08:00 1.6711744809527464e+09	DEBUG	MLServer Adapter.MLServer Adapter Server	downloading object	{"type": "s3", "cacheKey": "s3|0x2989f8038a8de21e", "path": "example/model-2/tokenizer_config.json", "filename": "/models/de-id-66__isvc-60ac5fc3c4/model-2/tokenizer_config.json"}
2022-12-16T15:08:36+08:00 1.6711745169826386e+09	ERROR	MLServer Adapter.MLServer Adapter Server.Load Model	MLServer failed to load model	{"model_id": "de-id-66__isvc-60ac5fc3c4", "error": "rpc error: code = Unavailable desc = error reading from server: EOF"}
2022-12-16T15:08:36+08:00 github.com/kserve/modelmesh-runtime-adapter/internal/proto/mmesh._ModelRuntime_LoadModel_Handler
2022-12-16T15:08:36+08:00 	/opt/app/internal/proto/mmesh/model-runtime_grpc.pb.go:181
2022-12-16T15:08:36+08:00 google.golang.org/grpc.(*Server).processUnaryRPC
2022-12-16T15:08:36+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1282
2022-12-16T15:08:36+08:00 google.golang.org/grpc.(*Server).handleStream
2022-12-16T15:08:36+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1619
2022-12-16T15:08:36+08:00 google.golang.org/grpc.(*Server).serveStreams.func1.2
2022-12-16T15:08:36+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:921
2022-12-16T15:08:38+08:00 1.6711745180047865e+09	ERROR	MLServer Adapter.MLServer Adapter Server	Failed to unload model from MLServer	{"model_id": "de-id-66__isvc-60ac5fc3c4", "error": "rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp [::1]:8001: connect: connection refused\""}
2022-12-16T15:08:38+08:00 github.com/kserve/modelmesh-runtime-adapter/internal/proto/mmesh._ModelRuntime_UnloadModel_Handler
2022-12-16T15:08:38+08:00 	/opt/app/internal/proto/mmesh/model-runtime_grpc.pb.go:199
2022-12-16T15:08:38+08:00 google.golang.org/grpc.(*Server).processUnaryRPC
2022-12-16T15:08:38+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1282
2022-12-16T15:08:38+08:00 google.golang.org/grpc.(*Server).handleStream
2022-12-16T15:08:38+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1619
2022-12-16T15:08:38+08:00 google.golang.org/grpc.(*Server).serveStreams.func1.2
2022-12-16T15:08:38+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:921
2022-12-16T15:08:39+08:00 1.6711745190083663e+09	ERROR	MLServer Adapter.MLServer Adapter Server	Failed to unload model from MLServer	{"model_id": "de-id-66__isvc-60ac5fc3c4", "error": "rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp [::1]:8001: connect: connection refused\""}
2022-12-16T15:08:39+08:00 github.com/kserve/modelmesh-runtime-adapter/internal/proto/mmesh._ModelRuntime_UnloadModel_Handler
2022-12-16T15:08:39+08:00 	/opt/app/internal/proto/mmesh/model-runtime_grpc.pb.go:199
2022-12-16T15:08:39+08:00 google.golang.org/grpc.(*Server).processUnaryRPC
2022-12-16T15:08:39+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1282
2022-12-16T15:08:39+08:00 google.golang.org/grpc.(*Server).handleStream
2022-12-16T15:08:39+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:1619
2022-12-16T15:08:39+08:00 google.golang.org/grpc.(*Server).serveStreams.func1.2
2022-12-16T15:08:39+08:00 	/root/go/pkg/mod/google.golang.org/grpc@v1.45.0/server.go:921
2022-12-16T15:08:49+08:00 1.6711745290097501e+09	INFO	MLServer Adapter.MLServer Adapter Server	Unload request for model not found in MLServer	{"error": "rpc error: code = NotFound desc = Model de-id-66__isvc-60ac5fc3c4 not found", "model_id": "de-id-66__isvc-60ac5fc3c4"}

mm container logs
2022-12-16T15:05:05+08:00 {"instant":{"epochSecond":1671174305,"nanoOfSecond":669210223},"thread":"model-load-de-id-55__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Starting load for model de-id-55__isvc-60ac5fc3c4 type=rt:dep-host-11","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:05:05+08:00 {"instant":{"epochSecond":1671174305,"nanoOfSecond":674346508},"thread":"mm-task-thread-9","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Published new instance record: InstanceRecord [lruTime=1671169768301 (76 minutes ago), count=3, capacity=575816, used=273087 (47%), loc=<IP_ADDRESS>, zone=<none>, labels=[mt:custom, mt:custom:1, rt:dep-host-11], startTime=1671173325261 (16 minutes ago), vers=0, loadThreads=1, loadInProg=1, reqsPerMin=0]","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":48,"threadPriority":5}
2022-12-16T15:05:38+08:00 {"instant":{"epochSecond":1671174338,"nanoOfSecond":770227346},"thread":"model-load-de-id-55__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Load of model de-id-55__isvc-60ac5fc3c4 type=rt:dep-host-11 completed in 33100ms","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:05:38+08:00 {"instant":{"epochSecond":1671174338,"nanoOfSecond":770733818},"thread":"model-load-de-id-55__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Model de-id-55__isvc-60ac5fc3c4 loading completed successfully","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:05:38+08:00 {"instant":{"epochSecond":1671174338,"nanoOfSecond":771008980},"thread":"model-load-de-id-55__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Model de-id-55__isvc-60ac5fc3c4 size = 136482 units, ~1066MiB","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:05:38+08:00 {"instant":{"epochSecond":1671174338,"nanoOfSecond":778074687},"thread":"mm-task-thread-9","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Published new instance record: InstanceRecord [lruTime=1671169768301 (76 minutes ago), count=3, capacity=575816, used=409446 (71%), loc=<IP_ADDRESS>, zone=<none>, labels=[mt:custom, mt:custom:1, rt:dep-host-11], startTime=1671173325261 (17 minutes ago), vers=0, loadThreads=1, loadInProg=0, reqsPerMin=0]","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":48,"threadPriority":5}
2022-12-16T15:06:15+08:00 {"instant":{"epochSecond":1671174375,"nanoOfSecond":3748926},"thread":"invoke-ex-de-id-55__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Attempting to add second copy of model de-id-55__isvc-60ac5fc3c4 in another instance since it is in use","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":57,"threadPriority":5}
2022-12-16T15:06:51+08:00 {"instant":{"epochSecond":1671174411,"nanoOfSecond":773707170},"thread":"janitor-task","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Janitor cache pruning task took 0ms for 3 entries","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":47,"threadPriority":5}
2022-12-16T15:06:51+08:00 {"instant":{"epochSecond":1671174411,"nanoOfSecond":774445128},"thread":"janitor-task","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Janitor registry pruning task took 0ms for 3/8 entries","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":47,"threadPriority":5}
2022-12-16T15:08:00+08:00 {"instant":{"epochSecond":1671174480,"nanoOfSecond":899406533},"thread":"mmesh-req-thread-3","level":"INFO","loggerName":"com.ibm.watson.modelmesh.VModelManager","message":"Added new VModel de-id-66 pointing to model de-id-66__isvc-60ac5fc3c4","endOfBatch":false,"loggerFqcn":"org.apache.logging.slf4j.Log4jLogger","contextMap":{},"threadId":56,"threadPriority":5}
2022-12-16T15:08:00+08:00 {"instant":{"epochSecond":1671174480,"nanoOfSecond":905774032},"thread":"invoke-ex-de-id-66__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"About to enqueue load for model de-id-66__isvc-60ac5fc3c4 with initial weight 123 units (~1MiB), with priority<PHONE_NUMBER>884","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":56,"threadPriority":5}
2022-12-16T15:08:00+08:00 {"instant":{"epochSecond":1671174480,"nanoOfSecond":906271861},"thread":"model-load-de-id-66__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Starting load for model de-id-66__isvc-60ac5fc3c4 type=rt:dep-host-11","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:08:00+08:00 {"instant":{"epochSecond":1671174480,"nanoOfSecond":911276807},"thread":"mm-task-thread-7","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Published new instance record: InstanceRecord [lruTime=1671169768301 (79 minutes ago), count=4, capacity=575816, used=409569 (71%), loc=<IP_ADDRESS>, zone=<none>, labels=[mt:custom, mt:custom:1, rt:dep-host-11], startTime=1671173325261 (19 minutes ago), vers=0, loadThreads=1, loadInProg=1, reqsPerMin=0]","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":46,"threadPriority":5}
2022-12-16T15:08:36+08:00 {"instant":{"epochSecond":1671174516,"nanoOfSecond":985824480},"thread":"model-load-de-id-66__isvc-60ac5fc3c4","level":"ERROR","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Load failed for model de-id-66__isvc-60ac5fc3c4 type=rt:dep-host-11 after 36078ms","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:08:37+08:00 {"instant":{"epochSecond":1671174516,"nanoOfSecond":986546840},"thread":"model-load-de-id-66__isvc-60ac5fc3c4","level":"ERROR","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Model load failed for de-id-66__isvc-60ac5fc3c4 type=rt:dep-host-11","thrown":{"commonElementCount":0,"localizedMessage":"UNAVAILABLE: Failed to load Model due to MLServer runtime error: rpc error: code = Unavailable desc = error reading from server: EOF","message":"UNAVAILABLE: Failed to load Model due to MLServer runtime error: rpc error: code = Unavailable desc = error reading from server: EOF","name":"io.grpc.StatusRuntimeException","extendedStackTrace":[{"class":"io.grpc.Status","method":"asRuntimeException","file":"Status.java","line":535,"exact":false,"location":"grpc-api-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.stub.ClientCalls$UnaryStreamToFuture","method":"onClose","file":"ClientCalls.java","line":542,"exact":false,"location":"grpc-stub-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.ClientCallImpl","method":"closeObserver","file":"ClientCallImpl.java","line":562,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.ClientCallImpl","method":"access$300","file":"ClientCallImpl.java","line":70,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed","method":"runInternal","file":"ClientCallImpl.java","line":743,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed","method":"runInContext","file":"ClientCallImpl.java","line":722,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.ContextRunnable","method":"run","file":"ContextRunnable.java","line":37,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"io.grpc.internal.SerializingExecutor","method":"run","file":"SerializingExecutor.java","line":133,"exact":false,"location":"grpc-core-1.46.0.jar","version":"1.46.0"},{"class":"java.util.concurrent.ThreadPoolExecutor","method":"runWorker","file":"ThreadPoolExecutor.java","line":1136,"exact":false,"location":"?","version":"?"},{"class":"java.util.concurrent.ThreadPoolExecutor$Worker","method":"run","file":"ThreadPoolExecutor.java","line":635,"exact":false,"location":"?","version":"?"},{"class":"java.lang.Thread","method":"run","file":"Thread.java","line":833,"exact":false,"location":"?","version":"?"}]},"endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:08:37+08:00 {"instant":{"epochSecond":1671174517,"nanoOfSecond":2424372},"thread":"model-load-de-id-66__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Delaying unload of model de-id-66__isvc-60ac5fc3c4 for at least 1000ms","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:08:37+08:00 {"instant":{"epochSecond":1671174517,"nanoOfSecond":11694103},"thread":"model-load-de-id-66__isvc-60ac5fc3c4","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"ModelRecord updated for de-id-66__isvc-60ac5fc3c4: locations={}, failures={458b8f-m2cgf=1671174516986}","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":51,"threadPriority":5}
2022-12-16T15:08:38+08:00 {"instant":{"epochSecond":1671174518,"nanoOfSecond":3067017},"thread":"mm-task-thread-3","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Initiating unload of model de-id-66__isvc-60ac5fc3c4","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":36,"threadPriority":5}
2022-12-16T15:08:38+08:00 {"instant":{"epochSecond":1671174518,"nanoOfSecond":6060163},"thread":"grpc-default-executor-7","level":"WARN","loggerName":"com.ibm.watson.modelmesh.SidecarModelMesh","message":"Unload of model de-id-66__isvc-60ac5fc3c4 failed, queueing 90 more time(s) for retry: UNAVAILABLE: Failed to unload model from MLServer","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":81,"threadPriority":5}
2022-12-16T15:08:49+08:00 {"instant":{"epochSecond":1671174529,"nanoOfSecond":370139037},"thread":"grpc-default-executor-7","level":"INFO","loggerName":"com.ibm.watson.modelmesh.SidecarModelMesh","message":"Model de-id-66__isvc-60ac5fc3c4 unloaded successfully following retry","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":81,"threadPriority":5}
2022-12-16T15:08:49+08:00 {"instant":{"epochSecond":1671174529,"nanoOfSecond":370627156},"thread":"grpc-default-executor-7","level":"INFO","loggerName":"com.ibm.watson.modelmesh.SidecarModelMesh","message":"Model de-id-66__isvc-60ac5fc3c4 unloaded successfully following retry","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":81,"threadPriority":5}
2022-12-16T15:08:49+08:00 {"instant":{"epochSecond":1671174529,"nanoOfSecond":370910525},"thread":"grpc-default-executor-7","level":"INFO","loggerName":"com.ibm.watson.modelmesh.ModelMesh","message":"Unload of de-id-66__isvc-60ac5fc3c4 completed in 11367ms","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":81,"threadPriority":5}

Version 0.9.0

@tjandy98 @lizzzcai apologies for taking so long to respond to this.
What you're seeing looks a little unexpected and I would have to dig a bit more to see what's going on, but in general the dispersion of models is not strictly coordinated and intentionally has some randomness. It was designed for when the model size is pretty small relative to the capacity of each pod, so it evens out statistically. If you can only fit a small number of models per pod then things won't necessarily be precisely balanced and you could hit situations like the one you're observing.
All of the runtimes continually publish their stats (i.e. related to their cache and request load) and each use this combined list of stats to determine where to place models. A shortlist is determined based on a "distance metric" from the best candidate (e.g. typically one with most space but there are other factors too).. and then a pod is chosen randomly from this list. Of course if there are only two pods the list will end up as either one or two.
I hope that makes sense.

@tjandy98 @lizzzcai I am closing this issue as stale. Feel free to reopen with more (recent) information.


Deploy finished.

Timer flag turned on as configured:


uppercase class namespace in Usage section of README

Leaving class namespace lowercase when using addBehavior() results in the behavior class not being found, at least in my local Windows test environment

This looks great to me. Thanks!


Adaptive Quality is causing artifacts with oculus devices on steamVR

Adaptive Quality is causing artifacts with oculus devices on steamVR. No problem with the same build and my Vive.
Launching the game with -noaq argument solve the problem.

Do you have Scale Render Target Resolution checked on the Adaptive Quality script? If so, try unchecking it.
Otherwise I'd assume that the SteamVR/OpenVR methods AQ uses are probably not working for the Rift under SteamVR. VRTK's SDK implementation for Oculus handles those method correctly as far as I can see, but I guess it would be too much work to offer a build of your game using Oculus SDK.
Therefore I commented out those methods and it should still work fine in the Vive but could potentially fix it for the Rift: https://gist.github.com/bddckr/85876cf374cde76db3a115ca0aca65b6 AQ should probably offer to allow to disable the usage of those methods anyways.

If it works for you we probably should tell Valve about it so they can fix it in SteamVR/OpenVR.
If it doesn't work on the Rift with this I guess Unity is at fault. There were tons of problems with the render scales in almost every other release they did. Unity 5.5.0p4 has a fix mentioned in their release notes for this, so if you don't use it yet, try upgrading to that one.

Another idea could be to just use Oculus' adaptive resolution instead of VRTK's AQ on the Rift for now. Search for "adaptive" here. But I think this requires you to switch to use the Oculus SDK instead of SteamVR for the Rift.
Good work on using -noaq for a quick workaround. That will still work with the modified AQ script above.

Thanks for you help. Unfortunately nothing worked to solve my issue.
I will probably add oculus sdk support on the future.


Link to Blazor hybrid docs

Anything for me on this @danroth27 ?

The Blazor Hybrid docs are here: https://docs.microsoft.com/aspnet/core/blazor/hybrid. These docs cover common Blazor Hybrid concerns for .NET MAUI, WPF, and Windows Forms.
We have a Blazor Hybrid tutorial for .NET MAUI here: https://docs.microsoft.com/aspnet/core/blazor/hybrid/tutorials/maui. The BlazorWebView control doc in the .NET MAUI docs should link to the Blazor Hybrid docs and tutorial.


use double;

PHP 8.1.13 (cli) (built: Dec  6 2022 16:56:17) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.13, Copyright (c) Zend Technologies
Package operations: 4 installs, 0 updates, 0 removals

Installing ircmaxell/php-object-symbolresolver (dev-master dfe1b1a): Extracting archive
Installing ircmaxell/php-c-parser (dev-master fd8f5ef): Extracting archive
Installing ircmaxell/ffime (dev-master f6911d7): Extracting archive
Installing extism/extism (v0.1.0): Extracting archive
Generating optimized autoload files

Illuminate\Foundation\ComposerScripts::postAutoloadDump
Script Illuminate\Foundation\ComposerScripts::postAutoloadDump handling the post-autoload-dump event terminated with an exception

In ExtismLib.php line 1:
The use statement with non-compound name 'double' has no effect
<?php use double;//《=why
interface iExtismLib {}
interface iExtismLib_ptr {}

composer require extism/extism
why?

@shijunti19 - this has been fixed, and we will release a new version of the SDK soon with the updated library dependency.

@shijunti19, actually, since we use the dev-master branch in the dep, all you need to do is run:
composer update and the latest library version will be used. I tested this locally and the fix was applied. Please let us know if yours is not fixed by this update.


Crashed when call close() in CefWnd

If I call close() in frameless CefWnd, the app will be easily crashed(repeat open-close like 10 times, then it crahed)

Exit logic has been optimized.
Please try again.


Add config file for RTD

I activated RTD's feature to build docs on PRs, it's running now.

The build was sucessful: https://tiptop--30.org.readthedocs.build/en/30/