[BUG] Android 14 (API 34+): Foreground service types are required

https://developer.android.com/about/versions/14/changes/fgs-types-required
https://developer.android.com/about/versions/14/changes/fgs-types-required#media-projection
https://developer.android.com/reference/android/content/pm/ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
E/AndroidRuntime(16537): java.lang.RuntimeException: Unable to start service de.julianassmann.flutter_background.IsolateHolderService@ceb8b4b with Intent { act=START cmp=com.remotelegal.astra/de.julianassmann.flutter_background.IsolateHolderService }: java.lang.SecurityException: Starting FGS with type mediaProjection callerApp=ProcessRecord{5ba1ad5 16537:com.remotelegal.astra/u0a549} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION] any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media]
E/AndroidRuntime(16537): 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5053)
E/AndroidRuntime(16537): 	at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
E/AndroidRuntime(16537): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2390)
E/AndroidRuntime(16537): 	at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(16537): 	at android.os.Looper.loopOnce(Looper.java:232)
E/AndroidRuntime(16537): 	at android.os.Looper.loop(Looper.java:317)
E/AndroidRuntime(16537): 	at android.app.ActivityThread.main(ActivityThread.java:8501)
E/AndroidRuntime(16537): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(16537): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
E/AndroidRuntime(16537): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
E/AndroidRuntime(16537): Caused by: java.lang.SecurityException: Starting FGS with type mediaProjection callerApp=ProcessRecord{5ba1ad5 16537:com.remotelegal.astra/u0a549} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION] any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media]

We are also experiencing the same issue.

@steveseguin Question, were you trying to fix this issue with your fork? Did you succeed? https://github.com/steveseguin/flutter_background

@steveseguin Question, were you trying to fix this issue with your fork? Did you succeed? https://github.com/steveseguin/flutter_background

I hacked at it until it worked.  Part of the issue in my case was that I needed to explicitly request permission for display capture, and that also had to be approved by the Google reviewers.
I then had conflicts between Flutter plugins, as different ones needed different versions of other dependencies, and so that took further hacking to cut out the bits of the flutter_background plugin that were causing me grief.
Do a lot of testing if moving to Android 14, across a lot of devices, including Samsung.
https://github.com/steveseguin/vdon_flutter - final product.
The funny thing is, I have a new version written in react-native that I'm moving instead to, as I'm giving up on Flutter.  This was meant to be quick hold over update, and it ended up being a big headache.

@steveseguin Question, were you trying to fix this issue with your fork? Did you succeed? https://github.com/steveseguin/flutter_background

I hacked at it until it worked. Part of the issue in my case was that I needed to explicitly request permission for display capture, and that also had to be approved by the Google reviewers.
I then had conflicts between Flutter plugins, as different ones needed different versions of other dependencies, and so that took further hacking to cut out the bits of the flutter_background plugin that were causing me grief.
Do a lot of testing if moving to Android 14, across a lot of devices, including Samsung.
https://github.com/steveseguin/vdon_flutter - final product.
The funny thing is, I have a new version written in react-native that I'm moving instead to, as I'm giving up on Flutter. This was meant to be quick hold over update, and it ended up being a big headache.

Thanks, this is good information. I'm running from LiveKit's videoconferencing SDK and my app breaks the moment I throw Android SDK 34 at it. Haven't been able to fix it yet before the upcoming August deadline.

