🐞: [Android]: Notificare.onUrlOpened does not work on cold boot

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When sending a deeplink in a notification to an android device that does not have the app open, the notification opens the app, but Notificare.onUrlOpened or any other callback does not get triggered.
This means we cannot execute the deeplink embedded in the notification.
I've followed the setup from the documentation
Steps to reproduce

add deeplink support in an android app.
close the app.
send a notification with a deeplink
app opens, but deeplink does not get caught.

Expected behaviour
Notificare.onUrlOpened gets triggered (or another method from NotificarePush or NotificarePushUI)
Relevant log output
No response
Library version
3.8.0
Operating system
Android 10, Android 12
React Native version
0.73.6
Smartphone model
Xiaomi, Oneplus
Additional context
I'm using deeplinking with the recommended setup of React Navigation. The deep link from the notification should be handled in the getInitialURL function like this:
export async function getInitialURL() {
  // Check if app was opened from a deep link
  const url = await Linking.getInitialURL();
  console.log('initialURL', { url });
  if (url !== null) {
    return url;
  }
  Notificare.onUrlOpened(notificationDeeplinkUrl => {
    console.log('onUrlOpened: ', notificationDeeplinkUrl);
    if (!notificationDeeplinkUrl) {
      return;
    }

    if (isValidString(notificationDeeplinkUrl)) {
      return notificationDeeplinkUrl;
    }

    // If no deeplink provided, open the fallbacknotificationDeeplinkUrl.
    return FALLBACK_DEEPLINK;
  });
}

Hello @VNDRN,
When sending the deep link inside the notification, the app will be opened from the notification and not the deep link directly.
The flow will look like the following:

Our SDK will handle and proceed initial intent
The notification will then be opened
SDK will emit the open event for your app (NotificarePush.onNotificationOpened)
Your app should proceed to present the notification with NotificarePushUI.presentNotification
Our SDK will handle the deep link contained inside the notification and emit it via Notificare.onUrlOpened

Although it may seem like an extended process, the execution is fast. Therefore, it is important that you set up those listeners as soon as possible in your application.
Additionally, you have a condition before setting the Notificare.onUrlOpened listener which may result in the listener being ignored.
This listener will handle all deep links, including the initial one.
You should set Notificare.onUrlOpened either way and you may use it without Linking.getInitialURL().

Hi @Y-Smirnov , thanks for looking into this. As you've suggested, I've added this as soon as possible in my app.
NotificarePush.onNotificationOpened(async notification => {
    console.log('Notification opened:', notification);
    await NotificarePushUI.presentNotification(notification);
  });

Then in my getInitialURL function as the recommended setup of React Navigation uses, I do this:
export async function getInitialURL() {
   Notificare.onUrlOpened(notificationDeeplinkUrl => {
    console.log('onUrlOpened: ', notificationDeeplinkUrl);
    if (!notificationDeeplinkUrl) {
      return;
    }

    if (isValidString(notificationDeeplinkUrl)) {
      return notificationDeeplinkUrl;
    }

    // If no deeplink provided, open the fallbacknotificationDeeplinkUrl.
    return FALLBACK_DEEPLINK;
  });

However, this still has the same result: the notification get's presented, but on cold boot, the deeplink is not triggered by onUrlOpened...
I've tried to add it to the sample project but I'm struggling to get it running on my device

Hi @VNDRN
Similarly to NotificarePush.onNotificationOpened, Notificare.onUrlOpened should also be placed as soon as possible in your app.
The onUrlOpened() and other event functions are meant to be executed when you mount a component. They return an EmitterSubscription, meaning you need to clean it up when the component unmounts.
We are not too familiar with the React Navigation library, but what you’re referencing points to a getInitialURL() function that is meant to provide the initial deep link.
Your app will never open with a deep link when you’re dealing with deep link notifications. As I stated, the original intent is to handle the notification open, which later resolves to the deep link after you present it. At that point the onUrlOpened() will fire. However, the way you setup the listener, it’s probably not being kept by the React Navigation getInitialURL() function.
All you need to do is set up the listener similarly you do with NotificarePush.onNotificationOpened.
You can also investigate the subscribe(listener) in React Navigation since it seems to be their option for processing non-initial deep links, which is the case for deep links triggered by a notification.
This problem you’re experiencing seem to be related to your integration of React Navigation and not a bug in our library.
I hope this helps.

Hi @Y-Smirnov,
As you suggested, this is the hook useLaunchNotificare, which I call in my App.tsx. I think this should work according to your explanation? However, I'm still facing the same issue:

warm boot deep links in notifications do get caught by onUrlOpened
cold boot deep links do not get caught.

Am I overlooking something?
This is the code:
// useLaunchNotificare.ts

const useLaunchNotificare = () => {
  const enabled = useFeatureFlag('notificare');

  const [isNotificareReady, setIsNotificareReady] = useState(false);

  useEffect(
    function launch() {
      (async () => {
        if (!enabled) {
          return;
        }
        // This will make sure that the app will receive notifications when it's in the foreground on iOS.
        // On Android, this is handled by the notificare library
        const availableOptions = ['alert', 'badge', 'sound', 'banner', 'list'];
        await NotificarePush.setPresentationOptions(availableOptions);
        await Notificare.launch();
      })();
    },
    [enabled],
  );

  useEffect(function setupListeners() {
    const subscriptions = [
      Notificare.onReady(async () => {
        await checkRemoteNotifications();

        setIsNotificareReady(true);
      }),
      Notificare.onDeviceRegistered(device => {
        logger.info('Registered notificare device:', device.id);
      }),
      NotificarePush.onNotificationOpened(async notification => {
        await NotificarePushUI.presentNotification(notification);
      }),
      Notificare.onUrlOpened(url => {
        logger.info('=== URL OPENED ===');
        logger.info(JSON.stringify(url, null, 2));
        AsyncStorage.setItem('debugShizzle', JSON.stringify(url));
      }),
    ];

    return () => subscriptions.forEach(s => s.remove());
  }, []);

  return isNotificareReady;
};

/**
 * For existing users that accepted notifications before but aren't enabled in notificare yet, we need to enable remote notifications
 */
async function checkRemoteNotifications() {
  const { status } = await checkNotifications();
  const hasRemoteNotificationsEnabled = await NotificarePush.hasRemoteNotificationsEnabled();

  if (
    hasRemoteNotificationsEnabled ||
    (isPermissionGranted(status) && !hasRemoteNotificationsEnabled)
  ) {
    await NotificarePush.enableRemoteNotifications();
  }
}

<!-- android/app/src/main/AndroidManifest.xml -->

<!-- notificare intent-->
      <intent-filter>
        <action android:name="re.notifica.intent.action.RemoteMessageOpened" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
      <!-- Deeplink intent filter -->
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data android:scheme="mydeeplinkscheme" />
      </intent-filter>

Hi @VNDRN,
At a glance, your code looks correct and the onUrlOpened should be executing.
However, I cannot reproduce what you're describing. Please find my example below.
function App(): React.JSX.Element {
  useEffect(() => {
    Notificare.launch()
      .then(() => console.log('Launched.'))
      .catch(err => console.log(err));
  }, []);

  useEffect(() => {
    const subscriptions = [
      Notificare.onReady(async () => {
        console.log('Ready');

        // TODO: request push permission before enabling remote notifications.
        await NotificarePush.enableRemoteNotifications();
      }),
      NotificarePush.onNotificationOpened(async notification => {
        console.log('Notification opened');
        await NotificarePushUI.presentNotification(notification);
      }),
      Notificare.onUrlOpened(url => {
        console.log(`Url opened: ${url}`);
      }),
    ];

    return () => subscriptions.forEach(s => s.remove());
  }, []);

  return (
    <>
      ...
    </>
  );
}

Which results in the following log output when opening the notification from a cold start.
 BUNDLE  ./index.js

 LOG  Running "AwesomeProject" with {"rootTag":11}
 LOG  Notification opened
 LOG  Launched.
 LOG  Url opened: re.notifica.sample.app.dev://notificare.com/inbox
 LOG  Ready

This example is running the latest version of React Native (0.74.0).
You may want to test your application in release mode to prevent the cold start from having to load the javascript bundle.
Since we cannot reproduce the issue you're describing, please provide a small application where we can see the problem occurring. Should you need assistance specific to your app, it's best to contact our support channel via the Notificare Dashboard or at<EMAIL_ADDRESS>

hi @hpinhal,
Sorry for the late reply. I've managed to get it working in the end. It was indeed solved by initialising the listeners sooner.
It was strange to see that some listeners did get initialised while others didn't. This also makes it difficult to integrate with authentication, navigation etc. which all have to be initialised as fast as possible as well 😄
Thanks for helping me out!


Java Enum Explanation

I really like to this project, i couldn't find any examples of java enum.
If you are ok, shall create PR for it ?

@dschandrasekara  yeah start working on them and create PR when you are done
Thanks Happy Coding <3

Yes sure, i will start working on this, feel free plz assign this issue.

Create PR - https://github.com/MLSA-Mehran-UET/Learn-to-code-java/pull/85, please help to review and let me know your feedback and appreciate your help.


Scraper is eating our CPU.

Dear Congress Folk:
As the year progress and the congress xml files on govinfo.gov get bigger and bigger, I am finding that downloading some files is eating 80-90% of our CPU, causing server lag times. Some example problem files are:
https://www.govinfo.gov/sitemap/BILLS_2018_sitemap.xml
https://www.govinfo.gov/sitemap/bulkdata/BILLSTATUS/115hr/sitemap.xml
I would humbly suggest that you need to put a stream handler in the download function of utils in order to download the files in chunks. Examples suggested here:
https://stackoverflow.com/questions/16694907/how-to-download-large-file-in-python-with-requests-py
Thanks
Sherrod

@mooncalfskb Thanks for identifying this. Would you be up for submitting a pull request which refits our download method to use a streaming handler?


python310Packages.dvc-data: 0.51.0 -> 0.52.0

Diff: https://github.com/iterative/dvc-data/compare/refs/tags/0.51.0...0.52.0
Changelog: https://github.com/iterative/dvc-data/releases/tag/0.52.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 232972 run on x86_64-linux 1

2 packages failed to build:

python311Packages.dvclive
python311Packages.dvclive.dist

10 packages built:

dvc
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist
python310Packages.dvc-data
python310Packages.dvc-data.dist
python310Packages.dvclive
python310Packages.dvclive.dist
python311Packages.dvc-data
python311Packages.dvc-data.dist


update Elasticsearch link

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
❌

Fixed issues
https://github.com/yiisoft/yii2/issues/18808

cc @samdark

👍


Akuma: Add Filters, Add Factory for specific language, Improve manga description and tags

Add Filters, Add Factory for specific language, Improve manga description and tags.
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[ ] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

also consider working on seperate git branches to not pollute you commit history

also consider working on seperate git branches to not pollute you commit history

Apologize for it.😥


compressed public, private and wif keys

i need to compressed keys for bitcoin and i can not find any method in the documentation to get compressed key from pybitcoin. anyone jst help me, urgent

L3inaKfhAkUWJfDP3y7Cu26iAe7BsKPHu71NeZCXZzgVgdXMxrAR


Add a LESS lexer

(Original issue 780 created by emilecantin on 2012-06-07T15:31:16.998199+00:00)
It would be great to have a LESS ( http://lesscss.org ) lexer. There's not much difference from CSS, mainly single-line comments and variables that begin with @.

(Original comment by birkenfeld on 2013-01-09T15:21:02.047965+00:00)
We would be happy to accept a contribution.

(Original comment by jaredly on 2013-03-29T23:44:45.570668+00:00)
Could you just use the Scss lexer?

(Original comment by david-xie on 2016-02-05T00:55:33.590568+00:00)
@birkenfeld what's the status of this ticket?

(Original comment by masklinn on 2017-07-03T09:37:38.496442+00:00)
@david-xie there is now a LessCSSLexer, however it seems to be a pretty straight CSS lexer (which is problematic due to e.g. Sphinx unconditionally using raiseonerror when highlighting):

no support for single-line comments #1342
no support for rules nesting #1330 (@bittucket I assume you didn't have the time to work on your PR?)

I'm closing all requests for lexers/formatters without a patch/PR.


Added link to avoid confusion

Added link to README to make it clear where to get it from.

Thanks!


Add client certificate support

Add the possibility to set a client certificate when connecting to a server

Thanks!


Git tutorial

Happy Christmas!

are you ok for a review of this PR?

Well nothing else to say then : very good job. It is clear et very informative! Thx a lot!

Cool! You're welcome :)


move all tests to TestItems.jl and TestItemsRunner.jl

This would give us better vscode integration and is more like to have long-term support compared to e.g. ReTestItems.jl.
As a part of this, should also document in the developer docs how to conveniently tests using TestEnv.jl.
First step for addressing this issue is to move to TestItems the GNNLux tests.

See https://discourse.julialang.org/t/new-stable-features-for-the-test-item-framework/

closing as a duplicate of #517


Error While Compiling: An Output Directory Must Be Specified

When I compile my .scss file on save, it compiles properly, but throws this error:

Command failed: node-sass --output-style compressed sass/main.scss main.css
An output directory must be specified when compiling a directory

What's odd is that I have no sass/main.scss file in my project. This doesn't happen when I use the key combo (⌃⇧C), only when I save (⌘S).

What is the filename of your file?
Do you have a first-line-comment?

No, I do not have a first-line-comment. Is that required? I didn't see anything about it being required in the docs. The filename is grove-design.scss. It's just a simple, single, SCSS file with no dependancies.

No, you don't need a first-line-comment. It's for a custom configuration, more or less. If you don't have one, your grove-design.scss should compile without an errors, in case the option Compile on Save is true.
I wonder why there is such an error message... Can you send me your scss file? Perhaps there is a problem in it?!

I have uninstalled and reinstalled sass-autocompile, and that appears to have fixed the problem! Thanks for the awesome package, I'll report back if the problem reappears.

Great that it works now!

I am very new to sass (and atom) - and I'm getting the same error on save (relating to main.scss). Unistalled and re-installed package but still get error.

Hey! Sorry for my later answer. Had lot of important things to do. Is the problem still relevant?
Well, I don't know why that error occurs. Do you use a Mac, too? Can you try to put this in your first line:
// compileCompressed: ./main.css

Or can you try to set an absolute path like /home/Users/username/.../ main.css?

I had this issue and it turned out that the script within which I ran sass didn't change to the proper directory first.

What exactly do you mean with that? Can you send me your files?

I mean that the problem turned out to be the fault of neither node-sass nor sass-autocompile but of a custom script. Confusion may arise because the error message "An output directory must be specified when compiling a directory" is given by node-sass if its input file doesn't exist (even though it is not being called on a directory).

I had the same issue and changing the command line to the following fixed the issue. (My files reside inside the src folder.)
"command": "node-sass ./src/style.scss ./src/style.css",

thanks so much @amacfie, that was my error. node-sass error seems very confusing in this situation.

I solved my issue.  The following ended up working for me and helps me understad that the "output directory" relates to the path in which the styles.scss is referred to.  So the following helped me.  Plus I was one directory deep...
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Sass Compile",
            "type": "shell",
            "command": "node-sass",
            "args" : ["./project01/styles.scss", "./project01/styles.css"],
            "group":"build"
        }
    ]
}

