[SPARK-35541][SQL] Simplify OptimizeSkewedJoin

What changes were proposed in this pull request?

Various small code simplification/cleanup for OptimizeSkewedJoin
Why are the changes needed?

code refactor
Does this PR introduce any user-facing change?

no
How was this patch tested?

existing tests

cc @yaooqinn @viirya

Test build #139013 has started for PR 32685 at commit 9e469d0.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43530/

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

Test build #139013 has finished for PR 32685 at commit 9e469d0.

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

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

Thanks! Merging to master!


Missing placeholder in the additives section.

What
The placeholder is missing in the additives section in product page.
Screenshot

Important information

Google Pixel 4A API30

Project
Open Beauty Facts

can you please mention the name and location of directory in which this issue is situated


GPII-3909: Upgrade Kubernetes to 1.12

This PR upgrades Kubernetes to 1.12. Main driver for this is garbage collector issue (see https://issues.gpii.net/browse/GPII-3903 for details). The current (follow K8s default version) logic is disabled, and should be re-enabled once 1.12 is available as default.
I have tested:

Creating new cluster with 1.12
Upgrading from current master (1.11) to 1.12
Downgrade by manually deleting the cluster

Q&A:

Any changes to support on 1.12?
During my testing (mainly running rake test_preferences and test_flowmanager, checking Stackdriver alerts), I did not observe any issues nor changes that would require any further action.
What does a rollback look like?
Unfortunately downgrading a minor version is not supported GKE operation (https://cloud.google.com/kubernetes-engine/docs/how-to/upgrading-a-cluster#upgrading_the_master). Therefore the rollback would be reverting current PR, destroying the cluster manually (gcloud container clusters delete k8s-cluster --region us-central1) and recreating by pipeline (I've tested this, the whole process from deletion up to the point when services started correctly responding took cca 28m on my dev cluster).
Zero downtime? Small downtime? Communicate to outage@?
Running a simple query on Flowmanager's /health endpoint, as well as Stackdriver uptime metrics, did not show any downtime during upgrade operation (I did see some higher latencies at one moment, up to ~ cca 10s, but the perf test was running on my laptop so that might be the cause of it, simultaneously running curl loop from gcp also didn't show any dropped requests). So this would be zero-downtime, no comms. upgrade (while I've considered sending a preventive notice in case things go wrong, I would reserve this for real planned downtime upgrades, also upgrading master is standard GKE operation and as such, I would consider it relatively low-risk).
Will we lose any support by using 1.12?
No, GKE 1.12.X versions are fully supported and generally available, no implications on support from Google.

Notes on upgrade:

Master upgrade itself consistently took around 16-19 minutes:
 operation-1557841006824-4f09f8a7  UPGRADE_MASTER    us-central1  k8s-cluster                                           DONE    2019-05-14T13:36:46.824343114Z  2019-05-14T13:54:15.971994714Z

Nodes are not upgraded as part of this process (I expect that to happen as node-auto-upgrade in the maintenance window, although latest GKE release notes state that: Node auto-upgrade is currently disabled. You can continue to upgrade node pools manually. Node auto-upgrade will be re-enabled in the coming weeks. - https://cloud.google.com/kubernetes-engine/docs/release-notes).

LGTM
I agree that communicating with outage@ is not necessary given the low risk of this upgrade.

LGTM!


Bug: Selected Collection Type is incorrect when clicking a specific entry.

After clicking an entry (I selected Porchetta - Collection Type is Menus), the selected collection type on the left became Articles, which in fact, it should be Menus.

``


Sik-Ho Tang | Review -- DETR: End-to-End Object Detection with Transformers.

Sik-Ho Tang. Review — DETR: End-to-End Object Detection with Transformers.

Overview
Anchor Free Object Detection Using ResNet+Transformer.
End-to-End Object Detection with Transformers, DETR, by Facebook AI, 2020 ECCV, Over 2000 Citations.
Object Detection, Panoptic Segmentation, ResNet, Transformer
DEtection TRansformer or DETR is designed, which proposes a set-based global loss that forces unique predictions via bipartite matching, using a Transformer encoder-decoder architecture.


check-endpoints should gracefully handle missing podnetworkconnectivitycheck crd

First step in being able to enable/disable check-endpoints.

check-endpoints: block if no podnetworkconnectivitycheck crd established
check-endpoints-kubeconfig: add crd permissions

/retest

we made controllers too easy....
/lgtm

/retest

@deads2k rebased

/test e2e-aws
/test e2e-aws-operator

/bugzilla refresh

/lgtm


Bug: React Spring doc - Can't use Stage from '@pixi/react-animated'

Current Behavior
Stage from "@pixi/react-animated" is not working.
Getting the following error:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `PixiTest`.

Following the React Spring doc page
Expected Behavior
To be able to use Stage from '@pixi/react-animated' like explained in the documentation.
Steps to Reproduce
I used the exact same simple usage code provided in the documentation:
import React from 'react';
import { Spring } from 'react-spring';
import { Texture } from 'pixi.js';
import { Stage, Sprite } from '@pixi/react-animated';

const PixiTest = () => (
  <Stage>
    <Spring native from={{ x: 0, y: 0 }} to={{ x: 200, y: 200 }}>
      {(props) => <Sprite texture={Texture.WHITE} tint={0xff0000} {...props} />}
    </Spring>
  </Stage>
);

export default PixiTest

Environment

@pixi/react version: 7.0.3
@pixi/react-animated version: 7.0.3
pixi.js version: 7.2.0
React version: 18.2.0
ReactDOM version: 18.2.0
next version: 13.2.3
Browser & Version:  Chrome 111

Possible Solution
No response
Additional Information
No response

@hilmia I was having the same issue in making my animation work. It is not clear in the docs that you should install @pixi/react-animated separately and which components are exported from there. If you check the source code you can see there is no Stage exported now but you have:
BitmapText
Container
Graphics
NineSlicePlane
ParticleContainer
Sprite
AnimatedSprite
Text
TilingSprite
SimpleMesh
SimpleRope

What worked for me was installing @pixi/react-animated manually and use the Sprite from there but the Stage from @pixi/react.
Docs Example
import React from 'react';
import { Spring } from 'react-spring';
import { Texture } from 'pixi.js';
import { Stage, Sprite } from '@pixi/react-animated';

const App = () => (
  <Stage>
    <Spring native from={{ x: 0, y: 0 }} to={{ x: 200, y: 200 }}>
      {(props) => <Sprite texture={Texture.WHITE} tint={0xff0000} {...props} />}
    </Spring>
  </Stage>
);

What worked for me

Install pixi.js and @pixi/react as stated in the docs -> npm install pixi.js @pixi/react
Manually install @pixi/react-animated too -> npm install @pixi/react-animated
Use only Sprite from @pixi/react-animated:

import React from "react";
import { Spring } from "react-spring";
import { Texture } from "pixi.js";
import { Stage } from "@pixi/react";
import { Sprite } from "@pixi/react-animated";  --------> HERE

const App = () => (
  <Stage>
    <Spring native from={{ x: 0, y: 0 }} to={{ x: 200, y: 200 }}>
      {(props) => <Sprite texture={Texture.WHITE} tint={0xff0000} {...props} />}
    </Spring>
  </Stage>
);

The above looks correct to me
I will get something added to the docs about this


Add in PackageKit

Motivation for this change
see NixOS/nix#233
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

This should be ready to merge now.

I'll rebase onto gnome 3.20 later today.

cc: @lethalman, @DamienCassou

Travis errors are saying "no space left on device". But, it's building find on my Linux box.

@nckx Could we get this merged fairly soon?

I don't see any objections to this and it looks superficially okay to me, so merging as is.


Issue 774 on ARM

We're seeing the same issue (#774) with the following invocation of the ARM cross compiler.  We're using v1.83 of boost.
We tried to find a way to work around it, but none of our attempts succeeded.
/opt/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi/bin/arm-none-eabi-g++ -c -mcpu=cortex-m4 -mthumb -mno-unaligned-access  -mfloat-abi=soft  -fdata-sections -ffunction-sections -Wno-unused-function -fno-exceptions  -Iext/boost/boost -Os -g3 -Wall -Wundef -DOS=OS_MACOS -fdiagnostics-color=always -fno-rtti --std=gnu++20 -Wno-literal-suffix -Wno-dangling-pointer -fno-threadsafe-statics  -o ../o/lib-glow/jsonito.o generics/jsonito.cc
In file included from ext/boost/boost/boost/json/src.hpp:37,
                 from generics/jsonito.cc:43:
ext/boost/boost/boost/json/impl/parse.ipp: In function 'boost::json::value boost::json::parse(string_view, std::error_code&, storage_ptr, const parse_options&)':
ext/boost/boost/boost/json/impl/parse.ipp:49:10: error: no match for 'operator=' (operand types are 'std::error_code' and 'boost::json::error_code' {aka 'boost::system::error_code'})
   49 |     ec = jec;
      |          ^~~
In file included from /opt/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi/arm-none-eabi/include/c++/12.2.1/bits/ios_base.h:46,
                 from /opt/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi/arm-none-eabi/include/c++/12.2.1/ios:42,
                 from ext/boost/boost/boost/core/detail/string_view.hpp:30,
                 from ext/boost/boost/boost/json/string_view.hpp:14,
                 from ext/boost/boost/boost/json/kind.hpp:14,
                 from ext/boost/boost/boost/json/array.hpp:14,
                 from ext/boost/boost/boost/json.hpp:15,
                 from ext/boost/boost/boost/json/src.hpp:27:
/opt/arm-gnu-toolchain-12.2.rel1-darwin-arm64-arm-none-eabi/arm-none-eabi/include/c++/12.2.1/system_error:225:7: note: candidate: 'template<class _ErrorCodeEnum> typename std::enable_if<std::is_error_code_enum<_Tp>::value, std::error_code&>::type std::error_code::operator=(_ErrorCodeEnum)'
  225 |       operator=(_ErrorCodeEnum __e) noexcept
      |       ^~~~~~~~

This appears to be another problem with detection of platform features on MacOS. @pdimov can you look into it?

Just to be sure, have you tried any of the workarounds mentioned in #774 ?

I suppose this is again caused by BOOST_NO_CXX11_HDR_MUTEX being defined by Boost.Config for this platform, but I've no idea why that is.
Is libstdc++ compiled as single-threaded?

Likely.  These are arm-none-eabi targets, no OS, single core, so there isn't going to be a need for threading.
I don't have a working sample anymore since I had to move on.  I don't have a way to test the boost JSON code and compiler switches.
FWIW, nlohmann's library links and it doesn't require additional code when we disable exceptions.  Perhaps at a later date we can return to this detail and determine whether or not the boost library is a better long-term component.

In that case, the solution is to define the macro BOOST_SYSTEM_DISABLE_THREADS.


FATA[0029] failed to check server health at: https://api-4ba1f264-89f4-4971-8225-4a7ebce57e02.try-us.daytona.app/health

I'm trying to make use of AWS provider feature but my daytona server deosn't seem to connect
On first terminal I run command below
daytona serve

INFO[0000] Starting local container registry...
INFO[0000] Starting api server on port 3986
INFO[0000] Starting headscale server...
INFO[0002] Headscale server started
INFO[0002] Starting Daytona server
INFO[0002] Image already pulled
INFO[0008] Downloading default providers
INFO[0008] Default providers downloaded
INFO[0008] Registering providers
INFO[0010] Provider docker-provider registered

On a second terminal tab, I ran the one under to set target but got the error below
daytona

FATA[0029] failed to check server health at: https://api-4ba1f264-89f4-4971-8225-4a7ebce57e02.try-us.daytona.app/health. Make sure Daytona is running on the appropriate port

I also ran this too
daytona server

 This commands registers and starts the Daytona Server daemon.
 For running the Server in the current terminal session use 'daytona serve'.

 Starting the Daytona Server daemon...

INFO[0000] Starting local container registry...
INFO[0000] Starting api server on port 3986
INFO[0000] Starting headscale server...
INFO[0002] Image already pulled

    Daytona

   ## Daytona Server is running on port: 3986

   ===

   You may now begin developing

Use `loginctl enable-linger jeffrey` to allow the service to run after logging out.

daytona provider install

FATA[0016] failed to check server health at: https://api-4ba1f264-89f4-4971-8225-4a7ebce57e02.try-us.daytona.app/health. Make sure Daytona is running on the appropriate port

I'm using the latest version of daytona and my internet connection seem fine. Also, I'm not behind any VPN connection
Please what do you think I missed

Seems like you're on the wrong profile - what's the output of daytona profile ls? Try switching to the default (local) one with daytona profile use default


Enable Send button with no feedback text

Send button is not enabled on second screen
when the feedback textview is empty. This will
let end users send empty feedback, just like
on iOS and tablet version.
Trello: https://trello.com/c/T9BNDsLr/1215-enabled-send-button-when-there-is-no-feedback-text

To bring parity with JS SDK, we should send the score back to server when score is selected without  waiting for send button. Do you think onScoreChanged should fire the HTTP call in background?
This is not related to this fix but I think we should do across all mobile SDK if not done already.

I have not run the code end to end but code change looks good.

@prabhatjha that's what happens on the tablet's version. The thing is that when that happens, we also immediately show the feedback text field, on smartphones that doesn't happen. So we might send too many unnecessary requests to the server.


allow azure openai keys from api_key_path

Checking for "sk-" prefix prevents providing an Azure API key or token in the api_key_path file. Update to check api_type first, so we can enable this and maintain the behavior of checking for a malformed key (in the openai case).

+1
When using Azure OpenAI and setting my own OPENAI_API_BASE_URL using the autogpt project, I encountered an error: openai.error.AuthenticationError: Incorrect API key provided: 210***********************0344.

Thanks for this!
We've since rewritten the library entirely, so this change is no longer relevant. I'm sorry we didn't get to it sooner.


Demo split test files in catalog-process

This pull request is for finding a way to easily split the test suite into multiple files, without adding much overhead and/or having to start and stop the containers at each test.

@galales in agreement I am splitting them by function: a file to test updateAgreement (with all its success/error cases) #377, a file to test rejectAgreement #384 etc. Since it is already how we split tests in different describe functions, I think it's the natural way to do it, what do you think?

@galales in agreement I am splitting them by function/endpoint: a file to test updateAgreement (with all its success/error cases) #377, a file to test rejectAgreement #384 etc. Since it is already how we split tests in different describe functions, I think it's the natural way to do it, what do you think?

After hearing @galales and @beetlecrunch they too agree on split them by function/endpoint, so lets continue to use this criteria 👍

An update on this -- we found out that the test file size was the cause of the linter taking too much space and failing on the CI. #460  fixed it temporarily by limiting the task max memory. @taglioni-r if you proceed to split this catalog process test file, the problem will be solved and you could potentially remove the limit, what do you think? cc @MalpenZibo
We could start like this and then also in a further PR switch to the improved approach proposed in #441 applying it also to catalog


The legends are not properly displaying in the left with graph

Describe the bug
Previously we were displaying the legends at the bottom of the graph. And the legends were displaying properly. Now when we tried to move the legends to left of the graph, we are facing the issue that the legends are not properly displaying with the graph.
We have created the first graph with the div id legendContainer and set bindingLegendTo to the legendContainer. In another graph, we are using id as canvasLegendContainer and setting it to bindingLegendToGraph, which is in different file (class).
Finally, we are displaying these two in a single page display.
Even though we are providing the legends in 2 separate divs, sometimes both the divs(with the legends) are coming under one graph. And nothing is being displayed for the second graph.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://github.cerner.com/Assessments/assessments-graph-js'.
Go to 'advgraph-1152' branch.
Do 'npm install' to build the project.
Do 'npm start' to run the project.

Expected behavior
When we run the application, initially the legends will be appearing properly with the graph. And the legends will be appearing in the separate divs. When we reload the graph or go to tests tab and reload back to components tab in dev site, the legends are not appearing properly with the graph. The legends are appearing in the same div.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Browser : Chrome

Additional context
Add any other context about the problem here.

I tried it in a sandbox and it is working fine.

You can see the source here: https://codesandbox.io/s/trusting-clarke-91qkx?fontsize=14&hidenavigation=1&theme=dark

Closing this as it is working as expected.


Devtools inspection is not available because it's in production mode or explicitly disabled by the author.

i instalal from chroem store,but it's wrong when i click it,like this picture

how can we fix this issue?


replace npm ci with npm i for cache usage

not doing this anymore due to dependencies of dependencies getting bumped during npm i


UI: Applications/instances view needs 'sort by host' and 'show all'

Simple example use-case, which is a big pain to debug right now:
Deploy any app with 20+ instances (>3 'pages' currently) in marathon (for ex. accumulo-tserver in our case), and find out  on which hosts marathon could not deploy an instance due to some unfulfilled resources.
Marathon just giving me the infos:  Waiting (20 of 22 instances) / 2 Unscheduled
( ps: looking fwd to have insights about those Insufficient resourceslogs in the UI!) )
There are 2 major usability issues here:

There's no sort by host (as the main column attribute is the 'ID'  and thus clicking it  sorts by ID,  though I'm sure most people could better use a sort by ID.. we need both!)
The page size is hardcoded to 8 (!) entries.
I'ld suggest a simple 'show all' checkbox or button (alternatively a way to choose (much) larger page-sizes)

Alternatively (for this usecase) it would be very helpful to be able to filter/show a list of hosts that would be expected to host the * Unscheduled* instances  (but this would be too complex to solve in general ... here it's enough to actually show the Insufficient resources infos, in a structured way, on which host, what resources could not be fulfilled)
Related issue: https://github.com/mesosphere/marathon/issues/3000
( that also mentioned the 'sort by host' would be nice )

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-2663. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


Single threaded TensorFlow

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): 2.3
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
TensorFlow should generate the specified number of threads, irrespective of the available number of CPUs or CPU cores.
config.set_inter_op_parallelism_threads(1);
config.set_intra_op_parallelism_threads(1); is not enough to restrict the total number of generated threads.
Some related issues.
https://github.com/tensorflow/tensorflow/issues/33627
https://github.com/tensorflow/tensorflow/issues/42510
Will this change the current api? How?
Who will benefit with this feature?
People who discuss it at the following issues:
https://github.com/tensorflow/tensorflow/issues/33627
https://github.com/tensorflow/tensorflow/issues/42510
Any Other info.

@fisakhan
config.set_inter_op_parallelism_threads(1); config.set_intra_op_parallelism_threads(1); can't work well because there would be many python libs to be executed in a AI script. It's possible other libs will enable multiple threads.
Above two parameters only limit the tensroflow train/infer.
There is simple method to limit one thread, like:
numactl -C 1 python train.py
It sets the python running on the No.1 CPU core only.
If you use 'htop', you will see only No.1 CPU core is busy.

@NeoZhangJianyu both of your suggestions are not working and have been properly discussed on https://github.com/tensorflow/tensorflow/issues/33627#issuecomment-675661637
numactl doesn't work because another C++ program (from another party) is calling my code and I have to control the number of thread from within my code.

If I build TensorFlow from source then what code should I change to disable threading by TensorFlow?

@fisakhan Have you tried to control also OMP_THREAD_NUM?

@bhack I use system(export OMP_NUM_THREADS=1)" in my C++ code but it looks like TensorFlow overwrites this setting. Can you please suggest how and where to use OMP_NUM_THREADS to force TensorFlow not to generate threads?
.

On master you can try to make a look at
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/threadpool_device.cc#L45:L69

@fisakhan OK, I understand your case.
Currently, the method to control thread number by external is only for process, instead of library (your case).
The current env variables/parameters are only impact the AI operation part. Like OMP_NUM_THREADS and inter_op_parallelism_threads, intra_op_parallelism_threads.
I think they are working for AI operation of Tensorflow. But they won't impact the other part of tensorflow to use single thread or multiple threads. For example, load dataset.
Your case need whole tensorflow use single thread.
It's a little hard: even if the source code of tensorflow is changed to use single thread, but it's hard to make sure the 3rd party libs used by tensorflow to use single thread.
I have two alternatives:

Modify the source code of tensorflow to set the thread number variables to 1 by hard code.
It's  big work, and would be fault, because it can't control the 3rd party lib.

Refactor your software structure:
Sperate the software into two processes. The function call is changed to IPC.
Your code is running as child process and receive the parameters/return result by IPC.
So the thread number can be controlled by 'numactrl'.

@fisakhan
Is there any feedback?

I'm still struggling with that.

@fisakhan
Good lucky!
Do you still need any support from Tensorflow with MKL view?

@fisakhan
If you don't know the support, could you close this issue?

This is not possible with tensorflow. I wonder how did some people control the tensorflow threads here.

@fisakhan Were you able to disable multi-threading in Tensorflow C API?
I am also working on the same problem.

@suraj-maniyar No I couldn't. I still don't know how to do that.

@fisakhan @suraj-maniyar can you try building tensorflow 2.4 with --config=mkl_threadpool instead of --config=mkl to use Eigen threadpool. this way you don't have to use omp threadpool and control through just setting  config.set_inter_op_parallelism_threads(1)
config.set_intra_op_parallelism_threads(1) and see if that solves the problem

@preethivenkatesh try it and then be confident in providing answer. Try...if..., try...if... doesn't work.

@preethivenkatesh I got build errors when using --config=mkl_threadpool.
Could you please elaborate what all steps you followed to build Tensorflow 2.4?

@suraj-maniyar
bazel:3.1.0,
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Here is the build command I used for c api
bazel build --config=mkl_threadpool  //tensorflow/tools/lib_package:libtensorflow
For sanity check purpose, I tested the installer on Python for the  single-threaded behavior and was able to do it by setting the threads for all sessions in the script here. you can try to use this as a ref point to compare if your setting the sessions and configuring it to use 1 thread.
infer_config = tf.compat.v1.ConfigProto()
infer_config.intra_op_parallelism_threads = 1
infer_config.inter_op_parallelism_threads = 1
infer_config.use_per_session_threads = 1

@fisakhan @suraj-maniyar
As my understanding of your issue, you want to a program which call TF to work only use one thread.
The program's work include AI inference and other functions (like pre/post handle dataset).
The parameters above will only impact the TF inference behavior: use 1 thread to infer.
But the parameters can't control the program do other jobs with 1 thread.
Please check and find the code/function to use multiple threads in your case.
If TF AI inference code use multiple threads, we could continue check.
Else, it's another topic. Like load images by multiple workers, which are multiple threads. They need to be refactored to use single thread.


Request - Make web services context menu tab open faster

Can you please make the web services context menu tab open faster?

It's Windows' UI so no, it's impossible to change that.
You can click it to open it directly though.


How to enable event default in anchor click in Angular ui-router

Basically I'm asking this gentleman's question: http://stackoverflow.com/questions/24822043/how-to-disable-static-url-in-angular-ui-router, which never got answered.
My DOM structure looks like this:

  Click Me

I want people to be able to click that "Click Me" link and have it force the page to take you to that page as if Angular and UI Router didn't exist, as a standard HTTP page request with everything reloading.
Is that doable?
I've also posted this question to the Stack Overflow community to see if anyone else has any insight.
Thanks!

The solution is to add target="_self" to the link.


fix(elements-dev-portal): use react-router-dom link

Fixes an issue introduced by https://github.com/stoplightio/elements/pull/1867#discussion_r791128167
Fixes https://github.com/stoplightio/elements/issues/1980

Confirmed links including a hash to another page will still scroll. Example below shows a hardcoded "#tabs" to the markdown link:

@lottamus : I guess I'm a bit confused. What caused the issue? That my PR used a non-null assertion operator on ReactRouterMarkdownLink?

I guess I'm a bit confused. What caused the issue?

@jgreen44 I explained it here too: https://github.com/stoplightio/elements/pull/1867#discussion_r791128167
ReactRouterMarkdownLink was expecting href and did not expect a to property (thus typescript was complaining). The issue was NodeContent was only passes a to property as per the typing on CustomLinkComponent: https://github.com/stoplightio/elements/blob/c9d0d01e5984e75cbcd2f7f716f8a103a1a06ec0/packages/elements-core/src/components/MosaicTableOfContents/types.ts#L10-L14.


TimePicker in german

Hello,
it´s my first react-native project and I am currently trying to get the timepicker working for my project. The app is currently only available in german so I need the timepicker in german.
This is my code:
index.js:
`import {registerRootComponent} from 'expo';
import {de, registerTranslation} from 'react-native-paper-dates';
import Main from './Main';
registerTranslation('de', de);
registerRootComponent(Main);`
The call for the timepicker:
<TimePickerModal     locale="de"     visible={openTimePicker}     onDismiss={() => setOpenTimePicker(false)}     onConfirm={() => setOpenTimePicker(false)}     hours={reminder.hours}     minutes={reminder.minutes} />
With this the text like 'Select time' and the button texts are in english:

I am wondering, if I need to set the labels and button texts manually or if I am missing a configuration.
Thank you for responding in advance!

If there are labels that need to be updated to correspond with the set language feel free to open a PR.

Please make a PR for this: instructions can be found here :)
https://web-ridge.github.io/react-native-paper-dates/docs/intro#register-translation