We also experienced a lot of Flutter plugin breakage when updating to Android 14/SDK 34. This background things was the most pressing issue. There is a package that supposedly handles it (https://pub.dev/packages/flutter_background_service) but it's not exactly the same as flutter_background, which I prefer as it's been great for us so far. I was hoping the way flutter_background_service implemented the FGS stuff could be done for flutter_background.

im facing this issue too.

This should be resolved now by #89, which is part of the new 1.3.0 release. Please update to the new version and let me know, if that fixes it for you.

im still facing this issue

It seems

Closed due to inactivity


Url not changes when transition to new state complete (ng2)

router.stateService.target(public.user.login') not working
router.stateService.target('public.user.login', null, { source: 'unknown' }) working perfect!
https://github.com/angular-ui/ui-router/issues/2964

We track what triggers a transition (the trigger source). When triggered by a URL change, we don't update the URL.

When we redirect a transition, we copy the .options() to the new Transition. I think this is copying the transition trigger as "url change"

The initial transition was triggered by a URL change (the initial call to .sync()).

I think the redirected transition options still has "url" as the source, but it should be something else like "redirect".

Here's where we create the redirected transition options: https://github.com/angular-ui/ui-router/blob/master/src/transition/transition.ts#L374


Problem with autochdir

In https://github.com/spf13/spf13-vim/blob/3.0/.vimrc#L85 it specifies that adding
let g:spf13_no_autochdir = 1
to my .vimrc.bundles.local will avoid vim to change directory but it is not working...
Am I doing something wrong? Can somebody check if it is working?

This solution still works as of today (04/21/15).
Created ~/.vim.bundles.local and added let g:spf13_no_autochdir = 1.
Then blew away ~/.vimswap and ~/.vimviews and restartd vim.

this worked! thanks

Thanks for your comment, but the correct configuration file name is ~/.vimrc.bundles.local NOT ~/.vim.bundles.local.
@anasiati


sqlitedict freezes when there is Error in one of the threads

When I am trying to access sqlite via sqlitedict with some unsupported type whole system freezes and it's even impossible to break it with ctrl + c.
It is happening with following stack trace:
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/home/hadoop/.vew/iab/lib/python2.7/site-packages/sqlitedict.py", line 270, in run
    cursor.execute(req, arg)
InterfaceError: Error binding parameter 0 - probably unsupported type.

It seems that there is thrown an Error in one thread, but other threads keeps working and probably hangs  in the system.

I've been investigating this today while writing test cases for #25 in particular (also your issue).
(Of course, if we just resolve the exception itself, we can negate the need to handle this specific condition).
sqlitedict uses an asynchronous "fire and forget" model:
    def execute(self, req, arg=None, res=None):
        """
        `execute` calls are non-blocking: just queue up the request and return immediately.
        """
        self.reqs.put((req, arg or tuple(), res))

Although the exception could be caught and communicated by an event/semaphore/shared variable to the MainThread, there is no place in the MainThread to identify and report it!
Just throwing this out there if anyone has any thoughts or experience in this matter.

@ziky90 if you care to test https://github.com/jquast/sqlitedict/tree/issue-24-freezes-on-InterfaceError and comment on https://github.com/piskvorky/sqlitedict/pull/28 the inner exception and stacktrace, and original outer stacktrace should be printed to ERROR log, and an exception raised in the parent thread (eventually).

Fixed by #28 .


java runtime error

Version of Boardwalk: 1.1
Version of Android: 5.1
Device model: Asus Nexus 7
Description of the problem:Error: java.lang.RuntimeException: java.lang.RuntimeException: Dex returned 6 with error:

Yeah, I have the same problem; Model: Samsung SM-G900F
Android: 5.0 Lollipop

Version of Boardwalk: 1.1
Android Version : 5.0.1
Device model : Samsung GT-I9506
Error: java.lang.RuntimeException: java.lang.RuntimeException: Dex returned 6 with error:

@zhuowei


runtime: cgocallback signature mismatch

While working on #11041, I encountered the following mismatch:
runtime/asm_amd64.s:
// cgocallback(void (*fn)(void*), void *frame, uintptr framesize, uintptr ctxt)
TEXT runtime·cgocallback(SB),NOSPLIT,$32-32

runtime/stubs.go:
func cgocallback(fn, frame unsafe.Pointer, framesize uintptr)

The assembly implementation uses the ctxt parameter. However, there are other pure Go callers (in runtime/signal*.go) that call cgocallback directly, which means that there's junk in the ctxt parameter.
It appears that the right fix is to add ctxt to the prototype and add a ctxt parameter to the Go callers. Is this right? What value should ctxt have in those calls? Guidance appreciated.
cc @ianlancetaylor

@josharian I just saw that you self-assigned this; I already sent out a CL (https://golang.org/cl/24848).

I'm delighted for the help. :)


Question And Suggestion to join Method

I have notice that when join client with ConnectListener it uses default namespace not the one the client use when they connected to the server.
which is quiet frustrating, and hard to expect such behavior since

it does not add have method of "addRoom or joinRoom on SocketIONamespace"
does not have a document (which is the real problem IMO)

of course you could use #327 method if you really need to use such namespace. but still. It is not very intuitive operation from my perspective.
Can you amend the source(it use the namespace of connected users) or generously share architectural reasons behind?
lastly, thanks for the cool project! 👍

i was joining with the default namespace object. gosh i felt stubid


RELEASE v1 process

steps:

cut a scorecard release and wait for a container image to be created and tagged with new release. Note the hash of the container as CH1. Note: we do not need a scorecard release, we can use any stable version we want.
update the hash pin in our dockerfile to use the container hash CH1 from step 1. Once the PR is merged, note the GitHub's commit hash as GH2.
3. manually trigger the workflow to generate our container image. Note the hash of the container image generated as CH3. It can be found here using the manifest's "digest".~~ ~~4. update the container image hash we use in [action.yaml:L45](https://github.com/ossf/scorecard-action/blob/main/action.yaml#L45), using the hash CH3from step 3. Once the PR is merged, note the GitHub's commit hash asGH4`.
test the new hash in a test repo we own. If successful, continue.
cut release for the action - the hash of the tagged release should be GH2.
send a PR to starter-workflows/code-scanning/scorecards.yml to update the hash to GH2 from step 4.
merge a PR to update our documentation's example workflow to use GH2.
verify on the market place that the workflow example contains GH2. (the marketplace uses main branch)

Working on capturing this content in https://github.com/ossf/scorecard-action/pull/194.

From @laurentsimon in https://github.com/ossf/scorecard-action/pull/194#discussion_r855672197:

I don't think we release on GH registry. I think it's gcr.io/openssf/scorecard instead. Should be accessible by anyone

Closed with https://github.com/ossf/scorecard-action/pull/194.


Tile 22543 on 20231122

Bundle of fibers at z=1 in petal 1.
Similar to issues observed previously, but tile marked as unsure to safe.

This is the usual z1 CTE issue and can be marked good, thanks!

Ok, first time I am seeing it in 3 days, so I guess that's good!
I'll mark this tile as good.


Fix publish for TS users

This fix will work fine with JS users and fixes the impossibility of use for TS users.
Now tsc couldn't find declarations due to index.ts doesn't have them.
Could not find a declaration file for module '@tinkoff/invest-openapi-js-sdk'. <EMAIL_ADDRESS>implicitly has an 'any' type.
  Try `npm install @types/tinkoff__invest-openapi-js-sdk` if it exists or add a new declaration (.d.ts) file containing `declare module '@tinkoff/invest-openapi-js-sdk';`ts(7016)

thanks for the PR.
I'll check it soon

Where did you get the error from?
Could you provide an instruction how i can reproduce the issue?

version 1.0.7 should fix the problem
commit d00c99cf2edaedaffd6d0a1cdd6e405333bd8da4

Great, thanks!


Make the code more scala-like and less java-like

Right now the code is more like Java. Not enough programming that separates it from Java libs.

@TsundereBug I'll try to solve it!

Hello! I was looking for hacktoberfest projects to contribute to and saw this issue. One thing I noticed was that your test folder has a single main file for testing instead of using something like scalatest.
If you're not opposed to scalatest and helping me understand what the code in the test folder should be testing for; I'm happy to open up a PR with a test added in if you'd like. Otherwise I'm just going to look around the codebase to see if there's anything I see that can be made more "scala-y" that I can spot

Are there any files in particular you were hoping to make more scala-like? Looking around, I can see things like this (OTFArray):
override def length(b: ByteAllocator): UInt = elems.map(_.length(b)).toArray.qsum

Which could be rewritten to not use qsum at all and avoid creating a new sequence that gets turned into an array for use by said method by using foldLeft:
override def length(b: ByteAllocator): UInt = elems.foldLeft(UInt(0)) {
  	case (accum, elem) => accum + elem.length(b)
  }

(I'm not familiar with Spire, but I assume that this is similar functionality?). Is this something you'd consider in line with this Issue?
Similar to the above, you can do the same with the other method in that file:
override def getBytes(b: ByteAllocator): Array[UByte] = elems.flatMap(_.getBytes(b)).toArray

Could become:
  override def getBytes(b: ByteAllocator): Array[UByte] = elems.foldLeft(Array.empty[UByte]) {
  	case (accum, elem) => accum ++ elem.getBytes(b)
  }

I can look around and make a PR for this if that fits what you're looking for

Yes, switching to scalatest and what you show in your last comment is the type of stuff I am looking for :) Glad you're excited to help @EdgeCaseBerg

Happy to help @TsundereBug!
I have some plans tonight that might keep me away from my computer but I'll try to do some of the stuff I mentioned when I can tonight if possible and tomorrow if not today.

Fixed by #7 and #9. Code is more defining and less of a java lib. It has a style now that sets it apart from a standard java lib.


Dark+ color theme is more colorful on Linux than on Windows

vscode version: 1.25
system: Manjaro x86_64, Windows 10 x86_64
I found that Dark+ theme is more colorful on Linux than on Windows.
The theme on Linux:

And the theme on Windows 10:

Why there are differences? It would be nice to make Dark+ look same on both systems.

Looks like you have a brackets colorized extension installed on your linux system but not on windows

@mjbvz I see, thank you very much!


change spacing to 4 spaces in pure tf tutorial

all other code has 2 spaces

I think we should standardize on 2 spaces for consistency with TensorFlow, especially now that this repository lives in the TensorFlow organization.

I don't have a strong opinion, but PEP8 says python should have 4 spaces (and all non-google python code I'm aware of uses 4). Do you see any benefits of going to 2 spaces?

actually I'm confused by @npapernot 's earlier comment; it looks like most of CleverHans has 4 spaces

My bad. This was a mistake, I meant to say that most of the code base has 4 spaces, but the tutorial has 2 spaces.
I don't have a preference towards 2 or 4 spaces and am happy to use either.


Investigating Moving Jackson Deserialization Into a Separate Package

Azure Core has a Service Provider Interface (SPI) for the deserializer it uses. It should be investigated whether the Jackson implementation of this SPI could be moved into another module, allowing for the removal of Jackson as a dependency in Azure Core. This would greatly reduce the possibility of dependency conflicts due to Jackson as a consumer of the library could offer their own implementation with the version of Jackson they use or depend on another deserializer such as GSON.

[ ] Investigate the changes requires for SerializerAdapter and if JacksonAdapter could be moved into the new module.

[ ] Would this need a SPI itself?

[ ] Create a separate module for the Jackson implementation and make this the default for all downstream libraries to maintain backwards compatibility.
[ ] Research other serializer implementation and determine cost-benefit for offer other options for consumers of the SDK.

Closing as JacksonAdapter is part of the public API and cannot be moved.


[abseil] Link failure when using clang on Windows (unknown argument '-ignore:4221')

Host Environment

OS: Windows x64
Compiler: cl 19.32.31329, clang 14.0.5
vcpkg: master (at the time of writing 91393faf123c4f1d22ef3dbfb4ec03531bac907a)

To Reproduce
Install the abseil package and attempt to link it when using clang.
I have created a repository for reproduction: https://github.com/PigeonF/vcpkg-abseil-ignore-4221
Failure logs
See the readme of the linked repository. clang fails to link the executable, with the error clang: error: unknown argument: '-ignore:4221'
Additional context
This is the same issue as #13945.
I think the issue is that vcpkg builds abseil with cl, which leads to the -ignore:4221 flag being added to the linkflags (https://github.com/abseil/abseil-cpp/blob/lts_2021_11_02/absl/copts/AbseilConfigureCopts.cmake#L55-L58), but the library is consumed from clang.
I do not know if this is an issue with abseil itself, the vcpkg port, or me "mixing" clang and cl.
As mentioned in the reproduction repository, the build is fixed if all references to -ignore:4221 are removed from vcpkg_installed\x64-windows\share\absl\abslTargets.cmake
config-x64-windows-rel-out.log
patch-x64-windows-0-out.log
config-x64-windows-dbg-out.log

/cc @Neumann-A because he is currently working on clang-cl

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.

I believe you shouldn't use triplet x64-windows when using clang on Windows because x64-windows uses msvc on Windows by default.

Sir so what should we use?

I believe this issue should be fixed by the upstream since -ignore:4221 is exported by the internal cmake.


Not able to detect newly installed conda env.

Reported on the marketplace
TODO:

Check if python extension supports this.
This can be achieved (by monitoring the conda environments.txt file)

It's not supported at the moment.

monitoring the conda environments.txt file

Is it an officially supported way to detect new environments (is it documented anywhere)?
Is the newly installed conda environment detected with an interpreter refresh via the button on the interpreter quickpick?

Is it an officially supported way to detect new environments (is it documented anywhere)?

The Python extension used this for a while in the past, and Visual Studio team as well.

is it documented anywher

FYI - I'm not suggesting treating this file as the single source of truth at all.
My suggestion is:

Assume this file is empty
If there are changes to this file, then trigger a refresh of conda environments.

Is the newly installed conda environment detected with an interpreter refresh via the button on the interpreter quickpick?

Yes

The Python extension used this for a while in the past, and Visual Studio team as well.

Sorry, I meant to ask, is it officially supported anywhere in the Conda documentation? If not then it's a workaround, and we are moving away from those, even though we've used them before.
If a manual interpreter refresh works then it works as intended.

Closing this since it's not officially documented in the Conda documentation, and is instead relying on an implementation detail.


Database in lamindb doesn't seem to be recognized

Here the Lamin instance is using cl, but the API still uses ca.

Also, why isn't cl the default even outside of lamindb, I thought the first one in the yaml is used?

Looks like they're ordered alphabetically in the local.yaml?
  14   │   ca:
  15   │     name: Human Cell Atlas Ontology
  16   │     versions:
  17   │       2022-12-16: https://www.ebi.ac.uk/ols/ontologies/hcao/download
  18   │     website: https://github.com/HumanCellAtlas/ontology
  19   │   cl:
  20   │     name: Cell Ontology
  21   │     versions:
  22   │       2022-08-16: http://purl.obolibrary.org/obo/cl/releases/2022-08-16/cl.owl
  23   │       2023-02-15: http://purl.obolibrary.org/obo/cl/releases/2023-02-15/cl-base.owl
  24   │     website: https://obophenotype.github.io/cell-ontology/

def create_local(overwrite: bool = True) -> None:
    """If _local.yaml doesn't exist, copy from versions.yaml and create it.

    Args:
        overwrite: Whether to overwrite the current _local.yaml .
    """
    if not _LOCAL_PATH.exists() or overwrite:
        versions = load_yaml(VERSIONS_PATH)

        write_yaml(versions, _LOCAL_PATH)

This is pretty simple though... I'll need to learn where the alphabetical order is coming from

pyyaml dumps things alphabetically by default :face_exhaling:
sort_keys=False

Got it! Thank you for spotting it so quickly!
But why does it create a lamindb instance with the cl?

Maybe it's using an old _current.yaml? What's the content of it?


Accidentally closing all tabs

I found a pretty nasty issue where I open the dialog, search, tap arrow down to select; at which moment ALL my tabs would be closed. Happened a few times before I understood.
To reproduce;

configure "Close all displayed tabs shortcut" as nothing (no ctrl/shift/alt, and empty text box in the end) (I did this as I was afraid accidentally hitting this and losing all my open tabs)
open dialog
tap arrow down (or likely; any key) -> all tabs close.

Think I even saw a negative comment in the user feedback (chrome web store) on this.
Is there a way to disable the keyboard shortcut to close all tabs?

Exactly this happend to me too. Except that I hit the space key, which then closed all tabs.
To workaround this I did configure "Close all displayed tabs shortcut" to require all special keys and some bogus key, which I'll never hit.
So a way to disable this (or all) keyboard shortcuts would be nice.

Me too. I thought unchecking would deactivate the function all together. BUT, now we know :-D

#148 #183 #208  All issues are related to same lines of code.


Rust to rust bindings

Hi, I have two rust crates, A and B. Both are being built with wasm32-unknown-unknown. B exposes an API using wasm-bindgen. Is there any way to import that API in A, without "manually" re-writing the same bindings and go through javascript? I would still like them to be run as two different .wasm modules in the browser.

The point of #[wasm_bindgen] is to expose it to JS, if you don't need to expose it to JS, you can just use extern "C" and call it directly.
See the example in the guide.


x/tools/cmd/godoc: playground "Pop out" link on home page is broken

Using Chrome on Linux/X11, visit https://golang.org/.
Click the Pop-out button above the Playground. Nothing happens.
Click the browser' Reload button.
A modal dialog appears, saying "golang.org says server error, try again"

Chromium is affected too.

/cc @broady - Re-emergence of https://github.com/golang/go/issues/19373 ?

Duplicate of #28816

#28793
Duplicate of #28816

I think it's the other way around.

Dupe of #28134.


uvw::CheckEvent is never fired in DEFAULT loop mode.

The following test code hangs but no output occurs. A run through with lldb/gdb prove the callback is never hit.
#include <iostream>

#include "uvw.hpp"

using namespace std;

int main() {
	auto loop = uvw::Loop::getDefault();
	auto handle = loop->resource<uvw::CheckHandle>();

	handle->on<uvw::ErrorEvent>([](const auto &, auto &) {
		cerr << "ERROR" << endl;
	});

	handle->on<uvw::CheckEvent>([](const auto &, auto &) {
		cerr << "poll" << endl;
	});

	handle->start();

	loop->run();
}

Running with NOWAIT, as in the tests, correctly show poll once, but the tests don't check an actual loop.
loop->run<uvw::Loop::Mode::NOWAIT>();

I'll submit a failing test case.

When loop mode is default, startCallback() in check.hpp will never get hit, but since the handle is active the loop will run indefinitely.

Switching out the loop run with:
    for (int i = 0; i < 100; i++) {
        std::cerr << "loop " << i << std::endl;
        loop->run<uvw::Loop::Mode::ONCE>();
    }

Outputs loop 0 and then hangs.

Actually, this appears to be an issue with libuv. The following hangs as well.
#include <stdio.h>
#include "uv.h"

void on_check(uv_check_t *h) {
	puts("check");
}

int main(void) {
	uv_loop_t loop;
	uv_loop_init(&loop);

	uv_check_t ch;
	uv_check_init(&loop, &ch);
	uv_check_start(&ch, &on_check);

	uv_run(&loop, UV_RUN_DEFAULT);

	return 0;
}

I must be missing something with how checks work...

Yep. I guess this is a super weird case with libuv. It causes a deadlock - I might open a ticket over there about it.

Checks are not fired until the polling is completed
Polling occurs even if there are no descriptors to poll

Therefore, if the only active handle is a uv_check_t, the loop deadlocks immediately.
Not a bug in UVW, sorry about the noise (:


Check 2: log reduction

How to categorize this PR?

/area testing
/kind test
/priority 3
What this PR does / why we need it:
test
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

Purpose of this PR was to execute the integration tests based a certain commit.
The integration test was successful.


definitions of battery and subclasses need improvement

Description of the issue

some of the definitions are not aristotelian and / or very long.
battery is an energy storage object, but defined as a device using different chemical or physical reactions to store energy.
molten state battery has two definitions, the second being Wastes produced by households, hospitals and the tertiary sector incinerated at specific installations, on a net calorific value basis. (this is probably an accident and comes from municipal waste fuel)

Ideas of solution

A battery is an energy storage object using different chemical or physical reactions to store energy.
remove second def and definition source from molten state battery
reformulate some definitions

Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

A battery is an energy storage object using different chemical or physical reactions to store energy.

Clearly.

remove second def and definition source from molten state battery

Yes. And: The definition of molten state battery sounds very much like a liquid-metal battery.
And the def of sodium-sulphur batterie suggests, that it's a subclass of molten salt battery.
What about:

Integrate molten state battery and liquid-metal battery into one class.
make molten-salt battery a direct subclass of battery
make sodium-sulphur battery a subclass of the molten-salt battery

For the other subclasses we could change the defs like that:
flow battery:

old definition: A flow battery, or redox flow battery (after reduction–oxidation), is a type of electrochemical cell where chemical energy is provided by two chemical components dissolved in liquids contained within the system and separated by a membrane. Ion exchange (accompanied by flow of electric current) occurs through the membrane while both liquids circulate in their own respective space.
new suggestion: A flow battery is a battery in which chemical energy is provided by two chemical components dissolved in liquids contained within the system and separated by a membrane. Ion exchange (accompanied by flow of electric current) occurs through the membrane while both liquids circulate in their own respective space.
alternative term: redox flow battery

lithium-ion battery:

Old definition: _A lithium-ion battery or Li-ion battery (abbreviated as LIB) is a type of rechargeable battery [...] In the batteries lithium ions move from the negative electrode to the positive electrode during discharge and back when charging. Li-ion batteries use an intercalated lithium compound as one electrode material, compared to the metallic lithium used in a non-rechargeable lithium battery. _
New suggestion: A lithium-ion battery is a battery that is rechargeable and in which lithium ions move from the negative electrode to the positive electrode during discharge, and back when charging. Li-ion batteries use an intercalated lithium compound as one electrode material.
alternative terms: Li-ion battery, LIB

sodium-ion batteries

old definition: Sodium-ion batteries (SIB) are a type of rechargeable metal-ion battery that uses sodium ions as charge carriers.
New suggestion: _A sodium-ion battery is a rechargable metal-ion battery that uses sodium ions as charge carriers.
alternative term SIB

Integrate molten state battery and liquid-metal battery into one class.
make molten-salt battery a direct subclass of battery
make sodium-sulphur battery a subclass of the molten-salt battery

I agree. The current classification seems to be based on this wikipedia article, which defines liquid-metal batteries and sodium-sulphur batteries as special types of molten-salt batteries. molten state battery doesn't seem to exist outside of our ontology, so I agree with integrating this class into liquid-metal battery (and maybe making it a subclass of molten-salt battery).

so I agree with integrating this class into liquid-metal battery (and maybe making it a subclass of molten-salt battery).

I think, also from the current definitions, that molten-salt battery and liquid-metal battery should rather stay on the same level of detail (both direct subclasses of battery). One uses molten salt, one uses molten metal...


Please rewrote it with NET 4.5-6-7

Guys please rewrote AntiDupl with NET 4.5-6-7 for more versatile isage. I can use it on ARM (WinRT and ARM64).

It is not so simple. AntiDupl.NET depends on native code (x86, x64). So the using of any type of .NET framework can't do it compatible with ARM CPU.

@hooddy If you load up the AntiDupl.sn project in Visual Studio and change the target framework to anything newer (like .NET Framework 4.6), it compiles perfectly fine for me. At least, for me it does... after tweaking a few other settings that I forgot.

@ermig1979 ya a lil rong. almost any project coded with net 4.5-6-7 can be recompiled with options ANY CPU and it works well under ARM. But your project compiled with NET 2.0 and I can't change it as I wrote previously. S I'm ask for a lil help.

You can fork the project and change target .NET framework. Also you need to change target CPU (x86 -> ARM) in native Visual Studio projects.

@ermig1979 Я пересобрал под 4.5, но он падает.

I warned that the project contains dependencies on native x86 code. I've never checked how it works on another CPU.

@ermig1979 он падает на обычной винде не на арме.

Imo it'd be better to rebuild project with .NET Core.

With https://github.com/ermig1979/AntiDupl/commit/56b1c9b88b8c66450bdba32288b29b13e6fc126d
AntiDupl is now build with .NET 6.0.


Update main README and docs/README

This updates the primary README with missing links to the .NET framework collectors and adds the link to memory collector to the docs/README

Good catch, thanks a lot!


[Bug] [mysql] parameter  scan.incremental.close-idle-reader.enabled did not take effect

Search before asking

[X] I searched in the issues and found nothing similar.

Flink version
1.16.1
Flink CDC version
2.4.0
Database and its version
5.7.35
Minimal reproduce step
-- parameter：
set parallelism.default=3;
set execution.checkpointing.checkpoints-after-tasks-finish.enabled=true;
set scan.incremental.close-idle-reader.enabled=true;

-- sql
CREATE TABLE source(
    client_id   STRING,
    client_name STRING,
    PRIMARY KEY (client_id) NOT ENFORCED
 )WITH(
    'connector'='mysql-cdc',
    'hostname'='xx.xx.xx.xx',
    'port'='3306',
    'username'='developer',
    'password' = '******',
    'database-name'='test_xm',
    'table-name'='test_syn'
 );

CREATE TABLE sink(
    client_id   STRING,
    client_name STRING
 )WITH(
    'connector'='print'
 );

insert
into
    sink
    select
        *
    from
        source;

What did you expect to see?
it reads snapshot of table parallelly and then reads binlog of table with single parallelism.
What did you see instead?
After Finished several checkpoint, the parallelism is still 3 , and I see in the logs 'Snapshot split assigner received all splits finished, waiting for a complete checkpoint to mark the assigner finished ' , but There are still 3 tm running, how can I automatically release the other two tm?
May I ask where is the problem?
Anything else?
No response
Are you willing to submit a PR?

[x] I'm willing to submit a PR!

@leonardBang Can you help me?

@simenliuxing Please add some log when invoking signalNoMoreSplits in MySqlSourceEnumerator#assignSplits.
After the enumerator send this event, the reader should close by itself.

@ruanhang1993 Thanks for the support, I have solved it
scan.incremental.close-idle-reader.enabled=true;  should be set in the with(...) , not  in SQL CLI:


Tasks for Models

[x] Add project structure and libraries
[x] Convert Event API and model from JSON
[x] Convert Microlocation API and model from JSON
[x] Convert Track API and model from JSON
[x] Convert Session Type API and model from JSON
[x] Convert Sponsors API and model from JSON
[x] Convert Speakers API and model from JSON
[x] Convert Sessions API and model from JSON
[x] Define and correctly convert Track relationships
[x] Define and correctly convert Session relationships
[x] Define and correctly convert Speaker relationships
[x] Make event model consistent with old and new API
[x] Make track model consistent with old and new API
[x] Make speaker model consistent with old and new API
[x] Make session model consistent with old and new API
[x] Make microlocation model consistent with old and new API
[x] Make sponsor model consistent with old and new API
[x] Create Retrofit service classes to work with new API
[ ] Add orga models
[ ] Add remaining links and meta without relationships

@Shailesh351 - Session
@shreyasnbhat - Sponsors
@arp95 - Speaker

Let me refactor a little bit and then we'll work on adding relationships

I have refactored the project. Please take a look. I am currently working on Track Session relationship. Only Track to Session. Not the other way around

sure. then i am taking up the relationship between session to track

I am taking up  session to speaker relationship :+1:

IMO, whole session (to track and speaker) should be converted in one go. So please take up speaker to session relationship

There is confusion about who is taking which part.
Currently working :
@iamareebjamal : Track relationship
@Shailesh351 : Session relationship
@arp95 : speaker relationship
fine ?

Yes

@iamareebjamal  Any work for me?

@shreyasnbhat You can start adding meta and other relationship to Event class

@iamareebjamal Will do and send a PR by tonight/tomorrow.

OK

OK guys, great job @arp95 @Shailesh351 Now we need to make old and new models as close as possible. So I'll be working on track and microlocation to trim out all the unnecessary annotations to make it look like the new model as much s we can. Remember to not remove any field, just annotations

so you are talking about the @JsonProperty() fields right? any other change?
i will work on speaker and sponser sections then.

Well our goal is to be able to merge new and old models, so whatever helps in that direction. And yes, I was talking about jsonproperty

Sure. I am taking up other remaining models.
Along with it should we make old models keys according to new models ?

No, old model keys should not change. Or else the zip support will break. We'll analyze which keys are different and then report to Niranjan as he said 99% of time, same keys will be used

@iamareebjamal
there are still classes where we can remove annotations. are you working on that or i can take up that?

@iamareebjamal We don't add relationships to the event right? In all the models? Such as ApiSpeaker etc?

@shreyasnbhat
in ApiSpeaker i added a relationship with session. i dont get what you exactly mean here?

Do you mean that the relationships in the event are not present yet? Yes, it's true but soft relationships and meta is there, so you should add them

@arp95 What I mean is for example in the api/sponsors json file we have a relationship from sponsor to event. This is supposed to be added or not? As it hasn't been added and it creates a cyclic relationship.

@iamareebjamal I also wanted to ask whether to include the Tax Info as we don't have a model for that and the next question is that is it needed?

Well that's because it's an object. Don't add sponsor to event but we need meta and social links and other relationship link which were present in old models

@iamareebjamal I'll add the Links as the jackson docs say and I will add all the relationships and meta in all the models?

All other models are complete in their requirements, just the Event one isn't

@arp95 Nice job on creating the comparison of APIs. Seems like Jackson is powerful enough to parse teo different endpoint to same property https://stackoverflow.com/questions/19564711/json-jackson-parse-different-keys-into-same-field
So, even if the API have different end points, we'll make it work, but nevertheless, I'll discuss this
Furthermore, about the Event API, leave the fields which were added or removed, only the ones which were renamed. Can you include them in your doc. Thanks
Great work

@iamareebjamal sure. working on that.

@iamareebjamal The Event already has the social links and I just have to add the relationship links right?

@shreyasnbhat The problem is that it can't be parsed using the new api as of now. You need to check out https://api.eventyay.com/#events-event-details and find how we can include social links in event and then update the json and parse it in the app so that we get all the information we could from the old json format

We can get social links using included member

made changes:
Link: https://docs.google.com/document/d/1caaCeOOTIxQn2HR1Uj9r-cHXQH5hSYzzzCJpt3rkl38/edit

@iamareebjamal What you are saying is the problem of not getting the social-links in one go right? We would have to do 2 network requests to get the social links. We get the link from the links for social-links and do another request. But the old model had the social links within the json itself. So we need the included section in the event json itself right? Am I on lines with what you are saying?

Correct

@iamareebjamal  I'll just add the included section and continue adding the social-links

@iamareebjamal just to confirm in the speaker model we dont have "thumbnail" attribute?

Also we have taken everything as a string including the ids. is that intended because in the samples we are giving integer values.

It'll be converted to string automatically by Jackson. The new API has IDs in form of strings, that is why we have chosen string. However, I'll try some way to make it int

@arp95 I checked and it is a requirement of json-api converter to use string IDs. No issues, we'll add migration in the app

sure as i am working on samples, i am having a look at all fields.

Also @Shailesh351 or @shreyasnbhat, one of you should open an issue on transfer from gson to jackson in Android Repo and start the required changes. Just so the app works with the current models without any error

I am updating the docs with the anomalies in attributes i am finding, so please have a look on that occasionally too.

@iamareebjamal I don't understand why we need to transfer from gson to jackson.
How is your plan to use this open-event-android-sdk  in android project ?

Well, everything we are doing here is through jackson, not gson
The plan was to create annotation processor, but now it won't be necessary

So now what is left over here? I mean we can move back to the main project now?

Yes you can move back to the main project till Niranjan responds with what to do with diverging fields

@iamareebjamal  Should we make both the json files of the api and the older version same in terms of data for checking.

Sure, but don't invest too much time on it

@arp95 @Shailesh351 @shreyasnbhat Please start merging of models as discussed above whenever you get time

so if the attribute are different we should use the latest ones and add new attributes if there are any right?

The link I gave above gives us the ability to use same property for different attributes, so we won't need to delete anything, just add new methods and everything will work, even the old samples

Now everything is done, except some models from Orga Application, which I'll look into tomorrow. Now, we were supposed to create a library to share models, but since we need to extend models from different sources, like RealmModel in Open Event Android App and BaseModel in Orga App, I don't think it'll be possible. But next step would be to use a mock response from the server (like @arp95 made for the samples) and try to parse that with Retrofit using the jsonapi-converter. I'm a little busy for these 2 days because of festivities, but if you get time, please take a look at it

@Shailesh351 Please explain the bug you solved in list processing, I think it may be needed in the Open Event Android Parser too while parsing the static JSONs?

@iamareebjamal Look at https://github.com/iamareebjamal/open-event-android-sdk/pull/19/files#diff-101323bdb4e416731a603a3a109aba5bL55
Previous implementation for List was not correctly showing string(using toString() method). It was not actually parsing anything and  was just showing all the attributes from json file whether they are present or no in Model class. So i changed it.

Yeah, the toString was creating problems. but is there a need to add this fixes in Open Event Android App as well?

No it is not required. And also i am having feeling that we can directly change network classes and models in open event android app and it will be sufficient for migrating to JSONAPI.

@Shailesh351 well that is possible but the whole point of this project is to maintain a library which can be used in both projects.
Changing the models according to the api is an obvious approach i think.

@iamareebjamal How will using this as a library work excatly?

I was talking about the list parsing fixes @Shailesh351 made in this project, should they be added to opev android as well. About this library @arp95, it is not possible to use models from here because both projects have different base classes. So we can't make them share models

@iamareebjamal so should I work on the open-event android project and change the models according t the new api?

Sure, try to conform to the models we have created here as much as possible. And remember that we don't need to change field names, just add appropriate setters with annotations. If you add fields, please add corresponding Realm Migrations, so I'll recommend to break it in smaller PRs

@iamareebjamal was busy with the livefeed issue. The orga models are still left right? I have started working on them.

I added the ones which are available in the docs in #22

Okay so anything left for the models?

You can start adding type and relationship attributes to opev android models

@iamareebjamal on it.

@iamareebjamal as far as I see, the relationships are defined in the open event android models. Are there any other relationships which are not defined?

there needs to be added new attributes which arent there in the android part yet. take up models and open an issue there.
i am working on new attributes for session. please check the response for others and work. remember you have to modify the realm part as well.

Apart from sessions, has someone started on any other model? If no, then I am taking speakers.

I don't think anyone else is working on any other model (y)

@arp95 @Shailesh351 @rohanagarwal94 Please review the PRs and change the models in Opev Android quickly as the API is now live (except speaker part)

sure areeb. also can we start removing the old attributes?
i think as such only event model is left which i am works ng on.

I am working on adding Type, Id and relationship annotations in models. Will send PR by today


is it okay now ? ( Bengali Facts)

I run the npm run test:lint:fix on node v16. Hope it is fixed now.

even after running npm run test:lint:fix it was not fixed so I have to copy the whitespace from eng-us.js then paste it to ben-in.js.

okay

its done. sorry I didn't noticed that.


Loading the weights

How can I continue training by loading weights from the checkpoints I saved earlier?

Hi! You can use the recover argument of AllenNLP. See here. There's a bit more discussion about how to do it in this SO post.


[BUG] Ugly error when trying to pair 3 devices (where 2 out of 3 were already paired with another vault)

App version: 1.0 (build 36)
Describe the bug
I created a vault using 2 devices, my Mac and iPhone. Then I wanted to create another vault using 3 devices, 2 Macs and an iPhone.
I initiated it on the iPhone, where I already had the vault. I didn't get any warning that would suggest that it will fail because I already have a vault.
During the vault creation I got the following error:
Resharing key failed
failed to get old threshold: invalid input

(see the screenshot below)
When I deleted the old vault (it was empty) and initiated the whole process again on 3 devices, it went through without any issue.
I am only guessing that the problem is caused by the old vault still existing but maybe it was in fact something else.
To Reproduce
I haven't actually did this whole process again to test if it's reproducible, but what I did was:

Create a Vault using iPhone and a Mac (as an iPad)
Initiate creating another vault from the same iPhone, with the same Mac and another, new one

Expected behavior
If you can't create another vault with an existing one, you should get such a message and new vault creation should not be possible.
If it's not the reason, then I expect it to work.
Screenshots

Desktop (please complete the following information):

OS: macOS Sonoma 14.5 (23F79)

Smartphone (please complete the following information):

Device: iPhone 13 mini
OS: iOS 17.5.1

@gdubicki could you explain how you create a new vault after the first one?
As the error "Resharing failed" only comes up when you try to reshare an existing vault.
Creating a new vault with already used devices works

Closing, can't reproduce and no feedback


[FEATURE] Sticky Navbar

Description

Right now the navbar is not fixed
Its consume time of users
Also its bit irritating to click every time on go to top button if you want to go to top

Screenshots
Original

Additional information

I will add a colored navbar
Fixed it at the top and provide proper z-index so that its not overlap by any games card

Updated (you can also suggest the bg color )
https://github.com/ssitvit/Games-and-Go/assets/101205226/a06df73f-b979-4547-9900-ba58bba66ef8

Hi @parasss19 , I have assigned this issue to you. Kindly complete within 4 days. Good luck!


chart is out of the canvas

When hide both xAxes and yAxes together
xAxes: [{ display: false }],
yAxes: [{ display: false }]

the chart is out of the canvas. jsfiddle

I tried to adding padding using CSS, but it does not work.
You can check it by Chrome's Developer Tools:

Sometimes, the labels are also out of canvas.

+1 Facing the same issue.
Resizing in Chart 1.x was working properly for me. Now it is creating all kinds of problems.

What this probably needs is some configurable padding inside the canvas (other issues have asked for this). The problem here is that the final position of everything is not known until update is over but then a 2nd full update would be needed once the automatic padding was determined. This would not be good for performance

@etimberg This was working great in Chart V1, wonder what changed?

I'm facing the same problem. As you can see the line gets cut off an the top and also slightly on the right side. I could find a workaround when showing the y-axis, but if you hide it, you get into this problem.

:+1: for this - am trying to create really small charts (line charts in tables) and it's a pain not having any configurable padding for the drawspace!

Hello all.
I've been investigated how to make a hotfix to  solve that. I saw two strange behaviors:
1- The data breaks if have heavy changes, for example:
[0, 10, 70, 30, 20, 12, 50, 200, 200, 200, 200, 200]

2- The 'error' is always the half of the height of our borderWidth.
In second place I saw two strange padding vars inside the function 'update' of the core.layoutService:
Around the line 29 we have the function and on lines 35 and 36 we have the strange vars.
// The most important function
		update: function(chartInstance, width, height) {

			if (!chartInstance) {
				return;
			}

			var xPadding = 0;
			var yPadding = 0;

I have been seen what the function does with that vars, specially with yPadding. I couldn't se any useful calc done with yPadding. In my opinion here is the problem. We always maintain the yPadding to 0 and IMHO it was changed in another version of that file.
I didn't found where is the calc error but I have found a possible hotfix(not the best, of course) to all the people that is involved and need a solution ad-hoc for that and don't want to fork or clone the repo.
The solution is that follows and as I tell you is not a good solution but fixes the problem by the moment:
Once we have loaded the ChartJS lib, overwrite the method doing the next:
		Chart.layoutService.update = function(chartInstance, width, height) {

			if (!chartInstance) {
				return;
			}

			var xPadding = 0;
                        //NEVER PUT A PADDING BIGGER THAN THE HALF OF YOUR HEIGHT FOR EXAMPLE
                       // IF CHART HEIGHT IS 40 DON'T WRITE SOMETHING GREATER THAN 20.
			var yPadding = <HERE YOUR DESIRED PADDING>;

			var leftBoxes = helpers.where(chartInstance.boxes, function(box) {
				return box.options.position === "left";
			});
			var rightBoxes = helpers.where(chartInstance.boxes, function(box) {
				return box.options.position === "right";
			});
			var topBoxes = helpers.where(chartInstance.boxes, function(box) {
				return box.options.position === "top";
			});
			var bottomBoxes = helpers.where(chartInstance.boxes, function(box) {
				return box.options.position === "bottom";
			});

			// Boxes that overlay the chartarea such as the radialLinear scale
			var chartAreaBoxes = helpers.where(chartInstance.boxes, function(box) {
				return box.options.position === "chartArea";
			});

			// Ensure that full width boxes are at the very top / bottom
			topBoxes.sort(function(a, b) {
				return (b.options.fullWidth ? 1 : 0) - (a.options.fullWidth ? 1 : 0);
			});
			bottomBoxes.sort(function(a, b) {
				return (a.options.fullWidth ? 1 : 0) - (b.options.fullWidth ? 1 : 0);
			});

			// Essentially we now have any number of boxes on each of the 4 sides.
			// Our canvas looks like the following.
			// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and
			// B1 is the bottom axis
			// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays
			// These locations are single-box locations only, when trying to register a chartArea location that is already taken,
			// an error will be thrown.
			//
			// |----------------------------------------------------|
			// |                  T1 (Full Width)                   |
			// |----------------------------------------------------|
			// |    |    |                 T2                  |    |
			// |    |----|-------------------------------------|----|
			// |    |    | C1 |                           | C2 |    |
			// |    |    |----|                           |----|    |
			// |    |    |                                     |    |
			// | L1 | L2 |           ChartArea (C0)            | R1 |
			// |    |    |                                     |    |
			// |    |    |----|                           |----|    |
			// |    |    | C3 |                           | C4 |    |
			// |    |----|-------------------------------------|----|
			// |    |    |                 B1                  |    |
			// |----------------------------------------------------|
			// |                  B2 (Full Width)                   |
			// |----------------------------------------------------|
			//
			// What we do to find the best sizing, we do the following
			// 1. Determine the minimum size of the chart area.
			// 2. Split the remaining width equally between each vertical axis
			// 3. Split the remaining height equally between each horizontal axis
			// 4. Give each layout the maximum size it can be. The layout will return it's minimum size
			// 5. Adjust the sizes of each axis based on it's minimum reported size.
			// 6. Refit each axis
			// 7. Position each axis in the final location
			// 8. Tell the chart the final location of the chart area
			// 9. Tell any axes that overlay the chart area the positions of the chart area

			// Step 1
			var chartWidth = width - (2 * xPadding);
			var chartHeight = height - (2 * yPadding);
			var chartAreaWidth = chartWidth / 2; // min 50%
			var chartAreaHeight = chartHeight / 2; // min 50%

			// Step 2
			var verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);

			// Step 3
			var horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);

			// Step 4
			var maxChartAreaWidth = chartWidth;
			var maxChartAreaHeight = chartHeight;
			var minBoxSizes = [];

			helpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);

			function getMinimumBoxSize(box) {
				var minSize;
				var isHorizontal = box.isHorizontal();

				if (isHorizontal) {
					minSize = box.update(box.options.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);
					maxChartAreaHeight -= minSize.height;
				} else {
					minSize = box.update(verticalBoxWidth, chartAreaHeight);
					maxChartAreaWidth -= minSize.width;
				}

				minBoxSizes.push({
					horizontal: isHorizontal,
					minSize: minSize,
					box: box
				});
			}

			// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could
			// be if the axes are drawn at their minimum sizes.

			// Steps 5 & 6
			var totalLeftBoxesWidth = xPadding;
			var totalRightBoxesWidth = xPadding;
			var totalTopBoxesHeight = yPadding;
			var totalBottomBoxesHeight = yPadding;

			// Update, and calculate the left and right margins for the horizontal boxes
			helpers.each(leftBoxes.concat(rightBoxes), fitBox);

			helpers.each(leftBoxes, function(box) {
				totalLeftBoxesWidth += box.width;
			});

			helpers.each(rightBoxes, function(box) {
				totalRightBoxesWidth += box.width;
			});

			// Set the Left and Right margins for the horizontal boxes
			helpers.each(topBoxes.concat(bottomBoxes), fitBox);

			// Function to fit a box
			function fitBox(box) {
				var minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBoxSize) {
					return minBoxSize.box === box;
				});

				if (minBoxSize) {
					if (box.isHorizontal()) {
						var scaleMargin = {
							left: totalLeftBoxesWidth,
							right: totalRightBoxesWidth,
							top: 0,
							bottom: 0
						};

						// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends
						// on the margin. Sometimes they need to increase in size slightly
						box.update(box.options.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);
					} else {
						box.update(minBoxSize.minSize.width, maxChartAreaHeight);
					}
				}
			}

			// Figure out how much margin is on the top and bottom of the vertical boxes
			helpers.each(topBoxes, function(box) {
				totalTopBoxesHeight += box.height;
			});

			helpers.each(bottomBoxes, function(box) {
				totalBottomBoxesHeight += box.height;
			});

			// Let the left layout know the final margin
			helpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);

			function finalFitVerticalBox(box) {
				var minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBoxSize) {
					return minBoxSize.box === box;
				});

				var scaleMargin = {
					left: 0,
					right: 0,
					top: totalTopBoxesHeight,
					bottom: totalBottomBoxesHeight
				};

				if (minBoxSize) {
					box.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);
				}
			}

			// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)
			totalLeftBoxesWidth = xPadding;
			totalRightBoxesWidth = xPadding;
			totalTopBoxesHeight = yPadding;
			totalBottomBoxesHeight = yPadding;

			helpers.each(leftBoxes, function(box) {
				totalLeftBoxesWidth += box.width;
			});

			helpers.each(rightBoxes, function(box) {
				totalRightBoxesWidth += box.width;
			});

			helpers.each(topBoxes, function(box) {
				totalTopBoxesHeight += box.height;
			});
			helpers.each(bottomBoxes, function(box) {
				totalBottomBoxesHeight += box.height;
			});

			// Figure out if our chart area changed. This would occur if the dataset layout label rotation
			// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do
			// without calling `fit` again
			var newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;
			var newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;

			if (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {
				helpers.each(leftBoxes, function(box) {
					box.height = newMaxChartAreaHeight;
				});

				helpers.each(rightBoxes, function(box) {
					box.height = newMaxChartAreaHeight;
				});

				helpers.each(topBoxes, function(box) {
					if (!box.options.fullWidth) {
						box.width = newMaxChartAreaWidth;
					}
				});

				helpers.each(bottomBoxes, function(box) {
					if (!box.options.fullWidth) {
						box.width = newMaxChartAreaWidth;
					}
				});

				maxChartAreaHeight = newMaxChartAreaHeight;
				maxChartAreaWidth = newMaxChartAreaWidth;
			}

			// Step 7 - Position the boxes
			var left = xPadding;
			var top = yPadding;
			var right = 0;
			var bottom = 0;

			helpers.each(leftBoxes.concat(topBoxes), placeBox);

			// Account for chart width and height
			left += maxChartAreaWidth;
			top += maxChartAreaHeight;

			helpers.each(rightBoxes, placeBox);
			helpers.each(bottomBoxes, placeBox);

			function placeBox(box) {
				if (box.isHorizontal()) {
					box.left = box.options.fullWidth ? xPadding : totalLeftBoxesWidth;
					box.right = box.options.fullWidth ? width - xPadding : totalLeftBoxesWidth + maxChartAreaWidth;
					box.top = top;
					box.bottom = top + box.height;

					// Move to next point
					top = box.bottom;

				} else {

					box.left = left;
					box.right = left + box.width;
					box.top = totalTopBoxesHeight;
					box.bottom = totalTopBoxesHeight + maxChartAreaHeight;

					// Move to next point
					left = box.right;
				}
			}

			// Step 8
			chartInstance.chartArea = {
				left: totalLeftBoxesWidth,
				top: totalTopBoxesHeight,
				right: totalLeftBoxesWidth + maxChartAreaWidth,
				bottom: totalTopBoxesHeight + maxChartAreaHeight
			};

			// Step 9
			helpers.each(chartAreaBoxes, function(box) {
				box.left = chartInstance.chartArea.left;
				box.top = chartInstance.chartArea.top;
				box.right = chartInstance.chartArea.right;
				box.bottom = chartInstance.chartArea.bottom;

				box.update(maxChartAreaWidth, maxChartAreaHeight);
			});
		}

Sorry for my english, im not really good at all :P

I've opened one Issue with the code and telling that I have one branch to push here:
https://github.com/chartjs/Chart.js/issues/3332

Fixed in #3476


Docs/Build fix

Description of the Change

There was a small error in build documentation reported in the chat. This PR fixes it
Issue

None
Benefits

Fixed docs
Possible Drawbacks

None

I've checked those changes and building like that and everything looks OK. Before that I was building like that:
cd build
cmake --build . --target irohad

not it is single command:D

See https://github.com/hyperledger/iroha/pull/1871


HOW TO: bind option value to component

Dear support,
I'm using this component, and it looks absolute crazy.
There's actually only one thing I haven't understand by your examples guide, how to bind some "hidden data" like in the field value of option tag?
My example is very simple:
<select class="selectpicker" title="title" data-live-search="true" data-size="7">
    <option value="value_to_be_binded" >some text to display</option>
    ...more other values
</select>

My interess is on the field value of the option, not really on the text content shown in the selectpicker.
I would like to catch the event on select (mouse click) and get the option value field.
I've just noticed that your component JS and CSS get the info inside the select/option elements and translate them into li elements...and those values fields disappear.
I've searched with the issue tracker, but, sound strange, no one seemes have already asked this question o,o.
Thanks for your work and support,
hope that this isn't a repost :)
best regards
Luca

I am afraid it does not support this feature.
And I just resolved it by use the index in the event callback, then compare with the index of the selectpicker element.

Hello I have found a pretty easy way to get your own attributes:
$(e.target.selectedOptions[0]).attr('data-xxx')

@harlentan
thanks for your answer! :)
recently i solved like this!
In case of a bootstrap dropdown made of <ul> and <li>
//click event for generic dropdown
$('li.your_dropdown_element_class').click(function(event){
    var val = $(this).attr('value');
});

In case of bootstrap-select
//click event for select items
$('select.your_dropdown_element_class').change(function(){
    var val = $(this).find('option:selected').val();
});


Disposing Scoped Services in Blazor

In this page, it is said that:
"When a circuit ends because a user has disconnected and the framework is cleaning up the circuit state, the framework disposes of the circuit's DI scope. Disposing the scope disposes any circuit-scoped DI services that implement System.IDisposable."
Does this quote is correct?
I think, every scoped service should be disposed and IDisposable only required for unmanaged codes. Am I wrong?
Thanks in advance

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

ID: 0969556b-b77e-bdb8-8e20-fd6971be0c25
Version Independent ID: d17e4c28-ea82-0dd8-295d-19f6ada147ea
Content: ASP.NET Core Blazor SignalR guidance
Content Source: aspnetcore/blazor/fundamentals/signalr.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @abdollahkahne ... Yes, the text is correct. The remark doesn't specify anything about what the developer implemented IDisposable for. It just states that for whatever circuit-based services are disposable, they will be disposed when the circuit is cleaning up. This has to be distinguished from HTTP-request-based services that are scoped because they continue to work the same way ... recreated per HTTP-request and not per circuit. For more information, see the Blazor Server remarks for Scoped services in the table at ...
https://docs.microsoft.com/aspnet/core/blazor/fundamentals/dependency-injection#service-lifetime
Let's do this for this issue ... I'd like to make that cross-link in the topic. Leave this issue open, as it will close automatically when the PR merges. Thanks for commenting on the article.


Bellman Ford Algorithm | Graph | C++

Bellman Ford Algorithm

Used to find the shortest path to all other vertex from the source.

It works for both positive and negative weight edges.

Time Complexity: O(VE)

I would like to add this to your repo.

Yes sure! I will create a subdirectory for the same.

Make the changes in Graph Theory/Bellman Fold Algorithm

i have done this please loot at that.

Bellman Ford has been added, closing this issue now


Generate instructions test list for each version

Generate verifier instructions tck test list for each applicable version based on latest test materials.

Test :

11 : Grinder_JCK/1271
17 : Grinder_JCK/1272
19 : Grinder_JCK/1273
20 : Grinder_JCK/1275


Cluster List should show status message for clusters when provisoning

In Cluster Manager, you can see the progress of your clusters in the cluster list, e.g.

This is extremely useful - we should do the same in Dashboard.

I've added some plumbing to generically show error/transitioning text in lists and resource detail header in rancher/dashboard#3181

There was an issue where the value didn't automatically update in the cluster management cluster list. This was due to an the provisioning cluster's message not keeping in sync with the management cluster's message, which should now be fixed. Just need to test again locally

Test report:
Tested on rancher/rancher:master-head c1151f6 for RKE1 and RKE2 provisioning from Dashboard and it works as expected.
The status messages from clusters are shown:

As well as node status of given cluster:

Close.


[LUIS] Unable to connect with LUIS, repeating default response for each user input

Issue Description
I am trying to connect my bot with LUIS to make an intelligent bot, but it is unable to extract intend and giving default response for every query. I have made a sample bot "Notes" which creates note and performs operations like delete etc.
It seems its a network issue. Please help.
Code Example
var restify = require('restify');
var builder = require('botbuilder');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url);
});

// Create chat connector for communicating with the Bot Framework Service
// See https://aka.ms/node-env-var for information on setting environment variables in launch.json if you are using VSCode
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});

// Listen for messages from users
server.post('/api/messages', connector.listen());

// Create your bot with a function to receive messages from the user.
// This default message handler is invoked if the user's utterance doesn't
// match any intents handled by other dialogs.
var bot = new builder.UniversalBot(connector, function (session, args) {
    session.send("Hi... I'm the note bot sample. I can create new notes, read saved notes to you and delete notes.");

   // If the object for storing notes in session.userData doesn't exist yet, initialize it
   if (!session.userData.notes) {
       session.userData.notes = {};
       console.log("initializing userData.notes in default message handler");
   }
});

// Add global LUIS recognizer to bot
var luisAppUrl = process.env.LUIS_APP_URL || 'https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/1052644d-5df7-41db-b74d-7b320da56209?subscription-key=ae4bebb6e03744a784e48b7c89a48138&verbose=true&timezoneOffset=0&q=';
bot.recognizer(new builder.LuisRecognizer(luisAppUrl));

// CreateNote dialog
bot.dialog('CreateNote', [
    function (session, args, next) {
        // Resolve and store any Note.Title entity passed from LUIS.
        var intent = args.intent;
        var title = builder.EntityRecognizer.findEntity(intent.entities, 'Note.Title');

        var note = session.dialogData.note = {
          title: title ? title.entity : null,
        };

        // Prompt for title
        if (!note.title) {
            builder.Prompts.text(session, 'What would you like to call your note?');
        } else {
            next();
        }
    },
    function (session, results, next) {
        var note = session.dialogData.note;
        if (results.response) {
            note.title = results.response;
        }

        // Prompt for the text of the note
        if (!note.text) {
            builder.Prompts.text(session, 'What would you like to say in your note?');
        } else {
            next();
        }
    },
    function (session, results) {
        var note = session.dialogData.note;
        if (results.response) {
            note.text = results.response;
        }

        // If the object for storing notes in session.userData doesn't exist yet, initialize it
        if (!session.userData.notes) {
            session.userData.notes = {};
            console.log("initializing session.userData.notes in CreateNote dialog");
        }
        // Save notes in the notes object
        session.userData.notes[note.title] = note;

        // Send confirmation to user
        session.endDialog('Creating note named "%s" with text "%s"',
            note.title, note.text);
    }
]).triggerAction({
    matches: 'Note.Create',
    confirmPrompt: "This will cancel the creation of the note you started. Are you sure?"
}).cancelAction('cancelCreateNote', "Note canceled.", {
    matches: /^(cancel|nevermind)/i,
    confirmPrompt: "Are you sure?"
});

// Delete note dialog
bot.dialog('DeleteNote', [
    function (session, args, next) {
        if (noteCount(session.userData.notes) > 0) {
            // Resolve and store any Note.Title entity passed from LUIS.
            var title;
            var intent = args.intent;
            var entity = builder.EntityRecognizer.findEntity(intent.entities, 'Note.Title');
            if (entity) {
                // Verify that the title is in our set of notes.
                title = builder.EntityRecognizer.findBestMatch(session.userData.notes, entity.entity);
            }

            // Prompt for note name
            if (!title) {
                builder.Prompts.choice(session, 'Which note would you like to delete?', session.userData.notes);
            } else {
                next({ response: title });
            }
        } else {
            session.endDialog("No notes to delete.");
        }
    },
    function (session, results) {
        delete session.userData.notes[results.response.entity];
        session.endDialog("Deleted the '%s' note.", results.response.entity);
    }
]).triggerAction({
    matches: 'Note.Delete'
}).cancelAction('cancelDeleteNote', "Ok - canceled note deletion.", {
    matches: /^(cancel|nevermind)/i
});

// Read note dialog
bot.dialog('ReadNote', [
    function (session, args, next) {
        if (noteCount(session.userData.notes) > 0) {

            // Resolve and store any Note.Title entity passed from LUIS.
            var title;
            var intent = args.intent;
            var entity = builder.EntityRecognizer.findEntity(intent.entities, 'Note.Title');
            if (entity) {
                // Verify it's in our set of notes.
                title = builder.EntityRecognizer.findBestMatch(session.userData.notes, entity.entity);
            }

            // Prompt for note name
            if (!title) {
                builder.Prompts.choice(session, 'Which note would you like to read?', session.userData.notes);
            } else {
                next({ response: title });
            }
        } else {
            session.endDialog("No notes to read.");
        }
    },
    function (session, results) {
        session.endDialog("Here's the '%s' note: '%s'.", results.response.entity, session.userData.notes[results.response.entity].text);
    }
]).triggerAction({
    matches: 'Note.ReadAloud'
}).cancelAction('cancelReadNote', "Ok.", {
    matches: /^(cancel|nevermind)/i
});

// Helper function to count the number of notes stored in session.userData.notes
function noteCount(notes) {

    var i = 0;
    for (var name in notes) {
        i++;
    }
    return i;
}

Reproduction Steps

Expected Behavior

Actual Results

bot.dialog('CreateNote', [
    ...
]).triggerAction({
    matches: 'Note.Create',
    confirmPrompt: "This will cancel the creation of the note you started. Are you sure?"
}).cancelAction('cancelCreateNote', "Note canceled.", {
    matches: /^(cancel|nevermind)/i,
    confirmPrompt: "Are you sure?"
});

You have a confirmPrompt property in your options for triggerAction but I don't think you actually want it there as you're just trying to start the dialog.
When you say that you can't get LUIS to work, can you give an example of the conversation you're having with the bot? If you're opening with something like 'Hi', or another utterance that doesn't match to a LUIS intent then you should make sure to end your default dialog by adding session.endDialog(). You should always make sure to end your dialog, otherwise you might experience unexpected behavior.
var bot = new builder.UniversalBot(connector, function (session, args) {
    session.send("Hi... I'm the note bot sample. I can create new notes, read saved notes to you and delete notes.");

   // If the object for storing notes in session.userData doesn't exist yet, initialize it
   if (!session.userData.notes) {
       session.userData.notes = {};
       console.log("initializing userData.notes in default message handler");
   }
   session.endDialog();
});

Hi, even if Im starting my conversation with "create note", which should actually go to intend - 'CreateNote'
then also I am getting the default response. For each message its giving same default response. Please help.

@anjalirathore have you tested the utterances inside of the testing portal on LUIS? Does LUIS predict the correct intent?

Yes, I tested on LUIS and there it is working fine and hitting correct intent.

Which version of the SDK are you using? What are the contents of args from the default dialog?

Hi,
Im using 4.0.5 version of botbuilder SDK. And default response has no args parameter.
var bot = new builder.UniversalBot(connector, function (session, args) {
session.send("Hi... I'm the note bot sample. I can create new notes, read saved notes to you and delete notes.");
even if we dont pass 'args', it doesn't matter because I tried that in my home pc and its working fine. But in my office network its not working. Its not proxy issue I have checked that. I really dont understand whats going wrong.

If it's not working in your office network then this sounds like a problem you need to bring up with your IT team. At this point (and without further information) I can't provide any further assistance in the light of the latest information.
The latest version of the BotBuilder SDK is 3.9.1, we haven't yet reached 4.X.X.

I am sorry I had given npm version. I am using 3.9.1 only. So I am pretty sure its proxy issue, because I tried it outside office and it was working. So could you tell me how to set proxy for bot builder sdk? Because even after using npm config set proxy, its not working and throwing this error - "failed - 503 service unavailable"
I searched about bot builder proxy settings but couldn't find anything relevant apart from global tunnel. After using global tunnel also I'm getting some error saying - 406 not acceptable.

Im sorry about the contradiction in my comments. (Not proxy issue and then proxy issue) But I am solving this thing and getting new things. Right now I am pretty sure its a network issue but there must be something to set proxy for bot builder sdk.

Hoping that issue has been resolved, closing it. Feel free to reopen if any questions.

hi Can anybody please help me..i am also facing same issue like AnjaiRathore

@shivanichh Can you please reopen a new issue with all the details.


Sync mouse_filter property in SpinBox with internal LineEdit

Fixes #36632
The mouse_filter property of SpinBox is synchronized with SpinBox::line_edit. It was implemented by overriding Control::set_mouse_filter setter in SpinBox and forwarding p_filter of Setter::set_mouse_filter to SpinBox::set_line_edit_mouse_filter
Changes made

Change Control::set_mouse_filter to virtual method.
Override Control::set_mouse_filter as SpinBox::set_mouse_filter
Added SpinBox::_set_line_edit_mouse_filter and call it in SpinBox::set_mouse_filter and in SpinBox::SpinBox

@simpuid Are you still wanting to see this PR merged for syncing mouse filter? There are merge conflicts because your fork is very outdated.


Question about the parameterization "eps" and "x0"

Hi,
Thank you for brilliant work and code repo. I have a question regarding the parameterization. I see the default is set to "eps", where the UNet model predicts noise and calculate loss wrt the original randomly generated noise. And if it is changed to "x0", UNet model will predict the image (in latent space) and calculate loss wrt the ground truth image (in latent space). Am I understanding this correctly? But if I set it to "x0", the sample generated seemed to be very off.  Hope you can give me some ideas.
Thank you!

Hi,
Sorry for the extremely late reply. The configuration you're referencing to is part of the original LDM code, and if you want to change it you need to actually re-train a model that uses the new parametrization.
Basically, what you're trying to do now is take a network that was trained to predict noise and treat its output as if it was the x0 prediction itself. This of course creates issues.

Hi,
Sorry for the extremely late reply. The configuration you're referencing to is part of the original LDM code, and if you want to change it you need to actually re-train a model that uses the new parametrization.
Basically, what you're trying to do now is take a network that was trained to predict noise and treat its output as if it was the x0 prediction itself. This of course creates issues.

Thank you for your reply!


Fixed sorting issue with datagrid and added new build

Tasks:

[x] done
[ ] got feedback

Informations:

Q
A

Bug fix?
yes

New feature?
no

Tests pass?
none

Fixed tickets
none

Doc
none

Requires:

https://github.com/massiveart/husky/pull/508

@michaelzangerle merged but github hasnt noticed that (:


Fix a few documentation issues

Clang was issuing warnings for these when building iOS sample apps.

Just realized some of these may be fixed by #896, we can favor it if there's merge conflicts.


Add a "weight" column

Context: https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.trainers.linearsvmtrainer.options.exampleweightcolumnname?view=ml-dotnet
The idea is that we could say some rows are more important than others.
So for example:
text,isnegative,importance
You suck,1,0.9
This kind of seems bad,1,0.5

The importance column could give the model a "score" on how important this row is. We might score some rows as being "worse" or "more important" in creation of the model.

Completed in #49


Fix/single selection cursor should be pointer not arrow

Summary

single selection cursor should be pointer not arrow

Change List (commits, features, bugs, etc)

Fixed suggestions from Filipe

Related Issues

Closes IBM/carbon-addons-iot-react#259

Acceptance Test (how to verify the PR)

tests here

I think this one is just a dupe of #260


Missing Garden Seeds

Made changes that will show Missing Seeds in Garden panel under Unlocked seeds.
Missing Seeds image

Once again, great work!  Sorry I've been slow.  I will merge, I promise!

Well, it was a long ago when I created it...
I need to remember what I did :D

@BONNe are you still interested in implementing this in the near future? Or should I schedule this feature for a later release?
I am aiming for a new release in about a week.

I will try to finish it up by Wednesday.

You might want to take a look at Cookie Clicker Agronomicon.
While it hasn't received updates in a while, its way of showing obtainable seeds is actually quite nice.
As HortiCookie by @klattmose also depends on it we might run into trouble if we implemented our own solution.
Perhaps it is better to implement a similar solution, or directly load Agronomicon upon loading of CookieMonster, or absorb Agronomicon into CookieMonster as @acharvak suggests in the ReadMe.

So I checked Agronomicon, and it's implementation is much nicer. I will close this one.


Brokered AddressSpace: creation of sender link takes multiple seconds

We've done some load tests using a brokered address space, sending 500 byte messages from 300 clients, each creating an AMQP connection.
The first requests take multiple seconds. This is due to the sender link creation taking up to 12s.
(EnMasse 0.20.0 with Artemis 2.6.1 image using OpenSSL as sslProvider.)

Screenshot of a JVisualVM CPU sampling result:
Thread-4 (activemq-netty-threads), Total Time: 67.373 ms (100%), Total Time (CPU): 67.266 ms (100%):

Log output with method invocations of SaslDelegatingLogin from a local test with one sender link creation:
10:26:16,636 [SaslDelegatingLogin] login
10:26:16,647 [SaslDelegatingLogin] -writeToNetwork
10:26:16,647 [SaslDelegatingLogin] --writing 8 bytes
10:26:16,722 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:16,723 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit
10:26:16,723 [SaslDelegatingLogin] -readFromNetwork
10:26:16,730 [SaslDelegatingLogin] --read 80 bytes
10:26:16,731 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:16,731 [SaslDelegatingLogin] -writeToNetwork
10:26:16,732 [SaslDelegatingLogin] --writing 53 bytes
10:26:16,732 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:16,732 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit DONE
10:26:16,732 [SaslDelegatingLogin] performSaslSteps
10:26:16,732 [SaslDelegatingLogin] -readFromNetwork
10:26:16,812 [SaslDelegatingLogin] --read 24 bytes
10:26:16,813 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:16,813 [SaslDelegatingLogin] performSaslSteps DONE
10:26:16,813 [SaslDelegatingLogin] performConnectionOpen
10:26:16,814 [SaslDelegatingLogin] -writeToNetwork
10:26:16,814 [SaslDelegatingLogin] --writing 70 bytes
10:26:16,814 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:16,814 [SaslDelegatingLogin] -readFromNetwork
10:26:16,818 [SaslDelegatingLogin] --read 332 bytes
10:26:16,820 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:16,820 [SaslDelegatingLogin] performConnectionOpen DONE
10:26:16,820 [SaslDelegatingLogin] login DONE
10:26:16,837 [SaslDelegatingLogin] login
10:26:16,842 [SaslDelegatingLogin] -writeToNetwork
10:26:16,842 [SaslDelegatingLogin] --writing 8 bytes
10:26:16,920 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:16,921 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit
10:26:16,921 [SaslDelegatingLogin] -readFromNetwork
10:26:16,930 [SaslDelegatingLogin] --read 80 bytes
10:26:16,930 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:16,931 [SaslDelegatingLogin] -writeToNetwork
10:26:16,932 [SaslDelegatingLogin] --writing 53 bytes
10:26:16,933 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:16,933 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit DONE
10:26:16,933 [SaslDelegatingLogin] performSaslSteps
10:26:16,933 [SaslDelegatingLogin] -readFromNetwork
10:26:17,035 [SaslDelegatingLogin] --read 24 bytes
10:26:17,036 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:17,036 [SaslDelegatingLogin] performSaslSteps DONE
10:26:17,036 [SaslDelegatingLogin] performConnectionOpen
10:26:17,036 [SaslDelegatingLogin] -writeToNetwork
10:26:17,037 [SaslDelegatingLogin] --writing 70 bytes
10:26:17,039 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:17,039 [SaslDelegatingLogin] -readFromNetwork
10:26:17,041 [SaslDelegatingLogin] --read 332 bytes
10:26:17,044 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:17,044 [SaslDelegatingLogin] performConnectionOpen DONE
10:26:17,045 [SaslDelegatingLogin] login DONE
10:26:17,047 [SaslDelegatingLogin] login
10:26:17,048 [SaslDelegatingLogin] -writeToNetwork
10:26:17,049 [SaslDelegatingLogin] --writing 8 bytes
10:26:17,106 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:17,108 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit
10:26:17,109 [SaslDelegatingLogin] -readFromNetwork
10:26:17,111 [SaslDelegatingLogin] --read 80 bytes
10:26:17,112 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:17,113 [SaslDelegatingLogin] -writeToNetwork
10:26:17,119 [SaslDelegatingLogin] --writing 53 bytes
10:26:17,127 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:17,132 [SaslDelegatingLogin] chooseSaslMechanismAndSendInit DONE
10:26:17,133 [SaslDelegatingLogin] performSaslSteps
10:26:17,133 [SaslDelegatingLogin] -readFromNetwork
10:26:17,187 [SaslDelegatingLogin] --read 24 bytes
10:26:17,188 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:17,189 [SaslDelegatingLogin] performSaslSteps DONE
10:26:17,189 [SaslDelegatingLogin] performConnectionOpen
10:26:17,194 [SaslDelegatingLogin] -writeToNetwork
10:26:17,194 [SaslDelegatingLogin] --writing 70 bytes
10:26:17,194 [SaslDelegatingLogin] -writeToNetwork DONE
10:26:17,195 [SaslDelegatingLogin] -readFromNetwork
10:26:17,196 [SaslDelegatingLogin] --read 332 bytes
10:26:17,197 [SaslDelegatingLogin] -readFromNetwork DONE
10:26:17,197 [SaslDelegatingLogin] performConnectionOpen DONE
10:26:17,201 [SaslDelegatingLogin] login DONE

I wonder why login() gets called 3 times (?).

@calohmn  IIRC Artemis calls login at the initial time of connection creation, and then again once each time a session is opened.  This is obviously a bit pointless (and likely originates from how other protocols than AMQP do their authentication), but I would hope it would not normally be a bottleneck (since in general sessions are not normally created and destroyed frequently).  If this is proving to be an issue for your use case there's maybe some trickery I can do to stop Artemis trying to re-authenticate for an already authenticated connection.

@rgodfrey In general, usage of the brokered address space is not planned for now in our case. It was just part of a comparison with the standard address space concerning performance figures. And there, the difference in times for the link creation was conspicuous. With the same test setup, link creation with qpid as target took 260ms at most. So this issue is for reporting that finding.

@calohmn yeah - looking at the Artemis code it seems it may well try to re-authenticate on every link not just every session sigh.  I have a patch which I'll put up shortly that attempts to use a horrible hack to get around this issue; however really the issue should be solved in Artemis.

Believed to be fixed by #1432 - closing.


[FLINK-2431] Refactor PlanBinder/OperationInfo

PlanBinder methods were restructured to make the class more readable.
Keys are now stored as strings to simplify string-key-expression support.
Parameter retrieval was moved from PlanBinder to OperationInfo constructor, similiar to PythonOperationInfo.
This change reduces the clutter in Planbinder and allows code re-usage for operations with similar parameters.

LGTM

Will merge this...


Can not sync the note and the plugin/settings.

Hi,  Thanks for your great plugin!
I test the livesync in two Win10 device.
In device 1, it works well. I can sync the note and the plugin/settings.
In device 2, it does not work. I can not sync the note and the plugin/settings. The log is as following.
If I write in the device 1, the device 2 can change as well. But if I write in the device 2, the device 1 will not change since device 2 can not upload any information.
Plugin/setting sync is the same : 1 ->  2 ok,  2->1 not ok.

If I close the plugin/setting sync, all things work well. I don't know what happened.
Could you please help me?
Thank your again for your help and great plugin!

Thank you for asking me!
If the database is not locked in the settings dialog, Something happened in synchronizing.
Could you enable "Verbose log" in the "General Settings" and capture the logs?
(Or Open DevTools by Ctrl+Shift+I and give the screenshot on network pane like #26)

Close the issue once. Please feel free to open this again if you need anything else.


Initial CI

Similar to https://github.com/neuromation/ml-recipe-object-detection/pull/3
https://circleci.com/gh/neuromation/ml-recipe-object-detection/15
https://hub.docker.com/r/neuromation/ml-recipe-midi-generator/tags

I tested image neuromation/ml-recipe-midi-generator, it's working:
neuro run -s cpu-small -n test-generator --http 8888  neuromation/ml-recipe-midi-generator sh /project-local/jupyter.sh


Unsupported IANA encodings

Some encodings are listed as accepted into the IANA index of the used library  but are not supported for decoding.
IBM424 and IBM420 to list the ones I know of.
How do we proceed?
I will try to implement the corresponding types and extend the library to support all listed types.

#7 would shed some light on the matter. After the list is gathered, we can check for unsupported encodings and decide if we should act on that.


Use helper functions to simplify range tests

There remain a lot of tests that just use verify.referencesCountIs and don't test what those references are, but this change is big enough already.

👍


Test and verify dependencies between DocTests

How much does a state carry between examples in the same Doctest? Between DocTests in the same tests list? Between docstrings of different functions?
cross-ref gh-10

A DocTest is a collection of Examples (an Example is a single line of python code starting with>>> and a defined want and got strings).
All Examples in a DocTest share the name space, different DocTest do not.


Add support for Repositories Contents API

Gets the contents of a file or directory in a repository

Doc: https://developer.github.com/v3/repos/contents/#get-contents
Do you want to be able to manage options like ref or when it's a directory (we get a listing).
For the last one, checking the other endpoints, it seems the philosophy is to be only an API wraper.
What about the the ref option then ?

Coverage decreased (-0.3%) to 91.391% when pulling 8d4d7b34d638944fd1a71513fd9fe391581e0bb1 on EtienneDepaulis:repositories_content into 56c1f759e335d78d22e51b192a284f2e0dc2c547 on edgurgel:master.

Up to you really! I think it's fine for now and we can add later as an optional argument?

Thanks for the PR! I will release a new version soon 🎉


Canvas only GenericComponent disappears

Hello!) I want to implement canvas-only version of some tooltip:
class VisibleDataAggregationTooltip extends Component {
  constructor(props) {
    super(props)
    this.drawOnCanvas = this.drawOnCanvas.bind(this)
  }

  drawOnCanvas(ctx, moreProps) {
    drawOnCanvas(ctx, this.props, this.context, moreProps)
  }

  render() {
    return <GenericComponent
      canvasDraw={this.drawOnCanvas}
      clip={false}
      drawOnMouseMove
      drawOnPan
      drawOnMouseExitOfCanvas
    />
  }

}

So, I expect the tooltip will be visible all the time. But it is disappearing randomly when mouse leaves the canvas...

are you trying this on master?
this must have addressed the inconsistency, so it is cleared everytime mouse exits. I think it was broken in 0.6 but fixed in 0.6.1
can you try this and see if that does not break anything and also addresses this?
handleMouseLeave(e) {
	this.clearMouseCanvasOnly();
	this.triggerEvent("mouseleave", { show: false }, e);
+	this.triggerEvent("draw")
}

https://github.com/rrag/react-stockcharts/blob/master/src/lib/ChartCanvas.jsx#L382-L385
But why tooltip on canvas? I mean, when I wanted a complete canvas version I was having html tooltip in mind. using div/span.

@rrag I've tested it on master - less frequently but still same issue.

can you try this and see if that does not break anything and also addresses this?

Yep, this is fix.

I was having html tooltip in mind. using div/span.

I'm preparing for server side rendering (canvas to png) in the future... so, I'm trying to use more canvas-only elements instead of svg\html.

I'm preparing for server side rendering

why not do svg only?
https://github.com/rrag/react-stockcharts/tree/master/docs/lib/serverside
has an example I did a long time ago, might not be perfect now, but it can be fixed up.
Also out of curiosity, how would you know the height/width of a chart if you are doing server render? is it always a static dimenstions?

@rrag I do not render on the server Now, and, I believe, canvas has better performance. If so - I can:

have both canvas (for browser) and svg (for server) implementations
use only canvas components
???

Also out of curiosity, how would you know the height/width of a chart if you are doing server render

I my case I don't want to render it on server and then use it on the client (browser). I just need to provide an API that will allow to render chart to the png image for PDF-reports (or something similar):
GET /api/brokers/some-broker/eurusd/chart.png?height=123&width=456

And in the same time I want to keep my components as unversal as possible (same component for the webapp and server render)
I dont clearly figured out how to implement it with a stockcharts, but I think I can be done with https://github.com/Automattic/node-canvas . Probably I should create custom CanvasContainer and provide canvas object here

you are on the right track, I would suggest you option 1.
canvas on browser and svg on server. but that means you have to create svg versions for all your custom components, if you have a lot of custom components it would not be trivial.
good luck, let me know what you decide.

I would suggest you option 1.

What about roadmap and further versions? I saw for v0.8:

Explore removal of svg mode & all svg components completely, so this becomes a canvas only library (Tentative)

that is still tentative :)

in the next branch I am working on creating canvas based interactive components, and I have done the changes suggested earlier there


Create temp working directory for each libfuzzer invocation

We're currently processing your upload.  This comment will be updated when the results are available.


Does this package can be used to clean bower components?

You could use it for bower components when using this module programmatically. You can use the option modulesDir to change it to the name of the directory that holds bower components.


Cannot check if an enchantment is a "treasure" enchantment

There are some Minecraft enchantments that cannot be obtained from enchanting in an enchantment table. Internally there is a method to check this and I think it would be good to expose this in the Enchantment interface, so plugin developers can check if vanilla or forge added enchantments are of this type.
I'd PR this, just looking for some input to see if it should be exposed. It would probably be just Enchantment#isTreasureEnchantment

I'd be willing to add such a method. Since it's abstract enough, we don't need to expose which enchantments are treasures specifically, but the method will expose it to plugin developers. Good shout.


chore: remove zeusteam.dev from piracy, add to repo list (we aren't a piracy repo) and add Ironside to piracy list (piracy repo, hosting tweaks they aren't allowed to)

Azreal was the one to initially make the request to add our repo to the piracy list, for some background info, Azreal has harassed me and the Zeus team, even including sending false bans to major Discord servers such as the following:
Plooshi's hub (friends server)
Palera1n
r/Jailbreak
Enmity
Sileo
This is blatantly an attempt at assassinating the Zeus/Electric repo as their personal repo is dying and they take the blame out on us
They also have decided to intentionally host tweaks which either have a license which they are violating or they don't have sufficient permission to host

would love to see the tweaks i'm not allowed to host, unlike yall

would love to see the tweaks i'm not allowed to host, unlike yall

it's so obvious, if I got $1 every time that you harassed us and decided to fuck with our repo, I'd be a millionaire

love how you just avoid the subject instead of actually telling me since this is completely false

Numerous people receive emails for each message posted in this thread. Please sort this out amongst yourselves elsewhere, this seems to be a personal dispute that Canister needs no part in.

Until I see concrete proof and evidence of Ironside hosting packages that they aren't allowed to, I'm closing this issue.


Test running recipes with the development version of ESMValCore

Description

Add a nightly test on CircleCI that installs the latest development version of ESMValCore and then runs the tests and a few testing recipes that run fast and require little data. This should help with discovering backward incompatible changes early on.
Closes https://github.com/ESMValGroup/ESMValCore/issues/1636
Closes #3061
Link to test run: https://app.circleci.com/pipelines/github/ESMValGroup/ESMValTool/9085/workflows/6a8ccab1-c211-43ee-b8f5-0a534744afa6/jobs/64443
Link to documentation: https://esmvaltool--3072.org.readthedocs.build/en/3072/community/backward_compatibility.html#guidance-on-handling-backward-incompatible-changes

Before you get started

[x] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[ ] 🛠 Code is written according to the code quality guidelines
[x] 🛠 Documentation is available
[x] 🛠 Tests run successfully
[x] 🛠 The list of authors is up to date
[x] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[x] 🧪 Recipe runs successfully

To help with the number of pull requests:

🙏 We kindly ask you to review two other open pull requests in this repository

niiice :grin:

@bouweandela great work, buds! Let me know when you want me to review this - it's looking great already :beer:

Thanks for all your help @valeriupredoi!

poor @remi-kazeroni is probably dreaming recipe runs by now, I can merge this :+1:

Thanks a lot for your work @bouweandela and for the review @valeriupredoi! That's great to have this automatic testing infrastructure ready! Hopefully people will contribute a few more testing recipes soon so we could automate the detection of breaking changes in the Core early on. Code and docs look good to me as well, so I'm merging now