@mintysam, could you please explain your solution in more details? Or anyone?
I've tried to reinstall the package, to compile with the comment and add the path to the package settings (Include paths field).  And what is this for a configuration file? For a build system?
If this is the case, it has nothing to do with the mentioned problem.

@armin-pfaeffle I removed my comment so that clarity can be focused on the given issue.

Hello;
I'm hoping that someone can offer advice to me.  I have the same problem as above.
Computer OS is linux-light with newest version of sass, ruby, nodejs, atom and newly re-installed sass-autocompile 0.13.5
In editing a .sass file, the changes seem to apply to the css, but the 'output directory must be specified when compiling a directory' error still appears with every save.
I saw mintysam's suggestion, but don't know which command line should be changed. Is that a change to one of the autocompile source files?
Thank you in advance for any suggestions

Can you try to compile a minimal file?
// compileCompressed: ./$1.min.css

$color: red;
body {
    background-color: $color;
}

Save that file via Atom. What happens?
Else: try do compile the file on your own by opening the terminal, switching to the corresponding path and entierung this command:
node-sass --output-style compressed test.scss > test.min.css

Adjust the filenames!
What happens here?

Thank you Armin.
When I did compile a minimal file, the error showed up - Command failed: node-sass --output-style compressed undefined/./css/sass//main.scss undefined/./css//main.css
An output directory must be specified when compiling a directory (as with the others here, main.css is not the filename)
However the .css did in fact update (added the change to my .css and also created a min.css.  I deleted the text within the .css, wrote a couple more css commands and saved again to confirm.  So rather then being non-functional, it's just a mild annoyance.
(can't confirm if the terminal command did the change because Atom did it)

Well... I really don't know where the main.scss comes from. I think there must be a bug in the path-building-process of my package but I cannot reproduce this problem.
@Supercalafragalisticexpialadoshus: Can you help me hunting down this bug? I added some logging command to the main script file of my package. Can you replace the current version and send me the output?
Here the instructions:

Close Atom.
Rename /home/<user>/.atom/packages/sass-autocompile/lib/compiler.coffee to e.g. /home/<user>/.atom/packages/sass-autocompile/lib/compiler.coffee.backup
Save attached compiler.coffee to /home/<user>/.atom/packages/sass-autocompile/lib/.
Open Atom.
Enable Developer Tools by selecting the following items in main menu: View > Developer > Toggle Developer Tools
Open Console tab in Developer Tools.
Open a SASS/SCSS file which includes a first-line-comment, so compilation is executed on save and save this file.
Open each Object output in the console tab by clicking on the arrow infront of Object, so details are visible.
Copy the complete output of the console tab und post it here. If you think that there are privacy problems you can send me an email<EMAIL_ADDRESS>Close Atom and restore the original compiler.coffee, see 11. and 12..
Delete /home/<user>/.atom/packages/sass-autocompile/lib/compiler.coffee.
Rename /home/<user>/.atom/packages/sass-autocompile/lib/compiler.coffee.backup to /home/<user>/.atom/packages/sass-autocompile/lib/compiler.coffee

The problem described by @Supercalafragalisticexpialadoshus was another package that displayed that error message. So, the problem has been fixed.

I'll add on that I got the above error when the SOURCE file was misnamed in the command; e.g., ./sass/mystyles.scss  when in fact I'd renamed it and hadn't updated my copy and paste from the boilerplate instructions (via bulma's how-to.)  The error message just wasn't specific enough to point me in the correct direction at first.

In my case, the error was because the filename has uppercase letters (in windows 10). Changing the filename to all lowercase solved the problem.  it seems that node-sass does not accept file names with uppercase in them ?

I'm sure it's the node-sass cli param [input file] is not set corretly

how to solve it

I am new to SASS and I was able to fix this issue when I noticed that SASS files use the extension .scss not .sass like I thought.
That typo is very easy to miss in a command, and it will cause node-sass to throw this error.

@megalon  omg, thanks 😆


[bug] luasnip not loading snippets on restart

Hey I have some issue with luasnip when i add require("luasnip.loaders.from_vscode").load() to my luasnip config and restart neovim then luasnip does not load the snippets and when i source my luasnip config file with :so % then loads all the snippets

My config

Sounds like luasnips.lua isn't sourced during startup, could you try putting some prints or similar to check that the load is actually executed?
You can check if any snippets are loaded via :LuaSnipListAvailable, maybe try that to make sure that there are actually no snippets loaded.

Hey there was some issue with sourcing now I have added config parameter to the use function in my plugins.lua and now it's print the string but luasnip is not loading the snippets

I have updated the repository if you wanna see my changes you can see that

AFAICT the file should have been sourced earlier as well, with the require("afnan.luasnips").
Does luasnip load snippets at all with that load-call?
The directory-layout for snippets you had earlier doesn't work with luasnip, luasnip needs a package.json to find the snippet-files (you can try copying and adapting the structure from friendly-snippets if you haven't yet)