fixchange lag/lead function signature

Proposed changes
pick from master https://github.com/apache/doris/pull/40060

run buildall


The CNI plugin should use the api server secure port

Leveraging the insecure port (default 8080) is easy and simplifies implementation.
In order to support scenarios just a bit closer to production, the CNI plugin should use the secure port (default 6643).
This issue will deal with identifying the authentication methods the CNI plugin must support and defining the changes in the CNI plugin itself.

Shalle we close the issue here or do we want to use it to track usage of more sophistitcated methods such as service accounts (I think one might use them when running the watcher in a pod)?

Lets close it. And open more particular use cases as separate issue.


[9.x] Test push method can accept object as payload

Duplicate of https://github.com/laravel/framework/pull/42202


Performance improvements

This PR salvages #122 and adds some slight additional refactoring by caching vertices and tesselated points.
Also implements the code cleanup mentioned in #122.
Notable change: Since points are now computed lazily, but some code needs immediate access to them (like tests), there is now a force_update() function.
It might be useful to call force_update in SS2D_Actions that manipulate points, but not sure if necessary.

With these changes, "defer mesh updates" option doesn't seem to work as it used to.

I think the issue is that because changed signal is not emitted until action is fully committed, we need to rebuild the point cache:
diff --git a/addons/rmsmartshape/shapes/shape.gd b/addons/rmsmartshape/shapes/shape.gd
index c504f33..1c02179 100644
--- a/addons/rmsmartshape/shapes/shape.gd
+++ b/addons/rmsmartshape/shapes/shape.gd
@@ -478,6 +478,12 @@ func is_index_in_range(idx: int) -> bool:

 func set_point_position(key: int, pos: Vector2) -> void:
 	_points.set_point_position(key, pos)
