This would be good to add to e.g. message_helpers.py in another PR.

This would be good to add to e.g. message_helpers.py in another PR.
Originally posted by @skearnes in https://github.com/Open-Reaction-Database/ord-schema/pull/477#discussion_r508085524

Couple questions for thoughts on the dative bond message helpers:

Looking to be consistent with naming, would something like get_dative_bonds be appropriate?

Would it be preferable to have this operate directly on SMILES, where it could be used in preprocessing or on a Compound's SMILES Identifier, or should the input be a Compound message?

Would it be preferable to have the check functions is/has_transition_metal embedded in get_dative_bonds, or have them be accessible as higher level functions?

@skearnes @connorcoley

Couple questions for thoughts on the dative bond message helpers:

Looking to be consistent with naming, would something like get_dative_bonds be appropriate?

I think set_dative_bonds is fine; this is actually changing the content so it's not really a "getter".

Would it be preferable to have this operate directly on SMILES, where it could be used in preprocessing or on a Compound's SMILES Identifier, or should the input be a Compound message?

I think operating on an RDKit Mol like you have now is fine. Then it can come from various identifiers via mol_from_compound.

Would it be preferable to have the check functions is/has_transition_metal embedded in get_dative_bonds, or have them be accessible as higher level functions?

Separate free functions, please. Makes it easier to test :)

Sounds great, thanks!

Closed by #501


Fix incorrect behavior of runtime.getURL

Now browser.runtime.getURL returns path from first argument instead of path + extension URL prefix.
I suggest changes to fix this behavior.
Here we use a global object to configure extension URL

Looks good so far, can you run npm run build and commit that output?


The performance gap in training VirConv-S

Hi, thank you for your wonderful work.
BTW, I need some help reproducing your scores on VirConv-S.
I'm trying to train the model from scratch, and I have followed your README file,but I've got below scores.
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:14.4842, 17.3812, 16.8994
bev  AP:10.6406, 13.5483, 13.3025
3d   AP:9.8955, 11.4659, 11.3564
aos  AP:14.12, 16.98, 16.46
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:6.9601, 15.7824, 11.2729
bev  AP:5.8445, 11.0559, 7.3793
3d   AP:5.3306, 7.8667, 6.2739
aos  AP:6.59, 15.19, 10.80
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:14.4842, 17.3812, 16.8994
bev  AP:14.5955, 17.4686, 17.0174
3d   AP:14.5579, 17.4490, 16.9860
aos  AP:14.12, 16.98, 16.46
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:6.9601, 15.7824, 11.2729
bev  AP:7.0439, 15.9431, 11.3918
3d   AP:7.0190, 15.9104, 11.3695
aos  AP:6.59, 15.19, 10.80
I don't know why. Can you please leave me some comments?
I have set the dataset several times and made virtual points with the model you have attached to the README file.
Thanks for reading.

By the way, the results from the VirConv-S model you provided are okay.

I hadsome dataset problems.
The code has no problems at all. Thanks a lot :)


Updated the issue #26

@Remy-Reveltek, @SuzyQuant. Please review, I made changes to the content of this PR. Thanks.

I made changes to the content of this PR. Thanks.


Sometimes one process node owns 2 tasks

When using S4, we found sometimes it ends up with one process node owns 2 tasks. I did some investigation, it seems that the handling of ConnectionLossException when creating the ephemeral node is problematic. Sometimes when the response from zookeeper server times out, zookeeper.create() will fail with ConnectionLossException while the creation request might already be sent to server(see http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java line 830). From our logs this is the case we ran into.
Maybe we should handle it in the way that HBase is handling it (http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java?view=markup), just simply exit the process when got that exception to let the whole process restart.

To be more clear, what happened was: a process node called zookeeper.create() to acquire a task, the request was successfully sent to zookeeper server, but the zookeeper IO loop timed out before the response came. So the zookeeper.create() failed with ConnectionLossException. Then the process node ignored this exception and tried to acquire another task. Then it got 2 tasks.

I created a patch:
diff --git a/s4-comm/src/main/java/io/s4/comm/zk/ZkTaskManager.java b/s4-comm/src/main/java/io/s4/comm/zk/ZkTaskManager.java
index 8c0c120..052701c 100644
--- a/s4-comm/src/main/java/io/s4/comm/zk/ZkTaskManager.java
+++ b/s4-comm/src/main/java/io/s4/comm/zk/ZkTaskManager.java
@@ -128,6 +128,7 @@ public class ZkTaskManager extends DefaultWatcher implements TaskManager {
map.put("taskSize", "" + tasks.size());
map.put("tasksRootNode", tasksListRoot);
map.put("processRootNode", processListRoot);
+
String create = zk.create(pNode,
JSONUtil.toJsonString(map)
.getBytes(),
@@ -142,10 +143,15 @@ public class ZkTaskManager extends DefaultWatcher implements TaskManager {
logger.info("No task available to take up. Going to wait");
mutex.wait();
}

           } catch (KeeperException.NodeExistsException e) {

               logger.info("znode already exist, retry..." + e.getMessage(), e);
           } catch (KeeperException e) {

               logger.info("Warn:mostly ignorable " + e.getMessage(), e);

               logger.error("Unexpected zookeeper exception. Exit!!" + e.getMessage(), e);

               System.exit(5);
           } catch (InterruptedException e) {
               logger.info("Warn:mostly ignorable " + e.getMessage(), e);

               Thread.currentThread().interrupt();

           }
       }
   }

Thanks for taking the time to clearly identify that issue.
We have just moved to apache... could you report that on the apache jira? Just in order to ensure it is tracked!
see : https://issues.apache.org/jira/browse/S4

Sure, S4-3 created.


TypeIds for Rc and Arc aren't different

Because the TypeIds are both ArchivedRc<T>, a maliciously-crafted archive could have an Rc and an Arc point to the same value. After deserializing, the reference counts would definitely be incorrect.

Fixed by d433d603daeeb57d7cdf0c0667d126f9a6ab1373


Does not resolve the 404 page

Cloudfront returns ERROR 403: Forbidden instead of the actual 404 page (as in local).
May be some misconfiguration on my side?, my deployment is pretty simple:
export function buildWebDistribution(
  scope: Construct,
  env: Environment,
  domainName: string,
  hostedZone: IHostedZone,
  certificate: ICertificate
) {
  const bucket = buildMainWebS3Bucket(scope, env);
  const webDomainName = `${
    env !== Environment.prod ? `${env}.` : ''
  }${domainName}`;
  const nextjs = new Nextjs(scope, 'Web', {
    projectRoot: '..',
    nextjsPath: '../webapp', // relative path to nextjs project root

    // See: https://github.com/jetbridge/cdk-nextjs/blob/main/src/Nextjs.ts#L108
    imageOptimizationBucket: bucket,
    defaults: {
      assetDeployment: {
        bucket,
      },
      distribution: {
        customDomain: {
          domainName: webDomainName,
          ...(env === Environment.prod
            ? { domainAlias: `www.${domainName}` }
            : {}),
          hostedZone,
          certificate,
        },
      },
    },
  });

  return nextjs;
}

Verified in v3.0.0 and 2.1.4

The latest version of open-next returns 503 instead of 403/404 so the fallback error codes likely needs to be updated

Here: https://github.com/jetbridge/cdk-nextjs/blob/main/src/NextjsDistribution.ts#L375

Some suggestion on how to proceed @revmischa ?

I'm afraid I don't know off the top of my head, sorry

This construct no longer uses CloudFront fall back groups. Please try again with latest version to see if your issue still persists. If so, please re-open. Thank you!


[SPARK-17916][SQL] Fix new behavior when quote is set and fix old behavior when quote is unset

What changes were proposed in this pull request?

Set nullValue to quoted empty string respecting quote value
Fall back to old behavior of unquoted null if quote is not set

How was this patch tested?
Two new tests that will fail without these fixes
Please review http://spark.apache.org/contributing.html before opening a pull request.

Test build #95581 has started for PR 22312 at commit ad3a11d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2760/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2761/
Test PASSed.

Test build #95582 has started for PR 22312 at commit 5772404.

Test build #95581 has finished for PR 22312 at commit ad3a11d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95581/
Test PASSed.

Test build #95582 has finished for PR 22312 at commit 5772404.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95582/
Test PASSed.

#22234 was already open. Wouldn't it be able to workaround if it's configurable?


Not Able to Run the makeaddin.py - No Installation File Generated!

Hi,
I am using Python Add-In Wizard with ArcGIS 10.4.1 but after getting the files I am not able to create installation Wizard!
I tried to create the wizard by double clicking on the makeaddin.py looks like something running but No installation file generated at the directory! can you please let me know why this is happening?

Thanks I find out why it was not working! I was using Python 3.X as default Python and after changing the default Python to 2.7.10 it is working perfectly


Coveralls support

Changes Unknown when pulling 05f75c33210d3b824879e0ca6f87519d1fccff5e on yuce:next-v0.3.3 into ** on pilosa:master**.


Sass grammar is out of date

It looks like Code is using 0.52.0 of https://github.com/atom/language-sass to
generate its Sass syntax — 0.62.0 was released today. It would be great to
have the new fixes & features included.
I'm happy to submit a PR with the re-generated syntax.

@aeschli Thanks for the update! Just a heads-up though, the updated SCSS syntax references a separate file for SassDoc comment blocks. I updated the build script to account for the extra file in my PR: #49076


[feature request] default to system clock without specifying a timezone

By default the plugin should add option to or default to showing the system datetime. This allows, for example, to avoid changing the config twice a year for countries adhering DST, Daylight Saving Time.

Thank you for your comment.
The current WebAssembly/WASIp1 API as far as I know cannot get the timezone from the OS, only the UTC time.
So to display OS system time, we will have to wait for WASI (wasip2?) and Zellij's WebAssembly Runtime version to be upgraded.


[Improvement] Feedback form

Describe the bug.
"The design of the feedback form could be enhanced to improve its usability and overall user experience."
Expected behavior
"The feedback form can incorporate more colors and a design that aligns with the vibrant and colorful UI."
Screenshots

How to Reproduce
Updated the feedback.tsx component in the components section.
Modified the UI of the last return section to enhance its appearance.
Redesigned the GitHub SVG logo located in public/images/logo to better match the updated UI.

🥦 Browser
Google Chrome
👀 Have you checked for similar open issues?