Oh thanks i forgot that 😅

Oh sorry i forgot that 😅


[postgres]  PostgresSql snapshot sql

the column will be case-sensitive,so pk should added double quotation.And my postgresql version 13.2

Thanks @linzhicong1996 for the great work! Before this PR could be merged, could you please rebase it with latest master branch?


Run in Terminal not escaping paths

There is a small bug with the "Run in Terminal..." command. When the path to the directory contains a space (and I imagine other special characters) these are not escaped and the command is not executed.
Typical output is:
/Users/samuel/Documents/BitBar Plugins/updates.1h.sh
-bash: /Users/samuel/Documents/BitBar: No such file or directory
Needs a small fix.
Thanks for a great app!

This has been fixed on master already. See #253

Oh, thanks, sorry. Will dl master.

Actually special characters is not fixed with that change.
Having the configuration folder in a dropbox for business folder will not work.
For example homefolder/Dropbox (Company Inc)/BitBar


Failed to start app

Disabling NPM shell scripts fails to start my nodejs app. I get a package.json not found error. I really wish there was an easier way to bypass NPM install errors only experienced when deploying to eb (without disabling NPM altogether).

Disabling NPM shell scripts fails to start my nodejs app. I get a package.json not found error.

Hm I would figure that you should have a package.json file prior to EB running npm commands, checked into your source and deployed to EB. I believe that npm install may create a package.json if none exists, is it possible that you were relying on that?

My package.json is present during the deploy. It seems that one would have to return 1 or something like that in npm50.sh. With the script just simply not executing doesn’t import the npm_modules folder. So to overcome my npm errors that got me here in the first place I just took that package and placed it outside of npm_modules and it turned out ok.
Sent from my iPhone
On Jan 2, 2019, at 3:17 PM, Jeffrey Wear <notifications<EMAIL_ADDRESS>wrote:
Disabling NPM shell scripts fails to start my nodejs app. I get a package.json not found error.
Hm I would figure that you should have a package.json file prior to EB running npm commands, checked into your source and deployed to EB. I believe that npm install may create a package.json if none exists, is it possible that you were relying on that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mixmaxhq/eb-disable-npm/issues/7#issuecomment-450972887, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJ39f8pad5Z9l7_r-f5RgJNtOKMLgjBwks5u_RPwgaJpZM4ZjGTL.


column folded and can't restore

Description
The execution log interface of my DBeaver originally had columns for execution duration and the number of affected rows,
but I accidentally dragged and folded them together，
and now I can’t restore them.
Uninstalling and reinstalling doesn’t work.
What should I do?

DBeaver Version
24.1.4
Operating System
macos 14.6.1
Database and driver
pg jdbc 42.7
Steps to reproduce
dragged the column and folded them together，
and then can’t restore them.
Additional context
have not

Please try repeating my actions on the video
https://github.com/user-attachments/assets/fc855f2d-c522-4822-90d0-1f03d373da9b
Maybe we need some Reset action for this view

cannot drag to restore，and the action video is too big to upload，to show how I do

OK
Then you can try resetting UI settings
1.

2.


TFLite interpreter.invoke() crashes on GPU despite successful TFLite conversion

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04 (Google Colab notebook)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 2.4.0-dev20200720
Python version: 3.6.9
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: 10.1/7 (Google Colab default GPU)
GPU model and memory: Google Colab default GPU

Describe the current behavior
I converted a simple 3DCNN keras model to TFLite. Upon creating an interpreter from that TFLite model and calling interpreter.invoke(), the Google Colab notebook crashes. This only happens when using a GPU runtime; interpreter.invoke() works fine on a CPU. The converted TFLite model uses both tf.lite.OpsSet.TFLITE_BUILTINS and tf.lite.OpsSet.SELECT_TF_OPS, and I was converting to TFLite in an attempt to apply quantization-aware training and post-training quantization according to this guide.
Describe the expected behavior
I expect to be able to call interpreter.invoke() successfully on a GPU without any crashing.
Standalone code to reproduce the issue

Add this Google Colab notebook and this dataset to your Google Drive.
Open the colab notebook. Set the runtime to GPU (Runtime -> Change Runtime Type -> GPU).
Mount your drive and change "/content/drive/My Drive/full_dataset_vectors.h5" to wherever you're storing the dataset.
Run all cells of the notebook. The actual crash only happens in the last cell, with interpreter.invoke().

Other info / logs
The logs in the Google Colab notebook didn't provide any information about the cause for the crash. To get more info, I tried running the code on an identical local environment and managed to obtain a gdb backtrace. It seems likely to be related to this issue, but the backtrace looks different enough to possibly be a separate bug, so I decided to create a new issue.
Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
__memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:370
370    ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0  __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:370
#1  0x00007ff291abd70c in tflite::FlexDelegate::CopyFromBufferHandle(TfLiteContext*, int, TfLiteTensor*) ()
   from /usr/local/lib/python3.6/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so
#2  0x00007ff280226f1d in tflite::impl::Subgraph::Invoke() ()
   from /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.so
#3  0x00007ff280229bd0 in tflite::impl::Interpreter::Invoke() ()
   from /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.so
#4  0x00007ff27ffc8a58 in tflite::interpreter_wrapper::InterpreterWrapper::Invoke() ()
   from /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.so
#5  0x00007ff27ffbe6be in void pybind11::cpp_function::initialize<pybind11_init__pywrap_tensorflow_interpreter_wrapper(pybind11::module&)::{lambda(tflite::interpreter_wrapper::InterpreterWrapper&)#4}, pybind11::object, tflite::interpreter_wrapper::InterpreterWrapper&, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11_init__pywrap_tensorflow_interpreter_wrapper(pybind11::module&)::{lambda(tflite::interpreter_wrapper::InterpreterWrapper&)#4}&&, pybind11::object (*)(tflite::interpreter_wrapper::InterpreterWrapper&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call)
    () from /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.so
#6  0x00007ff27ffbfc19 in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) ()
   from /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter_wrapper/_pywrap_tensorflow_interpreter_wrapper.so
#7  0x00000000005669ac in _PyCFunction_FastCallDict () at ../Objects/methodobject.c:231
#8  0x000000000050a5c3 in call_function.lto_priv () at ../Python/ceval.c:4875
#9  0x000000000050bfb4 in _PyEval_EvalFrameDefault () at ../Python/ceval.c:3335
#10 0x0000000000509758 in PyEval_EvalFrameEx (throwflag=0,
    f=Frame 0x7ff180002e48, for file /usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/interpreter.py, line 524, in invoke (self=<Interpreter(_custom_op_registerers=[], _interpreter=<tensorflow.lite.python.interpreter_wrapper._pywrap_tensorflow_interpreter_wrapper.InterpreterWrapper at remote 0x7ff2779fd110>, _delegates=[]) at remote 0x7ff2779fd710>)) at ../Python/ceval.c:754
#11 _PyFunction_FastCall (globals=<optimized out>, nargs=140675211341384, args=<optimized out>, co=<optimized out>) at ../Python/ceval.c:4933
#12 fast_function.lto_priv () at ../Python/ceval.c:4968
#13 0x000000000050a48d in call_function.lto_priv () at ../Python/ceval.c:4872
#14 0x000000000050bfb4 in _PyEval_EvalFrameDefault () at ../Python/ceval.c:3335
#15 0x0000000000509758 in PyEval_EvalFrameEx (throwflag=0,
    f=Frame 0x7ff1b4001df8, for file inference.py, line 80, in tflite_inference (interpreter=<Interpreter(_custom_op_registerers=[], _interpreter=<tensorflow.lite.python.interpreter_wrapper._pywrap_tensorflow_interpreter_wrapper.InterpreterWrapper at remote 0x7ff2779fd110>, _delegates=[]) at remote 0x7ff2779fd710>, test_data=[<tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4938>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f47d8>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4678>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4888>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4e08>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4bf8>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4a98>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff26c0f4b48>, <tensorflow.python.framework.ops.EagerTensor at remote 0x7ff21c0ad048>, <tensorflow.python.framework.ops.EagerTens...(truncated)) at ../Python/ceval.c:754
#16 _PyFunction_FastCall (globals=<optimized out>, nargs=140676083752440, args=<optimized out>, co=<optimized out>) at ../Python/ceval.c:4933
#17 fast_function.lto_priv () at ../Python/ceval.c:4968
#18 0x000000000050a48d in call_function.lto_priv () at ../Python/ceval.c:4872
#19 0x000000000050bfb4 in _PyEval_EvalFrameDefault () at ../Python/ceval.c:3335
#20 0x0000000000509758 in PyEval_EvalFrameEx (throwflag=0,
    f=Frame 0x543b138, for file inference.py, line 120, in run_inference at ../Python/ceval.c:754
#21 _PyFunction_FastCall (globals=<optimized out>, nargs=88322360, args=<optimized out>, co=<optimized out>) at ../Python/ceval.c:4933
#22 fast_function.lto_priv () at ../Python/ceval.c:4968
#23 0x000000000050a48d in call_function.lto_priv () at ../Python/ceval.c:4872
#24 0x000000000050bfb4 in _PyEval_EvalFrameDefault () at ../Python/ceval.c:3335
#25 0x0000000000507d64 in PyEval_EvalFrameEx (throwflag=0, f=Frame 0x18c6bd8, for file inference.py, line 150, in <module> ()) at ../Python/ceval.c:754
---Type <return> to continue, or q <return> to quit---
#26 _PyEval_EvalCodeWithName.lto_priv.1820 () at ../Python/ceval.c:4166
#27 0x000000000050ae13 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=<optimized out>,
    globals=<optimized out>, _co=<optimized out>) at ../Python/ceval.c:4187