+	if _points.is_updating():
+		# Note: With deferred updates option, `changed` signal won't be emitted
+		#       until action is fully commited (user has released the mouse button).
+		# 		So we need to update the tesselation cache here.
+		_vertex_cache[_points.get_point_index(key)] = pos
+		_cache_tesselation()

 func remove_point(key: int) -> void:

Good idea. I'll look into it tomorrow. I guess tesselation cache can also be moved to PointArray.

Good idea. I'll look into it tomorrow. I guess tesselation cache can also be moved to PointArray.

Looking at https://github.com/SirRamEsq/SmartShape2D/blob/b585fc7a378fbe68955cb1ab127bc020cbc1c86d/addons/rmsmartshape/shapes/point_array.gd#L334C1-L338C17, we could add points_changed signal and rebuilt cache (or both caches) in a handler. And at the same time keep the changed signal for mesh updates. I'd rename it, though -- changed and points_changed are too similar. Maybe changed -> update_finished or something like that.

I'm currently looking into it. You mean emitting another signal when _updating is true?
I don't like that idea because it will produce inconsistent results, as it will only work with code using begin_update() and end_update().
I prefer the approach of having SS2D_Point_Array manage the point cache itself and regenerating it lazily when requested.
This is straight forward and works seamlessly in all cases.

I'm currently looking into it. You mean emitting another signal when _updating is true? I don't like that idea because it will produce inconsistent results, as it will only work with code using begin_update() and end_update(). I prefer the approach of having SS2D_Point_Array manage the point cache itself and regenerating it lazily when requested. This is straight forward and works seamlessly in all cases.

Oh, I meant a different set of signals: one that notifies when the point array is changed, and another when update_finished. In such setup, update_finished signifies the end of updates to the point array by the plugin code (a series of contextually connected operations) and is used to rebuild the mesh, and changed would be used to invalidate any data that depends on the point array, like tessellation data and the curve. The difference between the two signals is frequency: changed would be emitted any time the point data is changed, and as such could be used for cache invalidation. At this moment, we only have the update_finished signal (I mean it semantically ofc - it is called changed right now). And it's not emitted any time a change happens, but only when a series of such changes are finalized with the end_update() or when begin_update/end_update is not used (in case of simple actions).
And I agree that moving vertex cache into PointArray is a good idea. We only need it because of how the point array data is constructed and how it misaligns with the rest of the code. But I'm not sure if tessellation should belong to that class.

Ah, I see. That is actually a good idea regardless of the endeavour of this PR, as it provides a better distinction when related code should run.
I noticed _curve also needs to be cached, as it is used for tesselation and other functions.
Now there are four options:

Cache vertices, curve and tesselation points in PointArray
Cache vertices, curve and tesselation points in Shape
Cache only vertices in PointArray and the rest in Shape
Create a new class (VertexCache, PointProvider, ...) and move all point caching functionality there.

