Big repositories take ages to load

When loading a big repository (e.g., https://github.com/guillep/pharo-core), iceberg takes minutes and minutes just to give back the control to the developer.
This freeze does not happen when the repository is created actually. Actually, executing the following will not freeze:
repository := IceRepositoryCreator new
	remote: (IceRemote url: 'git@github.com:guillep/pharo-core.git' trim);
	location: nil;
	subdirectory: 'src';
	createRepository.
repository register.

The freeze does not happen until the UI is open, because it is the UI that tries to access incomingCommits, which is a lazily initiazed property from the repository.
To calculate these incoming commits, iceberg iterates the entire history of the repository for each of the packages, making a diff between the actual MC version of each package in the image and the one in the iterated version.
This is of course visible in pharo-core because it has ~500 packages, and thousands of classes and methods.
On the one hand, this makes iceberg not usable to manage pharo sources.
On the other hand, it looks like this implementation may several problems:

first, it has a package-oriented view. It tries to assign a version per package and not per repository.
second, if the version in the image does not correspond to any version in the repo (because for example we added a method) then it will not match any version in the repository. And this means that it will end up iterating the entire history for nothing.

I think we need a simpler solution for this.

either we need to store commit ids for each MCWorkingCopy or so in the image to avoid the revwalk. But for code loaded from monticello this may never be true, and thus may never be correct.
either we just assume that code that was in the image and was not loaded from git, or even the ones there before iceberg was loaded cannot be linked automagically to a git commit. And then we need a strategy to handle this case. To me the simplest is to assume that we work on what was checked out from git, without  iterating the history.

This problem is also present when synchronizing the repository. And moreover, I found a problem in the callbacks used for this.
AlienWeakTable does not understand copyGrownBy:

in AlienWeakTable>>add:finalizing:

I'm playing adding a lazy iteration of the revwalk, like this:
IceAbstractCommitWalk>>versionsFor: package detect: conditionBlock ifNone: noneBlock

	self modifyingPackage: package.

	self commitsDo: [ :commit | | version |
		version := commit versionFor: package.
		(conditionBlock value: version)
			ifTrue: [ ^ version ] ].

	^ noneBlock value

However, it still takes 30 seconds to just check for the version of a single package.
[self
		versionsDetect: [ :version | workingCopyAncestors includes: version info  ]
		ifNone: [
			self workingCopy repositoryGroup repositories do: [ :mcRepo |
				mcRepo commitIdFor: self workingCopy ifFound: [ :commitOrTag |
					(self repository revparse: commitOrTag) versionFor: self ]
			].

			IceForeignVersion forPackage: self.
		]] timeToRun

I also noticed that the condition inside the detect looks like always answering false:
workingCopyAncestors includes: version info
In the problematic case, where there is code in the image that was not loaded from iceberg, workingCopyAncestors is a collection of MCLazyVersionInfo. However, the version that arrives to the detect is a IceMCVersionInfo. And the uuid for the first one is generated by Monticello, while the second one is generated as a SHA1 from the id of a IceCommitInfo.
Am I wrong?

On 1/10/17 6:02 AM, Guillermo wrote:

When loading a big repository (e.g.,
https://github.com/guillep/pharo-core), iceberg takes minutes and
minutes just to give back the control to the developer.
This freeze does not happen when the repository is created actually.
Actually, executing the following will not freeze:
|repository := IceRepositoryCreator new remote: (IceRemote url:
'git@github.com:guillep/pharo-core.git' trim); location: nil;
subdirectory: 'src'; createRepository. repository register. |
The freeze does not happen until the UI is open, because it is the UI
that tries to access |incomingCommits|, which is a lazily initiazed
property from the repository.
To calculate these incoming commits, iceberg iterates the entire
history of the repository for each of the packages, making a diff
between the actual MC version of each package in the image and the one
in the iterated version.
This is of course visible in pharo-core because it has ~500 packages,
and thousands of classes and methods.
On the one hand, this makes iceberg not usable to manage pharo sources.
On the other hand, it looks like this implementation may several problems:

first, it has a package-oriented view. It tries to assign a
version per package and not per repository.
second, if the version in the image does not correspond to any
version in the repo (because for example we added a method) then
it will not match any version in the repository. And this means
that it will end up iterating the entire history for nothing.

I think we need a simpler solution for this.

either we need to store commit ids for each MCWorkingCopy or so in
the image to avoid the revwalk. But for code loaded from
monticello this may never be true, and thus may never be correct.
either we just assume that code that was in the image and was not
loaded from git, or even the ones there before iceberg was loaded
cannot be linked /automagically/ to a git commit. And then we
need a strategy to handle this case. To me the simplest is to
assume that we work on what was checked out from git, without
iterating the history.

I've been advocating a project-centric approach as well ...there is a 1
to1 mapping between a Metacello project and a git repository that can be
leveraged ... I think that it takes a bit more tools work to properly
support a project-centric approach, but for working with git
repositories it is much more natural and efficient ...
There should be a Metacello project browser-like window that replaces
the Monticello Package browser, that focuses attention on the project
... I'm not sure that iceberg should be this project-centric browser,
because the "Metacello project browser" needs to support non-git
projects as well ... at least I support both in tODE --- and that is
probably beyond the scope of Iceberg, but necessary none-the-less.
Dale

This was fixed in https://github.com/npasserini/iceberg/commit/ca1790a37de75e6ed204737697e880d4339bd6d5


How to call only one time a handler event ("app.on_event") using more then one worker

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi_utils.tasks import repeat_every
from fastapi import FastAPI

app = FastAPI()

@app.on_event("startup")
@repeat_every(seconds=5, wait_first=True)
def every_five_seconds():
    print("5 seconds")

Description
When i start my application with:
uvicorn main:app --workers 4
My application is calling the handler "startup" for each worker, so the "every_five_seconds" method, is called four times in a row each five seconds.
It's possible to call it once each five seconds?
Operating System
Windows
Operating System Details
Windows 11 Version 21H2 22000.434
FastAPI Version
0.63.0
Python Version
3.9.7
Additional Context
No response

Singleton mode?

You can use gunicorn on start OP.
reference
Or use a way make sure one worker work, eg: add a unique lock for start.

Thanks for the answer, it worked for only one taks, so when the application is stopped i can make something and only do it one time.
But my problem right now is more complicated.
I'm using @repeat_every to create a task and validate an external api status, and this task should be done each 10 minutes, but i can't figure it out how to do it using server hook.

Already answer -> https://github.com/tiangolo/fastapi/issues/2425#issuecomment-734790381
This is the same question, so i will close the issue.


wrong time(zone) when using --csv

Hi,
it looks like that speedtest use a wrong locale so it shows the wrong time..
date ; speedtest --csv
Thu Apr  2 09:42:24 CEST 2020
28715,ColocationIX 10G,Berlin,2020-04-02T07:42:27.675683,59.29627495322249,34.264,23079628.174743168,4466724.81881337
speedtest --version
1.0.0

Machine parsable outputs always use UTC as the timezone.


fix(KFLUXINFRA-1129): Fix in-cluster grafana permissions

Fix in-cluster grafana permissions to allow users of rover group konflux-grafana-viewers to have view-only access to the in-cluster grafana.
Related Pull Request -

https://github.com/redhat-appstudio/infra-deployments/pull/5188

/approve
/lgtm


Update SampleJavaProjectTest.java

Task linked: CU-284fm6z Audio not playing on homepage

#284fm6z[resolved]


Git for Windows 2.19.2 was marked pre-release after the fact, contains "breaking changes"

From the release page:

EDIT November 26th 2018: marking as pre-release because of two major breakages in this version; Git for Windows v2.20.0 (which is slated for December 3rd) will fix them both.]

It may be prudent to change windows download links to point at the 2.19.1 release until 2.20 is released.

hey @dakotahawkins,
thanks for reporting this issue.
TBH, and this is totally my single opinion, I'm not sure if it would compensate the work of changing the links:

Probably the fix would be to delete the DB entry for the latest windows version (https://github.com/git/git-scm.com/blob/master/app/controllers/downloads_controller.rb#L39)
0.5. We would need to stop the daily task that updates the Downloads table
The new release is a couple of days ahead
Breaking change for already existing git-for-windows users right? If I had to bet (totally NOT based in facts), I would say the major number of users going to that link would be installing git-for-windows for the first time, and not updating

WDYT @peff ?

Breaking change for already existing git-for-windows users right? If I had to bet (totally NOT based in facts), I would say the major number of users going to that link would be installing git-for-windows for the first time, and not updating

I only realized this after I told my coworker to update his install to fix something else and he installed this version and had some issues.
I don't personally get my updates that way, so I asked him where he got it and he got it from here. I think this is where people who google it usually wind up, which is exactly what he did.

I'm not sure if it would compensate the work of changing the links

You may be right! I took a look and couldn't figure out how that worked, so I just filed an issue in case you find it worthwhile.
Thanks!

I do not think it would be a breaking change for users who already installed the 2.19.2, as the git-for-windows updater automatically suggests "updating" to 2.19.1
Because the 2.19.2 tag "was demoted to 'pre-release' status" in the git-for-windows repository, maybe the daily task would not automatically pick it up again, and thus does not have to be stopped?

@JTBrinkmann
That's good, but the updater (at least automatically checking for updates) is optional. When initially released the updater didn't work in our work environment (normal user is not an Administrator) so I never choose to install/use it.

Because the 2.19.2 tag "was demoted to 'pre-release' status" in the git-for-windows repository, maybe the daily task would not automatically pick it up again, and thus does not have to be stopped?

From what I can see, we do not filter out pre-releases, but we could, without much work I think, we would just need to look at the prerelease and/or draft field from the release object: https://developer.github.com/v3/repos/releases/#response

@pedrorijo91
You must filter when you usually update, GFW releases a lot of pre-releases.
If that the case, would re-running whatever pulls the versions get a previous version or not because what you currently have is the latest version or later than the latest official release?

solved on #1281 + https://github.com/git/git-scm.com/pull/1281#issuecomment-445159894


demo website is down

the demo website referenced in the README.md (http://hyperted.eurecom.fr/topic) is down, will it be back or should the link just be removed?

We will put it back


Long prompts problems with auto-hscroll-mode

If I set (setq auto-hscroll-mode 'current-line), any prompt that needs to be wrapped, scrolls all the way back horizontally after each action performed. It makes the edited text not visible most of the time. If I set (setq auto-hscroll-mode t), no such issues happen.
A good way to test it on a long prompt is to run dired-do-rename (R in dired) on a file with a long name.

Thanks, fixed by #345

Thanks, fixed by #345

It seems the cursor is now displayed at the end of the candidates overlay when there are candidates and the prompt is to long, do you also get this problem?

It seems the cursor is now displayed at the end of the candidates overlay when there are candidates and the prompt is to long, do you also get this problem?

I'm not sure of the exact problem but yes, the behavior is still confusing at times. I'm yet to fully reproduce and analyze the behavior I see.

I'm not sure of the exact problem but yes, the behavior is still confusing at times. I'm yet to fully reproduce and analyze the behavior I see.

If I create a long directory path names that exceed the frame width and there is no input the cursor will be displayed at the bottom, as soon as I start editing the prompt this problem disappears.

If I create a long directory path names that exceed the frame width and there is no input the cursor will be displayed at the bottom, as soon as I start editing the prompt this problem disappears.

#375 does improve this by letting the prompt wrap around in these cases.

#375 does improve this by letting the prompt wrap around in these cases.

I kept the truncation but things should work now, the display issues are gone and you can navigate the prompt without issues, also the candidates are always displayed at the left margin, I will close this but please reopen if you still encounter issues, thanks!

I kept the truncation but things should work now, the display issues are gone and you can navigate the prompt without issues, also the candidates are always displayed at the left margin, I will close this but please reopen if you still encounter issues, thanks!

The candidates work as expected but the prompt is still troublesome. My observations:

the cursor is placed after the last candidate, not on the prompt line

the input itself is not affected

if there are any candidates shown…

the prompt is always scrolled to the left, the new input is not visible
C-a / C-e do not scroll the prompt line

when the last completion candidate disappears…

the prompt gets immediately scrolled to the right, the input is now visible
C-a / C-e work correctly

The candidates work as expected but the prompt is still troublesome. My observations:

the cursor is placed after the last candidate, not on the prompt line

the input itself is not affected

if there are any candidates shown…

the prompt is always scrolled to the left, the new input is not visible
C-a / C-e do not scroll the prompt line

when the last completion candidate disappears…

the prompt gets immediately scrolled to the right, the input is now visible
C-a / C-e work correctly

Apparently I don't have the permissions to re-open this issue, so could you please do it yourself?

Apparently I don't have the permissions to re-open this issue, so could you please do it yourself?

Do you use the latest version?

Do you use the latest version?

I was sure I am (updated 6+ hours after your commit) but apparently I wasn't. Seems to be almost fine now.
Almost because when I try (setq auto-hscroll-mode t), the candidates are initially hidden until I move the cursor around (any direction does the trick, both horizontal and vertical).

I was sure I am (updated 6+ hours after your commit) but apparently I wasn't. Seems to be almost fine now.
Almost because when I try (setq auto-hscroll-mode t), the candidates are initially hidden until I move the cursor around (any direction does the trick, both horizontal and vertical).

Thanks, I had not tired to start out with a long prompt right away with that setting, I will look into that.

Thanks, I had not tired to start out with a long prompt right away with that setting, I will look into that.

This is because I added some check that is needed for horizontal completion style but as this hasn't been merged yet and the check is also wrong for the initial case anyway as you discovered I have removed it in 6cc0768de58058d92a30764ae4e71ad1716b7f19. I will leave this open this time until you close it :)

This is because I added some check that is needed for horizontal completion style but as this hasn't been merged yet and the check is also wrong for the initial case anyway as you discovered I have removed it in 6cc0768de58058d92a30764ae4e71ad1716b7f19. I will leave this open this time until you close it :)

How is it going? Did you discover anything left?

How is it going? Did you discover anything left?

I didn't have the time to check thoroughly yet but it's on top of my todo.

I didn't have the time to check thoroughly yet but it's on top of my todo.

Take your time, I'm just curious :)

Take your time, I'm just curious :)

I've updated right now and everything seems to be working in all auto-hscroll-mode modes.

I've updated right now and everything seems to be working in all auto-hscroll-mode modes.

@clemera am I right that this effectively disables auto-hscroll and its parameters like hscroll-margin/hscroll-step? For me, it scrolls half way across the minibuffer when you get near the end, which is rather unpleasant. Would it be possible to respect hscroll-margin/hscroll-step, or is there another way to get it to scroll slower?

Also, it jumps when I've got plenty of room left. This is with mini-frame, but it does the same without it.


[Icon Request]: Support for Fastly config file (fastly.toml)

Housekeeping

[X] I'm sure this issue is not a duplicate

Icon Type

[X] File Icon
[ ] Folder Icon

Icon Type

[ ] Extension
[X] Filename
[ ] Language ID

Original Icon

Icon Information
This is an SVG of the Fastly icon logo
More Information:
Documentation

Netlify and Fastify are different things???

Ha, sorry I copy/pasted the icon request from the Netlify one I saw 😬

...


helm 'uncreate'

Created a local gtz with local repo, can see it with:
helm search -l | grep local
local/myapp - version - here
how can i remove it from local repo?
Client: &version.Version{SemVer:"v2.10.0-rc.2", GitCommit:"56154102a2f25ebf679c791907fd355bb0377f05", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0-rc.
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T11:55:20Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform: local bare-metal

The local results of helm search is from ~/.helm/repository/local/index.yaml
You can just,

Delete the myapp.tar.gz from ~/.helm/repository/local
Edit the index.yaml from ~/.helm/repository/local and remove the entry under .entries.mychart[] where name=myapp

process suggested by Aswin works.
will try to contribute as a new feature in helm...

Hi @korenlev As there is no plans for any tooling around this I will close this as resolved with a workaround. Please let me know if you would like to reopen, thanks!


Synchronize Measurements.getSummary() method to prevent ConcurrentModificationExceptions

Previously the method Measurements.getSummary() wasn't set to synchronized, which was occasionally resulting in java.util.ConcurrentModificationException being raised when running YCSB with multiple threads. This commit fixes the issue by simply adding the synchronized keyword to Measurements.getSummary().
Let me know if you can think of any potential issues with making this change. I'm unsure if getSummary() was deliberately left unsynchronized for a reason?

Similarly to #209, the build failure here is caused by #152, #181.

restarted CI build.
Won't this have a big perf impact?

@busbey I haven't witnessed any major performance impact, but I could be missing something. As far as I can see, Measurements.getSummary() is only called here ever 10 seconds.

that's a good point. There's also enough going wrong with synchronization across the rest of the class that this probably won't matter. hopefully all of this will get fixed by #214.
Doesn't exportMeasurements have the same problem?

@busbey exportMeasurements may also have a synchronisation issue, but I haven't been using the exporter so am unsure.

Filed #249 for the other method.

Thanks for the fix!


how to update latest version to deployed oss fhir server

Discussed in https://github.com/microsoft/fhir-server/discussions/2482

Originally posted by abhishek14anandDev February 11, 2022
how to update latest version to deployed oss fhir server

I am getting above page while going to Deployement Center

I want to know whatever it is in main/Master branch I can deploy any time for our OSS Azure fhir Server

I want to know whatever it is in main/Master branch I can deploy any time for our OSS Azure fhir Server

@CaitlinV39 @brendankowitz  Please check my reply


fix: fix Ceiling.

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.34 seconds
load time: 490 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230128115628_clickbench_pr_85621.html


Migrate moshi to kotlinx-serialization for retrofit

close #282

Codecov Report
Patch coverage: 72.72% and project coverage change: -0.02 :warning:

Comparison is base (e22e260) 37.62% compared to head (5b5aa07) 37.60%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #284      +/-   ##
============================================
- Coverage     37.62%   37.60%   -0.02%
+ Complexity       32       31       -1
============================================
  Files            55       55
  Lines           723      726       +3
  Branches        116      116
============================================
+ Hits            272      273       +1
- Misses          446      447       +1
- Partials          5        6       +1

Impacted Files
Coverage Δ

...emplate/api/response/GithubRepoListResponseItem.kt
66.66% <25.00%> (-33.34%)
:arrow_down:

...su/template/data/local/GithubRepoLocalDataStore.kt
96.07% <100.00%> (+3.92%)
:arrow_up:

.../tfandkusu/template/api/GithubApiServiceBuilder.kt
100.00% <100.00%> (ø)

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


illegal hardware instruction on ubuntu 18.04

$ pip3 install mujoco==2.1.5
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: mujoco==2.1.5 in /home/jiayi/.local/lib/python3.8/site-packages (2.1.5)
Requirement already satisfied: absl-py in /home/jiayi/.local/lib/python3.8/site-packages (from mujoco==2.1.5) (1.0.0)
Requirement already satisfied: glfw in /home/jiayi/.local/lib/python3.8/site-packages (from mujoco==2.1.5) (2.5.3)
Requirement already satisfied: numpy in /home/jiayi/.local/lib/python3.8/site-packages (from mujoco==2.1.5) (1.22.3)
Requirement already satisfied: pyopengl in /usr/lib/python3/dist-packages (from mujoco==2.1.5) (3.1.0)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from absl-py->mujoco==2.1.5) (1.11.0)

$ python3
Python 3.8.0 (default, Dec  9 2021, 17:53:27)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mujoco
[1]    16930 illegal hardware instruction (core dumped)  python3

$ cat /proc/cpuinfo | grep name | uniq -c
     24 model name      : Intel(R) Xeon(R) CPU           E5645  @ 2.40GHz

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

I tried version 2.1.2 to 2.1.5, all of them fail to import.
I can provide more information if needed. BTW, is it possible to provide .a file instead of .so?

This is because your CPU doesn't support AVX. We're close enough to open sourcing now that I don't think we'll do anything about this now, but once you have source access you should be able to build a non-AVX (and indeed a static library, if needed) yourself.
Could you tell us why you need a static rather than dynamic library? From our point of view it's much easier to ship things to people as a DSO since we can bundle known-good versions of MuJoCo's dependencies and make sure that we correctly hide the symbols from our deps so that they can coexist with other versions of the same libraries if the user ends up pulling them in (e.g. through scipy).

Re timeline, see here.


⚠ GLDDNS Server (ns2.glddns.com) has degraded performance

In 310ddcb, GLDDNS Server (ns2.glddns.com) (ns2.glddns.com) experienced degraded performance:

HTTP code: 200
Response time: 503 ms

Resolved: GLDDNS Server (ns2.glddns.com) performance has improved in 72ae365 after 10 minutes.


Add Go 1.8 to Travis test matrix

Dropping test coverage for Go 1.6.

Closes: https://github.com/derekparker/delve/issues/741


Supporting Ingress rather than LoadBalancer services

Description
In order to leverage existing Ingress Controllers for a cluster and reduce waste of outward-facing IPs/loadbalanacers && overall reduce deployment complexity (I... I think?), it would be beneficial to have the option to use an Ingress rather than Service: LoadBalancer for services.
Additional information (optional)
E.g. something similar to the suse/scf chart part for Ingress...?
Thanks so much for your time & consideration.

Hi @aegershman - sorry about the slow response to this, the corresponding story got lost in the Tracker icebox :(. Can you talk to me a bit more about what we mean by "services" above? Is this referring to CF apps or something else?

No worries at all-- I meant in the context of the cluster components, e.g. being able to configure ingress for a service (like cloud controller) rather than requiring the svc for the cloud controller use a LoadBalancer. I was referring to the deployment of eirini itself.
Perhaps this is either new, or I just missed it at the time, but it looks like there's more support for leveraging an Ingress controller? https://github.com/cloudfoundry-incubator/eirini-release/blob/master/helm/cf/templates/ingress.yaml
I think we can close this out though?

Gotcha, yeah, this may be an ask for the fissile folks in that case - thanks for the issue @aegershman!


feat: LSDV-4654: Allow per-image classification

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[x] Tests for the changes have been added/updated (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[ ] Frontend

Describe the reason for change
(link to issue, supportive screenshots etc.)
What does this fix?
(if this is a bug fix)
What is the new behavior?
(if this is a breaking or feature change)
What is the current behavior?
(if this is a breaking or feature change)
What libraries were added/updated?
(list all with version changes)
Does this change affect performance?
(if so describe the impacts positive or negative)
Does this change affect security?
(if so describe the impacts positive or negative)
What alternative approaches were there?
(briefly list any if applicable)
What feature flags were used to cover this change?
(briefly list any if applicable)
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[ ] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[ ] integration
[ ] unit

Which logical domain(s) does this change affect?
(for bug fixes/features, be as precise as possible. ex. Authentication, Annotation History, Review Stream etc.)

Codecov Report
Patch coverage: 87.02% and project coverage change: +0.13 :tada:

Comparison is base (9edda24) 65.22% compared to head (3088ad2) 65.36%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1381      +/-   ##
==========================================
+ Coverage   65.22%   65.36%   +0.13%
==========================================
  Files         435      438       +3
  Lines       27169    27171       +2
  Branches     7183     7156      -27
==========================================
+ Hits        17722    17760      +38
+ Misses       8121     8100      -21
+ Partials     1326     1311      -15

Impacted Files
Coverage Δ

src/tags/TagBase.js
100.00% <ø> (ø)

src/tags/control/BrushLabels.js
100.00% <ø> (ø)

src/tags/control/Choice.js
93.04% <ø> (ø)

src/tags/control/EllipseLabels.js
100.00% <ø> (ø)

src/tags/control/KeyPointLabels.js
72.72% <ø> (ø)

src/tags/control/Labels/Labels.js
84.00% <ø> (ø)

src/tags/control/PolygonLabels.js
100.00% <ø> (ø)

src/tags/control/RectangleLabels.js
100.00% <ø> (ø)

src/tags/control/TimeSeriesLabels.js
57.89% <ø> (ø)

src/tags/control/VideoRectangle.js
100.00% <ø> (ø)

... and 25 more

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


Installing from private git repository does not prompt for username and password. (v2018.11.26)

Pipenv version 2018.11.26 on Windows 10.
Issue description
When installing from a private git repository the prompts for entering username and password appear to be hidden due to the "Installing" animation.
[Edit] I am able to enter username and password by assuming when it is asking me, pasting in the values, and hitting enter.  The same animation overwrite behavior is then seen at the "Pinning VCS Packages..." animation.
Expected result
When running,
pipenv install -e<EMAIL_ADDRESS>I expect to be prompted for my username and password.
Actual result
There are no visible prompts.
Console output:
$ pipenv install -e<EMAIL_ADDRESS>--verbose
Installing -e<EMAIL_ADDRESS>[    ] Installing...Installing 'private-project'
$ ['C:\\Users\\user\\.virtualenvs\\env-l1hpaNfS\\Scripts\\pip.exe', 'install', '--src', 'C:\\Users\\user\\.virtualenvs\\env-l1hpaNfS\\src', '--verbose', '--upgrade', '-e'<EMAIL_ADDRESS>'-i', 'https://pypi.org/simple']
[=== ] Installing...

At this point the prompts for entering my username and password are being overwritten by the installing animation.  If I hit enter at this point I can see the enter username/password prompts flash onto the screen, so they are there, just hidden.
Steps to replicate
Install from a private repo without using environment variables for username/password.

pipenv is not interactive at this point, you need to configure authentication via environment variable expansion:
https://pipenv.readthedocs.io/en/latest/advanced/#injecting-credentials-into-pipfiles-via-environment-variables
closing for now, thanks for the report!

I believe this is what I am getting for #3412 and didn't see this issue. If the animation was obscuring such prompts, why was it ever added? I know there is a nice assortment of little animations for pipenv, but if they are going to hinder such core interaction with git, why have them?
Workarounds can still be a bit cumbersome: https://stackoverflow.com/a/10056098.

I agree with @mtdeguzis. Installing from git is core functionality and the prompt for username/password is being obscured. Where it would have taken seconds to install a package, it is taking years just because someone has to consistently assume that a password is being requested. One can't just input a password in the Pipfile. This is all I keep seeing
Installing<EMAIL_ADDRESS>
⠹ Installing...
⠧ Installing...
⠦ Installing...
⠴ Installing...

Honestly, I don't see the real need for fancy animations. There's no need for some rotating animation or special characters if that hurts overall compatibility.


New search results cleared after search-and-replace operation finishes

VSCode Version:

Version: 1.49.2 (user setup)
Commit: e5e9e69aed6e1984f7499b7af85b3d05f9a6883a
Date: 2020-09-24T16:29:41.983Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

OS Version: Windows 10 2004
Remote OS Version: CentOS 7

Steps to Reproduce:

Use Remote SSH extension to connect to another machine.
Open a large project with thousands of files.
Do a search-and-replace that affects over a thousand files.
While the changed files are being saved perform a new search.
As soon as the last file is saved (from the replace operation started in step 3) the results of the new search get cleared.
You have to hit <Enter> again to run your new search again.

Does this issue occur when all extensions are disabled?: Can't test this as I'm using the Remote SSH extension

We should probably not allow doing a new search before the replace has finished


Be able to add new buttons to the viewer's ButtonGroup

Hello, great work with the OpenSeaDragon.
I have a question/possible issue. When adding a custom button like this: https://codepen.io/peterkokot/pen/WzdwbV
the custom button doesn't fade out to rest mode anymore once it has been covered.
Rest state of all buttons at the beginning (OK so far):

Hovering the zoom out button doesn't change the custom button state:

And once the custom button is hovered:

After some delay the left buttons group fades to the rest state, but not the custom right button (which is left in the grouphover state):

Is there anything I'm missing here? Thank you.

In order to match the behavior of the other buttons, the new button needs to be part of their ButtonGroup. Instead of adding it like this:
viewer.addControl(customButton.element, { anchor: OpenSeadragon.ControlAnchor.TOP_LEFT });

...you can add it like this:
viewer.buttons.buttons.push(customButton);
viewer.buttons.element.appendChild(customButton.element);

The viewer.buttons is the viewer's ButtonGroup.
Of course it would be good if we had a cleaner API for adding buttons to button groups... I suppose it could be as simple as a function like this added to the ButtonGroup prototype:
addButton: function(button) {
  this.buttons.push(button);
  this.element.appendChild(button.element);
}

If you're up for it, you could make a pull request to that effect.
Anyway, I hope this helps!

Wow, nice. This works great.

In order to match the behavior of the other buttons, the new button needs to be part of their ButtonGroup. Instead of adding it like this:
viewer.addControl(customButton.element, { anchor: OpenSeadragon.ControlAnchor.TOP_LEFT });

...you can add it like this:
viewer.buttons.buttons.push(customButton);
viewer.buttons.element.appendChild(customButton.element);

The viewer.buttons is the viewer's ButtonGroup.
Of course it would be good if we had a cleaner API for adding buttons to button groups... I suppose it could be as simple as a function like this added to the ButtonGroup prototype:
addButton: function(button) {
  this.buttons.push(button);
  this.element.appendChild(button.element);
}

If you're up for it, you could make a pull request to that effect.
Anyway, I hope this helps!

viewers.buttons are deprecated instead of it use viewers.buttonGroup @iangilman

Let me Know any changes need
viewer.js  (after line 980)
 /**
     * Add custom button  for this viewer.
     *
     * @functions
     * @param {Element} CustomButton A reference to an element.
     */
    addButton: function( Custombutton ){
        this.buttonGroup.buttons.push(Custombutton);
        this.buttonGroup.element.appendChild(Custombutton.element);
    },

script ( testing )
<script type="text/javascript">
    var viewer = OpenSeadragon({
        id: "openseadragon1",
        prefixUrl: "../openseadragon/build/openseadragon/images/",
        tileSources: {
          type: 'image',
          url:  '../tile_source/check.jpg',
          buildPyramid: false
      }
    });
    let customButton = new OpenSeadragon.Button({
    tooltip: 'Custom Button',
    srcRest: 'https://raw.githubusercontent.com/openseadragon/openseadragon/master/images/button_rest.png',
    srcGroup: 'https://raw.githubusercontent.com/openseadragon/openseadragon/master/images/button_grouphover.png',
    srcHover: 'https://raw.githubusercontent.com/openseadragon/openseadragon/master/images/button_hover.png',
    srcDown: 'https://raw.githubusercontent.com/openseadragon/openseadragon/master/images/button_pressed.png'
});
viewer.addButton(customButton);

@MohitBansal321 Are you proposing this as a new pull request? You might as well do it in pull request form :)
My proposal above was to add this new function to the ButtonGroup class, rather than the Viewer class. I still think that's the way to go, though I suppose we could also add a convenience function in the Viewer that just calls this.buttonGroup.addButton.

@MohitBansal321 Are you proposing this as a new pull request? You might as well do it in pull request form :)
My proposal above was to add this new function to the ButtonGroup class, rather than the Viewer class. I still think that's the way to go, though I suppose we could also add a convenience function in the Viewer that just calls this.buttonGroup.addButton.

It is convenient for people and it's working fine so I can create a pull request for it


Update search-api-migration.md

fix link

@BevLoh
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@BevLoh
Can you review this old PR and determine whether it needs to be closed or merged?
@MicrosoftDocs/public-repo-pr-review-team

@bevloh
I'll merge this PR based on your approval. If this article requires further changes, please open a separate pull request.


[SMP] Update Quality Gate experiment

What does this PR do?
Follow-up from https://github.com/DataDog/datadog-agent/pull/30687. Update the idle quality gate and add notes to the idle experiments. We plan to switch quality gate reports to the quality_gate prefixed experiments in the next week or two.

/merge


SQL Concurrent Tests (partial)

This is a partial implementation of the planned test suite for concurrent SQL tests (#2).  The current code base will fail this test (possibly not on Travis due to low concurrency) which is why I would like to merge these simple tests now so that we can fix the current issue and identify any regressions in the future.

Travis failed?

This PR should be on hold until the race condition addressed by #19 is merged.

Increased the number of iterations.  It raises the run time of each test to approximately 2 seconds (with ASAN enabled), but this should not explode on smaller machines since the work is proportional to the number of hardware threads used.
Ready for final review and merging.


Attempting to run python -m langflow run produces error

Describe the bug
Installing the pre-release per the README and attempting to run langflow per the README produces an error

$ python -m langflow run
...snipped.../venv/bin/python: No module named langflow.__main__; 'langflow' is a package and cannot be directly executed

Browser and Version

Browser [e.g. chrome, safari]
Version [e.g. 22]

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hey
This error might be related with the installation. Try using --force-reinstall

i also have this issue, already force reinstall

Same issue here. Already done --force-reinstall

Fixed this by installing latest pre-release in a fresh env

I was facing the same problem but I was able to fix it with install/env of Python 3.10 and it worked fine for me.


Remove splitTasks as a temporary fix for unstable index read

Temporarily fix index unstable issue over large dataset by removing splitTasks. It may be added back later, but we need to check where went wrong first.

/run-all-tests

@zhexuany PTAL


feat: capture the window of AUT in session

For now, /screenshot returns the entire desktop screen, but what about returning the AUT window in session?
So,
no session -> then, the API returns desktop
in session -> then, the API returns the AUT window area
https://developer.apple.com/documentation/xctest/xcuiscreenshot
This is because XCUIElementTypeApplication in the top element in a page source for the AUT is the AUT window. It does not include outside the AUT. So, I think it is natural to have only the AUT window in the screenshot.

I see.
Yeah, I considered such cases as well > the menu bar, dock....
I considered this PR thing when I tested a few things via AD.
AD expected a screenshot matched to the page source for now, so mac2 driver did work as expected as other drivers, especially highlight elements. We should address this driver does not work well via AD thing...
Element screenshot API could work for non AD cases when users want to capture XCUIElementTypeApplication window. So I wondered only for AD

I see.
Yeah, I considered such cases as well > the menu bar, dock....
I considered this PR thing when I tested a few things via AD.
AD expected a screenshot matched to the page source for now, so mac2 driver did work as expected as other drivers, especially highlight elements. We should address this driver does not work well via AD thing...
Element screenshot API could work for non AD cases when users want to capture XCUIElementTypeApplication window. So I wondered only for AD

we would anyway have to do some changes in AD in order to support Mac2Driver page source presentation. The way element coordinates are represented by XCTest there is different from its mobile counterpart and I don't think it would be a good idea to change it for our purposes.

we would anyway have to do some changes in AD in order to support Mac2Driver page source presentation. The way element coordinates are represented by XCTest there is different from its mobile counterpart and I don't think it would be a good idea to change it for our purposes.

I remember I start thinking this change by https://github.com/appium/appium-for-mac/issues/111
(Anyway, totally agree with your comment)

I remember I start thinking this change by https://github.com/appium/appium-for-mac/issues/111
(Anyway, totally agree with your comment)


Strayberry Shake Unhandled Exception during code generation with query and mutation

Describe the bug
I have observed that when using both queries and mutations simultaneously, the 11.0.0-preview.123 version is throwing an Unhandled Exception during the build phase. The final output is also invalid.
To Reproduce
Steps to reproduce the behavior:

Schema:

schema {
  query: InternalQuery
  mutation: InternalMutation
}

directive @cost(
  complexity: Int! = 1
  multipliers: [MultiplierPath!]
) on FIELD_DEFINITION

type InternalMutation {
  setCount(value: Int!): Int!
}

type InternalQuery {
  count: Int!
}

scalar MultiplierPath

Query:

query GetCount{
  count
}

Mutation:

mutation SetCount($count: Int!) {
	setCount(value: $count)
}

See error

1>Unhandled Exception: System.InvalidOperationException: The file name `C:\Users\rapha\Projects\QueryAndMutationTest\QueryAndMutationTest\GraphQL\Generated\ITestClient.cs` was already used.
1>   at StrawberryShake.Generators.DirectoryFileHandler.ExecuteGeneratorAsync(GeneratorTask task, ITypeLookup typeLookup, ISet`1 usedNames) in D:\a\1\s\src\StrawberryShake\CodeGeneration\src\Generators\DirectoryFileHandler.cs:line 69
1>   at StrawberryShake.Generators.DirectoryFileHandler.WriteAllAsync(ITypeLookup typeLookup) in D:\a\1\s\src\StrawberryShake\CodeGeneration\src\Generators\DirectoryFileHandler.cs:line 58
1>   at StrawberryShake.Generators.ClientGenerator.BuildAsync() in D:\a\1\s\src\StrawberryShake\CodeGeneration\src\Generators\ClientGenerator.cs:line 362
1>   at StrawberryShake.Tools.GenerateCommandHandler.Compile(GenerateCommandContext context, String path, Configuration config, ClientGenerator generator, IReadOnlyList`1 documents, ICollection`1 errors) in D:\a\1\s\src\StrawberryShake\Tooling\src\dotnet-graphql\GenerateCommandHandler.cs:line 84
1>   at StrawberryShake.Tools.CompileCommandHandlerBase`2.Compile(TCtx context, String path, Configuration configuration) in D:\a\1\s\src\StrawberryShake\Tooling\src\dotnet-graphql\CompileCommandHandlerBase.cs:line 121
1>   at StrawberryShake.Tools.CompileCommandHandlerBase`2.Compile(TCtx context, String path) in D:\a\1\s\src\StrawberryShake\Tooling\src\dotnet-graphql\CompileCommandHandlerBase.cs:line 91
1>   at StrawberryShake.Tools.CompileCommandHandlerBase`2.ExecuteAsync(TCtx context) in D:\a\1\s\src\StrawberryShake\Tooling\src\dotnet-graphql\CompileCommandHandlerBase.cs:line 70
1>   at McMaster.Extensions.CommandLineUtils.CommandLineApplication.ExecuteAsync(String[] args, CancellationToken cancellationToken)
1>   at StrawberryShake.Tools.Program.<Main>(String[] args)

Expected behavior
The generated code to work properly with both queries and mutations
Desktop (please complete the following information):

OS: Windows
Version 10.0.18363 Build 18363

Additional context
Failing sample code:
https://github.com/raphaabreu/QueryAndMutationTest

Please check with the new version again.


Design signature of arbitrary factory parameters

What
Like transient attributes in factory_bot, I'd like to provide feature to define and use arbitrary parameters in fabbrica.
Background
See #244 .
Points
Signature of this feature should satisfy the followings:

Types for additional user-defined parameters are inferred whenever possible.
New signature should be backward-compat.

Proposal for API signature
Add HOF withExtraParameters to defineModelFactory fn:
declare function withExtraParameters<TExtraParams>(defaultExtraParams: TExtraParams) => (options: UserFactoryOptions) => UserFactoryInterface<TExtraParams, UserFactoryOptions>;

defineModelFactory works not only function but also object which provides the HOF.
import { defineUserFactory } from "./__generated__/fabbrica";

export async function seed() {
  const UserFactory = defineUserFactory.withExtraParameters({ loginCount: 0 })({
    defaultData: ({ seq, loginCount }) => {
      console.log(seq, loginCount);
      return {};
    },

    traits: {
      withLoginRecords: {
        data: ({ loginCount }) => {
          console.log(loginCount);
          return {};
        },
      },
    },
  });

  await UserFactory.build({ loginCount: 100 });
  await UserFactory.build(); // UserFactory provides default value defined `withExtraParameters`(i.e. 0) as loginCount
  await UserFactory.use("withLoginRecords").build({ loginCount: 100 });
}

If you want fully example, see https://github.com/Quramy/prisma-fabbrica/blob/feature/transient_params/packages/artifact-testing/fixtures/callback/transients.ts
Why default parameters ?
Factory guarantees extra parameters existence because of default value. So developer can refer the extra parameters at implementation of defaultData or traits. ( Inspired from createContext in React) .
And default parameters object also tells to factory what kind of type for extra parameters via type inference.
Why HOF ?
The major reason is to infer types of the extra parameters and to provide the inferred type to factory definition. I also attempted the following pattern, but I can't achieve it.
  const UserFactory = defineUserFactory({
    defaultExtraParams: { loginCount: 0 },
    defaultData: ({ seq, loginCount }) => {
      console.log(seq, loginCount);
      return {};
    },
  })

Why named extraParameters ?
I think a different name would be fine. For example, transientFields or contextParameters.
Caveat

Developer can't define trait specified parameters. If a parameter is referred from one trait impl, it should be defined and provided the default value at the factory level

It seems so tough to allow like the following:
type Context = {
  hoge: boolean;
};

const UserFactory = defineUserFactory<Context>({
  defaultData: async (_, { hoge }) => {
    return {
      someRelated: await OtherFactory.build({ hoge }),
    };
  },
});

await UserFactory.create({ hoge: true });

Because of
// AS-IS
declare function defineUserFactory<TOptions extends UserFactoryDefineOptions>(
  options: TOptions
): UserFactoryInterface<TOptions>;

// Invalid type declaration because required type parameter TOptions isn't allowed after optional type parameter TContext
declare function defineUserFactory<
  TContext = {},
  TOptions extends UserFactoryDefineOptions
>(options: TOptions): UserFactoryInterface<TContext, TOptions>;

// The following is valid declaration. But defineUserFactory<Context> means "Set `Context` as type parameter `TOptions`(not `TContext`)".
declare function defineUserFactory<
  TOptions extends UserFactoryDefineOptions,
  TContext = {}
>(options: TOptions): UserFactoryInterface<TContext, TOptions>;

// If signature was overloaded and TContext was set as required, developer couldn't call defineUserFactory<Context> because lacking `TOption`.
declare function defineUserFactory<
  TContext,
  TOptions extends UserFactoryDefineOptions
>(options: TOptions): UserFactoryInterface<TContext, TOptions>;
declare function defineUserFactory<
  TOptions extends UserFactoryDefineOptions
>(options: TOptions): UserFactoryInterface<{}, TOptions>;

// The following signature is valid, but trait keys are inferred as `never`.
declare function defineUserFactory<
  TContext,
  TOptions extends UserFactoryDefineOptions = UserFactoryDefineOptions
>(options: TOptions): UserFactoryInterface<TContext, TOptions>;
declare function defineUserFactory<
  TOptions extends UserFactoryDefineOptions
>(options: TOptions): UserFactoryInterface<{}, TOptions>;

This could work! I worry that defining all of the default values when also defining the factory could make it hard to maintain. For example, with a lot extra parameters, you are likely to have a few that need to be used together, or a few that are required for some traits to work correctly. Does the implementation get any easier if you push this down to the trait level?
withLoginRecords: {
        data: <T extends { loginCount: number }>({ loginCount }) => {
          console.log(loginCount);
          return {};
        },
      },

I've implemented this feature via #326 and released it as v2.2.0 🚀


Double click don't work

does not light up when pressed on an object?

Hello @Umarkhabiliy, I'm really sorry but I cannot help. In my model it is working fine. If you do not see errors in the console and the light is visible when you switch it on from home assistant, then I really do not know what is going on

hello @Umarkhabiliy, this example works for me. 1 light, double click works
type: custom:floor3d-card
entities:
  - entity: switch.plug_parent_room_on_off
    type3d: light
    object_id: LampMBR_2
    light:
      lumens: '500'
      shadow: 'yes'
      vertical_alignment: top
object_groups:
  - object_group: ''
path: /local/home/
objfile: home.obj?ver=1
mtlfile: home.mtl?ver=1
name: 'New Home '
shadow: 'yes'

I have another question, can I add an icon button next to the object?  I apologize a thousand times, I'm new to this field and I ask about simple things

You can create whatever object you want in the model and then associate it to the entities in the card. I do not create visual things in the model, I just reuse the ones that are already inside the model

You can create whatever object you want in the model and then associate it to the entities in the card. I do not create visual things in the model, I just reuse the ones that are already inside the model

It is not possible to use an existing object, so I want to try adding a new object, I wonder why my objects do not work when clicked

I'm sorry I cannot solve your problems without information, send me your models configurations, logs. After I can tell you if there is a bug or if you do something wrong. There are plenty of file sharing on the internet use one and send me the files.

did you mean this configuration?

Mr can you help me how to add iconbutton to  card?

Try to remove the shadow at the top level and at the light level:
type: custom:floor3d-card
entities:

entity: ....
type3d: light
object_id: .....
light:
......
shadow: 'yes'
vertical_alignment: top
object_groups:
object_group: ''
path: ...
objfile: .....
mtlfile: ......
name: .....
shadow: 'yes'

If you have a user in home assistant forum you can send me private messages I'm user @adizanni. If needed we can exchange file sharing links

Thank you Mr. I solved problem.

If anyone else finds this: The click actions don't work when lovelace is in edit mode. Click "Done" before testing clicks

Well I am now getting this.  First I can't see the levels and I also cant get the double click.  What is up with this?


Typescript policy engine

This pr introduces the Typescript policy engine.
Right now, this is not connected to anything, so it does nothing.
How it works
Internally, the policy engine has two interpreters:

the boa interpreter: a lightweigth js runtime
the predicate interpreter, that transforms predicate expressions into datastore::Expr.

The PolicyEngine is not Sync nor Send, therefore, each worker has to instanciate it's own, and load it from the policy sources.
Policies for a type are lazily loaded into a PolicyEvalInstance. Such instances are cached for the duration of the PolicyContext.
The PolicyProcessor is used to evaluate a policy on an EntityValue instance.

@BearLemma Yeah, integration tests are the roadmap, but this is not connected to anything. right now this is just a bunch of dead code...
I'll also throw some unit testing asap

@BearLemma This is gonna add a couple 100s lines of code to this pr, ok with you?

Let's go then 😄


[IONIC 3.0] error on exists function in bindings

I updated to ionic 3.0, serve is now working correct but it shows me the following error in the browser:
TypeError: exists is not a function. It happens at the following function in bindings.js, where i can see that the exists function gets defined by the following line : exists = fs.existsSync || path.existsSync
exports.getRoot = function getRoot (file) {     ...     if (exists(join(dir, 'package.json')) || exists(join(dir, 'node_modules'))) {       // Found the 'package.json' file or 'node_modules' dir; we're done       return dir     }   ..... }
Somebody knows how to solve this issue?

[ionic-info]
ordova CLI: 6.4.0
Ionic Framework Version: 3.0.0-beta.3
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.2.5
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.10.2
Xcode version: Not installed
[node -v]
v6.10.2

Solved it, it couldnt find a plugin.


Reset the validator list fetch timer if an error occurs

@mellery451, @seelabs: I've updated the code to invoke the onSiteFetch handler in case of an error. The handler will properly log the error and, if necessary, restart the timer. It uses the stopping_ flag to avoid restarting the handler during shutdown.

Jenkins Build Summary
Built from this commit
Built at 20181107 - 23:34:37
Test Results

Build Type
Log
Result
Status

rpm
logfile
1139 cases, 0 failed, t: n/a
PASS :white_check_mark:


Linux Version

Dualbooting just to grab itemsets is terrible

So you're running League on Linux?

Is there a reason why Championify wouldn't work under wine?

@Nefari0uss It would work the same as Chrome running in wine.

Yes, more specifically under play on linux. It works quite well

And why not run Championify under it as well? Handling a new operating system that doesn't have a default install path for the game can make it a tad difficult to support all features.

Decided to bring this one back since v2 has more issues running under Wine.

@dustinblackman The 2.1.3 client is running great with Wine 2.21. The installer still isn't working, though. It fails to launch completely. The League installer works fine for example, and Wine even drops off the desktop shortcut in your XDG applications folder. Anything I could do to help troubleshoot? :)

Squirrels is pretty dependent on stuff only available in Windows 8+. I plan on ditching Squirrels completely, and releasing linux binaries in version 3.0.0. You can monitor the branch if you like, but I'm only putting time in to it when I have some free, plus in the mood to do frontend stuff.


[Bug Report] Rate element does't show the text value with disabled option

Element UI version
1.3.7
OS/Browsers version
Windows 10
Vue version
2.3.4
Reproduction Link
https://jsfiddle.net/51zfxdte/
Steps to reproduce
Create a element "rate" add texts, option and disabled option in true.
What is Expected?
It should show the text "Bueno"
What is actually happening?
it's showing the rate number

Actually this is by design: show-text on a disabled Rate only displays score on the right side.
I've given it a second thought and maybe this doesn't feel right. Adding another property show-score and leaving it to you to decide what you wish to put on the right seem to be a valid solution. Here's the commit: https://github.com/Leopoldthecoder/element-1/commit/e6ddbcb922f447dba630b04f7e6f9624d107ef03
Considering this update is a break change, we'll release it in the next major version.

#6295


Added a computed property 'yesterday' for Date and a test function for it.

Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

          4 Messages

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

:book:
iOS: Executed 527 tests, with 0 failures (0 unexpected) in 14.603 (15.971) seconds

:book:
tvOS: Executed 496 tests, with 0 failures (0 unexpected) in 3.546 (4.582) seconds

:book:
macOS: Executed 361 tests, with 0 failures (0 unexpected) in 1.348 (1.740) seconds

SwiftLint found issues
Warnings

File
Line
Reason

DateExtensions.swift
468
Lines should not have trailing whitespace.

DateExtensionsTests.swift
948
Lines should not have trailing semicolons.

  Generated by :no_entry_sign: Danger

Thank you for contributing to SwifterSwift! I've invited you to join the SwifterSwift GitHub organization - no pressure to accept! If you'd like more information on what that means, check out our contributing guidelines. Feel free to reach out if you have any questions! 😃


Update package.json. Fix NPM security advisories.

Travis fails, will be automatically fixed after #335 is merged.

Something went very wrong here during rebase or merge. Will make a new PR.


Maintain a list of impacted package(s) by a CVE

given a gardenlinux version and a cve you will get the packages affected by this cve. I think this is what was meant with this issue @pnpavlov
Searched for an example where one cve affects more than one package and this is what I came up with:

Implemented with this endpoint https://gardenlinux.github.io/glvd-api/#_get_packages_by_vulnerabilities


Sort quick suggestions by frequency of use

I think this is very helpful.

What quick suggestions are you referring to?


ApiConfiguration changes

In my last commit, I've moved the ApiConfiguration back to ApiReader.
The reason is that I've felt ApiWebClient class should mostly operate on its own, I want to completely separate the ApiConfiguration class from the WebClient in the future.
Some issues caused by this was changing the configuration would create another instance of ApiWebClient which has some problems:

It causes the interface IWebClient to be completely irrelevant (forcing it to be instances of ApiWebClient can also break tests!)

Secondly, clients may want to rapidly change ApiConfiguration (think of a server that uses this that receive many requests from different regions) and each change of ApiConfiguration again, forces a new instance of HttpClient

I've been thinking maybe adding a static class to handle settings like proxy and LifeTimeLimit (and later on caching and other settings that usually do not change often). The difference will be is that ApiConfiguration will be used only to hold properties that may change constantly while the application is still running. (Like Region and Locale, I may even remove ClientID and SecretID) and the static configuration class will hold settings that do not change often (or even at all) like ClientId and secretId, caching settings, proxy, pooledConnectionLifetime and more
This will shrink the responsibilities of the ApiConfiguration class (which seems to grow and will probably grow if it stays the way it is), will remove the dependency of the ApiWebClient from the ApiConfiguration, allow more freedom to change and modify both classes, remove the need to refresh the instance or initialization of ApiWebClient every time the configuration has changed.
To sum it up:
Reduce ApiConfiguration properties.
Create a new static configuration class
Separate ApiWebClient from ApiConfiguration
I'd love to hear your thoughts on this.

DI is interesting but I am just not sure if we should include a third party library in a project that is supposed to act as a library by itself.

Let me see if I can come with a proposal and then we can review it again. I will need some time as the next two weeks I am traveling but will work on this afterwards.

@avivbiton Happy to help with this if no one jumps in, looking for a first issue to help out with as Im new to contributing to open source.

@mabbotts9797 You can, you may pick an easier issue if you wish, we have some open and you can create one yourself

@avivbiton  Cool, I will take a look.


Misuses of cryptographic APIs

Hi
The following lines have cryptographic API misuses.  File name => stream-core/src/main/java/io/getstream/client/util/HttpSignatureHandler.java: Line number => 30: API name => SecretKeySpec: File name => stream-core/src/main/java/io/getstream/client/util/HttpSignatureHandler.java: Line number => 30: API name => SecretKeySpec: File name => stream-repo-apache/src/main/java/io/getstream/client/apache/repo/utils/SignatureUtils.java: Line number => 62: API name => SecretKeySpec: File name => stream-repo-apache/src/main/java/io/getstream/client/apache/repo/utils/SignatureUtils.java: Line number => 69: API name => MessageDigest: File name => stream-repo-apache/src/main/java/io/getstream/client/apache/repo/utils/SignatureUtils.java: Line number => 69: API name => MessageDigest:First parameter (with value "SHA-1") should be any of {SHA-256, SHA-384, SHA-512} File name => stream-repo-apache/src/main/java/io/getstream/client/apache/repo/utils/SignatureUtils.java: Line number => 62: API name => SecretKeySpec: File name => stream-repo-apache/src/main/java/io/getstream/client/apache/repo/utils/SignatureUtils.java: Line number => 69: API name => MessageDigest: File name => stream-repo-okhttp/src/main/java/io/getstream/client/okhttp/repo/utils/SignatureUtils.java: Line number => 61: API name => SecretKeySpec: File name => stream-repo-okhttp/src/main/java/io/getstream/client/okhttp/repo/utils/SignatureUtils.java: Line number => 68: API name => MessageDigest: File name => stream-repo-okhttp/src/main/java/io/getstream/client/okhttp/repo/utils/SignatureUtils.java: Line number => 68: API name => MessageDigest:First parameter (with value "SHA-1") should be any of {SHA-256, SHA-384, SHA-512} File name => stream-repo-okhttp/src/main/java/io/getstream/client/okhttp/repo/utils/SignatureUtils.java: Line number => 61: API name => SecretKeySpec: File name => stream-repo-okhttp/src/main/java/io/getstream/client/okhttp/repo/utils/SignatureUtils.java: Line number => 68: API name => MessageDigest:

Thank you for submitting this issue. You reference older version of the library which is no longer supported.


testing: only test modified directories for PRs

Fixes #517.

Merging to make pending PRs easier to test.


evaluate() function

Thank you for producing a great paper and making the codebase public; it is very inspiring.
I had a question regarding the evaluate() function from eval.py file. The paper focuses on working with datasets with hierarchy, but while evaluating, seems like those hierarchy are not taken care of? Meaning at the end there is a flat-classification and probability scores (dimension = no. of total unique classes) is generated; now afterwards we see that the evaluate() function prepares right_count_list after thresholding these probabilities without taking into consideration the hierarchy? Also, why are the final scores taken purely based on list counts, and not comparing pred and truth element-wise?
I am also worries about scenarios where threshold is chosen to be very small (~0) and then right_count_list would exactly match predicted_count_list.
I believe one approach of handling this would be performing evaluation level-wise; meaning first pick class with highest probability in level-0, then among children of that class, pick class with highest probability in level-1 and so on.
Please share your thoughts, and feedback.

The evaluation part is adopted from previous work (from HiAGM repo) and we actually fix a bug where previous code cannot handle classes with same label names.
The problem is a multi-path problem (if viewed on the hierarchy tree, one or more paths from root to any node) so we are not sure how many classes should be picked on each level. WOS is a single-path dataset (which is special and can be predicted as you mentioned) but NYT and RCV1-V2 are not. Viewing the problem as a flat classification is one simple way to avoid such difficulties and of course, there are other solutions and they deserve other works to study on. Due to multi-path again, pred and truth may have a different number of classes so that they cannot be compared element-wise.
right_count_list contains classes in both pred and truth while predict_count_list contains all predictions in pred. If threshold is close to 0, all classes are predicted, right_count_list = gold_count_list but predicted_count_list will contains all classes. This leads to high recall and low precision and low F1 as ordinary multi-class classification. BTW, threshold=0.5 is a standard setting when using Sigmoid + BCE (once again, multi-label classification where we don't know the number of predicted labels) so threshold should not be very small.


AzureGov support in wara_collector script

Overview/Summary
Change 1_wara_collector.ps1 to support AzureUSGovernment
Related Issues/Work Items
Duplicate of https://github.com/Azure/Azure-Proactive-Resiliency-Library-v2/pull/63 - which was closed because the branch became stale at had too many conflicts to bother resolving for such a small change.
This PR fixes/adds/changes/removes

New script parameter for 1_wara_collector.ps1 to set the Azure Environment (defaults to AzureCloud so no surprises for existing commercial CSAs running the script). ValidateSet is used to denote there is currently no support for other sovereign clouds.
Change endpoints to appropriate gov endpoints when AzureEnvironment is set to AzureUSGovernment.

Breaking Changes
N/A
As part of this pull request I have

[X] Read the Contribution Guide and ensured this PR is compliant with the guide
[X] Checked for duplicate Pull Requests
[X] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[X] Ensured my code/branch is up-to-date with the latest changes in the main branch
[X] Ensured PR tests are passing
[X] Performed testing and provided evidence (e.g. screenshot of output) for any changes associated to ARG queries
[X] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

@Claudio-Merola  and @Monte-Hazboun - do we need to add a note to the delivery guide and help function on how to set the new parameter?

@Claudio-Merola and @Monte-Hazboun - do we need to add a note to the delivery guide and help function on how to set the new parameter?

The change should be invisible to commerical customers, but a note for federal customers would be good I think.  Is the guide in the repo or stored somewhere else?

@Claudio-Merola and @Monte-Hazboun - do we need to add a note to the delivery guide and help function on how to set the new parameter?

The change should be invisible to commerical customers, but a note for federal customers would be good I think. Is the guide in the repo or stored somewhere else?

The script instructions are now in the APRL repo. We can add that update in a follow-on PR if the change is transparent to commercial.


Feature Request: Package Manager Interface

What would you think about creating a little UI panel (like the variable explorer) for people to graphically manage their packages? It'd be very useful to everyone and add a great feature to differentiate spyder from other IDEs. To make it easier you could just support pip and not, because it's all thats needed, simple, cross  and doesn't depend on anaconda (since all the linux users I know prefer stand alone spyder over installing anaconda).

We had something along those lines  https://github.com/spyder-ide/conda-manager
But a lot of this functionality now lives on Anaconda Navigator (disclaimer:  Navigator developer here). I simply had not found the time to update the codebase and sync it with spyder projects :-(

If there's anything someone with a data science/physics background can do
to get it moving, please tell me.
On Jul 13, 2017 6:04 PM, "Gonzalo Peña-Castellanos" <
<EMAIL_ADDRESS>wrote:

We had something along those lines https://github.com/spyder-ide/
conda-manager
But a lot of this functionality now lives on Anaconda Navigator
(disclaimer: Navigator developer here). I simply had not found the time to
update the codebase and sync it with spyder projects :-(
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spyder-ide/spyder/issues/4744#issuecomment-315215099,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AShd7Ldx62mul1m776nBkR2Ndli0cm7jks5sNpSHgaJpZM4OXj3b
.

You could build a machine to make clones and I could jump into it a few times :-)
I promise I will get this out before the end of this year!!!, is the interface provided something that suits your needs? do you have input?   You can leave the comments here or n the conda-manager repo.

My only request is that you allow using pip instead of conda, the interface is otherwise nice. The reasons I request pip are that

Myself and all my colleges prefer to install spyder standalone on linux (its my understanding that this is an overall common trend as well), which doesn't include conda, so installs via conda would no longer works
Accessing the officially pypi world is important, due to some things only being updated in a timely manner there, certain new/niche packages only being in pypi and it being the official source for various validation things with data analytics libraries
It's important to be able to test things in development how you'd do it in production, and in production on servers you have to use pip. You can also build them into dockers or all sorts of easily transferable enviroments that conda isn't fully equiped for yet, despite its other great features.

My only request is that you allow using pip instead of conda, the interface is otherwise nice. The reasons I request pip are that

Doable but only if it is either conda or pip, so if someone is using conda (anaconda/miniconda) and we detect that we will only allow the usage of conda, otherwise it will fallback to pip only mode.
The only thing we will allow being in conda mode is maybe to remove a pip package.

Myself and all my colleges prefer to install spyder standalone on linux (its my understanding that this is an overall common trend as well), which doesn't include conda, so installs via conda would no longer works

I understand this and most linux guys operate like this which is fine if you are linux only but if you are working cross platform and you need reproducibility conda is the way to go.

Accessing the officially pypi world is important, due to some things only being updated in a timely manner there, certain new/niche packages only being in pypi and it being the official source for various validation things with data analytics libraries

Conda is moving into a larger automated infrastructure and this requirement in a couple of months might no longer be valid.

It's important to be able to test things in development how you'd do it in production, and in production on servers you have to use pip. You can also build them into dockers or all sorts of easily transferable enviroments that conda isn't fully equiped for yet, despite its other great features.

This is simply not true, installing conda via miniconda or anaconda does not require admin/sudo rights so you can basically do it anywhere. I have deployed stuff in amazon, heroku and other less known services without any issue.

@justinkterry, we don't plan to use pip at the beginning, sorry. Probably in the future, but it's not in our plans.

Alright, thank you for the clarification.
On Mon, Jul 17, 2017 at 11:21 AM, Carlos Cordoba<EMAIL_ADDRESS>wrote:

@justinkterry https://github.com/justinkterry, we don't plan to use pip
at the beginning, sorry. Probably in the future, but it's not in our plans.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/spyder-ide/spyder/issues/4744#issuecomment-315777445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AShd7NlVACLImLzHt1p2Ov00RDuuZqRgks5sO3SYgaJpZM4OXj3b
.

--
Thank you for your time,
Justin Terry


populate_bulk tries to populate even if given array is empty

What behaviour would you like?
Should populate_bulk return an error or an empty vector?

Neither.
As it takes a mutable reference, it shouldn't return a new vec, and at least in my opinion, it shouldn't return an error, as there was none.
Just return if the slice is empty


Reduce the amount of throwing

Related https://github.com/tuist/xcodeproj/issues/396
Short description 📝
The current API was designed on the assumption that developers might misuse the API. To let them know about that, we used the Swift error throwing extensively. That resulted in many public methods throwing, some of which don't really need to.
Solution 📦
I've gone through all the throws and remove those that are not strictly necessary.
Note that we are introducing a new assumption to the library, some methods should only be called if they are part of a project, otherwise the execution will abort. To prevent that from happening, the next step will be preventing developers from creating objects that don't belong to any project.

I have to say, I would disagree with a lot of the changes in here. While I understand the motivation of removing some of the friction in the public mutating apis, I think this goes too far. A program crashing if the developer made an obvious error is one thing, but crashing in the domain of reading or writing paths for example is often out of the developers control. The file system is fickle and all sort of issues can arise in regards to permissions, and the existence of certain files.
Plus with throwing methods gone we lose any chance of recovering from errors internally in different cases, the app will just crash. Other tools using this also have no way to recover from these errors, and you would force them to crash.
For an outside user is it so hard for a dev to type try! if they really don’t care about errors?

A program crashing if the developer made an obvious error is one thing, but crashing in the domain of reading or writing paths for example is often out of the developers control

This is understandable and I'll revert those.

Plus with throwing methods gone we lose any chance of recovering from errors internally in different cases, the app will just crash. Other tools using this also have no way to recover from these errors, and you would force them to crash.

Throwing for reading/writing makes sense because the responses from the file system are out of the control of the library. However, I do disagree all methods should throw, including those that represent a bad usage of the library or a bug. If we take Core Data as an example, it immediately asserts the execution if developers badly lazily loaded relationships across threads. Developers can't recover from that, they need to read Core Data's documentation and use it properly. That's why besides this change, we plan to add more documentation and make the API safer.

My perspective when I suggested this project was a little “throwy” was to rethink some of the decisions. For example an xcodeproj is still valid if a path doesn't exist, this should not throw. If I (as a consumer of this library) want to enforce that a path doesn't exist I can check myself. Similarly if the file has already been added to a group, silently succeed, no need to throw, the desired result has already been achieved.
For other scenarios, eg. adding a link phase, ideally the type system should be used as much as possible to make it so errors just aren't possible. I think Vapor does this pretty well, throw exists in Vapor but most of the time it's just possible to write offending code due to the way generics are applied to the codebase.

Like if we examine this function:
public extension PBXBuildPhase {
    func add(file: PBXFileElement) throws -> PBXBuildFile {
        if let existing = files?.first(where: { $0.fileReference == file.reference }) {
            return existing
        }
        let projectObjects = try objects()
        let buildFile = PBXBuildFile(file: file)
        projectObjects.add(object: buildFile)
        files?.append(buildFile)
        return buildFile
    }
}

The try objects() is the only throwing portion, and to me (sorry if wrong) it seems like if this was to throw it would imply some sort of internal error inside tuist/xcodeproj, instead try! or much better: make it impossible for objects() to throw, inside that function (if not looked at it) we could instead ensure that the objects list exists if it doesn't, preventing error and invalid state.
Anyway, I have not read the patch in great detail, sorry for that, if I mentioned things already done I'm sorry for wasting any time. Just felt I should chime in.

For example an xcodeproj is still valid if a path doesn't exist, this should not throw. If I (as a consumer of this library) want to enforce that a path exists I can check myself or write an extension that checks before adding and throws an error I define.

That was my initial thought but @yonaskolb raised a good point there. Writes and reads can fail even after some basic checks from the user.

For other scenarios, eg. adding a link phase, ideally the type system should be used as much as possible to make it so errors just aren't possible. I think Vapor does this pretty well, throw exists in Vapor but most of the time it's just not possible to write code that would exist in an invalid state due to the way generics are applied to the codebase.

Haven't looked a Vapor but I think there's still a lot of room for improvement in the way we use types to make the API safer. One of the things that could be a source of errors is the facts that users can create objects that are not attached to any project. Some API methods are built on the assumption that objects belong to a project. When that's not met, it results on a crash (with the refactor on this PR). Before rolling this out, I planned to make all constructors on individual objects internal, and expose them from the objects they have a relation with. For instance, if you want to add a new build phase, thi is how you'd currently do it:
// Before
let frameworksBuildPhase = PBXBuildPhase(....)
pbxproj.add(object: frameworksBuildPhase)
target.buildPhases.append(frameworksBuildPhase)

// After
let frameworksBuildPhase = target.addFrameworksBuildPhase(...)

The try objects() is a good example. We have that try there because users might try to use the method without adding the object to a project. With the change from above, that won't be possible and therefore we can reach that point and assume that objects will always be there.
It'd be great if you could go through the patch changes and add comments on the ones you are concerned about. We can discuss them individually.

It'd be great if you could go through the patch changes and add comments on the ones you are concerned about so that  we can discuss them individually. This is an important change for the library so let's make sure we are all aligned with the direction we are taking.

Hey @mxcl, I've revisited all the interactions with the file system and made sure that they throw instead of failing the execution. Would you mind having another look?

Would you mind having a look at this one @tuist/core 👀 ?

@tuist/core I've rebased from master and fixed a few tests that were failing. Would you mind giving it another look?

I'm closing this PR. I slept over this idea and I think it'll result in a bad experience for the developer.
XcodeProj opens misconfigured projects gracefully, meaning that even if there are broken relationships between objects, we are able to open the projects. However, writing those projects back will result in runtime crashes with the changes in this PR.
If there's any objection, please, don't hesitate to dump it on this PR. I'm happy to discuss this further.
@kwridan I'll fix that issue on a follow-up PR. It doesn't seem to be related to the changes in this PR.
Thanks to everyone involved in this PR, and sorry for not having recognized this sooner.


duplex clientId lead continual reconect

I'm confused about session, then read protocol again：
"Session:
A stateful interaction between a Client and a Server. Some Sessions last only as long as the Network  Connection, others can span multiple consecutive Network Connections between a Client and a Server. "
Does it mean one clientID can have multiple connection with server? Like android, ios, pc client use the same clientID to connect mqtt server.
Then i try to conect emqttd with two equal clientID
mosquitto_sub -c -d -i user5 -q 2 -t topic1
mosquitto_sub -c -d -i user5 -q 2 -t topic1
If only start one client, every thing works fine.
When the second mosquitto_sub start, both mosquitto_sub keep continual reconect. It looks like in some kind of conflict situation.
Client user5 sending CONNECT
Client user5 received CONNACK
Client user5 sending SUBSCRIBE (Mid: 1, Topic: topic1, QoS: 2)
Client user5 received SUBACK
Subscribed (mid: 1): 2
Client user5 sending CONNECT
Client user5 received CONNACK
Client user5 sending SUBSCRIBE (Mid: 2, Topic: topic1, QoS: 2)
Client user5 received SUBACK
Subscribed (mid: 2): 2
Client user5 sending CONNECT
Client user5 received CONNACK
Client user5 sending SUBSCRIBE (Mid: 3, Topic: topic1, QoS: 2)
Client user5 received SUBACK
Subscribed (mid: 3): 2
Client user5 sending CONNECT
Client user5 received CONNACK
Client user5 sending SUBSCRIBE (Mid: 4, Topic: topic1, QoS: 2)
Client user5 received SUBACK
Subscribed (mid: 4): 2

No. According the MQTT Specification, clientId cannot be duplicated. If two connections with the same clientId, the older one will be kicked out.

when the older one kick out, is there a reason or something client can know?  it was kicked not normal disconnection, then the client can stop reconnect.

@roytan883, no definition about duplicated clientIds in MQTT protocol I think. This is a big issue if two conflict clients reconnect all the time...
I will check MQTT V3.1.1 protocol specification later. And have any suggestions?

I have looked though MQTT V3.1.1 protocol, can't find a elegant way to kick out older client and inform it should not reconnect -_-!

CONNACK packet should have a payload...

Can the broker auto publish a "kick" message to older client before close it ?

Most MQTT client libraries will not handle the 'kick' message...

But i don't think the broker has ability to control client not reconnect.
Must need some kinds of message to tell one of clients to stop.
Also, i tested mosquitto mqtt broker. It is the same, continual reconect.
1433233406: New connection from <IP_ADDRESS> on port 1883.
1433233406: Client user5 already connected, closing old connection.
1433233406: Client user5 disconnected.
1433233406: New client connected from <IP_ADDRESS> as user5 (c0, k60).
1433233407: New connection from <IP_ADDRESS> on port 1883.
1433233407: Client user5 already connected, closing old connection.
1433233407: Client user5 disconnected.
1433233407: New client connected from <IP_ADDRESS> as user5 (c0, k60).

The clientId is a secret key in MQTT protocol I think,  something like deviceId of a mobile. So client should not leak its clientId, there is little chance to conflict in broker?

I use userId as clientID.  I believe some other developer will also use uid as clientid.
When the user change his phone, login on the new phone but forget logout on old one. Then the conflict happen.
But your idea is right, we need use deviceId as the clientId. The application server should keep track of the uid <--> deviceId map. Or the application server generate a unique ID for every new login.

Design of "userId as clientID" is not common  practice in MQTT I think.  'Username' of CONNECT packet  could be user ID.

So, need emqttd export username:
https://github.com/emqtt/emqttd/wiki/Presence
only connected has username parameter. disconnected and HTTP API did not export username.

Can you add a HTTP API query presences by username ?
The presences interface only return online clientIds?
How to get those session not expire but offline ones? I only want push messages to those active users(48h expire). HTTP Query then push seems inefficient，maybe i need write a plugin for push, the plugin will only push message to those username whos session exist.

clientid is a prviate id, it is used to  communicated  between user and system for some adminstartor message.
i have designed a pubilc id  such as mqttid for business。

@lsxredrain, please submit a 'Feature Request' issue. Kick out client by clientId by cli command or web console?

@roytan883， in general MQTT protocol suggests to use Last Will Testament to do client presence management

@sufish, Last Will Message could only report abnormal disconnection.

@erylee when clients connect or disconnect normally , it can send a message to a specific topic to identify its state, and  Last Will Testament will do the same job when the client can't. it's great that emqtt will do  similar job from server side. but sometime additional information is needed from the client, like platform, software version. this is hard to do from server side

Client = emqttd_cm:lookup(emqttd_util:bin(ClientId)),
case (undefined =/= Client) of
true ->
#mqtt_client{client_id = ClientId, client_pid = ClientPid} = Client,
lager:info("This is  ClientPid: ~p self: ~p ~n",[ClientPid, self()]),
case (self() =/= ClientPid) of
true ->
Json = mochijson2:encode([{type,emqttd_util:bin(["duplicate"])}]),
ClientTopic = emqttd_util:bin(["/client/",  ClientId]),
Message = #mqtt_message{qos = 0,
topic = ClientTopic,
payload = emqttd_util:bin(Json),
from = list_to_binary([ClientId])},
emqttd_pubsub:publish(Message),
{"tokeAuth", "duplicate"};
false -> {"tokeAuth", "success"}
end;
false -> {"tokeAuth", "success"}
end;

Thanks for clearing the air about the same id problem, at-least i know how to handle it.

close this as it has been solved.

@terry-xiaoyu How did it be solved? Do i need any configuration?

@roytan883  Open a new issue if you have this problem on emqx3.0 and use the issue template to give us the detailed information .


PDF has image instead of text

hi
the pdf has images instead of the text hence no data is able to be extracted
can you please check and update.
Regards

Thanks for raising this. Seems like this was a temporary glitch on the SBI side. The recent PDFs have text.
Nevertheless, I have added Anthropic API as a fallback to process the PDF as an image in case this happens again.


Update proposer score boost

This PR updates the PROPOSER_SCORE_BOOST parameter. The motivation for reducing this parameter and arguments for picking the new value can be found here.

https://notes.ethereum.org/@casparschwa/H1T0k7b85 requires permission :(


Change order/spacing of sort and filter buttons on reporting table columns

See image below.
The filter button is jammed between the label and the sort direction indicator. Clicking the label sets th sort, so those two should be together. The current layout makes it hard for a touch screen user to try to hit the tiny filter icon between the label and arrow.

I think this would be better if the filter icon was to the right of the arrow with a few spaces, like below

Also the triangle indicator should also be clickable with the label to change the sort direction


Use prop instead of attr to check whether an option element is selected

Currently, when selleckt is re-initialized on a select element after the user has modified the selection then re-initializing will cause selleckt to display the wrong selected items (it displays the select's initial state rather than the user's selection).
This is caused by checking the selected state of option elements via attr rather than prop.

Thanks!


Discovery upgrade issue with 2022.9.4 <-> 2022.9.6 or later

Go from 2022.9.1 to 2022.9.9

Check w/ a project that is known to fail @petergrlica

for today: Peter to sync with Vivek

Synced w/ Vivek, will test the provisioning on an existing db with an old enough Corteza version.

for today: continue testing


Helm chart improvements

What needs to be done
We need Dynamic provisioning. Specify a different storageclass so can leverage another dynamic provisioning such as Longhorn.
Why it needs to be done
The Helm chart UX needs to be improved so it is easier to use.
Acceptance Criteria
Additional Information

We already allow specifying a PVC, and for Longhorn we simply define our own storageclass already. Referencing an existing StorageClass should be straightforward.


Issue #90: Added command calls for night and day and their description

The description given is clear, thank you.

Looks good, we could probably add another command to set the time to any time on the cycle. That way the player can have more control over what time they experience w/o having to wait from either dusk/dawn.


CMake Error: install TARGETS given target "uvc_static" which does not exist

-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "0.29.2")
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.21
-- Checking for module 'libjpeg'
--   Found libjpeg, version 1.5.2
-- Building libuvc with JPEG support.
CMake Error at CMakeLists.txt:95 (install):
  install TARGETS given target "uvc_static" which does not exist in this
  directory.

-- <<< Gentoo configuration >>>
Build type      Gentoo
Install path    /usr
Compiler flags:
C               -march=core-avx2 -O2 -pipe
C++             -march=core-avx2 -O2 -pipe
Linker flags:
Executable      -Wl,-O1 -Wl,--as-needed
Module          -Wl,-O1 -Wl,--as-needed
Shared          -Wl,-O1 -Wl,--as-needed

-- Configuring incomplete, errors occurred!

Could you please try again with the changes I just pushed? Shared-only and static-only builds were broken.

It seems everything ok. Thanks.


IE10-11 Can't run the tests

Even if these browsers are rubbish, we still need to know how well these libraries run with it as it may lead to different relative results with the optimization IE's JS engine will make/not make.
BenchmarkImpl.prototype.tearDown = function() {
this._root.remove();
};
The remove function is not available on any IE (lol). Can it be replaced with  this._root.parentNode.removeChild(this._root) instead ?

Most of the implementations should work in IE. Which one is failing?

virtual-dom

https://github.com/vdom-benchmark/vdom-benchmark-virtual-dom/blob/master/web/js/main.js#L42 I hope this will fix it. Uploaded new version on gh-pages.

Thanks that fixed it.
The results are ... Surprising.
On IE11 and when compared to Chrome, The React benchmark is 3 times slower while the virtual-dom benchmark is 25 times slower.


'docker image ls' documentation needs additional information

File: engine/reference/commandline/image_ls.md
The documentation should at least mention if the listing is for local images or from the registry

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


IPS stabilized weights strange results

Hi there,
I would like to ask you some quick clarifications about the implementation of the stabilized ipw estimator.
I obtained some strange results using the Lalonde  dataset in your example.

I guess it is due to some convergence issues using the logistic regression, but when I run it manually (without providing any number of iterations) it provides similar results to what you have here

Moreover I also noticed that you are following a different approach compared to the one proposed by Robins et al. 2000. Is this a deliberate choice?
Thanks in advance for your attention, but also for this great project!

thank you for raising this @andrepugni I realized that there was an error in calculating the mean difference for the stabilized weights. Fixed it now. Can you pull from the master branch and try if the error goes away?
The implementation is based on Robins et al., as you mentioned. Statistically, when there is no feature, it does not make a difference whether we use logistic regression with the intercept only, or simply compute the sample mean.

Hi @amit-sharma , it seems to work in the new version. Thanks a lot.


Inconsistent casts

https://github.com/shogun-toolbox/shogun/blob/9537f595679993bd56a833629cba832c97165c5c/src/shogun/neuralnets/NeuralNetwork.cpp#L435-L436
I think both of them should be static_casts

PR welcome :)


Error when starting LUIS container

I am running the LUIS container and in the docker logs, I see an error.  I can navigate to the web app and view the swagger information.  So, it seems like the app is running.  I do not know where the error is coming from.  Here's the output from the logs:
Using '/input' for reading models and other read-only data.
Using '/output/luis/099038cdad99' for writing logs and other output data.
Logging to console.
Submitting metering to 'https://southcentralus.api.cognitive.microsoft.com/'.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {a118d010-c6e1-4a77-82d7-2111ab3795dd} may be persisted to storage in unencrypted form.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Overriding address(es) 'http://+:80'. Binding to endpoints defined in UseKestrel() instead.
Hosting environment: Production
Content root path: /app
Now listening on: http://<IP_ADDRESS>:5000
Application started. Press Ctrl+C to shut down.
fail: Microsoft.CloudAI.Containers.Http.CloudClient[0]
Endpoint connection failed with status 'Invalid'.
I have debug logging turned on, but there is no more information. Has anyone seen this?  Any thoughts on the root cause?

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

ID: cc19d2e0-5960-c165-083c-a9dcf9976c91
Version Independent ID: 58d32965-6909-2461-5158-aa66d904bf3c
Content: Docker containers - LUIS - Azure Cognitive Services
Content Source: articles/cognitive-services/LUIS/luis-container-howto.md
Service: cognitive-services
Sub-service: language-understanding
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hi @dtjensen, thank you for reaching out.
I'm not certain why this issue is being caused - but am I to assume that you followed the instructions verbatim? If you did not, where did you stray away from them? Is your container able to connect to the external internet? I see the issue with the "No XML encryptor configured"... I'll have to ask the dev team about that one, but it I'm curious what environment you're attempting to run in - could you provide those details as well?

I had the API key wrong.  Once I changed it, the error was resolved.