[X] I checked and didn't find similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to work on this issue ?
Yes I am willing to submit a PR!

May I proceed with raising a PR? The work has already been completed.

This design change is not needed in the website. Closing this now,


Allow opt-in to this workflow by team.

This adds support for a TEAMS configuration value (provided via an environment variable), which can be used to opt all the members of the team(s) into this workflow.
The TEAMS value should be provided as a space-delimited string of team slugs. Each team is assumed to belong to the organization that owns the repository that acts as the base of the newly opened pull request. Using the configuration value without the assumed owning organization will cause the workflow to fail.
TODO

[x] Validate that this works when integrated with a real workflow
[ ] Release this in a new minor version of this action

[ ]  Validate that this works when integrated with a real workflow

This has been completed 🎉

[ ] Release this in a new minor version of this action

@glortho, would you mind merging this and creating the new release? I don't have write permissions on this repo.

Nice implementation of that change! ✨ 🚀


Add script for PCA model generation

This PR adds:

A simple script generating saved pca models for dynamorph

remove all hard-coded paths in the repo

@bryantChhun Please check if these changes will conflict with your ongoing PR (which they shouldn't), I will merge it once you take a pass. Thanks!


Update Geometry3D.get_triangle_barycentric_coords() docs

Resolves comment https://github.com/godotengine/godot/pull/71233#discussion_r1282476556
Updates the Geometry3D.get_triangle_barycentric_coords() documentation to explain what happens when the parameters are invalid.

Bump 🙂 Are other changes still needed to merge this?

Bump 🙂 Are other changes still needed to merge this?
@PrecisionRender Could you incorporate the suggestions and squash them?

Yes, sorry I've been very busy. Will squash needed changes as soon as I can.


boilerplate

This adds the majority of the boilerplate and sets up import path relationships.
adds go run example in readme.
adds app package for server related concerns, config, routing, middleware.
adds storage package to wrap lower level storage and expose interfaces.
adds handlers package for http handler business logic, health check for proxy, todos for handlers.
adds moq package for to go generate mock structs.

@LukeOchoa Please review this carefully, I will ask you to do the boilerplate for aegis.


Agent not terminating with disconnect-after-idle-out anymore

Just downloaded newest release 3.11.3 for testing.
Looks like the agent isn't terminating after the idle period has elapsed...?
See systemctl status for latest updates from agent:
[ec2-user@ip-10-69-8-84 ~]$ sudo systemctl status buildkite-agent -l
● buildkite-agent.service - Buildkite Agent
   Loaded: loaded (/etc/systemd/system/buildkite-agent.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/buildkite-agent.service.d
           └─10-power-off-stop.conf
   Active: active (running) since Wed 2019-05-08 03:31:41 UTC; 40min ago
     Docs: https://buildkite.com/agent
 Main PID: 5104 (buildkite-agent)
    Tasks: 9
   Memory: 22.1M
   CGroup: /system.slice/buildkite-agent.service
           └─5104 /usr/bin/buildkite-agent start

May 08 03:31:44 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:44 INFO   Registering agent 1 of 2 with Buildkite...
May 08 03:31:44 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:44 INFO   Registering agent 2 of 2 with Buildkite...
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   Started 2 Agent(s)
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   You can press Ctrl-C to stop the agents
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-2 Connecting to Buildkite...
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-1 Connecting to Buildkite...
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-1 Waiting for job to be assigned...
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-1 The agent will automaticallydisconnect after 1800 seconds of inactivity
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-2 Waiting for job to be assigned...
May 08 03:31:45 ip-10-69-8-84.sharedservices.dummy.au.aws buildkite-agent[5104]: 2019-05-08 03:31:45 INFO   sharedservices-dummy-au.linux-i-0cd5f0302963566ca-2 The agent will automaticallydisconnect after 1800 seconds of inactivity

Date command ran after more than 1800 seconds have elapsed and no activity on my agents.
[ec2-user@ip-10-69-8-84 ~]$ date
Wed May  8 04:11:53 UTC 2019

Could be something I've misconfigured potentially? Or there has been a bug introduced by https://github.com/buildkite/agent/issues/985, what you think @lox

Sounds like it, let me try and reproduce the issue.

Yup, confirmed. Investigating.


[RFC]: add @stdlib/iter/cusome

Description
This RFC proposes adding the package @stdlib/iter/cusome, which cumulatively tests whether at least n iterated values are truthy. The function should be a transform iterator, continuing to iterate while source iterator values are available.
var array2iterator = require( '@stdlib/array/to-iterator' );

var arr = array2iterator( [ false, false, false, true, true ] );

var it = iterCuSome( arr, 2 );

var v = it.next().value;
// returns false

v = it.next().value;
// returns false

v = it.next().value;
// returns false

v = it.next().value;
// returns false

v = it.next().value;
// returns true

var bool = it.next().done;
// returns true

Related Issues
No.
Questions
No.
Other

See also @stdlib/iter/some

Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

Can you assign this to me please?

@TheNourhan Thanks for volunteering to work on this. Please feel free to submit a PR implementing this feature.


mobile: Refactor Android test BUILD files

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest


AST traversal and rewriting helpers for macro edges

Refactor of the helpers.py file that @bojanserafimov wrote in #356. Highlights:

Split up the original helpers file into separate files, each focusing on one area among AST traversal, AST rewriting, and name generation.
For the AST rewriting code, tweaked the functions to make them all follow the same "return the input object if making no changes" contract that is commonplace in structural sharing implementations.
More (and more consistent) documentation.

Also, to make review easier, the first commit is a straight-up copy of the helpers.py file from #356, and all the changes I made are in the subsequent commit(s). So if you are already familiar with the file in question from #356, you can review from the second commit onward.


Report friendly errors due to incorrect GEM_HOME paths

$bundle install
--- ERROR REPORT TEMPLATE -------------------------------------------------------

What did you do?
I ran the command /Users/user1/.rvm/gems/ruby-2.2.2/bin/bundle install

What did you expect to happen?
I expected Bundler to...

What happened instead?
Instead, what actually happened was...

Error details
Errno::ENOTSUP: Operation not supported @ dir_s_mkdir - /home/deployer
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:252:in `mkdir'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:252:in `fu_mkdir'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:226:in `block (2 levels) in mkdir_p'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:224:in `reverse_each'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:224:in `block in mkdir_p'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:210:in `each'
  /Users/user1/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:210:in `mkdir_p'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler.rb:308:in `mkdir_p'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/installer.rb:278:in `create_bundle_path'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/installer.rb:54:in `run'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/installer.rb:18:in `install'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/cli/install.rb:107:in `run'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/cli.rb:162:in `install'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/cli.rb:10:in `start'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/bin/bundle:20:in `block in <top (required)>'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/friendly_errors.rb:7:in `with_friendly_errors'
  /Users/user1/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/bin/bundle:18:in `<top (required)>'
  /Users/user1/.rvm/gems/ruby-2.2.2/bin/bundle:23:in `load'
  /Users/user1/.rvm/gems/ruby-2.2.2/bin/bundle:23:in `<main>'
  /Users/user1/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
  /Users/user1/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'

Environment
Bundler   1.10.6
Rubygems  2.4.6
Ruby      2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
GEM_HOME  /home/deployer/app/shared/bundle/ruby/2.2.0
GEM_PATH
RVM       1.26.11 (master)
Git       2.4.3

Bundler settings
gem.test
  Set for the current user (/Users/user1/.bundle/config): "false"
path
  Set for your local app (/Users/user1/Documents/projectname/.bundle/config): "/home/deployer/app/shared/bundle"
disable_shared_gems
  Set for your local app (/Users/user1/Documents/projectname/.bundle/config): "1"

--- TEMPLATE END ----------------------------------------------------------------
I think there are some bundle settings exist cose when I ran 'bundle install' it's returned
GEM_HOME  /home/deployer/app/shared/bundle/ruby/2.2.0 in Environment block as you can see,
And when I type this - "echo $GEM_HOME" I get "/Users/user1/.rvm/gems/ruby-2.2.2"...
also I get "/home/deployer/app/shared/bundle/ruby/2.2.0" on my remote VDS
SOLVED
by replacing BUNDLE_PATH in projectname/.bundle/config from /home/deployer/app/shared/bundle/ruby/2.2.0 - remote $GEM_HOME
to
/Users/user1/.rvm/gems/ruby-2.2.2  - local $GEM_HOME
How it's changed I really don't know, and don't understand...

I think that the issue lies in your GEM_HOME not being set properly by rvm.

We should definitely catch this error and report the problem, though...

SOLVED
by replacing BUNDLE_PATH in projectname/.bundle/config from /home/deployer/app/shared/bundle/ruby/2.2.0 - remote $GEM_HOME
to
/Users/user1/.rvm/gems/ruby-2.2.2  - local $GEM_HOME
How it's changed I really don't know, and don't understand...

I wasn't able to reproduce this by mimicking your setup. @arthurkulchenko Any chance you may give some insight on was actually triggering the problem?

I looked around and checked shell history and diff's and assumed that it maybe was this...
env RAILS_ENV=development ~/.rvm/bin/rvm default do bundle install
if not, it could be bug with fish shell

This is fixed on master by https://github.com/bundler/bundler/pull/4016.


Update docker registry note

Why:
Closes [issue link]

What's being changed (if available, include any code snippets, screenshots, or gifs):
Updating dependabot configuration documentation to indicate our positively supported docker container registries

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

👋 @pavera Just checking in, I noticed this is a draft PR. Let me know when it's ready for writer review! ✨

👋 @pavera, thanks for marking this as ready! I'll get it triaged for review ⚡

@pavera @jeffwidman 👋🏻 - happy to improve this note if you think it's not clear enough and could lead to Support tickets.
It would be helpful if you could agree on what you'd like to convey to our customers as you are the experts, and I'll review your edits on behalf of the docs team once these are ready for me.
We try to avoid using the passive voice in our docs (as per our content model) so I may tweak your updates at review time.
Feel free to ping me when this is ready for me. Thank you 🙇🏻♀ 🙂

@mchammer01 - I believe this is now ready for your review thanks for your patience :)


⚠ main has degraded performance

In 1486326, main ($MAIN_API_URL) experienced degraded performance:

HTTP code: 200
Response time: 26377 ms

Resolved: main performance has improved in 9572206.


Build script improvements

This PR contains several minor and major improvements to our infamous build script. Some of it is prep work for building daphne containers.
Commit messages speak for themselves but here's a quick summary:

The clean parameters are changed according to #466
The prefix where third party dependencies are installed can be set with --installPrefix
The LLVM/MLIR dependency is now installed into installPrefix and the use of buildPrefix removed from the main cmake config invocation (at the bottom of build.sh)
Third party dependency compilation can be omitted via --no-deps flag

Hi,
where do you have the image daphneeu/github-action:latest available?

is the source on github (account daphne-eu) ?
is the image on docker hub ?

Hi, where do you have the image daphneeu/github-action:latest available?
* is the source on github (account daphne-eu) ?

* is the image on docker hub ?

I set up the daphneeu account on Docker Hub (no "-" allowed, otherwise it would have been daphne-eu there too). We'll change that account to an organization.
The image can be pulled from Docker Hub. This was a first test. I'll push some more images soon and add the source to our Github repo as well.

Thx for your comments @pdamme

The Arrow paths hard coded in CMakeLists.txt might explain troubles I had with adding that to the Docker image. I'll have a closer look at it. I was actually considering removing the --arrow flag and just compiling it anyway. I'll open a separate issue reasoning about it.
Yes I had DAPHNE running at times when Ubuntu 22.04 was the current version. But I didn't test it recently. If you share more details about your troubles in another issue we'll figure it out.
I had in the back of my head that we use 2 spaces for indentation in scripts. I'll let my formatter have a go at it ;-)
Yes, the cached paths are a problem. I think documenting that caches need to be cleared if the installPrefix is changed is a solution we can live with (to not over engineer the already quite elaborate(to use another wording ;-)) build script).
Imho we use quite a lot of the LLVM and MLIR libraries, binaries and include files in DAPHNE. Removing the reference to buildPrefix tremendously reduces the size of the Docker image with prebuilt deps (saving 6GB). As I mentioned somewhere, many of the changes are related to better handling of the Docker images and also the github action. So having those extra 700 compile steps in the dependency compilation should pay of as people won't have to compile dependencies over and over again if they either use the containers or have the dependencies compiled once into a directory that can be moved out of the way when cleaning the source tree.