I can see why PointArray should not be responsible for caching curve and tesselation.
On the other hand, PointArray also handles curve in/out handles, hence it is not so far-fetched to let it cache the curve and tesselation and provide a central interface for all point related data.
Also these three components kinda belong together semantically.
Regarding refactoring discussions we had in Discord about removing the whole point-array-point-key mapping and using a simple list of Point objects instead, it would make sense to cache vertices in PointArray and also provide a `get_vertices()´ function there.
Option 4) would decouple point caching from both Shape and PointArray while keeping the vertices, curve and tesselation together.
I find this idea actually quite clean.
The more I think about it, I find this option best, as caching lies semantically somewhere between Shape and PointArray.
Regarding option 3) + an update_finished signal, PointArray would handle vertex cache and Shape would handle curve/tesselation cache. Shape would listen for changed signals to invalidate the internal curve/tesselation cache and rebuild it lazily when the data is requested by get_tesselation_points or get_curve().
It also introduces another dirty flag in Shape (something like _points_dirty) that is only related to keeping the point cache up-to-date but not the complete mesh.
I don't particulary like 3) as it distributes computation of tightly related data across two classes.
Personally, I'd go for 1) or 4), but I'm open for discussion.
Regardless of which option is chosen, this change requires adapting various places where the tesselation and curve cache is accessed directly.

Should also consider the use-case when several shapes share a single PointArray resource. The whole reason why we started to rely on the changed signal during 4.x development is partly because we retired the node that was responsible for synchronization of the point data between several shapes. Now you can simply copy and paste the shapes to do that - and they reuse the resource. I think 1) would allow reusing this cached data instead of recalculating it in each shape instance that uses the same point array resource. And 1 and 4 can also be combined, with PointArray handling the requests and delegating the cache calculation to a specialized class (or classes). I don't think we need a VertexCache though - after all, it's just an array of points and is the domain of PointArray class (in code, _vertex_cache is just a plain array of all points in their proper key order).

I gave it a spin, and it all works great - I didn't find any regressions. Aside from a couple of nitpicks above, this PR looks good to me. And thanks for adding the doc comments in various places!

I wasn't completely finished, yet, I'm still working on the update_finished signal but couldn't find the time, yet.
But since we're here already, here are some notes to the changes so far:

Moved all point related caching to PointArray, including the new tesselation <-> vertex index mapping
Point cache is now recomputed lazily on access when dirty.
As a result, there is now a separation between point cache and edge cache. Point cache is computed in PointArray, edge cache in shape.gd. Point cache is recomputed lazily when dirty, edge cache is recomputed deferred when dirty.
That means, code has seamless access to all point related data, while edge data might need a shape.force_update() if the data is required immediately.
I also deprecated various functions in shape.gd that act as a wrapper to PointArray. IMO this is redundant and respective functions should be called directly on the PointArray object.
I decided against implementing 4) (for now) because I find it clearer without it. There is not that much additional code related to caching that would be worth extracting into a separate class.
An exception is SS2D_TesselationVertexMapping, because it is used directly in a unit test and I wanted to keep it that way (for now).
Maybe the caching functionality should be extracted in a separate class in the future to similarily allow better unit testing, but not sure.
Most of the doc comments are actually taken from respective wrapper functions in shape.gd. I just moved them over to PointArray.

I will try to update in the next few days and fix the mentioned change requests.

Doesn't make much sense IMO because edges usually need to update every frame to reflect the current state, except when deferred updates are enabled, but that use-case is already handled.
There are also not many cases where outside code needs to access the generated edges.
Thinking about it, we don't really have edge cache as such. What I meant with edge cache was more like edge data generation, i.e. meshes and collisions.

I have noticed some .duplicate() calls in PointArray and in get_curve().
https://github.com/SirRamEsq/SmartShape2D/blob/b585fc7a378fbe68955cb1ab127bc020cbc1c86d/addons/rmsmartshape/shapes/point_array.gd#L160-L171
https://github.com/SirRamEsq/SmartShape2D/blob/b585fc7a378fbe68955cb1ab127bc020cbc1c86d/addons/rmsmartshape/shapes/shape.gd#L206-L207
Theses are just some examples. There are duplicate()s everywhere in PointArray.
I wonder if this is actually necessary. Sometimes those functions are never even used in the project.
I can kinda see why a copy would be safer but on the other hand it seems like a needless copy and I would even expect to get the original object in some cases.
PointArray even listens vor changed signals on each point to make sure they can be safely modified directly.
So I think it's safe to remove the duplication and just return the object. What do you think?
As for get_curve(), I already removed the duplicate() in the PointArray.get_curve() but kept it in the now deprecated wrapper in shape.gd for compatibility.

Ready for review.

There are duplicate()s everywhere in PointArray. I wonder if this is actually necessary. Sometimes those functions are never even used in the project. I can kinda see why a copy would be safer but on the other hand it seems like a needless copy and I would even expect to get the original object in some cases. PointArray even listens for changed signals on each point to make sure they can be safely modified directly. So I think it's safe to remove the duplication and just return the object. What do you think? As for get_curve(), I already removed the duplicate() in the PointArray.get_curve() but kept it in the now deprecated wrapper in shape.gd for compatibility.

Yeah, I think those duplicate() calls can be removed. It's unlikely to cause issues with third-party code, and if a user tempers with those points, they probably expect the changes to apply in the shape state.

Retested, and LGTM :+1:
And I think you can ditch those dup() calls if you want to.

This is looking really good you guys.
I now remember writing all those duplicate() calls. The thought process was, "I'll do this now to make sure everything works, then I'll put some tests in place and slowly phase out the duplicates"
That last part never actually happened :)
I also never really felt the pain of performance myself, because I typically used smaller shapes.
Anyhow, all of this looks like a fantastic improvement.
Thanks so much for all the hard work 🙂
Really exciting stuff.

Checked the additions, and it LGTM :+1:


Upgraded error handling when an incomplete setting is entered

Also:

When there is an error getting a metric, the website now handles the error and shows the URL for debugging
Adding new release versioning
upgraded selenium packages

Pull Request Test Coverage Report for Build 795807054

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 89.919%

Totals

Change from base Build 794546278:
0.1%

Covered Lines:
2609

Relevant Lines:
2876

💛  - Coveralls

Pull Request Test Coverage Report for Build 795807054
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

18 of 18 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 89.919%

Totals

Change from base Build 794546278:
0.1%

Covered Lines:
2609

Relevant Lines:
2876

💛  - Coveralls


Error in documentation for user context middleware

Not sure where to report documentation issues, but this is regarding https://docs.sentry.io/platforms/php/laravel/#user-context
Looks like there's an error. At least with Laravel 5.5, configureScope function is not working like this:
Sentry\configureScope(...)

Minor detail, but it took me a while to figure it out.

Jep, good point. Looks like we forgot the include for it. Sorry about that!
A PR was created to fix that 👍 getsentry/sentry-docs#863


GitHub OAuth error: redirect_uri_mismatch

While I was trying to get the project up and running locally, I stumbled upon an error when performing the GitHub authentication part. This is the error in full:
{
    "error": "redirect_uri_mismatch",
    "error_description": "The redirect_uri MUST match the registered callback URL for this application.",
    "error_uri": "https://developer.github.com/v3/oauth/#redirect-uri-mismatch",
    "state": "4Nz5n60BXDW9hoqlC9tjzv"
}

Per the README.md's recommendations, I had http://localhost:3000/ (the same URL as the server) as the authorization callback URL, which resulted in this error.
Adding <IP_ADDRESS>	dev.jsperf.com to my /etc/hosts file and setting the callback URL to http://dev.jsperf.com managed to somewhat fix the issue: I got the GitHub auth prompt, and it redirected me to http://dev.jsperf.com/auth/github?code=XX&state=XX. Finally, by adding the port manually to that URL, jsperf saved those credentials and I can now use the application (except for not having a BrowserScope API key, but that's another issue).
My question here is: have I done something wrong (which is entirely possible since my knowledge of OAuth is severely lacking), or is there something missing in the documentation? If there is, I'll send a PR your way to correct any documentation if you could me point in the right direction.

I, too, had trouble setting up GitHub Auth locally. I thought it had something to do with hapi registering itself as maxbeatty.local instead of localhost (and thus causing URI mismatch). I think I originally removed "localhost" mentions to run inside of docker
Maybe @asilluron can share how he's setup

Starting fresh to diagnose
On Mon, Jun 29, 2015 at 2:31 PM, Max Beatty<EMAIL_ADDRESS>wrote:

I, too, had trouble setting up GitHub Auth locally. I thought it had
something to do with hapi registering itself as maxbeatty.local instead
of localhost (and thus causing URI mismatch). I think I originally removed
"localhost" mentions to run inside of docker
https://twitter.com/maxbeatty/status/564531545851981824
Maybe @asilluron https://github.com/asilluron can share how he's setup
—
Reply to this email directly or view it on GitHub
https://github.com/jsperf/jsperf.com/issues/29#issuecomment-116851732.

Using a fresh checkout, was not able to reproduce error. Here are the settings I am using:
NODE_ENV=development
SCHEME=http
DOMAIN=localhost:3000
PORT=3000
BROWSERSCOPE=replace
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=
DB_NAME=jsperf_dev
GITHUB_CLIENT_SECRET=<<redacted>>
GITHUB_CLIENT_ID=<<redacted>>
BELL_COOKIE_PASS=test
COOKIE_PASS=test

GitHub Application Settings

Cool, thanks for the quick reply. I'll try again later with a fresh repo and will update here.

Using your .env settings, I managed to track down where things went wrong. The npm setup defaults to dev.jsperf.com for the domain. Changing this to localhost:3000 fixes the error, and I can now authenticate properly using GitHub.
Maybe it's better to set this default to localhost:3000, since that seems to work out of the box without having to fiddle with /etc/hosts? Just a thought.

@asilluron thanks for outlining your setup. port in domain was key
@thomastuts just pushed up 811f7115d3e47672b8dda7f08284f4e548d369f8 to include non-80 ports in the domain so will hopefully be a little easier to work with but as I'm typing this I realize I'm going to break @asilluron's setup :facepunch: ok need to make this a little more robust


polish codes for release & add performance test doc

This is maybe the last PR for 0.0.1 milestone. Thx for reviewing it.

This is maybe the last PR for 0.0.1 milestone. Thx for reviewing it.

Version incorrect. Your release is 0.1.0. The last version number is for bug hot-fix(emergency) only in SkyWalking

should we add some e2e test cases before release ?

@kezhenxu94 Do we have some ways to do it?

should we add some e2e test cases before release ?

@kezhenxu94 Do we have some ways to do it?

The added docker-compose.yaml in #28 can be used to do E2E tests, @Humbertzhang @fgksgf do you have time to try to set it up in this repo?


Conflict between io.projectreactor.netty and io.projectreactor.ipc

I am building a small service for which I use spring webflux boot on netty together with r2dbc-postgresql. I am able to start it just alright and when I perform request I get the response back.
The problem comes up when in request processing an interaction with DB is involved via r2dbc-postgresql. I keep getting initialization errors for class ReactorNetty.java from io.projectreactor.netty after the response was sent successfully:
Caused by: java.lang.IllegalArgumentException: 'PERSISTENT_CHANNEL' is already in use
	at io.netty.util.ConstantPool.createOrThrow(ConstantPool.java:113) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
	at io.netty.util.ConstantPool.newInstance(ConstantPool.java:95) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
	at io.netty.util.AttributeKey.newInstance(AttributeKey.java:55) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
	at reactor.netty.ReactorNetty.<clinit>(ReactorNetty.java:614) ~[reactor-netty-0.8.0.RELEASE.jar:0.8.0.RELEASE]

The thing is that before ReactorNetty from io.projectreactor.netty (r2dbc-postgresql's dep) tries to be initialized, another ReactorNetty.java from project io.projectreactor.ipc (spring webflux boot's dep) already initialized itself. As both classes, while initializing, put the same String values to ConstantPool (mentioned in the stacktrace above) where one value can't be put there twice, the initialization fails for the class which came later.
Btw. "spring boot's ReactorNetty" inits itself before response is sent to the client and "r2dbc's ReactorNetty" after the response is sent.
Now as said I get the value out of DB alright and the response as well, it's just that I have a log full of errors and I guess moreover that this is not just cosmetic issue, although I don't see any side effects.
Deps
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
    compile "org.springframework.boot:spring-boot-starter-webflux:2.0.6.RELEASE"
    compile "io.r2dbc:r2dbc-postgresql:1.0.0.BUILD-SNAPSHOT"
    compile "org.springframework.data:spring-data-jdbc:1.0.0.r2dbc-SNAPSHOT"

DB connection
@Bean
open fun factory(client: DatabaseClient): R2dbcRepositoryFactory {
    val context = RelationalMappingContext()
    context.afterPropertiesSet()
    return R2dbcRepositoryFactory(client, context)
}

@Bean
open fun databaseClient(factory: ConnectionFactory): DatabaseClient {
    return DatabaseClient.builder().connectionFactory(factory).build()
}

@Bean
open fun connectionFactory(): PostgresqlConnectionFactory {
    val config = PostgresqlConnectionConfiguration.builder()
            .host("localhost")
            .port(5432)
            .database("test")
            .username("postgres")
            .password("example")
            .build()
    return PostgresqlConnectionFactory(config)
}

Repo
import org.springframework.data.jdbc.repository.query.Query
import org.springframework.data.repository.reactive.ReactiveCrudRepository
import reactor.core.publisher.Flux

interface UserRepository: ReactiveCrudRepository<Test, Int> {
    @Query("select * from test")
    fun test(): Flux<Test>
}

@daelmaak This is fixed with Reactor Netty 0.8.1.RELEASE. Can you try it ?

You are absolutely right, with 0.8.1 it works!


Add @[Extern] attribute

Fixes #2422
This PR works but I want to discuss this a bit before merging this.
Right now lib structs, unions and funs are restricted to either primitive types (Int32, Float32, etc.), pointers, enums, and structs and unions inside lib types. You can't use a "regular" crystal class or struct.
With this PR one can now mark a crystal struct (defined outside a lib declaration) as @[Extern], and then the compiler lets you use this type in the above places.
lib structs and unions automatically receive getters and setters for each field, and they get an empty constructor that sets the type to zero (memzero):
lib LibFoo
  struct Foo
    x : Int32
    y : Int32
  end
end

foo = LibFoo::Foo.new
p foo # => LibFoo::Foo(@x=0, @y=0)

In contrast, and this is what I'd like to discuss, a regular struct marked with @[Extern] follows crystal rules, and the compiler will complain if declaring an instance variable and not properly initializing it. However, one can use @x = uninitialized ... to mark that variable as "unsafe" and not needing a check from the compiler.
Alternatively, we could automatically generate getters and setters for every instance variable, but I feel this is less safe and nice. One disadvantage of not doing this is that for C struct/union getters the compiler will invoke to_unsafe to do numeric conversions, but without these getters one would have to do these conversions.
But, I think that this extern structs will probably be used with types that are created by lib functions, and you rarely need to set their instance variables, but instead you query them (or maybe you use them but don't let users query them). And in any case you can define setters and do a manual conversion there, if needed.
One can also mark a struct with @[Extern(union: true)], and now the struct will behave as a C union. For example:
@[Extern(union: true)]
struct Int64OrFloat64
  @int = uninitialized Int64
  @float = uninitialized Float64

  property int
  property float
end

x = Int64OrFloat64.new
x.int = 10_i64
p x # => Int64OrFloat64(@int=10, @float=4.9406564584124654e-323)

With this new @[Extern] attribute writing C bindings that have lots of structs and unions is greatly simplified, as one doesn't need to wrap these in a Crystal struct. There is also no need to define a to_unsafe because the type is already the type that's passed directly to C. I checked if this could be applied to, for example, the LLVM bindings and yes, and many LLVM:Value.new(LibLLVM.get_some_value) are replaced with just LibLLVM.get_some_value. But in this case the gain is very little. I think libraries such as SDL or SFML will benefit more from this because they expose structs that can be accessed directly, not only via an opaque pointer.
One missing thing mentioned in #2422 is that, in order to keep binary compatibility with the C library, one shouldn't be able to add more instance variables to such structs. We could trust the user not to do so, or simply allow instance variable declarations on the first definition of the type, disallowing adding more instance variables later. For now we can start with the first option and eventually implement the second for a more robust solution.
Thoughts?

This sounds very nice and flexible to me. But a problem would be chained assignment, which works with lib-structs if I remember correctly but is impossible to implement with normal structs.

Tried this out in a project, works well.

@BlaXpirit Nice! Care to show some code?

@asterite https://github.com/BlaXpirit/crystal-chipmunk

I've continued work on my library (using this branch), and everything runs without a slightest problem, even in complex configurations.
I hope this will be merged.

I think it's a good addition to the language. We could have Crystal structs mapping C structs, with nice methods for example. Or cast Slices to a Crystal structs (kinda unsafe but fast). It's down level, but in a good way: more control of the memory layout, and nicer interaction with external libraries.

There seems to be a problem with named arguments to initialize.
@[Extern]
struct A
  property p : Int32
  def initialize(x : Int32)
    @p = x
  end
end

A.new(x: 6)

Error in ./test.cr:9: wrong number of arguments for 'A.new' (given 0, expected 1)
Overloads are:
 - A.new(x : Int32)

A.new(x: 6)
^

@asterite, what's the status on this? Will this ever be merged?
I would really like this feature, and my project can't go on without it. And it's such a pain especially now that the latest Crystal release can't compile this branch.

@BlaXpirit this needs more thought. Right now all C types live under lib, this makes it possible to use some lib types outside lib. Maybe instead of an attribute it could be done in another way, but I have to sit down and review this with others and see if this is the best approach to this.

These are not "lib types outside lib", these are just structs that can't be extended.
I agree that the currently taken approach to lib makes this change look out of place, but there is nothing wrong with the change.
I wrote a comment in the issue.


Trying to save MySQL password without including username@LinuxBoxName.

When I create a MySQL connection and click save password locally, then test connection, the program sends my username in the form of username@localboxname.  If I don't click on save locally, the credentials are sent without append @localboxname.  But I keep having to enter my password.
How do I save the password and strip off the @localboxname?
Thanks,
Brent

seems it is mysql behaviour, not DBeaver. DBeaver sends username only in any case.

there aren't any updates for a long time.
Issue closed. If it is still actual for you - feel free to reopen it


Replace or add an alternative to xcb with x11rb

Considering that xcb has been marked by cargo-audit as problematic: https://rustsec.org/advisories/RUSTSEC-2021-0019.html
Would a PR to replace it with x11rb be accepted, or at least use it as an alternative with the help of a crate feature?

Hmm I didn't know about this. Yes, a PR that replaces xcb with x11rb would be appreciated. 😊


styled, etc from createStitches are any (pnpm, esm, monorepo)

Bug report
Describe the bug
Using ESM / "Node next" module resolution, I'm encountering issues where TS knows how to type createStitches, but fails to get the typings of any of the produced tools.
I believe this is due to using moduleResolution: 'node16' in TypeScript and/or "type": "module" in my app's package.json. Might be related to how that works with other tsconfig options.
I have a minimal repro which produces the problem locally here: https://github.com/a-type/stitches-esm-repro.
If you click through to the definition of createStitches, then follow up to the referenced StitchesConfig defintion, VS Code's Typescript can't follow the module reference.
TS can't follow the import of ./config from @stitches/react/types/index.d.ts. Since it can't reach that file, it can't provide typings for any of my components using styled, etc.
I believe this could be because with ESM rules it expects ./config.js as the module path, since file extensions are now mandatory.

  },
  "include": ["src"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

In my main app it's more complex, but this seems to reproduce the problem.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Clone https://github.com/a-type/stitches-esm-repro
pnpm install
Open src/App.tsx
Check TS typing of Button or styled. My editor says any.

Expected behavior
styled, etc are typed correctly and produce fully typed components.
Screenshots

System information

OS: Windows 11
Browser (if applies) N/A
Version of Stitches: 1.2.8
Version of Node.js: 16.13.0
Typescript: 4.8.2

Additional context
Add any other context about the problem here.

I believe this is the root cause: https://github.com/microsoft/TypeScript/issues/50482

Noticed your code is using extensions for imports, so not that. I believe the actual cause is that the emitted type declaration files don't use extensions, possibly because they were generated from a non ESM build... can the declaration file build be updated to use ESM resolution?


Jax-RS Transaction name gets overriden when calling another Jax-RS

When the implementation of a JAX-RS service calls another Method that exposes a JAX-RS service, the name of the transaction is overriden to the name of the second method, obscuring the original call.
Steps to reproduce
Consider the following class:
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;

@Path("/test")
public class TestRestService {

    @GET
    public void methodA(){
        doSomeStuff()
        methodB();
        doMoreStuff()
    }

    @POST
    public void methodB(){
        doMethodBStuff()
    }

}

when methodA is called via HTTP, the Transaction will be named "methodB" by APM. The call to methodA is obscured. This happens because calls to JAX-RS endpoint rename the transaction even if the method is not the entry point to the transaction.
Expected behavior
I would expec the APM-Transacton that gets traced when calling methodA via REST to be called "TestRestService#methodA" even if methodB is called inside the transaction.
Sugestion
in #748 a priority system for overriding transaction names was introduced, but names with the same NamePriority as the current name can still override the current name. Maybe this could be changed to only higher priority? Just a thought.

Thanks for the input!

Maybe this could be changed to only higher priority? Just a thought.

An interesting thought indeed 🙂 . We need to see if we can think of scenarios where you want the latter to determine the name.
One problem is that changing that may be a breaking change to existing API users that set a name to a span and then later overrode it, as it won't be possible to override it anymore.
Let us think about it a bit...

We decided to avoid the potential breaking change described above. Instead, we added a new internal that can opt to override the name if same priority is used, and the JAX-RS plugin uses it - see #1076

Cool, thank you for the quick reaction time! :)


Apostrophe

From what I can tell, sluggable fields that have an apostrophe are replaced by the separator value. Rather than just removing.
To me: /that-s-dave-s-cat
Would be better: /thats-daves-cat
But I don't see how I would go about setting this in the configuration. (correct me if I'm wrong) So what I'm wondering is, what's the best route to make this change? Is there something I can do with this extension still? Do I need to do something custom?
Can anyone help point me in the right direction here? I'm still working on my first symfony site.

you can customize transliteration based on your wishes.

I have similar problem and I can't understand how to deal with.  I'm new with Symfony. Please, can anyone help me how to deal with problem?

Yeah, I ended up finding this on stack overflow...
http://stackoverflow.com/questions/11353685/symfony2-sluggable-multiple-separators
I'm somewhat new too. So I was a bit lost. I'm not sure if this is quite what l3pp4rd was suggesting, but I got it working this way. I was more or less trying to figure out how to override the "postProcessText" function.
So if this was not a good way to go about it, anyone can let me know. But this worked for me.

Thanks pal! I will try it.


add in-painting sample

Issue #, if available:
Description of changes:

add in-painting sample

ClipSeg - deploy ClipSeg model alone to combine with SageMaker Jumpstart Inpainting Model so user may modify generated mask
StableDiffusion-ClipSeg - deploy Stable Diffusion Inpainting Pipeline with ClipSeg as preprocessor, so user can perform inpainting without creating mask image.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

マージします！


Allow bibtexparser options

Platform: Ubuntu 16.04
Python version:  3.6.5
Pyzotero version: 1.3.2
When trying to retrieve a bibliography with format='bibtex' containing string-defined months, bibtexparser fails with UndefinedString as described in the documentation. It needs common_strings = True being able to be passed to bibtexparser.loads().

Fixed in 1.3.3, released on PyPI.

Sorry, my comment was misleading. I created a PR.

Ah. Merged and released on PyPI as 1.3.4. Thanks!


Changeing the logo

Fixes #15
Changed the logo with a new click metrics logo.

Submit your reviews: https://forms.gle/81JfHd2nGXzXss5b8


[AutoPR datafactory/resource-manager] [DataFactory] Add a alternateKeyName property in dynamics sink

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7185

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/5751


Misleading log in function buildDeepNestedQueries

https://github.com/strongloop-community/loopback-connector-elastic-search/blob/master/lib/esConnector.js#L611
The log in line 611 refers to function buildNestedQueries instead of buildDeepNestedQueries

thanks! if you send a PR, we will merge it


safekeeper: send AppendResponse on segment flush

Problem
When processing pipelined AppendRequests, we explicitly flush the WAL every second and return an AppendResponse. However, the WAL is also implicitly flushed on segment bounds, but this does not result in an AppendResponse. Because of this, concurrent transactions may take up to 1 second to commit and writes may take up to 1 second before sending to the pageserver.
Separately, we should consider flushing the WAL on transaction commits -- see #9690.
Resolves #9688.
Summary of changes
Advance flush_lsn when a WAL segment is closed and flushed, and emit an AppendResponse. To accommodate this, track the flush_lsn in addition to the flush_record_lsn.
Note that this will result in more frequent commits during pipelined WAL ingestion, resulting in a control file flush (3 fsyncs) on every segment bound. We should possibly address #9663 first, e.g. by taking control file flushes off of the ingest hot path.
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

@arssher Just submitting this for an early look to see if you agree with the overall approach. This needs a few tweaks and tests/benchmarks.

Here are some benchmark results to illustrate the need for #9698 before merging this.
wal_acceptor_throughput/fsync=true/commit=true/size=1048576 pipelines 1 GB of AppendRequest with 1 MB logical messages, and sets commit_lsn to the previous message. commit_lsn gets clamped to flush_record_lsn by the Safekeeper (this is equivalent to the case where it lags behind the quorum, but the same holds for the quorum).
Before this change, flush_record_lsn was only advanced every second, and the compute only received an AppendResponse every second. Thus the server only advanced its commit_lsn at the end of the 1 GB ingestion, which is when the control file is flushed.
With this change, the flush_record_lsn advances every segment flush, allowing the commit_lsn to advance every segment. This means that the control file is also flushed every segment.
Without #9698, this increases the number of control file flushes from 2 to 60 (each with 3 fsyncs on the ingest path), reducing throughput by 30%:
wal_acceptor_throughput/fsync=true/commit=true/size=1048576
                        time:   [2.3644 s 2.3874 s 2.4096 s]
                        thrpt:  [424.97 MiB/s 428.91 MiB/s 433.09 MiB/s]
                 change:
                        time:   [+41.215% +43.684% +45.926%] (p = 0.00 < 0.05)
                        thrpt:  [-31.472% -30.403% -29.186%]

60 control file flushes in 0.755s

With #9698, only 5 control file flushes happen, and more importantly, these happen off of the ingest hot path. Thus throughput remains unchanged:
wal_acceptor_throughput/fsync=true/commit=true/size=1048576
                        time:   [1.6705 s 1.6885 s 1.7071 s]
                        thrpt:  [599.85 MiB/s 606.46 MiB/s 612.98 MiB/s]
                 change:
                        time:   [-0.1404% +1.6188% +3.4530%] (p = 0.11 > 0.05)
                        thrpt:  [-3.3377% -1.5930% +0.1406%]

5 control file flushes in 0.064s

So #9698 is a necessary prerequisite to this PR.

Approach LGTM.

Thanks! I think this should be good for a final review -- anything you think is missing?


以专题为粒度设置助教

Bundled: https://github.com/ryanlee2014/CUP-Online-Judge/commit/f79d4cb41f01b76a1a5cfe9251136ae8dfe8a78a


Start slack bot on multiple VM's

I am using node to start a slackbot. I deployed slackbot to multiple VM's. I see that for every message, i get response multiple times (number of VM's). Is there a way to restrict only one VM to respond to my slack message ?

We had this problem when connecting and building the bot with Slack RTM.
I ended up having to re-write everything for Obie.ai to use the Events API.
I'd highly suggest moving to the Events API and just starting off with it for any new bots. You can use a load-balancer in front of your multiple VMs to direct traffic. RTM is a major headache as you grow. The only major loss is the "Bot is typing..." indicator (but that's a Slack limitation, not Botkit).
In the words of one of the Botkit founders Ben Brown: "You will have issues scaling with RTM".


Add pool coin supply field to PoolResponse

Resolved in https://github.com/cosmosquad-labs/squad/pull/335


i3lock-blur: mark as broken on darwin

Motivation for this change
Never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-blur.x86_64-darwin
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Maybe we should also mark i3lock-color as broken on darwin
https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-color.x86_64-darwin

Maybe we should also mark i3lock-color as broken on darwin https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-color.x86_64-darwin

That wasn't on my list since it built one time: https://hydra.nixos.org/build/92408492
It's a good idea, I will make another PR


Upgrade Spring Security 6.3.0 -> 6.3.1

This PR contains the following updates:

Package
Type
Update
Change

Spring Security (source)
import
patch
6.3.0 -> 6.3.1

Release Notes

spring-projects/spring-security (Spring Security)
v6.3.1
Compare Source
:star: New Features

Clarify the behavior of Concurrent Session Management when an IdP is involved #15071
Mention all required dependencies in LDAP documentation #15245
Minor docs fix #15144

:beetle: Bug Fixes

AbstractRequestMatcherRegistry#requestMatchers should pick MvcRequestMatcher when using MockMvc #15211
Assert WebSession is not null #15179
DispatcherServletDelegatingRequestMatcher causes errors when running tests with MockMvc #15197
Documentation clarification after #12783 has been closed is needed. #15208
Fix Java example in multitenanci.adoc #15151
Fix Kotlin example in authorize-http-requests.adoc #15129
Incorrect documentation for OIDC Back-Channel Logout #15212
IpAddressMatcher.matches(String address) still accepts URLs #15172
LDIF file on official documentation breaks the startup process #15167
Link to article with remember-me-persistent-token strategy is broken #15149
OpenSaml4AssertionValidator is not respecting clock skew settings #15183
Resolving invalid CSRF token values is not consistent #15186
spring-security/docs/modules/ROOT/pages/servlet/authorization /method-security #15143
SpringOpaqueTokenIntrospector does not add scopes as granted authorities properly #15165

:hammer: Dependency Upgrades

Bump io.micrometer:micrometer-observation from 1.12.6 to 1.12.7 #15225
Bump io.projectreactor:reactor-bom from 2023.0.6 to 2023.0.7 #15229
Bump org.apache.directory.shared:shared-ldap from 0.9.15 to 0.9.19 #15161
Bump org.apache.maven:maven-resolver-provider from 3.9.6 to 3.9.7 #15168
Bump org.gretty:gretty from 4.1.3 to 4.1.4 #15133
Bump org.hibernate.orm:hibernate-core from 6.4.8.Final to 6.4.9.Final #15228
Bump org.hsqldb:hsqldb from 2.7.2 to 2.7.3 #15193
Bump org.springframework.data:spring-data-bom from 2024.0.0 to 2024.0.1 #15260
Bump org.springframework.ldap:spring-ldap-core from 3.2.3 to 3.2.4 #15251
Bump org.springframework:spring-framework-bom from 6.1.7 to 6.1.8 #15134
Bump org.springframework:spring-framework-bom from 6.1.8 to 6.1.9 #15252

:nut_and_bolt: Build Updates

Bump @antora/collector-extension from 1.0.0-alpha.3 to 1.0.0-alpha.4 in /docs #15159
Bump @springio/antora-extensions from 1.10.0 to 1.11.1 in /docs #15141
Bump com.gradle.develocity from 3.17.4 to 3.17.5 #15239
Bump gradle/gradle-build-action from 2 to 3 #15157
Bump io-spring-javaformat from 0.0.41 to 0.0.42 #15219
Bump org.jfrog.buildinfo:build-info-extractor-gradle from 4.33.15 to 4.33.16 #15176
Bump org.jfrog.buildinfo:build-info-extractor-gradle from 4.33.16 to 4.33.17 #15218
Bump org.jfrog.buildinfo:build-info-extractor-gradle from 4.33.17 to 4.33.19 #15261
Bump spring-io/spring-doc-actions from 17ed79e to 5a57bcc #15139

:heart: Contributors
Thank you to all the contributors who worked on this release:
@dependabot[bot] and @theHacker

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Spring Security 6.3.0 -> 6.3.1

See:
- https://github.com/spring-projects/spring-security/releases/tag/6.3.1
- https://github.com/spring-projects/spring-security/compare/6.3.0...6.3.1


Clean up vignettes and migrate content into paper

#121 temporarily hides 'using-xmaps' vignette which has most of the conceptual details that will go into the paper. This is task is not really specific enough to keep open


MLKit and OpenCV Question

Step 1: Describe your environment

Firebase/Play Services SDK version: MLKit

Step 2: Describe the problem:
I'm not sure how to approach implementing MLKit for Face Detection AND OpenCV for Image Processing together. I have implemented them both separately.

Using CameraSourcePreview and FaceGraphic I can draw a rectangle around a detected face and draw contours, etc.
Using OpenCV JavaCameraView I can access its cameras live preview and after implementing the CvCameraFrame listener I can get the input frames and do image processing.

Can my camera source be the OpenCV camera? Or how else should I approach performing image processing (such as Imgproc.Canny) to the detected face?
Also, I want to use MLKit for face detection because it has accuracy than MANY of the other implementations who use OpenCV alone.
Steps to reproduce:

https://github.com/firebase/quickstart-android/tree/master/mlkit
https://opencv.org/android/

Observed Results:

What happened?  This could be a description, logcat output, etc.

Attempted to get the face but always returned null.
Expected Results:

What did you expect to happen?

Relevant Code:

Can't figure it out.


consider swapping to a .json structure rather than folder structure

example
{
	"databases": {

		"my-database-1": {
			"objects": [
				{
					"type": "table",
					"name": "MyTable",
					"schema": "main",
					"creation sql": "CREATE TABLE blah...",
					"pre sql": ["DO SOMETHING BEFORE CREATION 1", "DO SOMETHING BEFORE CREATION 2"],
					"post sql": ["DO SOMETHING AFTER CREATION 2", "DO SOMETHING AFTER CREATION 2"],
					"data schedule": {
						"production": false,
						"development": "data/table_data.csv",
						"testing": "data/table_data_testing.csv"
					},
					"test sql": "TEST IF OBJECT IS CORRECT",
					"notes": "object level notes"
				},

				...
			],

			"notes": "database level notes"
		},

		"my-database-2": {
			...

		},

		...
	},

	"notes": "Sqema level notes"
}

decided on yaml structure


Error during running npm run dev in project

I started my first Nuxt project via:
$ vue init nuxt-community/starter-template nuxt-demo
then install the dependencies:
and launch the project with:
$ npm run dev
but the application can't get started with the following errors:
D:\demo\nuxt-ssr-demo\node_modules\nuxt\lib\core\module.js:14
async ready() {
^^^^^
SyntaxError: Unexpected identifier
at Object.exports.runInThisContext (vm.js:78:16)
at Module._compile (module.js:543:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object. (D:\demo\nuxt-ssr-demo\node_modules\nuxt\lib\core\inde
x.js:2:16)
at Module._compile (module.js:571:32)
I don't know why. please help me fixed this problem, thx so much!

This question is available on Nuxt.js community (#c40)

@glenlzk try to upgrade your node.js install to the latest node 8 LTS version => https://nodejs.org/en/

@NicoPennec You are very nice! Thanks a lot.


Issue316 copy changes

This my worsefix branch renamed, after reflecting I believe this is the correct way to fix it as it removes any side effects from the splice and assembleTables functions in utf8fontfile.go in addition I added a test TestIssue0316, if you back out the previous fix by changing all instances of ReadLikeCopy to just Read you can see the test fails, if you return them or apply this branch then the test passes.
I did go through and check for any other instances of append modifying the underlying arrays. There were a couple I thought might be an issue but once I sat down to inspect them I was able to confirm they were working only on new arrays.

Many thanks, @jacobalberty -- your good thoughtful work and concise test and changes are really appreciated.


Add IE support

As part of pull request #44 to resolve issue #12 I was able to extend the new non-blob URL generation to support IE downloads.

Fixed with pull request #48


Add 'Quick VM' functionality

It seems a waste having to create a ConfigurationData document if you want to quickly just create a VM!
I'm thinking that we could expose the NewLabVM function as New-LabVM and have all the standard options supported in the ConfigurationData document available. This could then create it's own hashtable with a single 'node' in it? It would pull the default settings from Get-LabVMDefaults.
Something like this:
New-LabVM -Name <String> -MediaId <String> [[-SwitchName] <String>] [-Credential <PSCredential>] [-NoSnapshot]

New-LabVM -Name <String> -MediaId <String> [[-SwitchName] <String>] -Password <SecureString> [-NoSnapshot]

We could also expose the Set-LabVMdefaults settings, i.e. [[-StartupMemory] <Int64>] etc.

That is an excellent idea

There's an initial New-LabQuickVM implementation here: https://github.com/VirtualEngine/Lab/commits/Issue29. Is it worth implementing all the LabVMDefaults values, i.e. -MinimumMemory and -ProcessorCount etc too?
Note: there is a dynamic -Id parameter that returns all the available/registered media!

Yes, I think it would make sense to have those values available as parameters.

@csandfeld I knew you'd say that (and I kinda thought that myself anyway)! I shall get busy...

:)


Inconsistency in the error shown on the date of birth on the personal details page vs connect bank account page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

 Go to personal information and select date of birth.
Now select the oldest date from the picker. (March 29, 1873)
Click on save and see that it doesn't give an error
Follow the same steps on workspace > Connect bank account > Go to step 3
Select the same date March 29, 1873
Click on some other field and notice that it gave an error
There is inconsistency within the same application in different areas on the date of birth field where entering the same old date in one place gives an error whereas in the other area , it doesn't throw an error
Additionally, if you notice, in the bank account (DOB) field , the list goes back from 1873 too whereas in the personal details section , the list starts from 1873

Expected Result:
Either selecting the date March 29, 1873 should throw an error in both (Personal information as well as on the connect bank account page) or it shouldn't throw error anywhere to maintain consistency
Actual Result:
Selecting the date March 29, 1873 throws an error on connect banks account page but the same date chosen on personal details page doesn't throw an error
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.91-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/43996225/228651952-49e2c3d5-eee7-4e05-afa2-6656fd61182e.mp4
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1680095248321819
View all open jobs on GitHub

Triggered auto assignment to @garrettmknight (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Closing - this is expected behavior as we haven't intentionally rolled the new date picker out. Context in thread.


chore(main): release 1.14.1

:robot: I have created a release beep boop
1.14.1 (2023-09-21)
Bug Fixes

deadline points possible (#107) (a0d2645)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aidanaden/canvas-sync/releases/tag/v1.14.1 :sunflower:


add fix for the copying recipe

fix for #3. needs testing, but looks like it should work.

oops, missed something, lemme try that again


Investigate extereme function duration

Potentially just a bug with the vercel dashboard but function invocation duration is displaying as 21 billion hours https://vercel.community/t/extreme-function-duration-amount-21-billion-hours/1025

bug in vercel dashboard


[UserStory] As a machine-user or normal-user of the box I expect the box not to fail because of convenience features.

Original issue name: Add a switch somehow to turn port forwarding off or enable autocorrect when running in a shared CI runner.
port-forwarding to a local machine must be considered a convenience feature since it is not necessary for the box to function as designed. We should not fail a test or attempt to start a box because of port collision without giving clear directions on how to proceed. Preferably it is self healing ( as this is needed for machine-users )
When running in a shared CI environment, boxes will fail to start because of port collision. We should add documentation on how to turn port forwarding completely off by changing the ~/.Vagrant.d/Vagrantfile or we should add an environment switch or something.
We could even enable auto_correct by default and make it extremely visible for the user. I currently find myself wanting two vagrant-hashistack based boxes running at the same time, so I would love something that did not require me to change anything. Option 1. Would suit that scenario as well.
_Originally posted by @fredrikhgrelland in https://github.com/fredrikhgrelland/vagrant-hashistack/pull/320#issuecomment-691416603

If you find yourself wanting two up at once I agree we should either add switch, or enable auto_correct by default. But yeah, we need to make it very visible if we do https://github.com/fredrikhgrelland/vagrant-hashistack/pull/320#issue-485070723

Yeah, also I imagine two or more vagrantboxes forming an actual cluster at some point.

Added this to milestone as we need this to work somehow in a shared runner env.

Duplicate #365


On main project page, don't show entire list of Designs under Reports

PATS has 40+ designs, so having every design listed under "Reports" gets a bit out of hand.

Good call, could potentially also make a better report page or view as well.

Yes, add a Reports page. It can be simple to start.


Is it normal that the release number in the "package" section are not inlined with the latest pipy one ?

everything is in the title + this screenshot:

No. I forgot to tag the releases (again). Thanks for pointing this out!

No problems !
Same for ipyvuetify I'm affraid 😄


Fix errors of bitcoin_ko_KR.ts file for 1.14.4-dev

Closes #2214
The Korean translation has the following errors and needs to be fixed.
This PR contains corrections the following errors for 1.14.4-dev:

Typos
Incorrect translation
'Bitcoin' instead of 'Dogecoin' in Korean translation
'Satoshi' instead of 'Koinu' in Korean translation
etc.

File: src/qt/locale/bitcoin_ko_KR.ts

Looking for help with proofreading the translation - any native Korean speakers care to help?

As after 6 weeks we've found no volunteers, going to merge and trust my spot checks on Google Translate :-/


Migrate from ulex to sedlex

Long story short - ulex is dying, mainstream depends on the camlp4, which is dead, fork depends on the camlp5, which seems dead too. This prevents from porting F* to more modern OCaml versions and dependencies versions.
See these links for more information:

https://discuss.ocaml.org/t/camlp5-and-ocaml-4-08/3985/4
https://github.com/ocaml/opam-repository/pull/14351

Sedlex is an active maintained project by OCaml community: https://github.com/ocaml-community/sedlex

@ad-l

@avsm also strongly encourages us to get rid of the camlp4 dependency:
https://github.com/ocaml/opam-repository/pull/14377#issuecomment-506235733

Related also https://github.com/FStarLang/kremlin/issues/138

We considered moving to sedlex when we first implemented Unicode support but at that time sedlex had significant limitations (in particular whith custom implementations of lexing buffer). I'm happy to have another look and discuss this at the next F* meeting

Note, the Kremlin PR was merged

And the official Camlp4 deprecation announcement: https://discuss.ocaml.org/t/the-end-of-camlp4/4216

OCaml 4.09 was released and it comes without camlp4 support.

Is it being worked on? I can try to submit a PR if that's not the case

@fangyi-zhou  I've asked the F* team, and it seems no one is working on this. So patches welcome!

@fangyi-zhou you can use the Kremlin commit as a reference in case there are issues with this task:https://github.com/FStarLang/kremlin/commit/4acd7cccc2dd345c0065352eba8f9ac89db189ef

It's more complicated than the kremlin commit because there is also the FStar.ULexing module that uses some APIs sedlex doesn't support.
I pushed my progress to https://github.com/fangyi-zhou/FStar/tree/sedlex

@fangyi-zhou depending on what must be enhanced in Sedlex it might be useful to ask its developers or send a pull request https://github.com/ocaml-community/sedlex/issues

Our Homebrew formula's deletion (#1938) is also a consequence of the camlp4/ulex dependency:
https://github.com/Homebrew/homebrew-core/pull/49745

Sorry I didn't manage to make a pull request. On a separate note, maybe replace ulex with ulex-camlp5 as a quick workaround?

Quick workarounds tend to stay forever. IMHO, it's better to fix it properly. Nobody will fix ulex bugs in the future, there is no guarantee it will be compatible with the next OCaml version, etc.

If you're happy to dig into why sedlex hangs on compilation, I'm happy to make the rest of the changes


Convert stored line endings in repo to LF

Followup to #4240, fixes #4238.
Files were converted with dos2unix as described in #4238.
I confirm I have read the contributing guidelines and signed the Contributor License Agreement.

LGTM. @slimbuck - are you ok for this to be merged?

Yes - unix FTW! :)


Animated webp support

This PR switches our technique for GIF handling to keeping in memory frames instead of trying to decode the entire GIF and memory mapping it. That technique was fraught with peril for devices without disk space left and had longer 'startup' costs. In addition there was a pesky race condition I never tracked down.
While I think the former solution has a place, it'll be best used in a hybrid scenario along with the solution introduced here.
Oh, this also adds animated webP support.

          2 Warnings

:warning:
This is a big PR, please consider splitting it up to ease code review.

:warning:
Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

Oops, should have updated webp in a different diff. Easiest way to review is search for Source/ those are the important files.

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log

Can't wait...

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger

          1 Warning

:warning:
This is a big PR, please consider splitting it up to ease code review.

  Generated by :no_entry_sign: Danger


Allow circular and square shields to expand horizontally

Closes #117
This PR allows canvas-drawn circle and square shields to expand in the horizontal direction dynamically as a function of ref length, up to a maximum of a 3:2 aspect ratio.  For circles I implemented this as an ellipse, though we may consider in the future changing this to a rounded rectangle to be more similar to wide-circular signs in places like Kentucky.
This also adds state highway shields for Kentucky (network=US:KY).
Rhode Island, 2,3, and 4-digit rectangular shields:

Kentucky 1,2,3, and 4-digit shields:

Oops, I was so focused on ovals that I forgot to look at rectangles.  Looks like something is slightly off with their math.  I'm seeing a missing border on one side in some cases (on a 1x screen).

On a 2x screen the border is much thinner than other shields.


Strange behaviour when redirection

While accessing a 404 route or render without image send (which should send back to home), url get bloated by some stuff :
https://bns-profile.surge.sh/feaz/?p=/&q=p=/~and~q=p=/~and~q=p=/~and~q=p=/~and~q=p=/~and~q=p=/

Problem with vue-route, or surge?

Fixed


Nginx Proxy: invalid with dehydrated but curl returns the validation file

"type": "http-01",
"status": "invalid",
"error": {
"type": "urn:acme:error:connection",
"detail": "Could not connect to {my FQDN}",
"status": 400
},
"uri": "https://acme-v01.api.letsencrypt.org/acme/challenge/{...........}/{......}",
"token": "Fkd6N02Swfg4NAl4QU4jWCLqOZTfSurHZJEYoXshmqQ",
"keyAuthorization": "Fkd6N02Swfg4NAl4QU4jWCLqOZTfSurHZJEYoXshmqQ.F7OM8Hn8ICS3OyZHzqHs4rYa6l6B0gkBTKROLANkrAg",
"validationRecord": [
{
"url": "http://{my domain}/.well-known/acme-challenge/Fkd6N02Swfg4NAl4QU4jWCLqOZTfSurHZJEYoXshmqQ",
"hostname": "{my domain}",
"port": "80",
"addressesResolved": [
"xxx.xxx.xxx.xxx"
],
"addressUsed": "xxx.xxx.xxx.xxx"
}
]
})
For debugging, I commented out the following:
#[[ "${CHALLENGETYPE}" = "http-01" ]] && rm -f "${WELLKNOWN}/${challenge_token}"
However, the curl command returns the file correctly.
$ curl -I http://{my domain}/.well-known/acme-challenge/Fkd6N02Swfg4NAl4QU4jWCLqOZTfSurHZJEYoXshmqQ
HTTP/1.1 200 OK
P..... Server
Date: Tue, 22 Nov 2016 16:27:39 GMT
Content-Type: application/octet-stream
Content-Length: 87
Last-Modified: Tue, 22 Nov 2016 16:11:26 GMT
Connection: keep-alive
ETag: "58346e2e-57"
Accept-Ranges: bytes
WELLKNOWN is configure to the challenge directory and Nginx is configured as
location /.well-known/acme-challenge {
alias /path/to/the/base/.well-known/acme-challenge;
}
What should I do to configure Nginx to get it work?
I disabled firewall, waf,...already.

Try
root /path/to/the/base;

in nginx config instead of
alias /path/to/the/base/.well-known/acme-challenge;

Thanks for your reply. However, the problem is not related to either root or alias as curl returns 200.
I have tried directives root, alias, try_files, and return without luck. I suspected that DNS name servers could be the problem. It turns out to be true. I am using a web hosting services providing cPanel with AutoSSL plugin. I have my web server running at my own IP other than the hosting company's IP. I don't know what blocks Let's Encrypt DV queries. I changed the hosting company's name servers to Cloudflare's and problem solved.


Error: Cannot find module '/usr/bin/lib/node_modules/git-issues/index.js'

I installed this normally via npm sudo npm install -g git-issues and spits this error when I try to use it in a git project directory.
Centos 7
npm 1.3.6
node 0.10.36
$ git issues

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/bin/lib/node_modules/git-issues/index.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3

$ sudo find -iname git-issues
./root/.npm/git-issues
./root/.npm/git-issues/0.7.0/package/bin/git-issues
./usr/bin/git-issues
./usr/lib/node_modules/git-issues
./usr/lib/node_modules/git-issues/bin/git-issues

It looks like this path is not correctly computed.
I'm not sure how easy is to fix it, but this could be fixed very simple with a nodejs script.
In the meantime you can hack it and hardcode the path in /usr/lib/node_modules/git-issues/bin/git-issues:
node /usr/lib/node_modules/git-issues $@ --repo "$GIT_URL"

I guess it should work.

I'm on it.


reading request.form freezes untill file upload completes

I have a system which handles large file uploads which sends both the file and metadata (user and session token) as a multipart post request. The system needs to validate that the session is valid, and has to read the session token from the post data. But upon reading this, the handler function freezes until the file is finished uploading. This is a problem as the upload can take a non-trivial amount of time, during which the session token times out. (Session timeout is short as sessions hold an exclusive lock over uploads).
I.e. doing:
request.form['session_token']
Causes the request to stall until the upload completes.
I'm not sure if this is because flask is unable to provide access to the parts of post data which have been received, or if my code is sending the file data before the metadata. Python module 'poster' is used on the client.
--- edit
Modifying the system to pass the session token in a get parameter fixes the problem, but I'd much rather pass it as post data if possible.

Use a cookie for that, headers are loaded before the request body.

There are also various issues and prs already open about form performance.


ReadFromBigQuery with query requires exception handling tests. So does File Loads

Tests need to be created to test the behavior of our code when expected exceptions come up when querying from BigQuery.

Includes writing tests for File Loads as well.
Imported from Jira BEAM-14422. Original Jira may contain additional context.
Reported by: ahmedabu.

Unable to assign user @ahmedabu98. If able, self-assign, otherwise tag @damccorm so that he can assign you. Because of GitHub's spam prevention system, your activity is required to enable assignment in this repo.

Closed with #17589

.close-issue


Add SerpApi

Similar to SearchApi, we offer 100 free credits every month to access all of our APIs.

[X] My submission is formatted according to the guidelines in the contributing guide
[X] My addition is ordered alphabetically
[X] My submission has a useful description
[X] The description does not have more than 100 characters
[X] The description does not end with punctuation
[X] Each table column is padded with one space on either side
[X] I have searched the repository for any relevant issues or pull requests
[X] Any category I am creating has the minimum requirement of 3 items
[X] All changes have been squashed into a single commit

Thank you1