[possible inconsistency] Bounded generics

Not working:
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVAXAngBwKZgAiAlgM44CGGAxgBYA8AggFxgDeY2+rpGATsQB2AczABfAHxgAvGAAUFahmJxBrRgEoZUxgG50XAgGUMcPniZTZbVAEgAJmUo1arEuSp1L+sfsy4CACU8ewBXajw+Sxl5RWVVdS1pHT8oUMElFUEwanMqPBMzC0YJOXMwiL5WYIrIyw1WQvNom1tzDFC+bJswMFsHJ09aBUzVLQ52zuy4rPEAGjsxVCWgA
Working:
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoAJgUwMYwIYBOmYAtnOgK4zEDkRlAHjWAN6qphha6HEAuATwAOxACIBLAM5C8fbAAsAPAEEAXKzCCR6yXwLiAdgHMwAXwB8YALxgAFHmx9xcA+uUBKa5eUBudp258Ik1hYgBlPjgiFUsbNk4ErikZOXl1CWlZBRi-TlM-Di4cIP5QsAAlTEpsTAIY6zsHJxc3TytvAoDi3jAoCgNHZwMwbCJZTAiozBjbegoagnVK6tqY93VJ6OVzP1MgA
The only difference is the context in which those typings are used, one is libdef and one is flow-typed javascript.

You need to upper bound to the function:
unction createStore<A: { type: string }>(reducer: Reducer<A>): Store<A> {
	return {
  		dispatch(action) { return action },
	}
}

@vkurchatkin yeah, ive managed to do that before, what my issue was about is that when declaring a libdef file the same usage PASSES just fine, but in the files with actual implementation it does not and I think this is an indication of the problem, or am I missing something?

@vkurchatkin could u please take a look at this issue once again?


Change the indicator resource endpoint from the old version of Summar…

…y API to metrics resource

en PR: https://github.com/kubernetes/website/pull/41707

/hold
Wait for #41707 to merge.


Ryan M: Watch chuckstreeservices.com

Ryan M requests the watch of the watch_keyword chuckstreeservices\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

chuckstreeservices\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Eliah Kagan in Charcoal HQ


Will there be an update to version 1.21.x in the near future?

Will there be an update to version 1.21.x in the near future?

#725 #722
anwser used to be no, @unilock is doing a pr though #729 so maybe?

Just in case it's true and the dev sees this, I just found out that Forge has apparently gone through some drama and the devs have forked off into a new loader called NeoForge.

Hi, I'm unilock, the one working on porting Fabrication to 1.21.
@comradesean I'm aware of Forge being forked off into NeoForge. I intend to get Fabrication 100% working (or as close to that as possible) before starting work on (Neo)Forgery, which is why I haven't bothered changing the buildscript at all yet.

go to #735 for the beta test


[html] auto rename weird cursor state management

Testing #85973
<html>
    <foo>

    </foo>
</html>

put cursor in the middle of foo of line 2
press arrow down then up
it's weird as it behaves like I'm pressing arrow left and right

Where exactly in <foo> are you putting it? Can't repro.

I updated the snippet
<html>
    <foo>
    </foo>
</html>

This is unfortunately expected behavior:
Initial:
<html>
    <foo|>
    </foo|>
</html>

Down button
<html>
    <foo>
    </fo|o>
</html>|

HTML kicks in to remove mirrored cursor
<html>
    <foo>
    </fo|o>
</html>

HTML kicks in again to add mirrored cursor from the end tag to beginning tag
<html>
    <fo|o>
    </fo|o>
</html>


Adding cinabars as admin

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks @quinnwinters. @admins, we work together so I asked to be added -- I will probably be responsible for any future upgrades on this package. Hope that's okay!


docs: add Ryan Hinchey as a triager

LGTM and good work so far ryan

@wesleytodd sorry to bother you but  I would have loved to received an email notification about the TC meeting last night :)

ping @wesleytodd @dougwilson Ryan has been very active so far, I'd love to see him added to the triage team when someone has a chance ❤

I haven't added anyone in the past, but I believe I know what should be done. I definately agree that he has been active and that is great!
@wesleytodd side note: I wonder if we should get some method to periodically review activity as well, as looked at the list, I believe there are some there that haven't even done anything thus far -- though that may be a lack of direction, so not saying we should remove anyone, but made me think about the long term review process.

Closing this out, as I confirmed that @ryhinchey is a triage team member and we are working to pull membership data directly from the GitHub team.


Feature/mm project description

This branch will make the Title and Description fields multiline enabled. When a user types something inside the box that goes beyond the width, the text will drop to the next line and the box will adjust its size accordingly.

Looks good. Resolve merge conflicts and I'll merge


Results aggregate on all null rows

min/max should return none on rows with all null values.
aggregate should throw UnsupportedColumnTypeException when the
collection is empty instead of return none.
Add test cases.

CI should pass with core 2.2.2 release.

@bdash please help to review again. Thanks!


Emphasize the "bugs" due to execution order a bit less

It is good to mention in passing it but also mention that 1) in practice we anyway run all cells in order, 2) one should not reuse variable names, and 3) if one has to, one should do that within one cell.

addressed in 602cb99fdf09630bb6128177a65d47c93d02f9c0


run cairo_example.py got fuzzy rendered images

Hello， everyone!
I ran cairo_example.py successfully but I got fuzzy rendered images.
Here's what I have done:
After downloaded pcb-tools source code and installed all requirements, I just tryied to run pcb-tools-master/examples/cairo_example.py and no error occurred. It was supposed to get images like these:

However, I got images like these:

It seems that these images was incorrectly rendered. As you can see, these images are fuzzy and some details were lost.
Is someone know what's going on?
My environment: ubuntu14.04x64 & python2.7.6(tried python3.6.4 but it didn't work either)
My friend who's using ubuntu16.04 and python3.6.4 DOES NOT facing the same problem. Is it related to my ubuntu14.04?

BTW: the source code was downloaded from master branch.

老哥可以加你的扣扣,问问你这个问题解决了吗？


useful subcarrier channel in tools/analisys_csi_data.py

Can anyone explain what are the useful subcarrier channels in tools/analisys_csi_data.py:

Where can I find any clue in the official documents?
It seems that the amplitude of some other subcarrier channels are also negligible. Below is the plot of one of my data sampling:

You can calculate the variance of each sub-carrier and filter the sub-carriers with very small variance

Thanks.


Cart API usage for Shopify

Hi all,
I'm preparing a Flash Sale for a client. I wrote Shopify and asked what the considerations are that I should be aware of. One major thing that they talked about was to use the Cart API instead of the Checkout API: What you should be using is the cart flow which we announced at Unite. Here is a link: https://shopify.dev/custom-storefronts/cart during a flash sale the cart flow will redirect users to a checkout queue if necessary under high amount of load and is not subject to the hard checkout throttle mentioned above.
Are you guys familiar with this? And how can I integrate this?
Please let me know,
Arvin

@cond0r How stable is your previous PR request? https://github.com/vercel/commerce/pull/438/files

@leeuwisarvin it was working / stable at the time. I closed that one because I was doing a workaround for the wishlist implementation using the same Cart API for quickly adding to the wishlist (from the grid view), but since it was not aligned with the other providers, as you might see in the comments there decided to close it.

@leeuwisarvin it was working / stable at the time. I closed that one because I was doing a workaround for the wishlist implementation using the same Cart API for quickly adding to the wishlist (from the grid view), but since it was not aligned with the other providers, as you might see in the comments there decided to close it.

@cond0r I'll try it out next week. Are you still active on Twitter?

@cond0r Is there any news for the cart API implementation? I need that for subscriptions.

Hey there! Thank you for opening this issue. We have decided to take Next.js Commerce in a new direction and will be closing out current PRs and issues due to this change. Please see this PR for more details: https://github.com/vercel/commerce/pull/966


Readme is confusing about versions

The Readme here says to use MacForge with 10.13 and above, but MacForge says it needs 10.14.
I'm on 10.13 and my machine can't be upgraded any further. It looks like I should probably use mySIMBL, because MacForge has moved its requirements a bit - but please correct me if I'm wrong.
If there's a clear right answer to my question, then it will probably be good to change something in the Readme for mySIMBL.

In fact, in my case, mySIMBL seemed to be causing frequent serious crashes, while MacForge is working fine so far.


fsevents: stop using fsevents to watch files

Goes back to just using it to watch folders, but keeps the other logic changes around. The goal is to reduce merge conflicts (esp. with master) and make it easier to try this again in the future.
Replaces: https://github.com/libuv/libuv/pull/2452
Refs: https://github.com/nodejs/node/issues/29460
CI: https://ci.nodejs.org/job/libuv-test-commit/1566/

Fresh CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1582/

Among the many usual CI problems, there's one interesting one: https://ci.nodejs.org/job/libuv-test-commit-osx/1581/nodes=osx1010/console
This test was slightly strengthened in 2d2af382ce84b91d6ee7a185af32fca7f0acd84b to make the race-window wider, while relying less on filesystem change granularity. It's possible we need to now add a uv_sleep(1100); after the test setup to ensure that test is properly isolated from its setup code.

New CI builds:
https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1584/
https://ci.nodejs.org/job/libuv-test-commit-osx/1584/
https://ci.nodejs.org/job/libuv-test-commit-osx/1585/
still not such a great run

Is this one ready to land? It seems so!

Yes.

Landed in 97b85e8b 🚀


使用窗函数lead和lag时，default参数必须为null

Describe the bug
使用窗函数lead和lag时，默认值的参数如果不为NULL时，语句报错
To Reproduce
Steps to reproduce the behavior:

create table

CREATE TABLE `table_test` (
  `active_day` date NOT NULL COMMENT "日期",
  `cuid` varchar(64) NOT NULL COMMENT "操作",
  `time` datetime NOT NULL COMMENT "上传时间",
  `operation` varchar(64) NOT NULL COMMENT "操作"
) ENGINE=OLAP
UNIQUE KEY(`active_day`, `cuid`, `time`, `operation`)
DISTRIBUTED BY HASH(`active_day`) BUCKETS 10
PROPERTIES (
"storage_type" = "COLUMN"
);

insert data
省略
查询语句中使用窗函数时提示错误

SELECT cuid,
       operation,
       time,
       lag(operation, 1, '') over (partition BY cuid ORDER BY cuid, time) as last_op
FROM table_test limit 10;

ERROR 1064 (HY000): Type = VARCHAR() can't not convert to VARCHAR()
Expected behavior
SQL正常执行
Additional context
lag或lead的第3个参数改为null时，sql可以正常执行
SELECT cuid,
       operation,
       time,
       lag(operation, 1, null) over (partition BY cuid ORDER BY cuid, time) as last_op
FROM table_test limit 10;

#1846


Provide sendmail binary with the releases?

Is there the possibility to provide the already built sendmail binary for supported architectures along with each release in GH?
Thanks!

Out of interest, what OS are you referring to specifically?

In relation to my previous message, would it work if I was to provide pre-compiled sendmail binaries as a separate download in the releases? That means that for every mailpit-<platform>-<arch>.tar.gz there would also be a sendmail-<platform>-<arch>.tar.gz.
I really do not want to bundle sendmail into the mailpit archive as it will increase the file size, and most users do not need sendmail (ie: they either use system-installed sendmail version, create a symlink to mailpit, or use mailpit sendmail as their sending command).

Yeah for sure, that's what I meant, include the Sendmail binaries separately.
This would help with easy setup in environments where sendmail is not present (docker) and also make it easy to install by os and architecture.
One project we're thinking of replacing mailhog with mailpit is VVV (WordPress development environment).

Regarding your answer, is mailpit sendmail an equivalent to the raw sendmail executable I'm asking about here?

As explained in the README, you can use the mailpit sendmail command instead of using sendmail directly, is it the equivalent. Alternatively you can symlink sendmail to mailpit and Mailpit will invoke sendmail (ln -s /usr/sbin/sendmail /path/to/mailpit). It really depends what exactly you wish to achieve here, and both those options are only helpful if you are running Mailpit on the same machine as the server that is sending the mail (ie: same as the PHP instance).
Please note that mailpit's sendmail it is configured by default to relay messages to localhost:1025 (Mailpit's default port). This can be changed via an environment variable or commandline flag (--smtp-addr), however as far as your docker container question goes, you can also map a different port to the docker's port 1025 (so leaving Mailpit to run on its default ports). I don't know your environment is structured, how to plan to connect to it (Docker within vagrant?), or from what, so I can't give you more info as I'm unfamiliar with VVV.
If having a separate sendmail binary (Mailpit's) is still helpful to you, then I can add these for future releases. I'd rather not add anything if it's not necessary though, only if it's helpful. Please just let me know.

reading this issue, I figured out how to test if it was working, not with the README.
This is not completly related but the README would benefit a lot a section for testing it.
For example :
Create a text file containing the headers and the body of the email, for example, email.txt:
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: Email Subject

This is the body of the email.
It can contain multiple lines of text.

Next, run the following command in the terminal:

sendmail -t < email.txt
This command uses the -t flag, which tells sendmail to read the "To", "Cc", and "Bcc" headers from the file to determine the recipients.

filled and issue for that #105

I have added a new wiki section about configuring sendmail and another section testing Mailpit which should answer these questions.

Thanks, I didn't have the time to get back to this yet.
One of the reasons I opened this issue, is because it was not evident in the wiki / Readme, that the mailpit sendmail command allowed the use of host:port. It's not evident that it supports a few of the arguments of regular sendmail.
Maybe adding that would clear out doubts?

I have added some extra documentation on https://github.com/axllent/mailpit/wiki/Configuring-sendmail which hopefully provides more clarity. I appreciate the feedback, thank you.

It's great! Thanks a lot @axllent !


Fixed 'sqlite3.dll not found' error for NET451 build when used in ASP.NET apps (#278)

I also faced with issue when Microsoft.Data.Sqlite cannot load sqlite3.dll (.NET 4.5.1 build) when used in ASP.NET application.
This happens because nuget package 'SQLite.Native' correctly places native dll to x86 / x64 folders, but for ASP.NET apps they are placed in the 'bin' folder, and NativeLibraryLoader.TryLoad don't handle that correctly (I've fixed that).

Hi @VitaliyMF, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

This approach will solve #278, but I think we can do a more general fix that avoids hard-coding "bin" as a search path. The approach I was going to take is to repeat this logic using the directory of Assembly.Location in addition to AppDomain.BaseDirectory as a search path.

@natemcmaster  I agree that hardcoding 'bin' is not so good :) but Assembly.Location will not work for ASP.NET apps because it will return path ASP.NET temporary files folder, not to the /bin folder. In your pull request I see that you use 'System.Web.HttpRuntime.BinDirectory' (wrapped with try-catch block), this is definitely better, but it requires reference to System.Web (this is rather strange dependency for ADO.NET provider).
Maybe it is better to have just one line of simple code that doesn't require any significant changes?.. Anyway this is all about NET451 build and will not affect NETStandard implementation.
Let me know if I should close my pull request.