#28 PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:731
#29 0x0000000000634c82 in run_mod () at ../Python/pythonrun.c:1025
#30 0x0000000000634d37 in PyRun_FileExFlags () at ../Python/pythonrun.c:978
#31 0x00000000006384ef in PyRun_SimpleFileExFlags () at ../Python/pythonrun.c:419
#32 0x00000000006386c5 in PyRun_AnyFileExFlags () at ../Python/pythonrun.c:81
#33 0x0000000000639091 in run_file (p_cf=0x7ffece85e63c, filename=<optimized out>, fp=<optimized out>) at ../Modules/main.c:340
#34 Py_Main () at ../Modules/main.c:810
#35 0x00000000004b0d00 in main (argc=2, argv=0x7ffece85e838) at ../Programs/python.c:69

FYI, TFLite's GPU supports is different with Tensorflow. It requires Mobile GPU which is available for Android and iOS.
https://www.tensorflow.org/lite/performance/gpu
Your GPU runtime is compatible with Tensorflow not Tensorflow Lite. So please use CPU runtime.

I have the problem with CPU and GPU. My model is a converted mask rcnn in tensorflow2 but my session crashes when I invoke the interpreter. The input is coherent with input details so no problem there.
The following message is from GPU:
Timestamp | Level | Message
-- | -- | --
Nov 2, 2020, 3:08:48 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 3:04:57 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 3:02:14 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 3:02:07 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 3:01:00 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 3:00:59 PM | WARNING | pciBusID: 0000:00:04.0 name: Tesla T4 computeCapability: 7.5
Nov 2, 2020, 2:59:12 PM | INFO | http://<IP_ADDRESS>:9000/
Nov 2, 2020, 2:59:12 PM | INFO | google.colab serverextension initialized.
Nov 2, 2020, 3:08:48 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 3:04:57 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 3:02:14 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 3:02:07 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 3:01:00 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 3:00:59 PM | WARNING | coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.73GiB deviceMemoryBandwidth: 298.08GiB/s
Nov 2, 2020, 2:59:12 PM | INFO | Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
Nov 2, 2020, 3:10:23 PM | WARNING | WARNING:root:kernel 8e9b15e5-7c66-4b1e-bcbe-1d36d13f7e36 restarted
Nov 2, 2020, 3:05:41 PM | WARNING | WARNING:root:kernel 8e9b15e5-7c66-4b1e-bcbe-1d36d13f7e36 restarted
Nov 2, 2020, 2:59:12 PM | INFO | Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Nov 2, 2020, 2:59:12 PM | INFO | The Jupyter Notebook is running at:
Nov 2, 2020, 2:59:12 PM | INFO | Serving notebooks from local directory: /
Nov 2, 2020, 3:10:23 PM | INFO | KernelRestarter: restarting kernel (1/5), keep random ports
Nov 2, 2020, 3:05:41 PM | INFO | KernelRestarter: restarting kernel (1/5), keep random ports
Nov 2, 2020, 2:59:56 PM | INFO | Kernel started: 8e9b15e5-7c66-4b1e-bcbe-1d36d13f7e36
Nov 2, 2020, 3:08:49 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 12 nodes delegated out of 586 nodes with 4 partitions.
Nov 2, 2020, 3:04:57 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 12 nodes delegated out of 586 nodes with 4 partitions.

The kernet seems to restart for unkown reason.
Also, the input detail contain 3 tensors beside the image :
[{'dtype': numpy.float32,
  'index': 0,
  'name': 'input_image',
  'quantization': (0.0, 0),
  'quantization_parameters': {'quantized_dimension': 0,
   'scales': array([], dtype=float32),
   'zero_points': array([], dtype=int32)},
  'shape': array([   1, 1024, 1024,    3], dtype=int32),
  'shape_signature': array([  -1, 1024, 1024,    3], dtype=int32),
  'sparsity_parameters': {}},
 {'dtype': numpy.float32,
  'index': 1,
  'name': 'input_image_meta',
  'quantization': (0.0, 0),
  'quantization_parameters': {'quantized_dimension': 0,
   'scales': array([], dtype=float32),
   'zero_points': array([], dtype=int32)},
  'shape': array([ 1, 93], dtype=int32),
  'shape_signature': array([-1, 93], dtype=int32),
  'sparsity_parameters': {}},
 {'dtype': numpy.float32,
  'index': 2,
  'name': 'input_anchors',
  'quantization': (0.0, 0),
  'quantization_parameters': {'quantized_dimension': 0,
   'scales': array([], dtype=float32),
   'zero_points': array([], dtype=int32)},
  'shape': array([     1, 261888,      4], dtype=int32),
  'shape_signature': array([    -1, 261888,      4], dtype=int32),
  'sparsity_parameters': {}}]

However the original model needs only one tensor. I tried to give all three inputs (image of size (1,1024,1024,3) and 2 zeros tensors with appropriate size but no success.
I need your help on this 👍

Update
In fact for a model with multiple inputs, you have to specify each one of them at a time like this:
interpreter.set_tensor(input_details[0]['index'], image)
interpreter.set_tensor(input_details[1]['index'], A)
interpreter.set_tensor(input_details[2]['index'], B)

But when I invoke I session crashes again.
run on CPU :

Nov 2, 2020, 3:56:23 PM | WARNING | WARNING:root:kernel 6841efe9-d913-4be1-9de2-c068b02ca452 restarted
-- | -- | --
Nov 2, 2020, 3:56:23 PM | INFO | KernelRestarter: restarting kernel (1/5), keep random ports
Nov 2, 2020, 3:52:45 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 0 nodes delegated out of 25 nodes with 0 partitions.
Nov 2, 2020, 3:52:45 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 0 nodes delegated out of 3 nodes with 0 partitions.
Nov 2, 2020, 3:52:45 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 12 nodes delegated out of 586 nodes with 4 partitions.
Nov 2, 2020, 3:47:25 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 0 nodes delegated out of 25 nodes with 0 partitions.
Nov 2, 2020, 3:47:25 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 0 nodes delegated out of 3 nodes with 0 partitions.
Nov 2, 2020, 3:47:25 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 12 nodes delegated out of 586 nodes with 4 partitions.
Nov 2, 2020, 3:46:45 PM | INFO | Adapting to protocol v5.1 for kernel 6841efe9-d913-4be1-9de2-c068b02ca452
Nov 2, 2020, 3:40:47 PM | WARNING | TfLiteFlexDelegate delegate: 0 nodes delegated out of 25 nodes with 0 partitions.
Nov 2, 2020, 3:40:47 PM | WARNING | INFO:
Nov 2, 2020, 3:40:47 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 0 nodes delegated out of 3 nodes with 0 partitions.
Nov 2, 2020, 3:40:47 PM | WARNING | INFO: TfLiteFlexDelegate delegate: 12 nodes delegated out of 586 nodes with 4 partitions.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.894074: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor arg8 that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.894064: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor mask_rcnn/mrcnn_detection/map/while/strided_slice that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.894053: I tensorflow/lite/tools/optimize/quantize_weights.cc:211] Skipping quantization of tensor arg7 because it has fewer than 1024 elements (1).
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.894036: I tensorflow/lite/tools/optimize/quantize_weights.cc:211] Skipping quantization of tensor arg6 because it has fewer than 1024 elements (4).
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.893950: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor arg4 that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430175: I tensorflow/lite/tools/optimize/quantize_weights.cc:220] Skipping quantization of tensor mask_rcnn/roi_align_mask/concat because it has no allocated buffer.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430166: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor mask_rcnn/roi_align_mask/strided_slice_182 that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430151: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor mask_rcnn/mrcnn_detection/ArgMax that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430142: I tensorflow/lite/tools/optimize/quantize_weights.cc:220] Skipping quantization of tensor mask_rcnn/mrcnn_detection/clipped_boxes because it has no allocated buffer.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430133: I tensorflow/lite/tools/optimize/quantize_weights.cc:211] Skipping quantization of tensor mask_rcnn/mrcnn_detection/GatherNd because it has fewer than 1024 elements (1000).
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430124: I tensorflow/lite/tools/optimize/quantize_weights.cc:203] Skipping quantization of tensor mask_rcnn/mrcnn_detection/strided_slice_28 that is not type float.
Nov 2, 2020, 3:38:49 PM | WARNING | 2020-11-02 14:38:49.430114: I tensorflow/lite/tools/optimize/quantize_weights.cc:211] Skipping quantization of tensor mask_rcnn/mrcnn_detection/GatherNd because it has fewer than 1024 elements (1000).

Your help is much appreciated :D

If I have CUDA enabled with select ops on some models in tflite I get a crash inside a lambda function called from CopyFromBufferHandle, never if it's disabled
I'm testing tflite on desktop before moving to mobile. Have tried it with r2.4 will try to test with r2.7


RSetMultimapCache and RListMultimapCache

There should be field-expirable versions of the multimap classes.

I think it's not hard to implement it.


Add Median,p50,p99 to python profiler

Description
Profile more metrics (than just average; also fix incorrect avg calculation)
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Thanks for the contribution. How to enable the percentile output for users? Or it comes as default?

Comes as default if chosen profiler as python


[Library manager] Please add MyOwnBricks library