Anyway, the required points from my first review have been fixes (we can talk about Ubuntu 22.04 later), and the optional points are also fine (Arrow, and I see the point about the MLIR install target and agree with you).


[0.0.5] Hoppers don't output items when using Remote Interface

You can pull items using an item pipe from most mods, but Hoppers don't seem to work
https://u.pomf.is/okyiep.png
Is this intended for a block itself to be unable to push things out, but other blocks can pull things from it?

It's unintentionally intentional. The Remote Interface tries to mimick as much of the block as it can, but the real block doesn't know about anything except itself. So as far as its concerned, there is no chest

Ah, I see. Thanks for the clarification.


add demoteFunc controller option

Changes

:gift: Add a controller option for configuring the reconciler demote function.

/kind enhancement

Fixes #1683

Release Note

 :gift: Add a controller option for configuring the reconciler demote function.

Docs

/test pull-knative-pkg-unit-tests

/assign @mattmoor

gentle ping.

gentle ping. This PR is blocking this critical fix: https://github.com/knative/eventing/pull/4908

/lgtm
/approve

/retest

Prow seems to be down?
cc @coryrc @chizhg

/retest

/test pull-knative-pkg-unit-tests


chore: axoasset 0.10.0

gazenot doesn't use the RemoteAsset feature of axoasset, which is the one that pulls in reqwest.

Right, we should start using it (just to get a shared reqwest), as it pulls in minimal other deps, and it simplifies ensuring everything in our tree is using the same http stack.

Done. Just noticed this slightly alters the features: we weren't using gzip as a reqwest feature in axoasset, but we were here, so it's now been removed from gazenot.

Oh huh is that gonna be a big deal...