@VitaliyMF thanks for spending time looking into a solution for #278. Sorry for the overlap in my PR and yours. We must have both started coding at the same time. I'm still waiting for review on PR #282, so don't close yours just yet.
Per your comment about the #282: you've identified well that the trade off to hardcoding "bin" is referencing System.Web. I've been careful about how it's coded so that it will still work even if this ADO.NET provider is used outside of a System.Web project. If we find the reference causes issues, we have other solutions, such as reflecting out System.Web.HttpRuntime instead.

@VitaliyMF thanks for the proposed fix. However, I'm going to close this PR as the issue was closed in #282.
Btw, your feedback was helpful. We avoided adding a reference to System.Web by using AppDomainSetup.PrivateBinPath instead. Thanks!


Usage on CPU

I would also like to use Faster RCNN without GPUs. Currently when trying to compile this on a non GPU machine I get the following error:
Traceback (most recent call last):
  File "setup.py", line 55, in <module>
    CUDA = locate_cuda()
  File "setup.py", line 43, in locate_cuda
    raise EnvironmentError('The nvcc binary could not be '
EnvironmentError: The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME
make: *** [all] Error 1

Does anyone have experience on how to make this implementation work without GPUs? Code wise it should probably be possible, I guess it is just adapting the build somehow?

It might be too late for you, but maybe useful for other people... 1) Change the setup.py file by  replacing all 'raise EnvironmentError' with 'return None', disabling the Extension('nms.gpu_nms'..). 2) Change the lib/model/nms_wrapper.py file by disabling 'import gpu_nms' and setting 'force_cpu' to be True. Above works for me at least.

HI @shuang1330
Do you mean, comment out Extension ?
But I am getting error:
AttributeError: 'MSVCCompiler' object has no attribute 'compiler_so'
While I run setup.py

@Dinkz I mean comment out the 'nms.gpu_nms' extension. But your problem seems to be not related to cpu but related to windows

@shuang1330 thanks,according to your advice,it does work

Thanks for the feedback, I think we can close the issue now.
In the future it might be nice if there is a compile flag, so we do not need to alter code.

I am getting this error too. But I want to use GPU. I am unable to fix it. Please help.

@rida1896 Have you fixed it now?

@shuang1330
It is useful. Thanks.

I am getting an error  "'MSVCCompiler' object has no attribute 'compiler_so'", when I am running on Windows. How can I solve it?

I am getting an error "'MSVCCompiler' object has no attribute 'compiler_so'", when I am running on Windows. How can I solve it?

Same Problem....


update: change IMiddleware to IEventMiddleware

Description
I change 'IMiddleware' to 'IEventMiddleware'. and changed all inhert from IMiddleware subclass's name and base class name.

@zhenlei520 PTAL

@zhenlei520 CI failed


Initial Commit :)

1st Completed Commit and Pull

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

Project coverage is 95.08%. Comparing base (89e3d2e) to head (d950057).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
+ Coverage   95.00%   95.08%   +0.08%
==========================================
  Files           2        2
  Lines         220      224       +4
  Branches       33       34       +1
==========================================
+ Hits          209      213       +4
  Misses          9        9
  Partials        2        2

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

:D?

Fixed the annotation in the definition of "GroupedMetadata" to match the docs (in annotated-types)

Replaced initial clause as to handle "Unpack" the same way as GroupedMetadata (in Hypothesis) (changed to just object)


Handle boolean and array types in InputObject

Continued from #1353
Right now if we add boolean or array types in schema, it looks like this:

For boolean - we can use InputSelect with yes or no?
For Array - DefaultObject

The strategy that contains array type in schema.json https://snapshot.org/#/playground/recusal-list

https://github.com/snapshot-labs/snapshot/commit/63f3d71c2618041b549f26300e69b7a952790fcb


Split protofile

This PR splits qf.proto into three separate files.

types/types.proto contains all message types that are saved directly to the database.
types/requests.proto contains message types only used in API calls.
the original qf.proto only contains the service definition.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

533 of 3448 (15.46%)  changed or added relevant lines in 36 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+3.07%) to 28.688%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

database/gormdb.go
30
31
96.77%

web/groups.go
15
16
93.75%

web/organizations.go
0
1
0.0%

web/rebuild.go
11
12
91.67%

database/gormdb_enrollment.go
22
24
91.67%

web/auth/provider.go
0
2
0.0%

web/repositories.go
4
6
66.67%

web/scm_helpers.go
11
13
84.62%

assignments/pull_requests.go
1
4
25.0%

database/gormdb_repository.go
5
8
62.5%

Files with Coverage Reduction
New Missed Lines
%

database/gormdb_submission.go
1
67.83%

Totals

Change from base Build<PHONE_NUMBER>:
3.07%

Covered Lines:
2736

Relevant Lines:
9537

💛  - Coveralls


Razor Pages support

I am going to need help on this one. I have little to no experience with Razor Pages and my initial development/testing did not prove fruitful. Pushing this feature to v1.5 for now.

Haven't found the time to look into Razor Pages support unfortunately. Pushing this feature to v2.0 for now.


schAdd Common Views and Add View Specs

Add Common Views and Add View Specs

Move common views from sunnyside and tfdso into SN
Add view specs
Add Membership class into spec/dummy