Hi, Please add this new library to emulate Lego BOOST and PoweredUp devices.
https://github.com/ysard/MyOwnBricks
Thanks!

Hi @ysard. We have a new system for submitting libraries. The instructions are here:
https://github.com/arduino/library-registry#adding-a-library-to-library-manager
Please let me know if you have any questions.


Undesired transitive dependency via json simple #16

Migrate from com.googlecode.json-simple:json-simple:1.1.1 to com.github.cliftonlabs:json-simple:2.1.2 to avoid JUnit transitive dependency

Thanks a lot!!!


Add ginkgo tests to the operator

Q
A

Bug fix?
no

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets
-

License
Apache 2.0

What's in this PR?

This PR adds granular testing infrastructure to the operator using ginkgo integration tests.
Why?

Thorough testing would have caught regressions/bug like #501
Checklist

[x] Implementation tested
[x] Error handling code meets the guideline
[x] Logging code meets the guideline

Uploaded an early patch so that we can see that CircleCI can handle the increased load (due to ginkgo).

Thanks for the reviews @stoader @baluchicken


Update docs about conda envs

Fixes #398

@grallewellyn @rtapella I clarified and actually removed the first note. I realized there was no use for it (we weren't actually mentioning this below). I think the confusions regarding the default workspace environment are removed.

@emileten I actually liked the first note because I thought it was important to clarify that the default conda environment is different for each workspace and a Note is a good way to make that point
And we mention the default conda environment a couple other times throughout the docs
"MAAP users typically use the python maap-py. It's pre-installed in all workspaces, in the default conda environment."
"For example, let's assume you have a conda environment with a set of packages already installed in it (for example the pangeo environment, or another default conda environment), but it doesn't have xarray and geopandas"

@grallewellyn

I actually liked the first note because I thought it was important to clarify that the default conda environment is different for each workspace and a Note is a good way to make that point

I changed the note a little bit to stress this.


try catch for writeStagedState serialize

Even though there was ".catch" on this line, it only caught errors from setItem, so an error from serialize would be completely unhandled.
This will at least give a more helpful error message than this raw error:
RangeError: Out of memory
  at stringify([native code])
  at writeStagedState(node_modules/redux-persist/lib/createPersistoid.js:90:48)
  at processNextKey(node_modules/redux-persist/lib/createPersistoid.js:78:7)
  at _callTimer(node_modules/react-native/Libraries/Core/Timers/JSTimers.js:130:7)
  at apply(node_modules/react-native/Libraries/Core/Timers/JSTimers.js:383:7)
  at __callFunction(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:416:27)
  at fn(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:109:12)
  at __guard(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:364:9)
  at value(node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:108:10)
  at value([native code])

Note that this needs some testing..


mail app in windows not showing proper end date

I have the following .ics file, and always keep my raw dates in UTC so I think the right way put dates into CalendarEvent is  DtStart = new CalDateTime(ev.StartDateTimeUTC, "Utc")
 BEGIN:VCALENDAR
 PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 2.0//EN
 VERSION:2.0
 BEGIN:VEVENT
 DESCRIPTION:Blockchain for Wall Street is an annual event from the Wall St
     reet Blockchain Alliance\, presented for its membership and as a service
     to the broader industry. The WSBA is a neutral\, unbiased steward of educ
    ation and cooperation between Wall Street firms with a membership that is
    comprised of some of the most influential and seasoned technologists in
    the blockchain and distributed ledger community.
 DTEND:20171115T045900Z
 DTSTAMP:20171113T231608Z
 DTSTART:20171114T140000Z
 SEQUENCE:0
 SUMMARY:Blockchain For Wall Street
 UID:7aa68f0e-adc5-4af2-80b9-429ef1f5f193
 END:VEVENT
 END:VCALENDAR

which is generated by
   public IActionResult DownloadICS(int id)
    {
        var ev = DbContext.CryptoEvents.Find(id);
        var e = new CalendarEvent
        {
            DtStart = new CalDateTime(ev.StartDateTimeUTC, "Utc"),
            DtEnd = new CalDateTime(ev.EndDateTimeUTC, "Utc"),
            Summary = ev.Title,
            Description = ev.Summary
        };

        var calendar = new Calendar();
        calendar.Events.Add(e);
        var serializer = new CalendarSerializer(new SerializationContext());
        var serializedCalendar = serializer.SerializeToString(calendar);
        var bytes = Encoding.UTF8.GetBytes(serializedCalendar);
        var contentType = "text/calendar";
        return File(bytes, contentType, $"CRYPTOCAL_EVENT_{id}.ics");
    }

The above time start time should be 9:00 AM Eastern Standard and 11:59 PM Eastern Standard.
My Windows 10 machine is set to Eastern Time standard, so I expect when i import this file it should show the 9:00 am and 11:59 pm but instead it shows 9:00 am for start and 6:30pm for end
I just upgraded to v4.0 and had to make some adjustments to my code for it to work such as changing the namespace where CalendarEvent lives (by the way not sure why all the docs say the class is Event instead of CalendarEvent).
I also had remove Name = Components.Event as a property set on the CalendarEvent because apparently that is no longer supported/available in v4.0
It seems there is a bit of disconnect between the documentation/samples provided and the actual code in nuget.

You're importing UTC times (Z suffix on your DTSTART and DTEND). If you want to convert the UTC times to local time, you need to call ToTimeZone(). Example:
[Test]
public void StartEndTimes()
{
    const string ics = @"BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 2.0//EN
VERSION:2.0
BEGIN:VEVENT
DESCRIPTION:Blockchain for Wall Street is an annual event from the Wall St
    reet Blockchain Alliance\, presented for its membership and as a service
    to the broader industry. The WSBA is a neutral\, unbiased steward of educ
   ation and cooperation between Wall Street firms with a membership that is
   comprised of some of the most influential and seasoned technologists in
   the blockchain and distributed ledger community.
DTEND:20171115T045900Z
DTSTAMP:20171113T231608Z
DTSTART:20171114T140000Z
SEQUENCE:0
SUMMARY:Blockchain For Wall Street
UID:7aa68f0e-adc5-4af2-80b9-429ef1f5f193
END:VEVENT
END:VCALENDAR";

    var firstEvent = Calendar.Load(ics).Events.Single();
    Assert.AreEqual(new CalDateTime(DateTime.Parse("2017-11-14 14:00:00"), "UTC"), firstEvent.Start);
    Assert.AreEqual(new CalDateTime(DateTime.Parse("2017-11-15 04:59:00"), "UTC"), firstEvent.End);

    const string targetTimeZone = "Eastern Standard Time";
    var localStart = firstEvent.Start.ToTimeZone(targetTimeZone);
    var localEnd = firstEvent.End.ToTimeZone(targetTimeZone);

    Assert.AreEqual(new CalDateTime(DateTime.Parse("2017-11-14 09:00:00"), targetTimeZone), localStart);
    Assert.AreEqual(new CalDateTime(DateTime.Parse("2017-11-14 23:59:00"), targetTimeZone), localEnd);
}

I also had remove Name = Components.Event as a property set on the CalendarEvent because apparently that is no longer supported/available in v4.0

That happens automatically during construction; there's no need to do it manually.

I just upgraded to v4.0 and had to make some adjustments to my code for it to work such as changing the namespace where CalendarEvent lives (by the way not sure why all the docs say the class is Event instead of CalendarEvent).

The documentation largely targets v2. You're right, though, it does need to be updated for v3+.


Bug

Hello, thanks for helping me solve last bug about "KeyError"!
When I ran the code last night, I encountered another bug:
TypeError: backward() missing 1 required positional argument: 'optimizer_idx'

Would you mind helping me deal with it?

Hi @leaf-ygq, can you give me a few more details about this issue? Do you always get this error message or only sometimes? It looks like this is a pytorch lightning function that is causing the error. Are you using the same version of pytorch lightning as in the yml file?

Hi @EmilyAlsentzer, I always get this error message. The version of my pytorch lightning is 1.0.8. I installed the conda environment using your yml file, but it seems that the yml file loses some modules which support your code. For example, when I first ran your code, it losed pytorch lightning. So I installed it using command "pip install". Now I check the yml file in your github again, there is no informaion about pytorch lightning. Is there somthing wrong?

Thanks for catching the missing pytorch lightning package in the yml. In creating a pared down yml file, I must have forgotten to include it. I'll upload a new one ASAP, but in the meantime can you try pip install pytorch-lightning==0.7.1?

ok, thanks for your help! When I change the version of pytorch-lightning, this problem is solved.


DataStore observeQuery is slow unless AWSAPIPlugin is added

Describe the bug
DataStore observeQuery takes anywhere between 1 and 3 seconds to return new snapshot. Unless AWSAPIPlugin is added, then it works instantly
Steps To Reproduce
Steps to reproduce the behavior:
1. Follow the tutorial at https://docs.amplify.aws/start/q/integration/ios/, do NOT add AWSAPIPlugin
2. Add Amplify.DataStore.observeQuery to monitor Todos
3. Add a new Todo with Amplify.DataStore.save
4. New items take anywhere between 1 and 3 seconds to appear, visible delays
5. Add and configure AWSAPIPlugin
6. The exact same code now adds new items instantly

Expected behavior
Amplify.DataStore.observeQuery returns new items instantly in offline mode
Amplify Framework Version
2.15.0
Amplify Categories
API, DataStore
Dependency manager
Swift PM
Swift version
5.9
CLI version
12.2.0
Xcode version
15.0 Beta 4 (15A5195m)
Relevant log output
<details>
<summary>Log Messages</summary>

INSERT LOG MESSAGES HERE

```
Is this a regression?
No
Regression additional context
No response
Platforms
No response
OS Version
macOS Ventura 13.4.1
Device
iPhone Xr
Specific to simulators
No response
Additional context
No response

Calling Amplify.DataStore.stop() right before Amplify.DataStore.save fixes the issue.

We've opened a PR to address this.

https://github.com/aws-amplify/amplify-swift/pull/3214

We'll follow up to let you know once it's released.
Thanks for reporting the issue @chernushevich!

The fix for this was released in 2.25.1. Thanks again for reporting this and for your patience!


Refactor Penny code

Factor code from penny into it's own file -- server/node/boards.js or something

Moved an penny code that was in routes.js to boards.js.


addContentTypesFromHub not working and 'not supported'

In one customer tenant, the "addContentTypesFromHub" verb does not work; when it is included in a Site Script used by a Site Template, the Site Template is never applied.
Have tried applying the Site Template in the UI and via PnP.PowerShell. Even though a new Microsoft.Online.SharePoint.TenantAdministration.TenantSiteDesignTask is created, it never does any work, regardless of what else is included in the Site Script.
I'm definitely doing it correctly because the same Site Template works in another tenant without issue.
Submitted a Service Request to O365 support and was told

I would like to inform you that we are from the break-fix team and this issue requires a developer approach. Unfortunately, we do not have the expertise in this issue

and

we will be proceeding with the closure as this is out of scope of our support boundaries
and that I should seek Developer support instead.

Everything I can find suggests that rollout of the verb is complete accross all tenants, but it doesn't seem so...
Does anyone have any ideas?

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

ID: 68267476-ee8d-7b95-446b-711ddb683da2
Version Independent ID: aa099b9d-48db-5513-11c7-32c49a27e5be
Content: Site template JSON schema
Content Source: docs/declarative-customization/site-design-json-schema.md
Service: sharepoint-online
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

@sparkitect have you checked the content type publishing log? (on a site where you have tried to apply the site script)

Yikes:

That's actually normal if content types have never been synced to the site (using the old timer job). I think the log gets provisioned the first time the sync gets run on the site. I just assumed that this new method of pushing content types to the site would log any errors incurred in the same place.

Very odd. If the in-library method works correctly and there are no errors with your script, I can't see how Microsoft support wouldn't pick this up for you. This sounds like an issue with the tenant/service.

definitely, but the O365 support team hasn't a clue about Site Scripts/Templates, apparently:

That's bizarre. If you've followed the documentation and done everything correctly, then this is a server side issue. I would definitely go back to Microsoft support, as they are the only people who can deal with server side issues.

Trust me, you do NOT want to see the length of the email chain w/ them 😠

I didn't want to have to do this, but I must now call upon the powers that be
and beg for their assistance in my time of great need:
@VesaJuvonen - Master of Masters 🎓
@PopWarner - Speaker of the Air🌊
@hugoabernier - Coder of the Masses 👩💻
@patrick-rodgers - Striker of Many Pins 🎳
With your powers combined, etc.


Reversed mixbox layout for OLED

Hi, I am finding a way to get a reversed layout for the OLED. the picture attached is the layout I hope to achieve

I should be able to get this done for you.  When I have a bit of time I will take a swing at it.

I should be able to get this done for you. When I have a bit of time I will take a swing at it.

Thank you, I look forward to it!

Closing here, will re-open on the new GitHub if still wanted


Feature: Goal graph card display

This PR will create a goal meter on the home page with plotly.
Trello: https://trello.com/c/A0I4POG8

 Component: Dashboard / Home


Project errors exist but flutter build web works fine

Steps to Reproduce

Create a project
Introduce some error
Try running flutter build web

Expected results:
Flutter build cmd should fail due to error in project
Actual results:
flutter build web completed successfully without reporting error. See screenshot:
Note: I also tried running flutter clean before running build web

[✓] Flutter (Channel beta, 1.25.0-8.3.pre, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.25.0-8.3.pre at /Users/ayushpgupta/development/flutter
    • Framework revision 5d36f2e7f5 (2 weeks ago), 2021-01-14 15:57:49 -0800
    • Engine revision 7a8f8ca02c
    • Dart version 2.12.0 (build 2.12.0-133.7.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/ayushpgupta/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1, Build version 12A7403
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.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 1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 11.1 20C69 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 88.0.4324.96

• No issues found!

Found something interesting. The above current file is not referenced anywhere, maybe that's why its errors are ignored by flutter in release process

Hi @apgapg
Yes, this is the expected behavior while running a Dart program, if you have error in files that are not referenced by any of the files of your program then the build process will finish without problems.


extensions.html 404's

https://tableau.github.io/extensions-api/docs/interfaces/extensions.html 404's

Fixed in dev, coming in tomorrow's release.


User Management | Edit User Role as Gov Admin or Managing Users roles

https://trello.com/c/9KWSUB2k/1053-user-management-edit-user-role-as-gov-admin-or-managing-users-roles
while logged in as a gov admin, on the edit user page, there is no drop down or option to change the role of a  user

 User Management | Edit User Role as Gov Admin or Managing Users roles


Available versions

I believe this a recently added feature. Is it possible to add what version features are available in. A lot of MS docs have and APPLIES TO section at top. See: https://docs.microsoft.com/en-us/sql/t-sql/queries/from-transact-sql?view=sql-server-ver15

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

ID: 41fdade0-78f9-07b9-2c6b-1c0533d0b0d5
Version Independent ID: ef21188d-24b7-0486-f078-eb0867a11225
Content: How to Copy Existing Items to New Items - Business Central
Content Source: business-central/inventory-how-copy-items.md
Service: dynamics365-business-central
GitHub Login: @SorenGP
Microsoft Alias: sgroespe

Hello,
Thank you for your feedback! The content on Docs.microsoft.com generally reflects the latest version of Dynamics 365 Business Central unless a different version is explicitly specified.
This particular capability has been available in Business Central for a year.

Hello,
Thank you for your feedback! The content on Docs.microsoft.com generally reflects the latest version of Dynamics 365 Business Central unless a different version is explicitly specified.
This particular capability has been available in Business Central for a year.

thanks for reply, but that was kind of my point. There are 2 facotrs
It's not consistent with most of Microsoft documentation
IMHO there should be _at _least__an indication of what version a feature was intorduced in. Most people are not on latest version 9esp on-prem)
Thanks
Mark


More responsive UI

The Template studio layout should take better advantage of the screen real estate available, whenever possible.

Fixed in PR #39


Remove TimeDatum; use MarcoBaseConf.TIME_COLUMN instead

Removed TimeDatum class.
Instead, put time as one column in the metrics, whose index is specified by MacroBaseConf.TIME_COLUMN.

LGTM!

PR closed:
https://github.com/stanford-futuredata/macrobase/commit/94f8658ebcd6175bd7d4b9e4902bbdaccf9804d4


Schutzfile: update Fedora snapshots to 20220504

We need the latest golang-github-getkin-kin-openapi in order to unblock
https://github.com/osbuild/osbuild-composer/pull/1953
Signed-off-by: Ondřej Budai<EMAIL_ADDRESS>This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

I haven't updated all snapshots because:

I want to unblock Chloe's PR as soon as possible.


Don't output sensitive values

I'm using now the great TerraformTaskV3 task and the output command.
It's working fine, however the whole json is outputed to the logs, including all sensitive values.
Is it possible to hide the output, or at least the sensitive values from the output command?
Example log extract:
/__t/terraform/1.2.5/x64/terraform output -json
{
  "password": {
    "sensitive": true,
    "type": "string",
    "value": "ujYU9/R2"
  }
}

Thank you

I will look into it

Hi! Any expected timeline for hiding the sensitive values from STDOUT in the TerraformV3 task? Thanks

Hi. There is no planned release for this extension from our side at the moment, but feel free to fork and fix it, if you issue a pull request I will review it.

still an issue for us.


improve: handle trailing and duplicate / in mint urls

Description
I've been having an issue where mint urls with a trailing / will cause errors in this library as it ends up with duplicate / in the mint urls. This adds a joinUrls function to remove duplicate / when joining url instead of just appending the path to the mint url string,
The other way I thought to do this is to strip the trailing / when creating a new mint. However, since these functions are publicly exposed think its best to handle mint urls that maybe passed in with a trailing /.
...
Changes
Add: Util joinUrls
PR Tasks

[x] Open PR
[x] run npm run test --> no failing unit tests
[x] run npm run format

There is one thing that might be a footgun, which is that the mint URL can act as kind-of an ID. and by allowing this we could end up with 2 "IDs" for 1 mint, if not handled correctly by the client. one with / and one without.

Yes, I had this problem in the cashu-crab rust crate, and handle it similarly where it is up to the client to not duplicate mints.
On September 19, 2023 8:09:47 AM GMT+01:00, gandlafbtc @.***> wrote:

@gandlafbtc approved this pull request.
LGTM, Thanks for the PR!
There is one thing that might be a footgun, which is that the mint URL can act as kind-of an ID. and by allowing this we could end up with 2 "IDs" for 1 mint, if not handled correctly by the client. one with / and one without.
I still think it's better to make this the clients problem, and not the libraries. The lib should accept both :+1:


Can't search within text from Office 365 Mail

Describe the bug
I am using this package to search email containing specific text within Office 365. I am using the same code for Gmail as well. But search functionality is working fine there. So, the problem should be with Office 365. May I miss anything.
To Reproduce

Connect Office 365 using IMAP
Search into inbox folder using text($string) method.
Or use Where() Method

        $inbox->query()->where([
            ['KEYWORD' => 'Hello'],
            ['TEXT' => 'Hello']
        ])->get()->each(function ($message) use ($jd) {
            if ($message->hasTextBody()) {
                dump($message->getAttributes());
            }else {
                dump($message->getSubject());
            }
        });

Expected behavior
I should get the collection of emails containing those words. but currently an empty array is returning.
Desktop / Server

OS: Windows 11 (Local), Ubuntu 20 (Production)
PHP: 8.1.0 and 7.4.3 (Local), 7.4.3 (Production)
Version: 2.4.0

can you please share how you are able to use imap on office 365

@SuryaJD , can you describe how to use imap on office365 plz ! :D

@SuryaJD , can you describe how to use imap on office365 plz ! :D
https://www.php-imap.com/examples/oauth


flutter platform

i want to flutter platform wired style ? you have ? or you recommendation ？ think you very much

Hi, I made a flutter platform wired style recently, hope it help! It's the Flutter implementation of wired-elements. It's base on the library of flutter_rough.
flutter wired elements


API: /api/ is pointing to localhost

Now it's: {"document":"http://<IP_ADDRESS>:8001/api/document/"}
It should be: {"document":"http://jarbas.datasciencebr.com/api/document/"}
Pagination links also have this bug.

@cuducos you tried this: http://www.django-rest-framework.org/api-guide/schemas/#adding-a-schema?
We can define a schema_url for the API - http://www.django-rest-framework.org/api-guide/schemas/#schema_url

Tks @gwmoura — proxy_set_header Host $host; fixed it ; )

😉


Implement current** helpers?

Should this repo "shim" the currentPath, currentRouteName and currentURL helpers the same way we shim the visit helper (and throw in integration)?
This would allow people to import those helpers and remove them from the list of globals of the jshintrc/eslintrc.

Ya, seems good to me.


[BUG] Implementation of DTW missing the square root

Describe the bug
Hi,
First of all, thanks for the great work at aeon.
Your implementation of DTW (aeon.distances.dtw_distance) differs from the one by tslearn (tslearn.metrics.dtw) as it does not seem the apply the square root.
Steps/Code to reproduce the bug
The following returns an AssertionError:
# Imports
import numpy as np
from aeon.datasets import load_arrow_head
from aeon.distances import dtw_distance as dtw_aeon
from tslearn.metrics import dtw as dtw_tslearn
from scipy.spatial.distance import pdist, squareform
from sklearn.cluster import AgglomerativeClustering
from sklearn.metrics import adjusted_rand_score

# Load some data
X, y = load_arrow_head(return_type="numpy2d")

# Compute the distance matrix for different implementations
distance_matrix_dtw_aeon = squareform(pdist(X, dtw_aeon))
distance_matrix_dtw_tslearn = squareform(pdist(X, dtw_tslearn))

# Check if the distance matrix are the same
err_msg = "The distance matrix from DTW differs between aeon and tslearn"
assert np.allclose(distance_matrix_dtw_aeon, distance_matrix_dtw_tslearn), err_msg

The following returns True:
distance_matrix_dtw_aeon_sqrt = np.sqrt(distance_matrix_dtw_aeon)
np.allclose(distance_matrix_dtw_aeon_sqrt, distance_matrix_dtw_tslearn)

Expected results
No error is thrown
Actual results
AssertionError: The distance matrix from DTW differs between aeon and tslearn

Versions

System:
    python: 3.10.6 (main, Oct 24 2022, 11:04:34) [Clang 12.0.0 ]
executable: [/Users/my_username/opt/anaconda3/envs/my_env/bin/python](https://file+.vscode-resource.vscode-cdn.net/Users/my_username/opt/anaconda3/envs//bin/python)
   machine: macOS-10.16-x86_64-i386-64bit
Python dependencies:
pip: 22.1.2
setuptools: 59.8.0
sklearn: 0.0
aeon: 0.4.0
statsmodels: 0.14.0
numpy: 1.23.5
scipy: 1.9.3
pandas: 2.0.3
matplotlib: 3.5.3
joblib: 1.2.0
numba: 0.56.2
pmdarima: None
tsfresh: None

hi sylvian, thanks for that. Yes I think we decided to not square root to the DTW, and if I remember correctly its because not doing so makes no difference: DTW is not a metric, and the distance is used for a relative comparison, so taking square root is redundant really. I seem to remember Eamonn Keogh citing it as a possible optimisation in his "trillions" paper, but would need to look it up (and can post the link if this reference is too obscure). Thanks for pointing this out though, I'll discuss with the other developers involved in distances and see if we might want to change

Hi Tony,
Thank you for your message.
In my experiments, the square root seemed to change the scores agglomerative clustering, for example:
from sklearn.cluster import AgglomerativeClustering
from sklearn.metrics import adjusted_rand_score

def get_cluster_labels(distance_matrix, K, y_true):
    clustering_model = AgglomerativeClustering(
        n_clusters=K,
        linkage='ward',
        connectivity=distance_matrix
    )
    clustering_model.fit(distance_matrix)
    cluster_labels = clustering_model.labels_
    rand_score = adjusted_rand_score(
        labels_pred=cluster_labels, labels_true=y_true
    )
    return cluster_labels, rand_score

K = len(set(y))
cluster_labels_dtw_tslearn, rand_score_dtw_tslearn = get_cluster_labels(distance_matrix_dtw_tslearn, K, y)
cluster_labels_dtw_aeon, rand_score_dtw_aeon = get_cluster_labels(distance_matrix_dtw_aeon, K, y)
cluster_labels_dtw_aeon_sqrt, rand_score_dtw_aeon_sqrt = get_cluster_labels(distance_matrix_dtw_aeon_sqrt, K, y)

print(f"{rand_score_dtw_tslearn = :.5f}")
print(f"{rand_score_dtw_aeon = :.5f}")
print(f"{rand_score_dtw_aeon_sqrt = :.5f}")

which returns:
rand_score_dtw_tslearn = 0.01256
rand_score_dtw_aeon = -0.00640
rand_score_dtw_aeon_sqrt = 0.01256

Hi @sylvaincom thanks for the bug report!
I've been looking into this and im not sure why the results are different. They should be identical since regardless of if you take the sqrt or not the warping path remains the same. Im going to look into this further but any ideas you may have would be greatly appreciated!

hi @sylvaincom
it is all a bit odd, I dont think its usual to sqrt DTW in the first place, I've not seen it done in other implementations, Romain might have some input @rtavenar?
But really, I'm not sure why it would make any difference at all. As an aside, you can get the pairwise distance matrix directly through aeon
from aeon.distances import dtw_pairwise_distance

could try that see if it makes a difference? Probably not this, since chris has seen diferent results using sqrt and kmeans, but worth removing one possible source of error

Hi here,
Regarding tslearn, I decided to use the formulation with the square root as it seemed more natural to me. For example, when doing $k$-means, the objective on which we optimize is $\sum_k \sum_{i \in C_k} d(x_i, c_k)^2$ so if you plug DTW as your "distance" here, you expect that the DTW formulation includes the square root.
Yet, I agree with @TonyBagnall that for all algorithms based on nearest-neighbour searches, it should not change anything.

so looking at this again almost a year later, and I think fundamentally the functions are the same. This is equivalent for example
import numpy as np
import math
from aeon.datasets import load_arrow_head
from aeon.distances import dtw_distance as dtw_aeon
from tslearn.metrics import dtw as dtw_tslearn
# Load some data
X, y = load_arrow_head(return_type="numpy2d")
print("AEON =",dtw_aeon(X[0], X[1]),"TSLEARN =", dtw_tslearn(X[0], X[1]))
l1 = []
l2 = []
for i in range(0,5):
    for j in range(0,5):
        l1.append(math.sqrt(dtw_aeon(X[i], X[j])))
        l2.append(dtw_tslearn(X[i], X[j]))

print(l1)
print(l2)
err_msg = "The distance matrix from DTW differs between aeon and tslearn"
assert np.allclose(l1,l2), err_msg

I dont think this is a bug, but an open issue as to whether to take the square root or not. Still need to test the rand scores though


Documentation/usage examples

Hi,
I am interested in using and contributing to your software. I am quite expereinced with python, and I would be very happy to do my animal tracking analysis in an open source environment.
Sadly, I find it a bit difficult to get a clear understanding of your code. Would you mind adding a bit more documentation (in the form of docstrings/comments) or maybe a few usage examples?

Sure, soon I'll add an example video file and describe what the code does with the input data.

Hello,
I am also interested in understanding your code better for an project I am working on. If you could give us some more info on how to use your code on video footage I would be very thankful. At the moment I try and run it on my videos but nothing happens.
Thank you very much in advance!

I, at least, (and I beliebe @MJOvelar as well) would also be willing to help you further improve your package, if we could better get to grips with it. There are many benefits associated with documenting your code, and adding usage examples !

Thanks for reminding me. I've added sample video with usage example. Please try to follow the steps of instruction and check if it works at least on the sample video.

Hi  ,Im very interested in your project  , Im also working on my prject of rat monitoring.I got couple of questionst to ...

What is the question?

When i run the program , it shows me just half of my field ( but I’m using rat in a smaller box)
I’ve tried to change it with changing “. frame[:,w-h:w ]”
And also I’ve put 1 to HALF_AREA=1hh .
I’m using mp4 video in 30 FPS and 1280 to 720.
And also I want to count every 20 Seconds.
Is it possible to use your method in real-time.
Thank you for answer !


Passing flags to the tasks is conflicting

So.
While implementing #4, i reconsider the #29. And realized that we only should support maidfile.md (from cwd to 5 dirs up) and .maidfile.md (from cwd to 10 dirs up) by default. One more thing that appeared is that we are a bit limited with what flags maid cli can have, because we are passing flags to the tasks e.g. maid lint --fix, so --fix is going to the eslint. I realized that is a bit conflicting while i changed the --path to more meaningful --config-path which ESLint has too.
So, if not another thing, we can rename the --path to, for example, --maidfile which would be the best. Then i can PR the #4 which is pretty fantastic by the way and works.
This issue is more just informatinve and opening the discussion that may appear in future.

We definitely should have as low flags as possible. One more conflict may appear if you have bash task using git and you also want to pass the alias flag of --section which is -s and git also have -s which i extensively use always.

Could this work using the -- <flags to run task with> syntax instead, maybe automatically passing unknown flags down (with a warning).

-- task arguments seems the best solution so far.

Or treat flags before task name as maid flags, but treat arguments after the task name as task arguments:
maid --section foo lint --fix


Player ratings testing and CLI

In this PR, I've added testing to the majority of the player ratings subpackage and added a CLI.
Player rating information still requires documentation.

Added documentation. Not sure why CodeCov isn't running properly.


Fix(mssql): change mssql conn_properties type to List

Pydantic v2 or above errors when a value is passed to the conn_properties connection key:
TypeError: cannot pickle 'pydantic_core._pydantic_core.SerializationIterator' object

This PR updates the type from iterable to list, fixing this issue and matching the pymssql typing.

FYI @treysp the failing test is probably flaky, see https://github.com/TobikoData/sqlmesh/pull/3404


Install issue

invalid syntax issue at pyorg=pyorg...

is it not working?

corrected the issue. Thank you for your contribution


Code workflow

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: rogerwillis sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Request Android Storage permission automatically when they aren't available

Description of Change
When the permissions aren't available in Android API level >=23 they app now asks the user to grant the permission instead of throwing an error.
Platforms Affected

Android

Thanks for your contribution! I'll add some review comments soon.

(I'm just starting at contributing to Github projects, so if I'm doing something suboptimal I'm happy for feedback)
I created edits for doing the right thing after Permission.Granted. I'm also added the comment for RequestStorage (and used PascalCase).

@ChristianKleineidam No, it's all good. My comments were just review of the code. I'll test this change when it's merged. I will also remove checking for permission in the sample, now that the check is inside the plugin.


[DO NOT MERGE] HHH-17612 DefaultRevisionEntity: Illegal argument on static metamodel field injection

https://hibernate.atlassian.net/browse/HHH-17612
Different fix for 6.6, only preventing the log for the Envers default revision types.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license
and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion.
For more information on licensing, please check here.

Integrated in https://github.com/hibernate/hibernate-orm/pull/9343.


NUMBERS-130: Make test methods and classes package-private

Coverage remained the same at 94.254% when pulling a81dde6ab266e4d2bda4ddc714f9322a8f054165 on Schamschi:NUMBERS-130 into f2cf56fbf969b027ab1d5f1832b6dc9b5803dd3d on apache:master.


Cover master

Changes Unknown when pulling c86b6fc0fd4feb3e0511674e759e85f0b60eee70 on cover_master into ** on master**.

Changes Unknown when pulling b6548acc856ce8241f771297dd7ed907f0664ef3 on cover_master into ** on master**.

Changes Unknown when pulling c30a0d00ed57e876068adc9ba059d02657e0c0f5 on cover_master into ** on master**.

Changes Unknown when pulling c30a0d00ed57e876068adc9ba059d02657e0c0f5 on cover_master into ** on master**.


More failed information.

Now there are top level key and value as UnboxError.InvalidValue.
However, often there is a case of the cause is there in under 2nd level.
e.g.
{
  hoge: {
    id: Int <- This is required, but there is no
  }
}

Unbox tell me just hoge is invalid. I hope to know id is missing.

How did you define your Unboxable model ? Since there's an object, you should use 2 structures to define it (The 2nd level could be a Dictionary also)
E.g. using 2 structs:
struct Hoge: Unboxable {
    let id: Int

    init(unboxer: Unboxer) {
        id = unboxer.unbox("id")
    }
}

struct Model: Unboxable {
    let hoge: Hoge

    init(unboxer: Unboxer) {
        hoge = unboxer.unbox("hoge")
    }
}

do {
    let model: Model = try Unbox(json)
    model.hoge // Hoge struct
    model.hoge.id // Int
    print(model)
} catch {
    print(error)
}

We should totally improve the error reporting in this case. The error should ideally say something like:
Nested model Hoge for key "hoge" could not be decoded because the key "id" was missing.

Will work on that 👍

@bre7 Yes, I did it.
@JohnSundell Thanks. I tried to do that, in my fork, but I couldn't well...
I'm looking forward to that 😆

Related to https://github.com/JohnSundell/Unbox/issues/64, we'll start work on this soon :)

@RyogaK Error reporting is now a lot better (thanks to @Evertt), since https://github.com/JohnSundell/Unbox/pull/68. Let us know what you think!

Guys, we're having some issues with the failed information when it happens in a nested object. To give an example, check out the following model:
struct User: Unboxable {

    let car: Car

    init(unboxer: Unboxer) {
        car = unboxer.unbox("car")
    }

}

struct Car: Unboxable {

    let paint: Paint

    init(unboxer: Unboxer) {
        paint = unboxer.unbox("paint")
    }

}

struct Paint: Unboxable {

    let color: String

    init(unboxer: Unboxer) {
        color = unboxer.unbox("incorrect-key!")
    }

}

Here you'll notice that the key for Paint.color is incorrect. When attempting to Unbox a User Dictionary, this is the failure information provided:
[Unbox error] Invalid values were encountered. Errors: Invalid value ({
    paint =     {
        color = blue;
    };
}) for key (car)

Even though that is correct, the information provided is not very useful in cases where the error happened deep into the hierarchy of objects or when you have a ton of attributes in your JSON.
Something like this would me much more useful I think:
Missing key "color" on "YourApp.Paint"

I attempted to debug this and found that the missing key is actually captured and added to Unboxer.failureInfo of the Paint struct. The problem is that the info is lost as the failureInfo of the topmost Unboxer instance is what is used.
A possible solution would be to append child Unboxer.failureInfo when a failure is detected in a nested object.
Let me know your thoughts, thanks in advance!

Tried to do it myself but apparently (as I understood it) whole error reporting should be reconsidered.
I've seen discussion related to collecting of all errors in the array and I personally would prefer more monadic approach where Unbox fails as soon as it encounters the first error (it propagates it from leaf to the root gathering the context along the way to form nice errors as proposed above):
Missing key "color" on "YourApp.Paint"

I think this issue is done.
I'm very satisfied with current error reporting. Thanks a lot!


feat(modeler): add commands and update element template chooser

add commands to export the diagram as svg
overwrite template chooser css
sort element templates by name

Codecov Report
Attention: Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@8a353f2). Learn more about missing BASE report.
Report is 1 commits behind head on main.

Files
Patch %
Lines

...-modeler/src/application/useCases/displayEditor.ts
0.00%
7 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #645   +/-   ##
=======================================
  Coverage        ?   40.96%
=======================================
  Files           ?       19
  Lines           ?      598
  Branches        ?       78
=======================================
  Hits            ?      245
  Misses          ?      276
  Partials        ?       77

Flag
Coverage Δ

unittests
40.96% <0.00%> (?)

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.


Cannot create or import project from C: with vue ui

Version
3.2.3
Reproduction link
http://no.github.for.this.issue.fr
Environment info
Windows 10
Firefox or IE or Brave

Steps to reproduce
install vue cli on a window 10 desktop.
Run vue ui.
Go to  http://localhost:8000/project/select with Firefox or IE or Brave.
Go to Create or goto Import.
Clic on C: in the path input
What is expected?
The directories under C: should be listed.
What is actually happening?
Nothing appear and it is impossible to select a project in a directory under C:

Fixed in #3331


if images are partially transparent, allow their rectangles to infiltrate each other

If an image is partially transparent, the colorful part may have various shapes.
No infiltration (default):

Infiltration:

infiltrate option (Boolean, default false) passed to the Carousel component

sorry @piotr-s-brainhub we decided we won't implement this feature


Add a filter to see only nodes with GPU in dedicated nodes

blocked on: https://github.com/threefoldtech/tfgrid-sdk-go/issues/420

@ehab-hassan can you please suggest  how the new filter field will lock like ?
the current design:

Work Completed:
just tried the endpoint and walked through the current filter component
Work in Progress (WIP):
Asked help in the design from Ehab, will create a new type of filter field based on the design because the current filter field support only text fields
Investigation and Solution:
after the design is completed we may add property to the node-filter to accept the new type of fields

Blocked on the design, please open an issue for the design @ehab-hassan

@0oM4R let's keep the GPU outside the filter and make it like nodes explore

status
Work Completed:

added toggle to dedicated nodes page, pr #1376 is ready for review

Verified,
Devnet, 28d6c07.
The toggle has been added to enable GPU node filtering only.
Without toggle, the request that is being called:The https://gridproxy.dev.grid.tf/nodes?rentable=true&status=up&ret_count=true&size=10&page=1
With toggle on: https://gridproxy.dev.grid.tf/nodes?rentable=true&status=up&ret_count=true&size=10&page=1&has_gpu=true

TC2219 - List Dedicated Nodes

Verified:

Devnet
ebf75a3

filter works fine in both tabs (Rentable, Mine)


DocumentEngine: delete document order

@michael, here we delete document and then changes. Could we change order and delete changes first?
Some systems (postgresql for example) will allow delete document only after all references will be deleted.
We should also delete snapshots during this step.

👍

Someone did it already.


FFMPEG Zombie Process

Hi
thanks for openradio :)
when i'm use skip command previous ffmpeg not destroy and script start new process  how to solve this problem?

Hello there.
Can you provide more information such as what code do you have? Anyways i will investigate this issue

Hello again i'm use openradio-http without any modification

Planned to fix this issue. Gonna rewrite the CLI ones (except pulse)

FFmpeg zombie process bug should've been fixed. However, As the CLI commands is removed due to outdated, This issue remains open until the CLI utility come back.
In meanwhile, You could do npm install -g<EMAIL_ADDRESS>to install the older version of openradio where openradio CLI is not removed yet. But take a note that zombie process will remain exist on that version.