(we'll find out in testing in cargo-dist)


Crash with currency module

Information

Minecraft Version: 1.16.2
Fabric API Version: 0.17.2+build.396-1.16
OS: Windows
Other installed mods:

Describe the issue
When currency module is installed it crashes
Crash/Error logs
Crash
To Reproduce
Steps to reproduce the behavior:

Download mods
launch game
See crash

Expected behavior
I expect to load the game without any crash screen.
Additional context
none

This might be the problem: https://github.com/Gunpowder-MC/GunpowderMarket/blob/ea23e49ff3371a933082ffb77784bbd63e11eb74/build.gradle#L10
@i509VCB

We've tried changing kotlin version to various versions, it still worked for the users it worked for but not for the users it didn't.

also does the same thing with only the utilities module installed

Unable to reliably reproduce, user in our support channel claims the CF jars work fine whereas they didn't before.


unnecessary character escaping

I noticed that Hugo uses percent-encoding for some symbols which are allowed in urls.
E.g. symbol: (, ), '. They are converted into %27, %28 and %28. They are in the reserved set in rfc3986 (symbol list in wikipedia).
These symbols are  widely used and supported by browsers. E.g. in wikipedia an article url can contain these characters (mediawiki set: ! $ ( ) * , - . / : ; @ _)
Is it possible to correct this behavior?

As far as I understand this issue still relevant. It is not possible to have an URL containing ( and other characters from the list.

In the case when filename contains (, it is removed from url.
In the case it url is defined via parameter, hugo returns error 404:

---
title: "My Post"
date: 2017-12-06T15:08:56+01:00
draft: true
url: /x(x)x
---

This issue is still relevant. The behaviour of hugo have not changed. See https://github.com/gohugoio/hugo/issues/3044#issuecomment-349653839.


routing: report invalid channels in updatechanpolicy call

Partly fixes #4846. Detects absent and inactive channels from a Updatechanpolicy call.
Fixes:

When passing in a bad txid using the rest API
When channels are unconfirmed
When channels are currently in-active
min_htlc=1, where remote node only allows min_htlc=1000

Edit: The policy update command silently fails to update channel policies if it is inactive. The latest update fixes this by skipping the policy update and returning an error message, without breaking the update loop. In other words...if a channel is detected as inactive the process will proceed with the rest of the channels.
Edit: Expanded the test to include inactive and missing channels.

@ellemouton Thanks for the review! I like your ideas. Will update the pr this weekend.

Updated the code. Now it also detects inactive channels. See pr description.

@ellemouton Well, you did a lot of the heavy lifting on this one. Thank you. I'll remember it.

@ErikEk , the second commit should not be a merge from master. Rather rebase your original commit and then add the change to the release notes.

Just a moment... Having some issues rebasing.

This looks better.

That way, we can provide a clear report on what updated and what failed, and address some of the annoying silent failures very explicitly. @alexbosworth does this look reasonable to you?

sure it looks ok to me, I don't think there is really a standard way to represent structured errors so putting them in the regular response seems as good as anything else
I'd always populate update_err even if a failure boolean is set, that way if a future boolean is added that fails but the client software doesn't know about that boolean, it will still show a reasonable error

I don't think there is really a standard way to represent structured errors so putting them in the regular response seems as good as anything else

yeah def a shortcoming of grpc that errors aren't particularly easy to handle. This case is particularly difficult because we have a lot of different "entities" that can each have their own error.

I'd always populate update_err even if a failure boolean is set

Agreed, the string is probably always good to have as a fallback.
Only issue with this approach is that the grpc call will still fail without an error (for older clients that don't know about the new fields), because the "error" would be returned in the response, but I think it's a happy inbetween because upgraded client will have much better information.

@carlaKC Thanks for the review. I liked your suggestions.
For the response, I suggest we do not return a list of the channels that were successfully updated... IMO it becomes excessive if a user has many channels. I would suggest just returning a list of the failed policy updates and a message. Something like this...
{
    "message": "not all channels were updated",
    "failed_policy_updates": [
        {
            "chan_id": "2236772788274528256",
            "channel_point": "asdasdasd4a0asdasdasdde2a9bacd01d05e40d7cc34668053fb6f3c49729:0",
            "update_status": "INACTIVE",
            "update_err": "channel is not active"
        },
        {
            "chan_id": "223758312312326384",
            "channel_point": "asdasdasd22sadb9166214133529bc05c0d7268ec2c480b187e3939683c0aa:0",
            "update_status": "INVALID",
            "update_err": "channel is invalid"
        },
        {
            "chan_id": "223841231314141696",
            "channel_point": "2f12sadsasadsasd11w1115217c4fbcf903b2807c089eb914a624f59e321d83:0",
            "update_status": "NOTFOUND",
            "update_err": "channel is missing"
        },
    ]
}

Thanks for all the iterations on this one @ErikEk! I think we're converging on a great solution.

I suggest we do not return the channels that were successfully updated

Good point! Happy to only return failed channel updates, then you can assume that your update went through if it's not in the failures list.

"message": "not all channels were updated",

I think we can cut this message? The length of the failed_policy_updates array will tell you what the outcome of the batch update was. For a nice user experience on the cli, we could perhaps just print this message based on array length? I don't see much use for it on the rpc.

"failed_policy_updates": [
    {
        "chan_id": "2237584227850256384",
        "channel_point": "asdasdasd4a0asdasdasdde2a9bacd01d05e40d7cc34668053fb6f3c49729:0",
        "channel_status": "INACTIVE",
        "update_err": "channel is not active"
    },
    {
        "chan_id": "553444444440256384",
        "channel_point": "asdasdasd22sadb9166214133529bc05c0d7268ec2c480b187e3939683c0aa:0",
        "channel_status": "PENDING",
        "update_err": "channel is pending"
    },
    {
        "chan_id": "123334227850256384",
        "channel_point": "2f12sadsasadsasd11w1115217c4fbcf903b2807c089eb914a624f59e321d83:0",
        "channel_status": "NOTFOUND",
        "update_err": "channel is missing"
    },

Looks good! Would the channel_status be an enum of possible reasons we failed? Since we don't currently have any state that represents NOTFOUND? If so, I'd suggest update_failure_reason? Then we can just enumerate all the known failure reasons, and have a 0 value for unknown:
enum UpdateFailureReason{
  UpdateFailureReasonUnknown = 0;
  UpdateFailureReasonInactive = 1;
  ...
  UpdateFailureReasonPending = 3;
}

{
"message": "channel policies were successfully updated",
"failed_policy_updates": []
}

As noted above, an empty failed_policy_updates will be sufficient to inform end user that we've succeeded completely.

The new update returns a failure report if min_htlc is smaller then the remote min_htlc.

Ready to be reviewed.

@carlaKC Rebased and ready for review. Haven't changed the test function in this update.

Wait with the review.

👍
For future iterations, you can use the "request review" button on GH to let us know when a PR is ready for a look. That puts it in the reviewers queue, and they're more likely to remember to take a look :)

@carlaKC Grateful for your support on this one! The error check is now commited and codebase rebased.

@ellemouton great. And again, the table driven test you provided really elevated this pr.

Had to do a rebase because of changes in a proto file from last commit.

Needs a rebase!

Rebased!

Sorry, another merge got in first, your PR requires yet another rebase. Will try to get this PR in next!
@Roasbeef I assume your comment above was answered? Or is there still something to be checked/changed?

@guggero Rebased

Inactive channel updates still silently fails but this can be fixed in a separate pr. I'll create an issue later this week. Imo this pr should not address that issue.

AWESOME!

I may be mistaken, but it still silently fails if you pass in a channel point that looks valid, but isnt among your list of channels?
I tried getting one of my channels channel_points, adjusted a few characters in it, then ran update_chan_policy and it didnt provide any errors.
It did provide errors if the channel points was malformed is a bigger way, like missing characters.

@sako0938 Let me look into that.

@sako0938 I can not reproduce the error, just getting UPDATE_FAILURE_NOT_FOUND every time. Pls send over your channel_point string and the adjusted one if that is possible.
You probably already know this, but updatechannelpolicy only allows to update all channels globally, or a particular channel, not an array of channels.

lnd version 0.13.99-beta commit=kvdb/v1.0.2-6-g6be472eb
You are right, we get updated error using the CLI
user@user:/srv/lnd$ lncli updatechanpolicy --chan_point=a61c7e14d1444b0045240447bbd2281f60800585c375e40b3ef2594dd6034e85:0 --base_fee_msat=1 --fee_rate=0.000010 --time_lock_delta=25
{
	"failed_updates": []
}
user@user:/srv/lnd$ lncli updatechanpolicy --chan_point=b61c7e14d1444b0045240447bbd2281f60800585c375e40b3ef2594dd6034e85:0 --base_fee_msat=1 --fee_rate=0.000010 --time_lock_delta=25
{
	"failed_updates": [
		{
			"outpoint": "b61c7e14d1444b0045240447bbd2281f60800585c375e40b3ef2594dd6034e85:0",
			"reason": "UPDATE_FAILURE_NOT_FOUND",
			"update_error": "not found"
		}
	]
}

But in my Python code which uses gRPC I am not getting any return values regardless of good or bad
# good channel point
lnd.update_channel_policy(
    base_fee_msat=1,
    fee_rate=0.000001 * 100,
    time_lock_delta=25,
    chan_point='a61c7e14d1444b0045240447bbd2281f60800585c375e40b3ef2594dd6034e85:0'
)

# bad channel point
r = lnd.update_channel_policy(
    base_fee_msat=1,
    fee_rate=0.000001 * 100,
    time_lock_delta=25,
    chan_point='b61c7e14d1444b0045240447bbd2281f60800585c375e40b3ef2594dd6034e85:0'
)

Here is the Python implementation of that function, for reference:
    @handle_rpc_errors
    def update_channel_policy(self, base_fee_msat=None, fee_rate=None, time_lock_delta=None,
                              chan_point=None, all_channels=False):
        """Update the channel policy for all channels, or a single channel"""
        kwargs = {
            'global': all_channels
        }
        if base_fee_msat:
            kwargs['base_fee_msat'] = base_fee_msat
        if fee_rate:
            kwargs['fee_rate'] = fee_rate
        if chan_point:
            txid, out_index = chan_point.split(":")
            txid_reversed = bytearray(bytes.fromhex(txid))
            txid_reversed.reverse()
            cp = ln.ChannelPoint(funding_txid_bytes=bytes(txid_reversed), output_index=int(out_index))
            kwargs['chan_point'] = cp
        if time_lock_delta:
            kwargs['time_lock_delta'] = time_lock_delta

        request = ln.PolicyUpdateRequest(**kwargs)
        response = self._ln_stub.UpdateChannelPolicy(request)
        return response

You probably need to re-generate your protobuf definitions.

@sako0938 Still having problems?

@ErikEk No I got it this morning! I dont regenerate the protos that often, so it always takes me a bit to get to it!
>>> lnd.update_channel_policy(
...     chan_point="678927d0c032f81cc6021baea0e2f9a018be9d949ee7739cd52604a165750aef:2",
...     base_fee_msat=100,
...     fee_rate=0.0100,
...     time_lock_delta=25
... )
failed_updates {
  outpoint {
    txid_bytes: "\357\nue\241\004&\325\234s\347\236\224\235\276\030\240\371\342\240\256\033\002\306\034\3702\300\320\'\211g"
    txid_str: "678927d0c032f81cc6021baea0e2f9a018be9d949ee7739cd52604a165750aef"
    output_index: 2
  }
  reason: UPDATE_FAILURE_NOT_FOUND
  update_error: "not found"
}


Stuck at "Located server, connecting..."

I started the proxy I have "<IP_ADDRESS> www.growtopia1.com and growtopia2" in my hosts file but I'm stuck on "Located server, connecting...".
message.txt

You have to somehow get www.growtopia1.com ip address and put it in config.json

Thanks it worked

I had to reopen the issue because there is a problem.
I got the ip address of www.growtopia1.com (it keeps changing as <IP_ADDRESS> and <IP_ADDRESS>)
but after playing the game for a while, I get disconnected and it stuck on the "Located server, connecting..." screen again (even if the ip is correct) and doesn't get fixed until I reset the router.

sorry i just came home from school, i will investigate the problem and maybe implement auto ip resolve to ease the need of manually changing growtopia's ip.

anyways can i know how you got the ip address? would be very helpful :)

Here is an example in python:
>>> import socket
>>> socket.gethostbyname("www.growtopia1.com")
'<IP_ADDRESS>'

but because of the hosts file, when we try this while the proxy is running, the result is <IP_ADDRESS>
>>> import socket
>>> socket.gethostbyname("www.growtopia1.com")
'<IP_ADDRESS>'
>>> socket.gethostbyname("a1966.dscb.akamai.net")
'<IP_ADDRESS>'

a1966.dscb.akamai.net always giving the ip
I couldn't find a way to do the same as I'm not very good at C++
By the way, unrelated but can you give an example of how I can submit a VariantList?

I had to reopen the issue because there is a problem. I got the ip address of www.growtopia1.com (it keeps changing as <IP_ADDRESS> and <IP_ADDRESS>) but after playing the game for a while, I get disconnected and it stuck on the "Located server, connecting..." screen again (even if the ip is correct) and doesn't get fixed until I reset the router.

u need edit enet

Newest ip is <IP_ADDRESS> but still having same issue.

Here is an example in python:
>>> import socket
>>> socket.gethostbyname("www.growtopia1.com")
'<IP_ADDRESS>'

but because of the hosts file, when we try this while the proxy is running, the result is <IP_ADDRESS>
>>> import socket
>>> socket.gethostbyname("www.growtopia1.com")
'<IP_ADDRESS>'
>>> socket.gethostbyname("a1966.dscb.akamai.net")
'<IP_ADDRESS>'

a1966.dscb.akamai.net always giving the ip
I couldn't find a way to do the same as I'm not very good at C++ By the way, unrelated but can you give an example of how I can send a VariantList?

Thanks for the method. It really helps. as for your question, i dont really remember how because i havent used this proxy for a while now. Try digging through the code base especially client.cpp and server.cpp file.

I had to reopen the issue because there is a problem. I got the ip address of www.growtopia1.com (it keeps changing as <IP_ADDRESS> and <IP_ADDRESS>) but after playing the game for a while, I get disconnected and it stuck on the "Located server, connecting..." screen again (even if the ip is correct) and doesn't get fixed until I reset the router.

u need edit enet

you mean enet library itself or enetwrapper?

Newest ip is <IP_ADDRESS>

Do you know how often it changes?

Try digging through the code base especially client.cpp and server.cpp file.

There is an example in the client.cpp file, I'm trying to figure out how it works

you can now close this issue. As for the recon issue, i cant really say anything atm as i got no time to test them.

Fixed on #72


fix: Require yaml. Necessary for json to yaml conversion when publishing

fixing https://github.com/apiaryio/apiary-client/issues/152

 Publishing JSON Api broken on Windows: undefined method `to_yaml'


runtime: NPE before throw("missing stackmap") in scanframeworker

A crash with the following stack trace on go1.10.3 was reported anonymously from a CockroachDB server (8 CPUs):
*log.safeError: stopper.go:182: runtime.errorString: runtime error: invalid memory address or nil pointer dereference
  File "runtime/asm_amd64.s", line 573, in call32
  File "runtime/panic.go", line 502, in gopanic
  File "runtime/panic.go", line 63, in panicmem
  File "runtime/signal_unix.go", line 388, in sigpanic
  File "runtime/mgcmark.go", line 827, in scanframeworker

My best reading of this is that scanframeworker code tried to log and instead hit an NPE (not sure where though, frame shouldn't be nil as it's already dereferenced earlier in the code):
https://github.com/golang/go/blob/fe8a0d12b14108cbe2408b417afcaab722b0727c/src/runtime/mgcmark.go#L827
If this hadn't NPEd, the stack trace would've been something like https://github.com/golang/go/issues/17499.
Unfortunately, due to the nature of the report, I can neither reproduce this nor do I have more information about the environment in which this happened.

CC @aclements @RLH

I should add that this happened on linux-amd64.

This report is 2 years old, the upstream issue was closed as a flake, the crash did not happen again in any non-ancient, currently supported Go version, and there's not much information here that can be used to reproduce or investigate the original problem; so let's write this off as a flake and close this. A new can be re-opened if the flake re-occurs.


OCPBUGS-44910: openstack: don't reconcile image registry config during bootstrap

What this PR does / why we need it:
For platforms where cluster-image-registry-operator (CIRO) needs a PVC to be created, bootstrap needs to happen
in CIRO before the registry config is created. For now, this is the case for the OpenStack platform.
If the object exist, we reconcile the registry config for other other fields as it should be fine since the PVC would
exist at this point.
This patch will maintain a list of platforms that require a PVC for CIRO
(OpenStack only for now), check whether an image registry config already
exist and if it does, skip reconcile to let CIRO bootstrap doing it and
creating the needed PVC for CIRO.

/test e2e-openstack-csi-cinder

/test e2e-aws

/test e2e-openstack-csi-cinder

/test e2e-openstack-csi-cinder

/cherry-pick release-4.18

/test okd-scos-e2e-aws-ovn

/approve
/retest

/test unit
flake

/lgtm
/hold
waiting for the reply to Martin's question

I'm not clear on the relationship between CIRO and hypershift. If we need in all case for CIRO to write its config once, why don't we make it a needed condition in hypershift (for all platforms)? Why do we need to maintain a list of platforms that might use a PV as the storage for the image registry?

Creating configs before an operator starts seems to be a common design pattern in Hypershift. I'm not sure we want to change that for all the platforms even if it might work for CIRO in this particular case.
I think Cesar's proposal was to only make it for OpenStack as we're the only platform now that can leverage PVC for CIRO's backend.

/test e2e-aws

If we need in all case for CIRO to write its config once, why don't we make it a needed condition in hypershift (for all platforms)?

As Emilien mentioned, the reason is to limit the scope of this change to OpenStack. We may eventually want to do it for other platforms as well. But since that does have a broader impact, we want to be more intentional about it and maybe not just do it for CIRO but for other operators as well.

/hold cancel

/test e2e-aws

/test e2e-aws

/test e2e-aks

/retest-required

/lgtm
/hold
depends on the backport of  https://github.com/openshift/hypershift/pull/5178

/hold cancel

/test e2e-aws

/test e2e-aws

/cherry-pick release-4.17


tweak requests config based on testing

Adjust some of the settings we made in the request pool based on stage testing.

@supernothing self approval :(


Drop managedFields from k8s objects

Changes proposed in this PR
Drop managedFields metadata from k8s objects
Why are we making these changes?
The managedFields metadata is not useful to us, and it's very verbose.
https://github.com/kubernetes/kubernetes/issues/90066#issuecomment-626828512

Note that dissoc-in is a no-op if the target key does not exist.


Feature request: dbltap event

Event dbltab should be great alternative to native dblclick. Why? Because of native dblclick does not work on iOS. Double tab speed tolerance in ms would be fine to be configurable.

Hi @nolimitdev ,
I don't think it's a good idea to support dbltap. Why we use an alternative tap event instead of click? On touch screen devices, when you tap on the screen, the browser doesn't know what you actually want to do, click or dblclick? So that the browser has to wait 300ms to ensure this is a click or a dblclick. This causes a bad user experience and the tap event is focused on solve this issue.
Back to your feature request, if we support dbltap, how could we resolve the conflict between tap and dlbtap?

I will reply with question. On desktop browser with mouse how is natively solved difference between click and dblclick? It works well in practice. E.g tap can work normally without change but when there is only dbltab I think there is no problem when user do not use tap. When used both tab and dbltap, only in this case apply needed ms delay to ensure it is dbltap or tap.

Yes you are right. I tried this on Chrome, and when bind click and dblclick at same time and double click it, it will trigger 2 clicks and 1 dblclick. The best way to resolve this conflict is do not resolve it 😀
I will consider how to reliaze it. Thanks for your advice.

I agree that no conflict resolving is needed. When user use just dbltab, no problem. In my case Im now using v-on:click and v-on:dblclick and each does something and I never mind that clicks are fired within one dblclick (it is desirable in my case). But dblclick is not supporteted on iOS and by googling users complains about it for long years and have to use different hacks to bypass it. It will be great vue-touch-events solve this shame of Apple.
Btw anyone can simple solve conflict v-on:click/v-on:dblclick or v-touch:tap/v-touch:dbltap by yourself... apply timeout before run click/tab callback, when fired dblclick/dbltap clear timeout and fire just dblclick/dbltap callback. But in my case firing all events is desirable.

iOS uses dblclick to zoom in and zoom out. Maybe this is the reason why iOS doesn't support dblclick.

Came here looking for exactly the same feature - I'm implementing a pan/zoom control on an image and want to exactly reproduce the double-tap to zoom in/out which people generally expect, so in this case I will just ignore single tap events so no problem both being fired.  I'll work around it, but it would be really nice to have.
I do understand the problem with the delay - this is what the fast-click library was working around, but I think that delay is now gone from browsers (see here)  Just firing both and letting the page deal with it is definately the right solution.


Add AxisAlignedBox operator + for Vector3

The AxisAlignedBox class has an operator- to translate the box by a vector, but oddly, there's no equivalent operator+:
https://github.com/ignitionrobotics/ign-math/blob/fdbd226d70885e85e265d7c61cfa9014bee1a33a/include/ignition/math/AxisAlignedBox.hh#L125-L128
This was desired on https://github.com/ignitionrobotics/ign-gazebo/pull/125/

Closed by #122.


Problem: port omni_containers to plpgsql

omni_containers depends on libcurl and yyjson
Solution: port to plpgsql and reuse existing extensions like omni_httpc to reduce dependency.
Only docker_container_create_pg as a replacement for docker_container_create is implemented as a prototype, it only creates a container with an already pulled image
Closes #319

Some observations:

Every once is a while the query takes some time to execute about 4s but subsequent queries complete in less than 50ms probably due to h2o keeping the conn alive after the initial query
Some places have hardcoded values for docker create payload because it depended on env variables, i don't see a way to inspect env variable purely through sql. Either create custom pg settings for such values or inspect it through some c code.

That shouldn't happen; if it does (that is, h2o part is responsible, not the docker daemon), we can consider this a buggy behavior and handle accordingly.
Two things I can think of: get env variables in C; or rely on GUC (postgres config vars)

@yrashk I have pushed complete implementation of docker_container_create(needs a bit of cleanup but overall structure is there) any thoughts ?
The dependencies will be omni_web for url encoding and omni_httpc for making requests

Great work! Besides some side issues (like h2o-related stuff), anything holding us from getting tests to run with the new implementations and switching away from C?

I'm trying to add omni_httpc and omni_web to REQUIRES part of omni_containers in it's add_postgresql_extension but cmake config stage is failing with this kind of error
CMake Error at cmake/PostgreSQLExtension.cmake:146 (add_custom_target):
  add_custom_target cannot create target "omni_http" because another target
  with the same name already exists.  The existing target is a custom target
  created in source directory
  "omnigres/extensions/omni_http".  See documentation for
  policy CMP0002 for more details.
Call Stack (most recent call first):
  extensions/omni_http/CMakeLists.txt:11 (add_postgresql_extension

Very interesting!
That line number suggests somewhere there's an extension defined without `SOURCES property:
https://github.com/omnigres/omnigres/blob/master/cmake/PostgreSQLExtension.cmake#L146
How does your updated CMakeLists.txt look like if you haven't included it in the PR yet? Does this happen with the addition of omni_httpc or omni_web?

Very interesting!
That line number suggests somewhere there's an extension defined without `SOURCES property:
https://github.com/omnigres/omnigres/blob/master/cmake/PostgreSQLExtension.cmake#L146
How does your updated CMakeLists.txt look like if you haven't included it in the PR yet? Does this happen with the addition of omni_httpc or omni_web?

I tried with both individually as well, both failed with similar errors

Can confirm this on master. It's happening because omni_containers is defined before its dependencies.
This is the fault of our current build system:
https://github.com/omnigres/omnigres/blob/master/cmake/PostgreSQLExtension.cmake#L152-L162
We need to make sure add_subdirectory there doesn't get called if it was called already. Perhaps what we can do here is to add our own macro wrapping add_subdirectory that expands to add_subdirectory if it hasn't expanded once yet.

Can you try and see if the change in #341 would help?

Can you try and see if the change in #341 would help?

Yes, it works now

I've merged #341 into master

I noticed failures with omni_httpc tests. I believe #346 will fix this.

macos tests are failing due to hardcoded values in plpgsql instead of using env variables

Great work! Minor nitpick: some of the Problem lines in commit messages are formulated through solution. Not a big deal.

I've removed the unused dependencies and fixed a small JSON building issue.


How can I Update the ROLE of the USER?

Hello,
This is William with the Form.io support team. Thanks for reaching out.
Roles can be added to users with the "Role Assignment" action on a resource form. How we typically do this is to have a resource like "User" and then add a Role Assignment action on it to add a specific role to the users in that resource. In addition, you can make this conditional based on values in a field to add different roles to different users. This action only runs when a submission is created or updated so you will need to keep that in mind for existing users.
We also have support packages available for training, support or development services if you are interested! Otherwise, we have a great user community available in Gitter for support.
Please let me know if you have any further questions or concerns.
Thanks,
William Gay
Form.io Developer Support

@wag110894
Is it be possible to Update User Roles through API call?
e.g One User has been Registered to have Role Employee but later on, someday I want to promote Role of the Manager to same user.
Reference: https://documenter.getpostman.com/view/684631/formio-api/2Jvuks

Hello Bhushankumar,
This is William with the Form.io support team. Thanks for reaching out!
You can add multiple Role assignments (and unassigns) to the User resource and make them dependent on a "Role" field in the User resource. Then when you set the role field it should trigger the corresponding Role Assignment action.
We would love to connect hear about your project and see how we can help.
And finally, we also have support packages available for training, support or development services if you are interested!
Please let me know if you have any further questions or concerns.
Thanks,
William Gay
Form.io Developer Support

@wag110894
Thank you for a quick reply.
I want to do it programmatically, using Angular.
Can you point out me to API that updates the existing User's Role?

We currently do not allow an API method to explicitly change the role of a submission. This would have to be done using the Role Assignment action attached to that form and configured for the "Update" method.


Add AccountHolder

This should make it easier for 3rd party AccountHolders (towns, shop, chest shop, etc.) as well as clearly define the Account of a Player.

Expanding a bit on why and how of this PR.
Why
a. No standard way to get an Account for API defined classes (for this PR: ServerPlayer)
Plugins using the Economy API are left guessing how to get a Player account.
This is the interface we provide:
https://github.com/SpongePowered/SpongeAPI/blob/94d7fb22fcc0b77e5af44b9f9e7dc68534ecc3da/src/main/java/org/spongepowered/api/service/economy/EconomyService.java#L95-L124
UniqueAccounts (identified by UUIDs) and VirtualAccount (identified by strings) is all we have.
Sure, account creation and all that is a job of the Economy plugin providing the EconomyService (eco plugin from now on) but the API should provide a clue on what a Player Account is.
There's only one reference to Player accounts here
https://github.com/SpongePowered/SpongeAPI/blob/94d7fb22fcc0b77e5af44b9f9e7dc68534ecc3da/src/main/java/org/spongepowered/api/service/economy/account/UniqueAccount.java#L36-L37
suggesting UniqueAccounts are Player accounts identified by their UUIDs.
That's just a suggestion though and what is actually happening is plugin devs being creative with their code, resorting to things like:
ecoService.getOrCreate(uuid)   // Player#getUniqueID
ecoService.getOrCreate(name) // Player#getName
ecoService.getOrCreate(id)       // Player#getIdentifier
The first one is an UUID, the others are strings.
The first one is returning a UniqueAccount, the others are returning a VirtualAccount.
b. Provide 3rd party plugins a way to mark an Object as an AccountHolder (it holds an Account)
Note: Account creation is still delegated to the eco plugin.
Ex.
A is a towny plugin
B wants to use the towny API and wants to get the town bank.
He can:

call ecoservice#getOrCreate guessing what A is using as the town identifier for the Account. (An update from A is all it takes to screw this up)
pray really hard that A has a Town#getBank method.

This PR aims to make 2. easier by providing a common means to define AccountHolders and get their Account.
How
An AccountHolder interface is added to solve problem b. and a method in ServerPlayer is added to solve problem a.

Now, based on a quick discussion on discord I want to address a few points.
It's not up to the EconomyService to decide how an AccountHolder is identified. It's up to the owner of the class.
For ServerPlayer it's us. For a town is the town plugin.
The eco plugin handles Account creation and manages transaction. That's it.
This is for a number of reasons, namely:
An eco plugin can't possibly know every AccountHolder implementation out there and have 200 dependencies just to handle specific logic for each AccountHolder.
3rd party plugins can only query an Account by identifier. They have no way to know how eco plugins decide to handle a specific AccountHolders because that's an implementation detail. Knowing that would defy the point of having a common interface for the EconomyService in the API.

Take Pieconomy for example. Why would you use that method when, actually, his account is the inventory?

Even with Pieconomy a plugin would query the EconomyService (provided by Pieconomy) to get the player account. The problem we should try to solve (problem a.) is how to query the player account.

What if an economy plugin just doesn't want to tie accounts to players.

There's no way to do that and this PR doesn't change it. An eco plugin provide an EconomyService which receives either a string identifier or a UUID and return an Account. It doesn't know who owns that Account. It just knows by what it's identified.

Honestly, I'd ditch the interface and just have a getAccount() on ServerPlayer

That's fine by me, it solves problem a. which is the main focus of the PR. (assuming we keep the current default implementation)
Alternative solution
An alternative approach is to replace UniqueAccount with PlayerAccount.
It would remove the method from the ServerPlayer interface, leave the AccountHolder as a marker for plugins devs and the EconomyService interface with:
getOrCreate(string identifier)        //for 3rd party AccountHolders
getOrCreate(ServerPlayer player) //for player accounts
But what about offline players (User) ? Use a GameProfile instead ?

I was thinking about this last night and I can see some more value in this - though I think the problem is not solved by simply saying "slap this interface on, you're good".
You've missed off some parts of the conversation that happened in Discord which I think are pretty key to this. @Zidane said

That can't be implemented though
Without saying "It must be a UUID"
What if my accounts are based on names?
Me = Econ plugin

of which I then said:

Right
It would be better to have something like  EconService#getAccounts(AccountHolder)
because then the economy plugin has full control over what it does for a player, or a town, or whatever
the control needs to be on the econ service as much as possible.

The point that was being made was that we do not know how an economy plugin will store this data and what parts of the identifier it will use. Zidane's point was that they might not choose to store by UUID, or you might store by UUID from a town, or whatever. The econ plugin might very well have a different identifying mechanism.
Thinking back, however, that way of thinking is actually kind of bedded into the way things are set up now. Yep, the object, in general, is identifying itself and the econ plugin should take note of that (but said plugin could then choose to use a different identifier to store the values, of course). So this interface might hold value, but I think the whole economy service needs to be looked at in tandem.
This interested me:

It's not up to the EconomyService to decide how an AccountHolder is identified. It's up to the owner of the class.

If that's the case, why is there no way to identify the AccountHolder with just that interface? If it's not a player, the economy plugin may not have any clue as to whether it's a town, or whatever. There needs to be a way to identify that. There may also be a case for identifying whether the account holder is a player, or a town, or a world bank (if someone chose to go mega-economy on their server).
The major problem with what you've done is said that the implementation controls the identifer, and the econ plugin doesn't have any information beyond that - and that limits the control of the econ plugin. It actually leads to what is really a deficiency in the econ service itself, which is really the larger problem here. You've correctly noted that the getAccount(UUID) method only provides a suggestion that the UUID is a player's UUID - and that's not good.
Your alternative solution is better because the control properly goes through to the econ plugin - they have more information that they can work with. I'd just have the Account interface. I'd have, for example:
Account getOrCreate(String identifier); // create arbitary account - this is always going to be important.

Account getOrCreate(AccountHolder holder);  // create account for (registered?) account holder.

A User would be an AccountHolder.
If you were to then have a getAccount() on the player, I think it should be implemented as EconomyService#getAccount(this). AccountHolder would need to provide identifying inforation, alternatively, you could create a catalog type that converts an AccountHolder to UUID or String function that provides a way to perform identification if you wanted to (e.g. User -> getUniqueId().toString()), or register class types with the econ plugin and say "hey, this is a type of AccountHolder we support, and this is how you identify it".
You could make it a requirement to register AccountHolder types and define how accounts should operate - when withdrawing, should there be specific people in the cause? Do they need a permission? I seem to recall that there was the notion of an AccountArchetype in a previous PR which seemed to be superflous to requirements there, but may have a use here - register an account holder to have an archetype or some other control system to also give plugins some of that control.
These are just ideas and some might not be viable, but I just feel like slapping this interface on just papers over issues in the EconomyService that we have a golden oppotunity to fix, so that Econ plugins get a lot more control. Plugins that tightly integrate with the economy could benefit from a full discussion of how this might work, such that they can register town accounts with their own control over how the account runs without having to guess whether account "abc-def" is a town account or not.

That can't be implemented though
Without saying "It must be a UUID"
What if my accounts are based on names?
Me = Econ plugin

The point that was being made was that we do not know how an economy plugin will store this data and what parts of the identifier it will use. Zidane's point was that they might not choose to store by UUID, or you might store by UUID from a town, or whatever. The econ plugin might very well have a different identifying mechanism.
Thinking back, however, that way of thinking is actually kind of bedded into the way things are set up now. Yep, the object, in general, is identifying itself and the econ plugin should take note of that (but said plugin could then choose to use a different identifier to store the values, of course). So this interface might hold value, but I think the whole economy service needs to be looked at in tandem.

It can't do that.
Again, you can create an account using an identifier (be it a UUID for UniqueAccounts or a string for VirtualAccounts) and that's about it.
The eco plugin can encode, add a prefix, add a suffix, do black magic with that identifier. We (or 3rd party plugins) don't care. What we care about is that said account can be gotten/deleted using the identifier we used to create the account.

Right
It would be better to have something like EconService#getAccounts(AccountHolder)
because then the economy plugin has full control over what it does for a player, or a town, or whatever
the control needs to be on the econ service as much as possible.

See point 1. in my previous post.

If that's the case, why is there no way to identify the AccountHolder with just that interface? If it's not a player, the economy plugin may not have any clue as to whether it's a town, or whatever. There needs to be a way to identify that. There may also be a case for identifying whether the account holder is a player, or a town, or a world bank (if someone chose to go mega-economy on their server).

Good point.

The major problem with what you've done is said that the implementation controls the identifer, and the econ plugin doesn't have any information beyond that - and that limits the control of the econ plugin. It actually leads to what is really a deficiency in the econ service itself, which is really the larger problem here. You've correctly noted that the getAccount(UUID) method only provides a suggestion that the UUID is a player's UUID - and that's not good.

The situation is not changed. An eco plugin doesn't have any information beyond the identifier. It never did.
It seems that's what should be changed.

Your alternative solution is better because the control properly goes through to the econ plugin - they have more information that they can work with.

Keep in mind that from a 3rd party plugin perspective I just changed the identifier from a UUID to a Player object. Those plugins would query a player account by their player object.

AccountHolder would need to provide identifying inforation

uh, so giving the owner of the AccountHolder control over the identifier, maybe specifying in the jd that it's only a hint and the eco plugin can just ignore the identifier and use its own.
That would make everyone happy. I think I'm going with that.

My point wasn't "AccountHolder needs a couple of methods, also query by player, jobs a good'un", which is what I feel you're still edging towards. This is sidestepping a problem, not solving it. It's about the wider "okay, but what does this solve, and how can we improve the API to do what people want to do natively?"
At the end of the day, it boils down to this: if we basically want the economy service to be dumb, then getting the account for a player needs to basically state the player UUID is the key for players and everything else has a string identifier. Towny plugins specify in their docs what string identifiers to use for their accounts. Else, let's be bold and consider how this is really used, could be used, and make changes for that. Let's not just slap an interface on players and hope that solves everything.
Specific comments:

Again, you can create an account using an identifier (be it a UUID for UniqueAccounts or a string for VirtualAccounts) and that's about it.

Why do we have both unique and virtual accounts? Surely that's partially arisen from this identification problem? I think there was some talk about removing the notion of these separate accounts, at least on a consumer facing level.

Right
It would be better to have something like EconService#getAccounts(AccountHolder)
because then the economy plugin has full control over what it does for a player, or a town, or whatever
the control needs to be on the econ service as much as possible.

See point 1. in my previous post.

I did. It's something I talked about later in my post.

If you were to then have a getAccount() on the player, I think it should be implemented as EconomyService#getAccount(this). AccountHolder would need to provide identifying inforation, alternatively, you could create a catalog type that converts an AccountHolder to UUID or String function that provides a way to perform identification if you wanted to (e.g. User -> getUniqueId().toString()), or register class types with the econ plugin and say "hey, this is a type of AccountHolder we support, and this is how you identify it".
You could make it a requirement to register AccountHolder types and define how accounts should operate - when withdrawing, should there be specific people in the cause? Do they need a permission? I seem to recall that there was the notion of an AccountArchetype in a previous PR which seemed to be superflous to requirements there, but may have a use here - register an account holder to have an archetype or some other control system to also give plugins some of that control.

Keep in mind that from a 3rd party plugin perspective I just changed the identifier from a UUID to a Player object. Those plugins would query a player account by their player object.

No... as I said in my post it should at least be a User for the very reason that it needs to be something you can query offline. You even made that point...

But what about offline players (User) ? Use a GameProfile instead ?

The situation is not changed. An eco plugin doesn't have any information beyond the identifier. It never did.
It seems that's what should be changed.

Yes. This is an oppotunity to try to improve things on a larger scale.

I made it pretty clear what problems this PR solves and what the aim is.
For others who want to chime in and have a discussion:

I don't mind giving more control/knowledge to the eco plugin. For example by giving it the whole object instead of the identifier (in this PR the AccountHolder as an argument in the eco service).
I don't want to give total control to the eco plugin. Read this as "AccountHolder is just a marker and does not provide any identifying inforation". (in this PR the owner of the AccountHolder can provide an hint on what identifier to use).¹
We need to establish a standard way to query a player account since we are the owner of that class. (in this PR ServerPlayer is an AccountHolder an you can just query by AccountHolder) ²
I'm ok with querying by AccountHolder and merge UniqueAccounts and VirtualAccounts (this is what the PR is doing now)

¹ If you want this, please provide a solution of how this would work. Note that having the eco plugin have a dependencies on each plugin that implement an AccountHolder is not a solution, it's madness.
² I said query. How the eco plugin internally identifies (UUID, string, name, inventory, encoded string, etc.) an account is none of our business. What we need to make sure is that 3rd party plugins can get a player account without taking guesses. Be it with by passing the UUID, the Player/User/AccountHolder instance.

AccountHolder would need to provide identifying inforation

uh, so giving the owner of the AccountHolder control over the identifier, maybe specifying in the jd that it's only a hint and the eco plugin can just ignore the identifier and use its own.
That would make everyone happy. I think I'm going with that.

I think we are going too fast here.
If the identifier is just decoration then the plugins providing that identifier are troubled if they for example rename the AccountHolder and the eco plugin uses the name if available.
Also it does not cover for cases where the kingdoms balance is the same as the kings.
(The player pays for all expenses of the town).
Lets use reality as a guide here.
If I wish to send someone money. I ask that person "whats your Account(number)". Maybe we can slightly defiate from and just ask the economy plugin directly give me the account for type:xyz. I would even go as far as declarung type to a catalog type.
For players this would look like this sponge:player:12334-1234-134...
For those towns it could be towny:town:my-awesome-city2k20.
How the economy plugin stores those keys? We dont care. We also don't care whether the town returns a player account or a guild account or whatever.
The following code  is used to express my concept in more detail. It does not cover all aspects related to economy only the X -> account mapping. So please take it with a grain of salt.
interface AccountOwnerType extends CatalogType {
}

final class AccountRef { // IBAN

static AccountRef of(String accountId)

String getAccountId() {
    return getOwnerType() + ":" + getOwnerId();
}

AccountHolderType getOwnerType();

String getOwnerId();

}

interface AccountHolder { // Optional

AccountRef/Account getAccount(); // Return type does not matter

}

interface AccountRefResolver {

Optional<AccountRef> resolve(Object source);

}

class PlayerAccountRefResolver implements AccountRefResolver {

Optional<AccountRef> resolve(Object source) {
    if (source instanceof Player p) {
        return AccountRef.of(AccountOwnerTypes.PLAYER, p.getUuid());
    }]
    return null;
}

}

class MyShopAccountRefResolver implements AccountRefResolver {

Optional<AccountRef> resolve(Object source) {
    if (source instanceof InventoryShop is) {
        return AccountRef.of(AccountOwnerTypes.PLAYER, is.getOwnerUuid());
    }
    if (source instanceof Merchant m) {
        return myPlugin.getShop(m).getAccountRef();
    }
    return null;
}

````java
interface EconomyService {

Account getAccount(AccountRef)

Account resolveAccount(Object target)

AccountRef resolve(Object target)

void register(AccountRefResolver)

}

I think this is something we now need to revisit before we wind down for freezing API 8.
The ultimate issue that really needs to be considered is the fact that there are many different objects that may very well have an account on them. Thinking over this some more, I came to a similar conclusion as @ST-DDT above, that we may be better served with the notion of an AccountHolderType or something to that effect.
It could be something like this:
interface AccountHolderType<T> {

    String identifier(T type);

}

add this AccountHolderType to the registry so Econ plugins can query it, and use it to get the unique identifier, using something like:
Optional<Account> findAccount(AccountHolderType<T> type, T entity);

etc. The use of an AccountRef may also be useful in the way that it links a type and entity together (but it may not be necessary)
We could have two standard types:
AccountHolderType.GENERIC
AccountHolderType.USER

and other plugins can support town banks, even if the plugin is an addon to a town plugin and said town plugin doesn't make itself economy aware. And of course, we need to keep hold of a generic type in case something does just want a one off account.
There is one large drawback to this idea, however: what if a plugin providing a town type is removed - how can we access it after removal? Do we provide a method such as
Optional<Account> findAccount(String type, String identifier);

to account for this scenario? I'm not entirely sure what to suggest there.
(I do not think we need to complicate matters with resolvers. By forcing the use of types plugin developers and unambiguously stating what their intention is).

Where do we think we want to go with this?

This stalled a long time ago and is no longer eligible for API-8 as it's breaking. I'm going to close this.
I would say that as far as economy goes, it might be worth starting to plan out what is needed from a economy service rather than just throw out some code, and work out where we're gonna go from there. I think there was a huge clash of ideals here and it unfortunately petered out.


Management URI hard-coded in various places

Troubleshooting an issue pulling a full set of VMs from a subscription that lives in GovCloud, and noticed a bunch of 404's in the debug logs...  manually updating lines 23 and 42 of utils.py to change uri to {management_base_url} made the 404's go away, but still not getting the entire list of VMs (despite getting them in full via the AZ CLI)

Are you selecting "Azure Government" as the environment when creating the input?  This will control when base URL to use => https://github.com/splunk/splunk-add-on-microsoft-azure/blob/8330f66d155af431fb4e704239d8f12517b68785/package/bin/ta_azure_utils/utils.py#L254

Yeah, I did.. after I updated the hardcoded management url's the 404's stopped showing in the debug logs, but the pull stops at 100 VMs exactly.  This tells me there's an equivalent to --first 100 (default) with the AZ CLI...  I just can't figure out how to work the equivalent into the python... looks like its setup to handle nextLink, but it doesn't appear it is

What URL did you have to hardcode?  The add-on should have selected the right endpoint depending on which environment you chose.

I "UN-HARDCODED" a few places where the public management URI was in utils.py and azure_comp.py
Line 22 in azure_comp.py is an example
After variablizing the URI, 404s went away for instanceView, but nextLink doesn't seem to be handled correctly because it just stops at 100 VMs, and there's no debug error logged as to why.

Addressed in version 4.1.0


Closes: 1

fix usernames that dosen't start with letters
fixed the problem in validations.py when the username dosen't start with a letter, now returns false when it dosen't
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

I just signed the CLA


update new files

Please check how I proceed. Note that the dot between cluster elements preserves the integrity of phones. We use this in EDICTOR now to mark "evolving sound units". So I recommend to use a dot. Note how I do the segmentation first (it is done within "lex" already) and then modify the CV_Segments by passing Segments to it. Quite a good solution, I'd say for now. Worked well for me.

You should re-run, as I ran without Glottolog with the --dev keyword.

Awesome, thank you! Had to manually resolve some conflicts because I have changed some things about the repo in the meanwhile (like fixing issue #4 with the wrongly transcribed geminates). Might have broken something during that process, but will rerun on my computer now, should work

Ran it from my laptop and it worked immediately :)

You should re-run, as I ran without Glottolog with the --dev keyword.
Well remembered 😁 but I got myself a new laptop with an SSD in the meanwhile so running without the --dev flag too now 😎

Okay I see the dot notation will save me some wrangling again when I want to check if it's a C-cluster or a V-cluster, so that's nice. I think the solution is quite elegant. When I had tried it myself I was surprised how tricky it is to come up with a good code for this, even though the task seems so trivial.

Yes, it seems trivial, right? And my code is not optimized, but we don't need optimized code, as we only run this once. Once I have understood WHY you need this, I'd add the code for clusters to LingPy or LingRex, so it can be used from there and is also tested.

 Did you read about our very simple alignment method we call "template alignment"? If phonotactics are fixed, this is also doing an excellent job, and no need to go with complex multi alignments.

It is here: https://doi.org/10.5334/johd.12

I mean, this alignment method is also something to be shared in an article. So you should make sure to write it up for your dissertation as a sub-chapter, so we can later quote and test it!

Gosh, you have so many tiny and potentially nice things in your loanpy

Thanks!

that it is a pity you never wrote it up

the problem is that my supervisors don't know and don't care about what I'm doing so I was missing this kind of reflection from outside and was just doing stuff without being able to estimate it's value or how to exactly convert it into something. Well at least I have to stepped out of that now.

Did you read about our very simple alignment method we call "template alignment"?

I might have come across it shortly, not sure. The paper looks exciting, just skimmed it now quickly, will read more carefully later today

If phonotactics are fixed,

Yeah so I figured out when applying the extracted sound correspondences for predictions, the most difficult part was to tell where to reconstruct sounds in the proto-language where there is nothing in its descendant. And so the multi-alignment (as this is apparently called) seemed to be a convenient work around: If 1 descendant sound corresponds to 2 proto-sounds, we've captured the disappeared one. For the loanword adaptation I fixed this differently, there the phonotactics is first fixed in a separate step, and then just the extracted sound correspondences applied (so there's no multi-alignment needed there)

Did you check our most recent paper on trimming alignemnts, where we have a very simple procedure to predict non-existent elements, when having training data?

List, J.-M., N. Hill, and R. Forkel (2022): A new framework for fast automated phonological reconstruction using trimmed alignments and sound correspondence patterns. In: Proceedings of the 3rd Workshop on Computational Approaches to Historical Language Change. Association for Computational Linguistics 89-96.

https://aclanthology.org/2022.lchange-1.9.pdf
This technique (which we did not invent, we quote another source for it, but applied it first on multi-alignments) was a game-changer for me in predicting words, so if you do not use this, I recommend to think of using it, if you work in a supervised framework (but that is not yet clear to me, I am waiting for your first blog post to understand more ;)


[Bug]: Error on every command: Command not found on latest vsCode version

What happened?
The extension stopped working after updating to the latest VsCode version, every button clicked gives a "command not found" error, for example trying to refresh connections:
dvdt.explorer.connections.refreshConnection: command 'dvdt.explorer.connections.refreshConnection' not found. This is likely caused by the extension that contributes dvdt.explorer.connections.refreshConnection.
I had to revert to VsCode 1.82 to restore a working version of the extension

What version of the tool are you using?
v2.1.4
What version of Visual Studio Code are you running?
1.83
Any relevant session id from VSCode?
No response
Relevant log output
dvdt.explorer.connections.refreshConnection: command 'dvdt.explorer.connections.refreshConnection' not found. This is likely caused by the extension that contributes dvdt.explorer.connections.refreshConnection.

I am also facing this issue.

I will look into it this weekend. Thanks for letting me know.

I hope the issue has been resolved. Upgrade to v2.1.5.
Please lemme know if you are running into issues.

Not resolved.. WIP

Issue should be resolved now. Make sure that v2.1.10 is installed.


Refactor Notification - Loose coupling of HTTP handlers and business …

…logic
Addresses #1579.
Signed-off-by: Nikolay Stanchev<EMAIL_ADDRESS>

related to #941

I have not reviewed this PR and I'm not necessarily opposed to it. But I will say it would be of greater benefit to the project to adopt the Operator pattern being used in core-metadata to facilitate greater test coverage. There are no tests in this PR so it doesn't move us any closer to one of our Fuji deliverable goals.
Also please fix the commit message
https://chris.beams.io/posts/git-commit/

I was not aware that we are going for the Operator pattern for this service. In this case, I'll start working on this transition.


Composables — batch 1

[x] Text
[x] Button
[x] Checkbox
[x] ContextMenu
[x] Dropdown
[x] ProgressBar
[x] Link
[x] Radio Button
[x] Text field
[x] Text area

We finished all batch1 composable


CIE xyY 1931

Hi!
Can your library support CIE xyY 1931?  Is the same as as YXY?
Cheers,

Hello,
I am no longer maintaining this project so probably I won't be adding new functionality soon.
If you have the time, please create a pull request with the changes you need.
This book has contains the conversion formulas
https://www.babelcolor.com/index_htm_files/A review of RGB color spaces.pdf


q2_metadata

I'm very honour to test the sofe about qiime2 ,but I have a question about taxa , when I use the q2 to classify-sklearn my sequence ,I find the result just have the class classify is bacteria ,when I use the model data ,I can use success to annotation sequence species .so I want to know how to do and I also want to know about the personalized database use the command Train the classifier Whether or not classifier my own data ?thank you .

Hi @110147 - please ask this question on the QIIME 2 Forum - that is where we provide user support. Thanks!


Test for trace_spans generated by decl_module and pallet macros

related https://github.com/paritytech/substrate/pull/8305
decl_module and pallet macros generate some trace logic.
Those are important so some test must assert them.
maybe we can do in a way similar to https://github.com/paritytech/substrate/blob/24613496216b8c991baa24b26afc8346d313fbf5/primitives/api/test/tests/runtime_calls.rs#L220
Or maybe there is a way to init tracing_subscriber to have access to the trace within the test (instead of writing to stderr).

I don't know the status of usage of trace in the runtime


fix minor misplacement

Signed-off-by: Maroon Ayoub<EMAIL_ADDRESS>

/lgtm
/approve

The lint error is regarding
pkg/utils/gitrepo.go:262: File is not `gofmt`-ed with `-s` (gofmt)

So maybe you didn't use a code editor like Visual Studio Code that automates the source files.
You can run gofmt gitrepo.go and copy the output and recommit and repush.
You can run make lint locally to check if it passes the lint first.

@mikeshng my installed linter versions are stricter (e.g.,:
pkg/subscriber/git/git_subscriber.go:108:3: S1002: should omit comparison to bool constant, can be simplified to `*subitem.Subscription.Spec.Placement.HubOfHubsGitOps` (gosimple)
		*subitem.Subscription.Spec.Placement.HubOfHubsGitOps == true {
		^

pkg/controller/mcmhub/mcmhub_controller.go:854:18: `o` can be `k8s.io/klog/v2.KMetadata` (interfacer)
	return value[adjustedPos:]

do I have to reconfigure versions or is it ok not to?

@vMaroon maybe we can try this:
https://github.com/vMaroon/multicloud-operators-subscription/pull/1
Could you please merge my PR to your branch and then we can run the GitHub actions CICD again?
Thanks.


Typescript 3.7.3 decorator won't auto complete

TypeScript Version:  3.7.3
Typescript 3.7.3 decorator won't auto complete
Search Terms:
Code
// selecting autocomplete should add `import { computed } from "@ember/object";` from @types/ember

class Index {
    @computed/* ctrl + space here offers suggestions in<EMAIL_ADDRESS>but not in<EMAIL_ADDRESS>*/
    get foo() {
        return '';
    }
}

Expected behavior:
Should suggest decorator
Actual behavior:
No suggestions are offered.
Playground Link:
https://github.com/jonopus/ts-test/blob/master/index.ts
Related Issues:

maybe same issues https://github.com/microsoft/TypeScript/issues/35521

looks like fixed.   #35521

Have you tried typescript@next?


APC cache is being required by default

What steps will reproduce the problem?
I have updated yii2 through composer from Yii v2.0.5 to v<IP_ADDRESS>.
What is the expected result?
I expected no major breaking issue, and my application to work as is
What do you get instead?
Invalid Configuration – yii\base\InvalidConfigException
ApcCache requires PHP apc extension to be loaded.

in C:\xampp71\htdocs\myapp\vendor\yiisoft\yii2\caching\ApcCache.php line 47
The offending code is:
public function init()
    {
        parent::init();
        $extension = $this->useApcu ? 'apcu' : 'apc';
        if (!extension_loaded($extension)) {
            throw new InvalidConfigException("ApcCache requires PHP $extension extension to be loaded.");
        }
    }

My web.php config file:
'cache' => [
      'class' => 'yii\caching\FileCache',
 ],

I have tried changing the config to below but the issue couldn't be resolved:
'cache' => [
      'class' => 'yii\caching\ApcCache',
      'useApcu' => true,
 ],

The only fix that worked is to explicitly change
public $useApcu = false;

in the ApcCache class to
public $useApcu = true;

Additional info

Q
A

Yii version
<IP_ADDRESS>?

PHP version
7.1.1

PHP Compiler
MSVC14 (Visual C++ 2015)

Architecture
x86

Apache Version
Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/7.1.1

Operating system
Windows 7 Professional Edition Service Pack 1

After keenly looking at the Stack Trace, turns out the issue emanates from the urlManager configuration...  when the enablePrettyUrl property is set to true , for some reason the urlManager is trying to look into the APC cache.

So the safest solution on my part now is to set cache property of urlManager to false, and leave the ApcCache core class the way it was.

I'd still search for any APC usage, UrlManager should just use which ever cache component you've set and not exclusively APC

Another thing I've noticed, any reference to Yii::$app->cache... defaults to ApcCache.
I don't have any other config files apart from the standard ones in the config folder.

I'd still search for any APC usage, UrlManager should just use which ever cache component you've set and not exclusively APC

My huge config file had another reference of ApcCache several lines down which I had included to do some tests.
This issue now stands closed.


Added Fuel Efficiency Calculator

Added Simple and Efficient Code for the Fuel Efficiency Calculator

@kartikagarwal9  I commented the wrong message here.

As you didn't followed our contributing guidelines, according to which for working on any issue first you have to get assigned to that issue.
i have to close this PR as you were not assigned to this issue


AttributeError 'module' object has no attribute 'pyplot'

I have same problem just like #1117 . and I use the latest nvidia/digits docker.
I follow semantic-segmentation step by step, until i created the dataset and clicking the Explore DB, the page show the Error like:

Same problem when i choose colormap from dataset.
.

Looks like that change is only in the master branch, not in digits-5.0:
https://github.com/NVIDIA/DIGITS/blob/digits-5.0/digits/dataset/generic/views.py
https://github.com/NVIDIA/DIGITS/blob/83254ed7a0/digits/dataset/generic/views.py#L14

It means i can't use digits docker to fix this, right? Cause i use DGX-1 to work. I think i should use docker.
I'm newbie in docker. Could you please give me some advice?

If you're on a DGX-1, then you'll probably want to be using the DGX-1 images:
http://docs.nvidia.com/dgx/dgx-registry-user-guide/index.html
If you have any problem with one of those images, please reach out to DGX-1 support, as mentioned at the end of that document.
If you actually do need to use the DockerHub image for some reason, you might need to adjust this line and build your own image or something:
https://gitlab.com/nvidia/digits/blob/d599be1be792b2c7de4af8dad4e3e9955cb6a46f/5.0/Dockerfile#L34
You can try reaching out to Felix for help through this issue list:
https://gitlab.com/nvidia/digits/issues

I use the DGX-1 images and it works. Thanks a lot！


Added timeout to img loading

Added timeout to image loading.

Coverage decreased (-0.09%) to 47.008% when pulling 00ac4c6844bae93482508c35f43f42c15e8f9ab4 on dame-sprint-2021-feb-sage311-img-loading into 378f7d97d6511e3c7c8ba6d23670d1a6415ac5f3 on dame-sprint-2021-feb-staging.


variable das's meaning

Hi, could you please tell me the meaning of variable das? or what is das an abbreviation for?
https://github.com/ming71/DAL/blob/a4f625abbafed3425e49c8cab02503de6a811588/models/losses.py#L37-L50
Does it mean Dynamic Anchor Select?

Exactly.

THX!


Bower support

Bower support would be really useful.

We already have it: bower install jquerykeyframes

Oh, I missed it. Thanks!