[#101934888]

Good points and thanks!


Firewall rules for AKS private clusters

Any guidance for private clusters? I suppose we don't need half of the mentioned app.rules (https://docs.microsoft.com/en-us/azure/aks/limit-egress-traffic) since the public API is not used and etc. However, there might be some extra rules we should know about. I'd say the doc should provide info for all possible scenarios not just for the most used. For instance, the doc doesn't include required ports needed for communication between pools + master <> workers. my 2 cents.
Thanks. (I was able to setup a pr. cluster and it works fine. just want to make sure I've not missed anything important)

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

ID: a38439d0-0125-3445-1c0a-a03b940e315d
Version Independent ID: c6436a35-94b9-6396-3b13-9291f0a17b21
Content: Restrict egress traffic in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/limit-egress-traffic.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: jpalma

@rlevchenko Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.We will update you accordingly.

@palma21 Can you please check and add your comments on this doc update request as applicable

Yes as per the reference issue we should add that clarification to say that in the private cluster case the rules with the API as the endpoint are not required as that communication is internal/private. The rest is the same. In essence the below are not needed.

Destination Endpoint
Protocol
Port
Use

*:1194OrServiceTag - AzureCloud.:1194OrRegional CIDRs - RegionCIDRs:1194OrAPIServerIP:1194 (only known after cluster creation)
UDP
1194
For tunneled secure communication between the nodes and the control plane.

*:9000OrServiceTag - AzureCloud.:9000OrRegional CIDRs - RegionCIDRs:9000OrAPIServerIP:9000 (only known after cluster creation)
TCP
9000
For tunneled secure communication between the nodes and the control plane.

APIServerIP:443 (if running pods/deployments that access the API Server)
TCP
443
Required if running pods/deployments that access the API Server, those pods/deployments would use the API IP.

Destination FQDN
Port
Use

*.hcp..azmk8s.io
HTTPS:443
Required for Node <-> API server communication. Replace  with the region where your AKS cluster is deployed.

@palma21 thanks. can you also expand this "Blocking internal subnet traffic using network security groups (NSGs) and firewalls is not supported" Imagine we have multiple pools and each pool belongs to a unique subnet.

Yes all internal traffic between those should be available (in essence the default config that allows subnet to subnet internal communication). To control intra-cluster traffic please use network policies (east/west). To control cluster to external-source traffic you can use NSGs (north/south) (and those can be different by nodepool)


Allow single IN item to be a normal simple expression

If there is just one IN item, then the predicate could be rendered as equality predicate so it would be ok to have a simple expression and we don't have to be so strict about parsing in that case.
This is a blocker for JOIN strategy of #108

Fixed by https://github.com/Blazebit/blaze-persistence/commit/e4c858a07fcc6bc1387f2a80a3222f5642cc3bfe


How to uninstall nvm?

I want to uninstall nvm completely. Is there documentation on how to do this?

For additional info, nvm may be installed via Homebrew or npm. Check your installed packages for the proper way to remove the binary files.

@scott-joe nvm should never be installed via homebrew - it's entirely unsupported. See #469. In addition, the nvm on npm is NOT the correct one, and will not work anyways - see #304.

What's the reasoning for not hosting nvm on npm?

@trusktr it's not "reasoning", it's that it's a different project that's now deprecated. I've been given ownership of it, and at some point in the future (see #304), I'll replace it with something that bootstraps the proper nvm.

It might not make sense. It'd just be nice to uninstall it easily. Maybe it can prompt at the command like something like "This will uninstall versions of node installed by nvm too. Continue?".

Wait, I'm not even sure that's possible. Oh well, I was able to remove it manually any ways, and I can use Arch Linxu's pacman to see which files don't belong to any package and remove those too.

it's pretty simple. rm -rf $NVM_DIR and remove the two lines in your profile file.

@ljharb  it works

can we get an nvm uninstall command?

@chovy that would require modifying one or more of your profile files, otherwise it'd just be rm -rf "$NVM_DIR" - that's pretty destructive, and not something I'd want to encourage.
Disk space is cheap, so the best way to uninstall it is to simply disable it by removing the sourcing lines from your profile files - which has to be done manually.

I've removed the directory and I still can execute nvm from git bash, what going on?

@jcubic you may need to restart git bash and/or Windows. Sourced shell functions stay in memory even if the files are deleted.

step1 - check env:
[root@demo tatia]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.nvm/versions/node/v6.2.2/bin

step2 (remove nvm env from envs):
export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

done.

@sconts to uninstall, yes. when installed, however, the nvm paths should be first, or else it won't work properly. (however, nvm unload  and nvm deactivate both remove it for you)

clear $NVM_DIR
rm -rf $NVM_DIR ~/.npm ~/.bower && unset NVM_DIR

@myisjon ~/.npm and ~/.bower are for npm and bower, respectively; you don't necessarily want to ~/.npm when removing nvm. (of course, you'll want to remove bower in every case)

How about adding this in README?

Please add uninstall instructions to the README. One preference for using package managers to install node or anything else is ease of removal. Should be explicitly defined somewhere the best practice in completely removing it...

One hard thing to remember is how nvm was installed in the first place. I thought I had used homebrew (glad I didn't), but I used wget instead. I wonder if there is a way to know afterwards how nvm was installed.
I ran into another issue and saw that issue which helped me understand things out.
See https://stackoverflow.com/questions/34718528/nvm-is-not-compatible-with-the-npm-config-prefix-option
See https://stackoverflow.com/a/54617989/2391795 for how to reinstall nvm

@Vadorequest If everything is in ~/.nvm then it is installed with the official installation script.

In addition to rm -rf /root/.nvm if someone accidentally installed nvm as 'root' and is trying to reinstall it as a user you might also want to remove the following lines from /root/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

Note tho that those lines are safe noops if you’ve deleted the dir.

@ljharb export NVM_DIR="$HOME/.nvm" this line in particular wasn't letting me install nvm as a user with wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash even after I deleted the nvm directory and reloaded my shell. I couldn't reboot the server though as it's Production.

hmm, I’m not sure why a root env var would persist in a non-root session, but fair enough.

@dorkmania You don’t have to reboot, just log in again (as non-root user, of course).

@FranklinYu maybe it was just CloudLinux acting weird but I couldn't reinstall even after closing my ssh connection, re-logging in to root and then changing to the user account; till I deleted that line. The script kept giving me a message along the lines of  $NVM_DIR set to "/root/.nvm" before stopping. (.nvm was already deleted)

@dorkmania You are not logging into the user account when you first login as root and switch user. The first user matters. Contact your cloud provider if they don’t provide direct access to non-root user login session, or this will bite you here and there.

@FranklinYu Makes sense.

rm -rf ~/.nvm
rm -rf ~/.npm
rm -rf ~/.bower

works like fine-wine!

step1 - check env:
[root@demo tatia]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.nvm/versions/node/v6.2.2/bin

step2 (remove nvm env from envs):
export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

then, remove /root/.nvm/*
done.

Works like a charm!

step1 - check env:
[root@demo tatia]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.nvm/versions/node/v6.2.2/bin

step2 (remove nvm env from envs):
export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

then, remove /root/.nvm/*
done.

Works like a charm!

It is very inconvenient way. First we need to remove directories and then we need to bother with cleaning up configs manually

It is very inconvenient way. First we need to remove directories and then we need to bother with cleaning up configs manually

@xahon it would be very dangerous to mess with your profile files. The most an nvm command could safely do is rm -rf $NVM_DIR, so you'd still end up running a single command, and then manually deleting 2-3 lines from a profile file.

@xahon it would be very dangerous to mess with your profile files. The most an nvm command could safely do is rm -rf $NVM_DIR, so you'd still end up running a single command, and then manually deleting 2-3 lines from a profile file.

@ljharb fzf has an utility to remove itself in a safe manner. So user can override NVM_DIR by some reason and it is not safe to do rm -rf $NVM_DIR too

@ljharb fzf has an utility to remove itself in a safe manner. So user can override NVM_DIR by some reason and it is not safe to do rm -rf $NVM_DIR too

It’s quite safe; and any user who overrides NVM_DIR would cause nvm to delete the overridden dir anyways, since that’s the only way nvm knows where it lives.
i can’t speak for fzf or any other tool; the current requirements are one rm command, and optionally deleting 2-3 lines from your profile file. There’s nowhere close to enough incremental value from an uninstall command to risk it.

It’s quite safe; and any user who overrides NVM_DIR would cause nvm to delete the overridden dir anyways, since that’s the only way nvm knows where it lives.
i can’t speak for fzf or any other tool; the current requirements are one rm command, and optionally deleting 2-3 lines from your profile file. There’s nowhere close to enough incremental value from an uninstall command to risk it.

ddddddddd

work for me in macos
rm -rf ~/.nvm
brew cleanup --prune-prefix

@mibamur There is no need for such emphasis in your comments. And it is probably better to use the $NVM_DIR variable, as not everyone has nvm installed in ~/.nvm.
Oneliner:
rm -rf $NVM_DIR ~/.npm ~/.bower

then restart your terminal and check🙂

I wrote a script for the nuclear option of blowing everything away. Yes it's destructive!
Also added option to install volta to manage tools.
https://docs.volta.sh/guide/#why-volta
If you're in an agreeable mood when you run the script you'll end up with node, npm, and nvm gone with volta installed instead.
https://github.com/av8ta/nuke-node

@jcubic you may need to restart git bash and/or Windows. Sourced shell functions stay in memory even if the files are deleted.

I restarted windows and this is still a problem.

@OkilyDokily please file a new issue, filling out the entire issue template, and we can work it out. (be sure you're using real nvm, and not nvm-windows, which is a different project)

@OkilyDokily please file a new issue, filling out the entire issue template, and we can work it out. (be sure you're using real nvm, and not nvm-windows, which is a different project)

I found the nvm folder in the app data roaming directory.

no one of above removed my nvm. No bash script for it?
i can't get rid of it!!

I have a bash script for it mentioned above @Barabba11 but it was marked as disruptive for some reason so I'm loathe to post it again.

@av8ta because it's not for removing nvm, it's for replacing nvm with a different tool. that's not helpful here.

@Barabba11 removing nvm is a two step process - rm -rf $NVM_DIR, and then optionally remove the nvm lines from your profile file.

@Barabba11 removing nvm is a two step process - rm -rf $NVM_DIR, and then optionally remove the nvm lines from your profile file.

Did't work, pobably because it was not properly configured in PATH, so I removed it under root folder and now I can installa Node Red. Thanks

Having nvm installed shouldn't interfere with any kind of system node, whether node red or otherwise. nvm deactivate or nvm use system should be sufficient to allow that to work.

and how to fine the $NVM_DIR .

@Feyem9 it’s an env var. By default it’ll be $HOME/.nvm, but you can just check its value.

nvm unload and its removed from shell


Python + Homebrew, returning "Error: Running Homebrew as root is extremely ..."

VSCode Version: 1.67.2
Local OS Version: Ubuntu 22.04 LTS
Local chip architecture: x86-64
Reproduces in: Remote - Containers
Name of Dev Container Definition with Issue: "Python 3"

Steps to Reproduce:
Good morning my friends
About: Python + Homebrew, returning error "Error: Running Homebrew as root is extremely ..."
I have just created a development environment using python + homebrew and the following error is returned
Installing Homebrew...
Cloning into '/home/linuxbrew/.linuxbrew/Homebrew'...
Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core'...
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
The command '/bin/sh -c cd /tmp/build-features/local-cache && chmod +x ./install.sh && ./install.sh' returned a non-zero code: 1
[395831 ms] Error: Command failed: docker build -t vsc-python-labs-55ab636a2bbdda6b755a2f7493ddd6d9-features --build-arg BASE_IMAGE=vsc-python-labs-55ab636a2bbdda6b755a2f7493ddd6d9 --build-arg IMAGE_USER=root /tmp/vsch/container-features/0.234.0-1654274760079
[395832 ms]     at IR (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:221:995)
[395832 ms]     at zy (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:221:933)
[395832 ms]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[395833 ms]     at async $R (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:2007)
[395833 ms]     at async Zy (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:3112)
[395833 ms]     at async BR (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:12448)
[395833 ms]     at async qR (/home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:12204)
[395839 ms] Exit code 1
[395847 ms] Command failed: /snap/code/97/usr/share/code/code /home/marcio/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/marcio/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder /home/marcio/dados/acid-workflow/python-labs --workspace-mount-consistency cached --id-label vsch.local.folder=/home/marcio/dados/acid-workflow/python-labs --id-label vsch.quality=stable --log-level debug --log-format json --config /home/marcio/dados/acid-workflow/python-labs/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[395847 ms] Exit code 1

https://drive.google.com/file/d/1baICa18rTRnGWEHhK6LLIr9A3G2mp5oW/view?usp=sharing
https://drive.google.com/file/d/1EcMuo8kIlRhYiEHwiGLAsCfv5nKYcLwi/view?usp=sharing
If I create the development environment without selecting the use of homebrew, the Docker environment is assembled as expected
Thanks in advance to everyone who can contribute.

cc @andreiborisov

Hm, seems like this should be run by a non-root user now: https://github.com/microsoft/vscode-dev-containers/blob/852567db3f71bcbabca2881a50f8aa1c33df8eb6/script-library/homebrew-debian.sh#L130
I will fix this in a couple of days, thank you for raising the issue @mozgbrasil.

Closing this as we migrated Homebrew installation script on the Devcontainer Features spec. Please, use the new feature: https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/homebrew and reopen the issue, if it still persists.

Thanks @andreiborisov! Closing this issue.


Automating a release removes custom annotations

I clicked on Automate in Weave Cloud, which created a new commit in my repository.
In this comment, the flux.weave.works/automated: "true" annotation was added to the service, but my custom annotations were removed.
This is the diff:
annotations:
-    prometheus.io/scrape: 'true'
-    prometheus.io/port: '9090'
+    flux.weave.works/automated: "true"

Please do not modify existing annotations but rather add the required ones.

@sebastianroesch We do go to some trouble not to disturb existing annotations; but clearly, it is far from perfect :-( May we see the full file that was altered (redacted, if necessary)?

Sure, this is the (slightly redacted) file. The service has only two annotations, which were gone after automating the deployment.
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: usert-service-v1
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: user-service-v1
        task: user
        version: v1
    spec:
      containers:
      - name: user-service-v1
        image: user-service:latest-dev
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        livenessProbe:
          httpGet:
            path: /healthy
            port: 80
          initialDelaySeconds: 60
          timeoutSeconds: 30
          periodSeconds: 10
          failureThreshold: 3
        readinessProbe:
          httpGet:
            path: /healthy
            port: 80
          initialDelaySeconds: 30
          timeoutSeconds: 2
          periodSeconds: 2
          failureThreshold: 5
      tolerations:
        - key:preemptible
          operator: Equal
          value: 'true'
          effect: NoSchedule
      imagePullSecrets:
        - name: mysecret
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: user-service-v1
    task: user
  name: user-service-v1
  namespace: default
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/port: '9090'
spec:
  ports:
  - port: 80
    targetPort: 80
    name: api
  - port: 9090
    targetPort: 9090
    name: metrics
  selector:
    app: user-service-v1

Thanks @sebastianroesch . Flux doesn't cope with multiple docs in a file, for things it's trying to update (it's an annoying limitation, which comes about indirectly because we're trying to preserve comments in the YAMLs; see #1019 and https://github.com/weaveworks/flux/blob/master/site/requirements.md).
Until we can improve on this situation, if you separate the deployment into its own file, it'll work as advertised. Sorry on flux's behalf for stomping on your yaml!

After #976, flux handles multidocs, and won't botch this kind of update.


Character idle won't play

Describe your problem here.
When starting a song, my custom character, Tankman, won't play his idle dispite the animation existing in the json. His offsets don't work either.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No, I didn't do any source code modification. I did modify the character list.

Missing idle animation, check the Character Editor.

You may have named it "Idle" instead of "idle".


chore: wrap git api in try catch

:pencil: Description
We want to trigger comparadise based on the event trigger in our application instead of git PR.
For that we will be using unique id from app instead of commit hash to store new images.
While trying to run comparadise using unique id instead of commit hash, I am getting this error because the commit hash is invalid:
/home/runners/actions-runner/_work/_actions/ExpediaGroup/comparadise/v1/action/dist/main.js:26313
      const error = new RequestError(toErrorMessage(data), status, {
                    ^
RequestError [HttpError]: Not Found - https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference
    at /home/runners/actions-runner/_work/_actions/ExpediaGroup/comparadise/v1/action/dist/main.js:26313:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async getLatestVisualRegressionStatus (/home/runners/actions-runner/_work/_actions/ExpediaGroup/comparadise/v1/action/dist/main.js:36109:20)
    at async run (/home/runners/actions-runner/_work/_actions/ExpediaGroup/comparadise/v1/action/dist/main.js:36163:40) {
  status: 404,

This PR wraps that call in try catch and returns null on error.
This way we would be able to save the new/diff images using unique id from app instead of commit hash.

As discussed, we are going to add a new "diff id" param that can be used in place of commit hash


New Components: UI Slider and Container

I've combined these two components in this request as they are shown here:

A container that creates a controller to move around the sliders and builds a border around it's child components.
Sliders which can be set up to move along the XY plane within the range -1 to 1. Which makes it easy to attach to blendshapes.

Original discussion: Facial GUI setup

this is component will be super useful for many people :)


Wiz Bulb

This command sender works well with Wiz Bulb
example usage
Communication type: UDP
IP: IP
Port: 38899
Command Pressed: {"id":1,"method":"setState","params":{"state":true}}
One room can contain several lights ( I have 10+) so I need the ability to add several IP addresses for the same command. The extension cal currently sends one command for one button.
Thanks for help and support.

Hey there. I apologize for the late reply as it's been quite hectic at work
as of late.
Did you need to also specify a different port for each ip address?
If that is acceptable, it shouldn't be too much effort to update it to be
something like
IP: IP1; IP2; IP3
Port: 38899
In the meantime, Steam Deck does support a MultiAction button so one press
can activate multiple commands.
[image: image.png]
[image: image.png]
[image: image.png]
On Tue, Sep 5, 2023 at 6:46 AM josefalk @.***> wrote:

If I improve the code, How can I make the extention ?
—
Reply to this email directly, view it on GitHub
https://github.com/Zayik/CommandSender/issues/15#issuecomment-1706656062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACEELKWQA2TF7HUMYXM75MDXY4UKJANCNFSM6AAAAAA4LSR2MU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thank you for your reply. They are in the same port, so like you said:
IP: IP1; IP2; IP3
Port: 38899
It will be great if you update it.
regarding multi-action, it works a bit differently
in multi-action:
it is applying to both press and release when you release. so it is not actual.
means in multi-action, I configure several commands from your extension, I press the button and stay (nothing happens) then release the button, and the bulb turns on and off immediately (an example).
in your extension:
You press the button, and the press action happens. release the button then the release action happens.
That might be another fix?
the images did not show up.
Thanks a lot.
Best regards
Josef

I have created a pre-release to test this new feature.
https://github.com/Zayik/CommandSender/releases/tag/v1.1.0
Under IpAddress, add multiple of them separated by a semicolon
Example: <IP_ADDRESS>;<IP_ADDRESS>
Please give this a try and let me know how that works.


Fix minor typos

@sdia wow thanks!

thanks a lot!

Well thanks to You guys! This is an amazing project, looking forward to contribute more as I get up to speed with stats.

Coverage remained the same at 92.376% when pulling a119abaaa7800ae25f971077f1d03430d368f092 on sdia:master into ba4c8602b2abd9e3b2ac4bb299343c6f1f490df0 on zalando:master.


Pass datastore_type to validate_environment

For additional context, going by the lifecycle.png document: https://github.com/Netflix/metaflow/blob/master/docs/lifecycle.png, you can see that validate_environment is always called but not init_environment. In the new conda implementation, I need to know the datastore type (so I can properly figure out where to get things from) in all cases so need the information in validate_environment.


No provider for Store! angular 2.3.x,  2.4.0 and 2.4.1

#298 is closed but this issue is still occurring on angular 2.3.x, 2.4.0 and 2.4.1.
Error: No provider for Store!
with AOT compilation.
When trying angular 2.4 make sure to run a npm cache clean before removing node_modules, then npm install. I didn't get the error until after cleaning the cache with a full fresh dependency install.

It's working fine for me using aot and angular 2.4.2

@kucharzyk, does it work after you do a clean dependency install with a clean cache?

Remove node_modules
2, Run npm cache clean
npm install
Compile (AOT) and run app.

I did try 2.4.2 as well without success. Other people are experiencing the same issue :dizzy_face:

@juanlizarazo I've tried the following

Run yarn cache clean
Remove node_modules
Run yarn install
Build with aot and run app

This works well for me (maybe using yarn is crutial here?)
My package.json is here https://github.com/shardis/shardis/blob/master/package.json

@kucharzyk I'd believe so, regarding yarn. You do have a lock file.
As we are in dev (app hasn't made it to prod just yet), we haven't used any lock mechanism (like npm shrinkwrap or yarn) to lock the versions.
I just updated my package.json to match yours (all the common deps we have, @angular, core-js, @ngrx, typescript, reselect, rxjs, zone, etc). Removed node_modules, cleaned cache, install. Still got the same error.

Issues #78 #95 are related.

@kucharzyk are you using platformBrowser() or platformBrowserDynamic()
The issue is occurring when using platformBrowser() (AOT)
The issue is NOT occurring when using platformBrowserDynamic() (JIT)
I looked at your repo, your angular-cli config points to main.ts but it is not tracked there, so I can't tell.

@juanlizarazo, I am fairly sure (but not certain): if you are using the angular compiler, it will dynamically swap out platformBrowserDynamic for platformBrowswer when compiling for AOT (ng build --prod --aot). We have the same setup (we get the same error as you though), and from what we can tell this swapping is occurring. When the final build is loaded in the browser, platformBrowser is called.
I also cant be certain that @kucharzyk is building using ng-cli, but its in his package.json at least.

@bradseefeld
I'm using angular-cli 1.0.0-beta.24.
@juanlizarazo
It automagically changes platformBrowserDynamic to platformBrowswer just like @bradseefeld  wrote

Thanks @bradseefeld @kucharzyk I did see the cli switches it here
I can run your project too just fine in AOT mode with ng serve --prod.
Now I am really confused why some of us have this issue :dizzy_face:  :dizzy_face:

I've tried to use npm instead of yarn.
Using node 7.4.0 and npm 4.0.5 I've built working aot application.
After npm cache clean and removing node_modules I've tried to install and build again
It still works...
What am I doing wrong?

ng serve --prod --aot or ng build --aot --prod. Not specifying --aot will not actually use AOT :) AFAIK the --prod just does some mangling and gzipping.
Likewise you can drop the --prod from both to continue using dev environment variables if that is easier. Just make sure --aot remains.
@kucharzyk, are you saying its working now?

@kucharzyk, can you confirm exactly which command you are using to build and/or serve?

@bradseefeld my bad
To clarify, for @kucharzyk, it has always worked. His project doesn't present this issue (No provider for Store!) when using ng serve --aot --prod.  I cloned it, just run it, all good.
Mine presents the issue with AOT, since upgrading to angular 2.3.x 2.4.x

@bradseefeld That's my scripts
  "scripts": {
    "clean:dist": "rimraf src/main/resources/static/*",
    "prebuild:prod": "yarn run clean:dist",
    "build:prod": "ng build -prod --aot --sourcemap=false --progress=false",

    "server:prod": "ng serve --p 4200 -pc proxy.json --watcher=events -prod --aot --open --progress=false",
  },

I use yarn run build:prod to build and for test just http-server for serving
I've tried also yarn run server:prod to serving in aot mode

Gotcha, thanks!
@juanlizarazo, can we share our dependency lists to see if its perhaps something being caused there?
Ours:
"dependencies": {
    "@angular/common": "2.3.1",
    "@angular/compiler": "2.3.1",
    "@angular/core": "2.3.1",
    "@angular/forms": "2.3.1",
    "@angular/http": "2.3.1",
    "@angular/platform-browser": "2.3.1",
    "@angular/platform-browser-dynamic": "2.3.1",
    "@angular/router": "3.3.1",
    "@ngrx/core": "1.2.0",
    "@ngrx/effects": "2.0.0",
    "@ngrx/router-store": "1.2.5",
    "@ngrx/store-devtools": "3.2.2",
    "@ngrx/store-log-monitor": "3.0.2",
    "@ngrx/store": "2.2.1",
    "angular2-cookie": "1.2.6",
    "angular2-modal": "2.0.2",
    "awesome-bootstrap-checkbox": "0.3.7",
    "bootstrap-sass": "3.3.7",
    "chart.js": "2.4.0",
    "core-js": "2.4.1",
    "font-awesome": "4.7.0",
    "log4ts": "0.4.2",
    "ng2-bootstrap": "1.1.16-7",
    "ng2-charts": "1.4.4",
    "ng2-popover": "0.0.13",
    "ng2-select": "1.1.2",
    "ng2-translate": "4.0.0",
    "primeng": "1.1.3",
    "raven-js": "3.9.1",
    "reflect-metadata": "0.1.8",
    "rxjs": "5.0.1",
    "ts-helpers": "1.1.2",
    "zone.js": "0.7.4"
  },
  "devDependencies": {
    "@angular/compiler-cli": "2.3.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "6.0.52",
    "angular-cli": "1.0.0-beta.24",
    "codelyzer": "2.0.0-beta.3",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.3.0",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage": "1.0.0",
    "karma-jasmine": "1.1.0",
    "karma-phantomjs-launcher": "1.0.0",
    "karma-remap-istanbul": "0.4.0",
    "karma-mocha-reporter": "2.0.3",
    "phantomjs-prebuilt": "2.1.7",
    "protractor": "4.0.13",
    "ts-node": "1.2.1",
    "tslint": "4.1.1",
    "tslint-loader": "3.3.0",
    "typescript": "2.0.0",
    "webdriver-manager": "10.2.10"
  }

Yep! Here @bradseefeld:
 "dependencies": {
    "@angular/common": "2.4.2",
    "@angular/core": "2.4.2",
    "@angular/http": "2.4.2",
    "@angular/platform-browser": "2.4.2",
    "@angular/platform-server": "2.4.2",
    "@angular/router": "3.4.2",
    "@ngrx/core": "1.2.0",
    "@ngrx/effects": "2.0.0",
    "@ngrx/store": "2.2.1",
    "core-js": "2.4.1",
    "lodash": "~4.16.6",
    "ngrx-store-freeze": "^0.1.6",
    "reflect-metadata": "~0.1.8",
    "reselect": "2.5.4",
    "rxjs": "5.0.3"
  },
  "devDependencies": {
    "@angular/compiler": "2.4.2",
    "@angular/compiler-cli": "2.4.2",
    "@angular/platform-browser-dynamic": "2.4.2",
    "@ngrx/store-devtools": "3.2.2",
    "@types/electron": "~1.4.24",
    "@types/jasmine": "~2.2.34",
    "@types/karma": "~0.13.33",
    "@types/lodash": "~4.14.38",
    "@types/node": "~6.0.45",
    "@types/reselect": "~2.0.27",
<EMAIL_ADDRESS>"0.0.27",
    "asar": "~0.12.3",
    "babel-polyfill": "~6.16.0",
    "babel-preset-es2015": "~6.18.0",
    "babel-preset-stage-0": "~6.16.0",
    "babili": "0.0.8",
    "codelyzer": "2.0.0-beta.2",
    "concurrently": "2.2.0",
    "gulp": "~3.9.1",
    "gulp-babel": "~6.1.2",
    "gulp-clean": "~0.3.2",
    "gulp-clean-css": "~2.0.13",
    "gulp-concat": "~2.6.1",
    "gulp-date-rev": "0.0.5",
    "gulp-file": "~0.3.0",
    "gulp-htmlmin": "~3.0.0",
    "gulp-merge-json": "~0.6.0",
    "gulp-rename": "~1.2.2",
    "gulp-rollup": "~2.5.1",
    "gulp-run": "~1.7.1",
    "gulp-sass": "~2.3.2",
    "gulp-uglify": "~2.0.0",
    "gulp-util": "~3.0.7",
    "gulp-zip": "~3.2.0",
    "jasmine-core": "~2.2.0",
    "karma": "~1.3.0",
    "karma-chrome-launcher": "~2.0.0",
    "karma-coverage": "~1.1.1",
    "karma-html-reporter": "~0.2.7",
    "karma-jasmine": "~1.0.2",
    "karma-mocha-reporter": "~2.1.0",
    "karma-typescript-preprocessor": "~0.2.1",
    "merge-stream": "~1.0.0",
    "node-sass": "~3.8.0",
    "normalize-scss": "~5.0.3",
    "pump": "~1.0.1",
    "remap-istanbul": "~0.6.4",
    "rollup": "~0.36.4",
    "rollup-plugin-alias": "~1.2.0",
    "rollup-plugin-commonjs": "~5.0.5",
    "rollup-plugin-node-resolve": "~2.0.0",
    "rollup-plugin-replace": "~1.1.1",
    "rollup-plugin-typescript": "~0.8.1",
    "rollup-plugin-uglify": "~1.0.1",
    "rollup-watch": "~2.5.0",
    "run-sequence": "~1.2.2",
    "source-map-explorer": "~1.3.2",
    "stylelint": "~7.2.0",
    "stylelint-config-standard": "~13.0.0",
    "tassign": "~1.0.0",
    "tslint": "4.0.2",
    "typescript": "2.1.4",
    "zone.js": "0.7.2"
  }

@bradseefeld try with @angular 2.4.2
The issue was known on 2.3.x, supposedly fixed on 2.4.x Try 2.4.2 and post results.

I've tried on 2.4.0 and 2.4.1, same result. Im trying on 2.4.2 now but getting some build errors unrelated to ngrx. May take me a while to resolve... I'll let you know.

2.4.2 works! We had some errors with other packages, but after fixing those, ng serve --aot is working.
"dependencies": {
    "@angular/common": "2.4.2",
    "@angular/compiler": "2.4.2",
    "@angular/core": "2.4.2",
    "@angular/forms": "2.4.2",
    "@angular/http": "2.4.2",
    "@angular/platform-browser": "2.4.2",
    "@angular/platform-browser-dynamic": "2.4.2",
    "@angular/router": "3.4.2",
    "@ngrx/core": "1.2.0",
    "@ngrx/effects": "2.0.0",
    "@ngrx/router-store": "1.2.5",
    "@ngrx/store-devtools": "3.2.2",
    "@ngrx/store-log-monitor": "3.0.2",
    "@ngrx/store": "2.2.1",
    "angular2-cookie": "1.2.6",
    "angular2-modal": "https://github.com/davidloiret/angular2-modal/tarball/release",
    "awesome-bootstrap-checkbox": "0.3.7",
    "bootstrap-sass": "3.3.7",
    "chart.js": "2.4.0",
    "core-js": "2.4.1",
    "font-awesome": "4.7.0",
    "log4ts": "0.4.2",
    "ng2-bootstrap": "1.1.16-7",
    "ng2-charts": "1.4.4",
    "ng2-popover": "0.0.13",
    "ng2-select": "1.1.2",
    "ng2-translate": "4.0.0",
    "primeng": "1.1.3",
    "raven-js": "3.9.1",
    "reflect-metadata": "0.1.8",
    "rxjs": "5.0.1",
    "ts-helpers": "1.1.2",
    "zone.js": "0.7.4"
  },
  "devDependencies": {
    "@angular/compiler-cli": "2.4.2",
    "@types/jasmine": "2.5.38",
    "@types/node": "6.0.52",
    "angular-cli": "1.0.0-beta.24",
    "codelyzer": "2.0.0-beta.3",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.3.0",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage": "1.0.0",
    "karma-jasmine": "1.1.0",
    "karma-phantomjs-launcher": "1.0.0",
    "karma-remap-istanbul": "0.4.0",
    "karma-mocha-reporter": "2.0.3",
    "phantomjs-prebuilt": "2.1.7",
    "protractor": "4.0.13",
    "ts-node": "1.2.1",
    "tslint": "4.1.1",
    "tslint-loader": "3.3.0",
    "typescript": "2.0.0",
    "webdriver-manager": "10.2.10"
  }

That's great news @bradseefeld!
So in that case, it seems it is isolated now to my project. I will stick with 2.4.2 and debug until I figure out what's happening with my project. Knowing that 2.4.2 should work is great help!
I'll close the issue and in the future post whatever fix applies to my project in case anyone else run into that.

Thanks @kucharzyk @bradseefeld for looking into it.

np, @juanlizarazo. This helped us get it resolved too. Best of luck!


Using an ExceptionListener in CloudBigtableIO writeTo().

Adding logging on exceptions.

I updated the code.  I'm out for the next couple days.  If it looks good, please merge it.

LGTM


Chrome

Any update on iPad or PC use

I would check out issue #10 for Windows Compatibility info.  @ahertel  Any plans for ios or android?

FYI - this works for Chrome on Mac or PC. Currently the audio alerts are Mac only, but I think they'd be pretty easy to add

I built a version that runs on Windows, Mac and multiple browsers. Check it out here.


Have an option for continous scanning when entering prices

Problem
If you have to scan all the products when entering prices from a receipt, you have to click to open the scanner. scan. click to open the scanner. scan.
Proposed solution
it would be nice if you could just turn your phone into a barcode scanner for a sec and just BEEP BEEP BEEP BEEP continuously scan without having to click the button to scan for each item

wait, the app doesn't have the price receipt/tag scanning thing? i feel like i used it a couple days ago, but can't find it now.
if it's not in the app, feel free to move this to open-prices-frontend

it would be nice if you could just turn your phone into a barcode scanner for a sec and just BEEP BEEP BEEP BEEP continuously scan without having to click the button to scan for each item

Nice idea! And from what I read in the code that may not cost that much.

@thibaultmol I've just PR'ed a solution for the multi product scan during price input, and that's a game changer, a really good idea!
The only problem I see is that the scanner is not 100% reliable, and you often wind up with an extra unknown product.


Update deprecated GitHub workflow items

Same as
https://github.com/sabre-io/uri/pull/92
https://github.com/sabre-io/uri/pull/91

https://github.com/sabre-io/xml/actions/runs/4938317599?pr=236
No messages about deprecated workflow actions - good


Feature request: "Hybrid" Warehouses?

Hi,
is it possible to get some "hybrid warehouses", like "requester+storage" and "requester+passive"?
like the one from https://github.com/Phenix0cs/Smarter-chests but not only the requester+storage combination?
Thank you!

Hey
Looking at this mod and how it works, i wouldn't want to pull their mod into mine, i'd far rather suggest them pulling in a warehouse from their side and manage it with their scripts.
I'd be happy for them to make a warehouse version of their chest .. but i'm also worried that it will cause a whole lot of lag because you're working on duplicating 2000 item slots between 2 entities on the same spot, so you're doubling all warehouse access ... maybe not such a good idea

Just to note, Factorio 0.16 added a buffer chest type that combines requester and passive provider. Would that be sufficient? I'm tracking implementation of that warehouse/storehouse type in #22.


Service Implementation to create distributed partial Siddhi apps

Description:
There should be service which could split a Siddhi app and create partial Siddhi apps by adding necessary messaging system details. Here service should split the Siddhi app based on the annotations used in the queries. This is required for distributed siddhi deployment.

In the next release, we are only supporting for siddhi app failover deployments. The failover deployment is a high availability deployment architecture, which used two deployment nodes. The distributed support will eventually be added after that failover support.

Created service with https://github.com/siddhi-io/distribution/pull/273.
This PR contains support for failover partial app creation.
Fully distributed deployment progress is managed through https://github.com/siddhi-io/siddhi-operator/issues/23. Hence, closing.


Fix more failing tests

This patch fixes all failing tests found at DefaultShapeTableManagerTests.cs file except for the one skipped test.
This patch also fixes test project build break in the skipped test but does not try to fix that test as the functionality being tested seems not to be implemented/incomplete yet.
Thanks.

Thanks :)


Build logic can declare which linkages to produce for a C++ library

Xcode support
C++ unit test plugin
XCTest support
Swift + C++ interop
Publishing to a Maven repo

@ghale can you leave a comment here about what's not covered by the milestone issue you're looking at?

So #316 covers adding static library support for C++ and Swift/C++ interop.  It necessarily also adds support for static libraries in Xcode and XCTest.  However, there are tests for the swift/c++ interop functionality, but little beyond that.  I would think in order to call that support "done" we would need add a little more significant test coverage for static libraries.
For CppUnit, appropriate changes were made to the CppUnit plugin in order to handle the deferred configuration that was introduced with the static support, and my gut feeling is that it will probably "just work", but no test coverage was added for static libraries.
Nothing was done for publishing or consuming static libraries.  We still only publish the shared library variant and is there no way for a consumer to specify that they want a static library variant in the instance that a cpp dependency can build both static and shared variants.


[feature request] add track lastPlayed timestamp

Is it possible to make the track data from get_all_songs include the lastPlayed timestamp? I am currently building an automatic playlist manager for my google play songs, and I tend to rely on that field when building my playlists. Thanks.
Not 100% certain the field actually exists. Yes, I do see the lastModifiedTimestamp field you already expose, and if necessary, I can potentially use that one.

Sorry, we already provide everything we're given from Google. The lastModifiedTimestamp might be what you want; I'm not sure. They do probably track timestamps somewhere since the client provides it here.

Ok, no problem. I can work with lastModifiedTimestamp, it isn't 100% what I am looking for, but it can serve my purposes. Curious, do you know what the recentTimestamp is? Is there anywhere that explains what the various fields mean? I figured out that the timestamps must be [converted to a number and] divided by 1,000,000 in order to use with datetime.datetime.fromtimestamp().

Is there anywhere that explains what the various fields mean?

Not really =( There are a few comments in the docstrings alongside the examples, but nothing more structured that that.

@simon-weber Is this stillt not possible? I saw that in your chrome extension you have these now:
https://github.com/simon-weber/Autoplaylists-for-Google-Music/commit/687cb26185bc7e5167d840a181d7b6d516249ec0
https://github.com/simon-weber/Autoplaylists-for-Google-Music/commit/5e1b9808c14c85106e985949a3830b658f78ad2f
Would it be possible to include them here too?

Yeah, Google still doesn't provide it to the mobile apis. The chrome extension is using a much wonkier set of web apis (since it doesn't need to worry about auth in the same way).


Fix interface [Exposed] handling to handle string args, not just list args, and implement [Exposed] handling for interface members.

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Since someone looking at this was confused about the goal and I forgot to put those in the commit message...  This PR is fixing two problems:
First, consider this interface:
[Exposed=(Window,Worker)]
interface Foo {
  [Exposed=(Window)]
  void someMethod();
};

Without my changes, idlharness will check for a someMethod method on Foo.prototype in all globals where the Foo interface is exposed, and will fail in a worker, because someMethod is not exposed there.  That's what the blocks ending with continue in IdlInterface.prototype.test_members and IdlInterface.prototype.test_interface_of fix.  This needs the default_set argument to exposure set computation, because if there isn't any exposure set specified on a member, it gets the exposure set of its interface.
Second, consider this interface:
[Exposed=SharedWorker]
interface Foo {

};
The code without my changes does:
    var globals = exposed.length === 1
                ? exposed[0].rhs.value
                : ["Window"];

which sets globals to the string "SharedWorker".  Then it does member.exposed = exposed_in(globals).  expose_in tries to figure out which sort of global we're running in.  Say we're running in a dedicated worker.  Then this test:
 if ('DedicatedWorkerGlobalScope' in self &&
     self instanceof DedicatedWorkerGlobalScope) {

tests true and this return value:
     return globals.indexOf("Worker") >= 0 ||
            globals.indexOf("DedicatedWorker") >= 0;

returns true, because if you recall the variable globals is the string "SharedWorker", so globals.indexOf("Worker") >= 0.  Yay Python typing.
The fix for this is to make sure that globals ends up as the list ["SharedWorker"] in this case, so our indexOf checks in exposed_in do the right things.  That's the:
+    if (typeof set == "string") {
+        set = [ set ];

bit.


JavaScript: Remove two remaining uses of TrackedExpr.

When I removed all uses of TrackedNode, I forgot about TrackedExpr. This PR removes its remaining two uses; performance is unaffected (internal link).
I also noticed that the unpromoted-candidate queries still used TrackedNodes, which seems wrong, so the second commit gets rid of that. This caused many changes in the expected test outputs for these queries, which I'm not sure I understand. @esben-semmle, perhaps you could comment on this?

LGTM.
The new expected test outputs looks correct.
It looks like the previous TrackedNode refactoring broke the tests, but we missed that (https://github.com/Semmle/ql/commit/55394df96ff937d3961e9ccd53f0d6450b05d09d).


Bugs in computing sex proportion and length distribution of fish

To compute the biomass density several constants need to be created. It appears that some of these constants are not correctly created. Specifically, the following should be reviewed:

Several proportions and fractions are created in the function _compute_proportions and some of them do not appear to be correct

All values that should be investigated are marked with TODO

In the function _fill_len_wgt_prod we are attempting to obtain the length key for station 2 for all fish. However, in the Matlab code (and as a result in the Python code) we exclude the unsexed fish.
The function _get_age2_wgt_prop computes the age 2 weight proportion using the specimen data. However, there is a deliberate dropping of NA values that only occurs in this calculation. We should make it so that this is done when the data is first loaded and then use this data for all calculations.

The latest status where _get_distribution_lengths_station_2 should be corrected:
https://github.com/uw-echospace/EchoPro/blob/2c832292cb9cbae0b5bfd07c0b1ef328043d94c2/EchoPro/computation/transect_results.py#L529-L535

Closing this now that we have traced the matlab code to understand all details and implemented a clean version of python code.


Update locales

Translation files located in the directories "locale" and "share/torbrowser-launcher/locale" is not applied in practice. This PR translation files updated and simplified translate application in future.

Wow, thank you so much


How to train with full supervised mode?

Thank you for your nice work!
I was a little wondering about :

the setting of training the model with total labeled 10,582 samples;
when employing "Full labeled data", the differences between settings of ”SupOnly“ and "CAC".

Thanks for your question. When using the 'full labeled data', the 'SupOnly' setting means only use the cross entropy loss from the predictions and the ground-truth, while the 'CAC' setting also adds our proposed DC Loss. As for the details, because there are no unlabeled images in the fully supervised setting, so we use all images to compute the DC Loss.

Thank you a lot, I got it.


Update README to add new samples into the list

Existing Sample Changes
Description
Add new samples into the sample list of README
Fixes Issue#
External Dependencies
List any external dependencies created as a result of this change.
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Implement fixes for ONSAM Jiras

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode
[ ] When compiling the compliler flag "-Wall -Wformat-security -Werror=format-security" was used

@jimmytwei
this PR should be also applied to master branch. thanks


added functionality for closing search dropdown

when the user clicks outside the dropdown will be closed and also added close button for closing dropdown which is great user experience

added Tailwind css for displaying the dashboard and also added the link from react router which does not do hard refresh and added icon for closing the side nav in the mobile view.

added Tailwind css for displaying the dashboard and also added the link from react router which does not do hard refresh and added icon for closing the side nav in the mobile view.

can you please add ss or a small video of the ui changes

https://drive.google.com/drive/folders/1Bm_irmz644t3L07OG25HfxKVW_WTiWBX?usp=sharing

https://drive.google.com/drive/folders/1Bm_irmz644t3L07OG25HfxKVW_WTiWBX?usp=sharing
here is the video and see that there wont be any hard reloads when you navigate to other pages

That's awesome work , Thank you !
can you please give a button to go back to main page from dashboard!


Add compatibility with PrettyTables 0.10 + CompatHelper

This PR adds compatibility with PrettyTables 0.10. Moreover, it adds CompatHelper to not miss such updates in the future.
MLJScientificTypes is holding back PrettyTables in https://github.com/alan-turing-institute/MLJBase.jl/pull/445, which in turn is needed to update MCMCChains to PrettyTables 0.10 (https://github.com/TuringLang/MCMCChains.jl/pull/247).
In my last PR to MLJ* I was told to open new PRs to the dev branch, I hope that's correct.

@devmotion Thanks for this! Just waiting on https://github.com/JuliaData/CSV.jl/issues/778 so that tests work again.

Replaced by #51


[feature request] support while operator

context
Recently I want to process batch tasks on a queue basis.
In a batch that uses a queue, I want to run a particular task until the queue is empty.
I want a while operator to perform such a task.

question
Looking at the processing of the for operator, it seemed that the parameters for the child tasks were stored in postgresql when the for operator was executed.
Is it difficult to implement the while operator because the while operator needs to evaluate the condition for each loop?

I am not sure it is difficult or not. But some operators generate subtask.
I guess your requirement may be similar to the following wf.
I don't check this workflow run as expected.
_retry: 100
+t1:
if>: <condition_not_satisified>
_do:
+t1a:

+force_retry:
fail>: retry

There is no activity. Close.


Drop jQuery dependency in documentation/examples

On https://dexie.org/docs/Dexie/Dexie.on.populate#ajax-populate-sample
 return new Promise(function (resolve, reject) {
                $.ajax(url, {
                    type: 'get',
                    dataType: 'json',
                    error: function (xhr, textStatus) {
                        // Rejecting promise to make db.open() fail.
                        reject(textStatus);
                    },
                    success: function (data) {
                        // Resolving Promise will launch then() below.
                        resolve(data);
                    }
                });

fetch() is supported on all browsers that support IndexedDB, using jquery in the documentation makes this library seem a bit "old-school", back when jquery was used to harmonize all the different ways ajax calls were made.
I think developers may simply cut and paste when getting started, so using something that works everywhere and was also a best practice for handling errors would be better than requiring jQuery.
Thanks.

Thanks! Planned it. Feel free to do a PR, otherwise I will do it some time after March 27

I'm so confused about Promises, I'm trying to follow the examples in my stimulus controller, and I get depressed and start questioning my career choices...
Since a jquery ajax request returns a jQuery promise, (see
https://web.dev/articles/promises#compatibility_with_other_libraries), I think it's even more important to use a vanilla fetch call in the above example.
What I'd really like to see is a set of paginated api calls, so I could properly load an set of data, e.g.
do {
   fetch(/api/data?page=N
while (nextPage);

Anyway, this is an awesome library, I can't wait to understand Promises more so I can take advantage of it.

Here's an example that works with dummy data.  It only gets the first 30 out of 100 though, it'd be great if you could tweak it to show fully populating the table.
        import Dexie from 'dexie';

        var db = new Dexie('someDB');
        db.version(1).stores({
            productTable: "++id,price,brand,category"
        });

        // Populate from AJAX:
        db.on('ready', function (db) {
            // on('ready') event will fire when database is open but
            // before any other queued operations start executing.
            // By returning a Promise from this event,
            // the framework will wait until promise completes before
            // resuming any queued database operations.
            // Let's start by using the count() method to detect if
            // database has already been populated.
            return db.productTable.count(function (count) {
                if (count > 0) {
                    console.log("Already populated");
                } else {
                    console.log("Database is empty. Populating from ajax call...");
                    // We want framework to continue waiting, so we encapsulate
                    // the ajax call in a Promise that we return here.
                    return new Promise(  (resolve, reject) => {
                        const response = loadData().then( (response) => {
                            console.log("Calling bulkAdd() to insert objects...", response);
                            console.assert(db);

                            return db.productTable.bulkAdd(response.products);
                        });
                    }).then(function (data) {
                        console.log("Got ajax response. We'll now add the objects.");
                        // By returning the a promise, framework will keep
                        // waiting for this promise to complete before resuming other
                        // db-operations.
                    }).then(function () {
                        console.log ("Done populating.");
                    });
                }
            });
        });

        // Following operation will be queued until we're finished populating data:
        db.productTable.each(function (obj) {
            // When we come here, data is fully populated and we can log all objects.
            console.log("Found object: " + JSON.stringify(obj));
        }).then(function () {
            console.log("Finished.");
        }).catch(function (error) {
            // In our each() callback above fails, OR db.open() fails due to any reason,
            // including our ajax call failed, this operation will fail and we will get
            // the error here!
            console.error(error.stack || error);
            // Note that we could also have caught it on db.open() but in this sample,
            // we show it here.
        });

        async function loadData() {
            let url = 'https://dummyjson.com/products';
            const response = await fetch(url);
            return await response.json();
        }

Some of the old examles would really need a rewrite and this is one of them. In this case I don't think we need to create a Promise there but simply:
db.on('ready', async vipDB => {
  const count = await vipDB.productTable.count();
  if (count > 0) {
    console.log("Already populated");
  } else {
    const data = await loadData();
    await vipDB.productTable.bulkAdd(data);
    console.log ("Done populating.");
});

The db instance passed to on('ready') is "VIP" meaning that it lets the request bypass the blocked queue that waits for the promise from the callback to complete before resuming other request.
If you want to fetch several chunks of data rather than a single one it could be done entirely within loadData().
I would also like to change db.productTable.each() call to db.productTable.toArray()or simplydb.productTable.count()` because even if each is supported, it's mostly not very useful and in almost all scenarios, toArray() is a better alternative.
If you would have the time to do a PR and update this example, please verify that the code runs and does what it is expected to do (I haven't actually run the snippet I posted). Else, I will update these docs some day - it's too much other things I need to prioritize right now. Thanks for taking bringing this up. The docs feel a bit old fashioned with these old samples.

I'll play around with this -- I'm working on a demo where I preload data for use with the awesome datatables.net, and now that pagination is working, it looks great.  I'll submit a PR hopefully later today.
How can I optionally delete the database first, before populating?  I'll add that to this example.  This isn't working, I'm sure I need to wait for the delete to finish before doing the next step.
In fact, I seem to have gone into a Promises wormhole, and 'ready' seems to never fire now.  Sigh.  By chance, is there a way to turn on debug and see the events that are fired?  My code is filled with console.logs, I'm sure I'm doing something wrong with promises.
    startup()
    {
        let db = new Dexie(this.dbNameValue);
        console.log(this.dbNameValue + ' database startup.')
        db.on('ready', async vipDB => {
            console.log(this.dbNameValue + ' ready')

        var db = new Dexie('test');
        if (forceReload) {
            db.delete().then( () => db = new Dexie('test'));
        }

// Populate from AJAX:
        db.on('ready',  (db) => {

            // db.delete().then( () => {});
        db.version(1).stores({
            productTable: "++id,price,rating,brand",
            friendTable: "++id,state,age,zip"
        });

I'm sure this is something easy, but I can't wrap my head around the promised.
Here's a jsFiddle with the example you provided.  https://jsfiddle.net/tacman1123/1uhvg5nw/1/
I can see that is it loading the data, but the count promise is never filled, almost certainly because something is out of order.
Thanks

There are 2 problems with the loadData() in the fiddle.

It returns an object with containing query parameters limit, skip, total and the array of object in a "products" property but this object is what loadData() returns and this is sent to bulkAdd() but that method expects an array of objects
The call to bulkAdd is not awaited so the callback could return too early.

Thanks!  The updated and working fiddle is at https://jsfiddle.net/tacman1123/1uhvg5nw/2/
Should I make a PR using this code to replace the jQuery example?

Yes but just remove const addPromise =  because an awaited promise is not a promise anymore. It's enough with just awaiting it and don't put the result anywhere.


find() adding a key

While combines find() followed by add/insertion of item strange thing happens.
Code
nlohmann::fifo_map<std::string,uint8_t> pe;
for(int i=0; i<1000; i++){

        std::string key = "custom_";
        key += std::to_string(i);

        //if(0 == pe.count(key)){
        if(pe.find(key) == pe.end()){

            pe[key] = (i+128) & 0xFF;
            std::cout << "OK"  << std::endl;
        } else {

            std::cout << "WRONG" << std::endl;
            auto i = pe.find(key);
            std::cout << key << " matches " << i->first << "!!" << std::endl;
            std::cout << key << " counts " << pe.count(key) << "!!" << std::endl;
            break;
        }
}

This test won't pass (or enter "WRONG" condition) on my PC (tested on 32bit mingw530 and 64bit g++ 5.4.0) in third iteration.
Up to my knowledge it fails because new key is added into fifo_map::m_keys already with fifo_map::find(name) call.
This new key has first = name, second = 0. Second value should be timestamp > 0, so it is not valid key.
I don't know why, perhaps it could be desired behavior BUT when I want than add key of such name it has no effect because of usage insert() in fifo_map_compare::add_key.
I used simplest workaround and replace insert() by operator but I'm on serious doubts if it is the right correction (despite it works).
void fifo_map_compare<class Key>::add_key(const Key& key) {
        keys->operator[](key) = timestamp++; //bernau84 workaround
        //keys->insert({key, timestamp++});
}

To be honest - the same code runs as should on online compiler http://melpon.org/wandbox/permlink/l2f2Qxhq95qVKRgE.
This confuses me totally.

My previous proposal was mistake, it causes more problems than solves.
After some more digging I find the root of problem in fifo_map_compare::operator()
New slow but working solution could be:
        // look up timestamps for both keys
//        const auto timestamp_lhs = keys->operator[](lhs);
//        const auto timestamp_rhs = keys->operator[](rhs);

        //bernau84 fix
        const auto timestamp_lhs = (keys->find(lhs) != keys->end()) ? keys->operator[](lhs) : 0;
        const auto timestamp_rhs = (keys->find(rhs) != keys->end()) ? keys->operator[](rhs) : 0;

Thanks for reporting! The test suite is definitely not good enough - otherwise I should have noticed earlier!


Not compatible with .net Standard 2.0 class library

When adding Inflector.Portable nuget package in .net Standard 2.0 class library we have the following error:

The same goes with Inflector (https://github.com/srkirkland/Inflector) nuget package  from which your project is forked.


Custom Multiblock Structure

I have issue with creating MBS Quest on Combustion Chamber from Magneticraft
After building Multiblock I can't click on keyBlock with selected item and multiblock doesn't detect as completed.
I'm using the latest version of BQ and BQ - Multiblock and Structure Integration
This is my txt file (combustion_chamber.txt)
wildcard,magneticraft:multiblock_parts:5,wildcard minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:* minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:* minecraft:brick_block:*,keyBlock,minecraft:brick_block:* . wildcard,magneticraft:multiblock_parts:5,wildcard minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:* minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:* minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:* minecraft:brick_block:*,minecraft:brick_block:*,minecraft:brick_block:*
And my quest config
BLOCK SECTION
amount = 1 blockID = magneticraft:big_combustion_chamber meta = -1 oreDict = "blankspace"
TASK SECTION
fileNames = combustion_chamber.txt gameStageCompat = 0 gameStageName = "blankspace" height = 2 imageLocation = "blankspace" item = Air length = 4 name = Bigger Combustion Chamber useImage = 0 width = 3 wildcardOptimization = 1
Github may break formating of txt file so i attached original file
combustion_chamber.txt

Your second level of blocks, you have one line of brick blocks too many.
Should be:
wildcard,magneticraft:multiblock_parts:5,wildcard
minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:* minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:* minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:*
Not:
wildcard,magneticraft:multiblock_parts:5,wildcard
minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:* minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:* minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:* minecraft:brick_block:,minecraft:brick_block:,minecraft:brick_block:*
I tested it with this fixed, and all your other settings the same, and it worked fine for me.

Thank u so much :D
If u don't mind i have one last question about understanding parameters
height is blue line
width is orange line
red is length line

Height is self-explanatory yes, length and width relate to the layout in the .txt files, not the in-world blocks.
The mod automatically checks for all possible rotations in the game.
Width is left-right in the .txt file, length is up-down, and height is separated with "."

That's what i needed to know.
I really appreciate your help and this awesome mod... you saved me

Hi it's me again... I'm sorry for bothering you
But I'm having issues with Small steam engine from Magneticraft
Although i checked txt file and task settings i haven't find the issue yet...
Txt file is here:
steam_engine.txt
And BQ Task settings:
height=4
length=4
width=3
item=air
wildcardOptimization=1
BlockID=magneticraft:steam_engine
meta=-1

Your last 3 "magneticraft:multiblock_parts" don't have metadata after them (:* or :0 or :1 etc)
I assume thats the issue.

Already tried that...
Maybe there is issue with Column Block, that can be turn to different axis

I tested it on my install, I changed
wildcard,wildcard,wildcard
wildcard,wildcard,magneticraft:multiblock_parts
wildcard,wildcard,magneticraft:multiblock_parts
wildcard,wildcard,magneticraft:multiblock_parts

To
wildcard,wildcard,wildcard
wildcard,wildcard,magneticraft:multiblock_parts:0
wildcard,wildcard,magneticraft:multiblock_parts:0
wildcard,wildcard,magneticraft:multiblock_parts:0

And it works fine.
I also checked rotation of the columns, while the machine itself wont form if theyre oriented wrong, the task does not care about orientation.
Have you cleared the cache since updating the text file? /clearMultiblockCache to empty it, thats required if you want to update the files without reloaded the world.

Oh i just took the txt file and put it back into the resources folder and run clear cache command and it works just fine


tutorial code does not work:  Augmented reality for the web in less than 10 lines of html

how to run this example? I followed the steps in the tutorial, but the code does not work: https://medium.com/arjs/augmented-reality-in-10-lines-of-html-4e193ea9fdbf
What's the difference to this implementation that works? https://codepen.io/jeromeetienne/pen/mRqqzb
which of the two is the recent and correct way to do it?
(1) uses artoolkit (does not work) and (2) arjs (works).

@jeromeetienne I also first ran into this issue, which is why more concise documentation might attract more and more people

A better documentation is the next step, i totally agree :)

https://github.com/jeromeetienne/AR.js/issues/377
https://github.com/jeromeetienne/AR.js/issues/377


[Feature]: Alarm Panel

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Is your feature request related to a problem?
Horizontal alarm card with only one button arm/disarm. Card option show keypad off.
When I press disarm I am getting error. Wrong Code.
Describe the solution you'd like
Can we add default popup keypad when disarm button is pressed and code is required. New 2023.04 keypad looks good. Also can we update keypad look to newest version when card option show keypad is on.
Describe alternatives you've considered
No response
Additional context
No response

It's planned. For now you can use the tile card with alarm modes feature.


Getting an Abort Error when trying to verify the solution

I love this reCaptcha, thanks so much!
I am getting a successful solution but can't seem to verify it. Please could you help me understand what I am doing wrong?  The verification request aborts at the URL.
It's a simple Vue 3 SPA that sends form data to an Airtable base and doesn't have a backend.
Evidence of a successful solution:

verification function:
            const data = {
                solution: document.getElementsByClassName(
                    '.frc-captcha-solution',
                ).value,
                secret: apikey,
                sitekey: sitekey,
            };
            try {
                const response = await fetch(
                    'https://api.friendlycaptcha.com/api/v1/siteverify',
                    {
                        method: 'POST',
                        mode: 'no-cors',
                        headers: { 'Content-Type': 'application/json' },
                        body: JSON.stringify(data),
                    },
                );
                console.log('Response', response);
            } catch (error) {
                console.error('Error: ', error);
                formIsValid.value = false;
            }
        };

console error:

Hi Sue! Could you share with us the whole network error description as seeing on your Console -> Network Tab -> Clicking on the aborted request ?

Hi Sue! Could you share with us the whole network error description as seeing on your Console -> Network Tab -> Clicking on the aborted request ?

Hi Lifenautjoe!
Yes, absolutely, thank you!
Is this image what you need?

Hi Sue!
Generally, I wouldn't recommend using DOM methods for this, since Vue is powerful enough to handle this for you. Instead of manually extracting the value from the DOM, you should create a custom data tag called solution in your Vue component (where your form is), and then use the widget's @done event callback to set the value of the solution.
In other words (and with oversimplified code examples), you should:

add a new solution: '' entry to your component's data
add @done="handleCaptchaSolved" to your <vue-friendly-captcha>
add the following to your methods:

handleCaptchaSolved(solution) {
  this.solution = solution;
}

and finally, refactor your API verification request to look like this:

            const data = {
                solution: this.solution,
                secret: apikey,
                sitekey: sitekey,
            };
            try {
                const response = await fetch(
                    'https://api.friendlycaptcha.com/api/v1/siteverify',
                    {
                        method: 'POST',
                        mode: 'no-cors',
                        headers: { 'Content-Type': 'application/json' },
                        body: JSON.stringify(data),
                    },
                );
                console.log('Response', response);
            } catch (error) {
                console.error('Error: ', error);
                formIsValid.value = false;
            }
        };

However, if you want to use DOM methods regardless, you should note that document.getElementsByClassName will return an array of elements, not just one element and also doesn't need the . at the beginning of the classname. Instead you want to use document.querySelector('.frc-captcha-solution') (the dot at the beginning is necessary here). But then again, I'd much rather let Vue handle this for me instead of relying on the DOM.

Hi Sue!
Generally, I wouldn't recommend using DOM methods for this, since Vue is powerful enough to handle this for you. Instead of manually extracting the value from the DOM, you should create a custom data tag called solution in your Vue component (where your form is), and then use the widget's @done event callback to set the value of the solution.
In other words (and with oversimplified code examples), you should:

add a new solution: '' entry to your component's data
add @done="handleCaptchaSolved" to your <vue-friendly-captcha>
add the following to your methods:

handleCaptchaSolved(solution) {
  this.solution = solution;
}

and finally, refactor your API verification request to look like this:

            const data = {
                solution: this.solution,
                secret: apikey,
                sitekey: sitekey,
            };
            try {
                const response = await fetch(
                    'https://api.friendlycaptcha.com/api/v1/siteverify',
                    {
                        method: 'POST',
                        mode: 'no-cors',
                        headers: { 'Content-Type': 'application/json' },
                        body: JSON.stringify(data),
                    },
                );
                console.log('Response', response);
            } catch (error) {
                console.error('Error: ', error);
                formIsValid.value = false;
            }
        };

However, if you want to use DOM methods regardless, you should note that document.getElementsByClassName will return an array of elements, not just one element and also doesn't need the . at the beginning of the classname. Instead you want to use document.querySelector('.frc-captcha-solution') (the dot at the beginning is necessary here). But then again, I'd much rather let Vue handle this for me instead of relying on the DOM.

Hi, József!
Wow, such an amazingly generous and helpful response! I'm so grateful, thank you very much for taking the time.
I will definitely make the changes you suggested that will allow Vue to handle it now that I know how to. Thank you for showing (teaching) me.
Best,
Sue

Hi,
I have same issue with API (https://api.friendlycaptcha.com/api/v1/siteverify)
ERROR 400, BAD REQUEST
Same query works with Postman
If you have a workaround, will be much appreciated
Florian


Add release binaries to GitHub releases

Closes #2330
Adds release binaries to the corresponding GH release.

Possibly relevant: https://github.com/axodotdev/cargo-dist

I'm now thinking that we should just copy ripgrep's release workflow, except instead of creating the GitHub Release, it should be triggered by the creation of a GitHub Release.


feat(faucet): improve faucet UX

Improves UX by using an iframe on desktop and redirecting to the faucet link with returnUrl set in mobile
By doing so, the user flow will remain on the connectors

Fixes https://github.com/FuelLabs/fuel-connectors/issues/180

Desktop view:

The problem with iframe is not mobile but Safari, or any other browser that not allow third party cookies. @LuizAsFight
Let's use just one way to consolidate it. Redirect always for this application will look good, as we don't have middle states.


[CMAKE] Make futures into a library with separate testing

Scope & Purpose
This makes the lib/Futures directory into its own library, trying to decoupe the ArangoDB Futures from the rest of ArangoDB. Still a draft.
The main issue to be addressed is the dependency on TRI_ASSERT.

Sorry guys, I think there's still a bit of cleaning up to be done in this PR before it's ready for review.