[QUESTION] Docker data-only container file permissions

I've asked this questions on stackoverflows, #docker irc chat and couple of forums but still no solution. Please help!
I'm developing PHP app and I'm stuck with Docker volumes. I've tried to create a separate data-only container for my PHP app but couldn't make it work because of permission issues... I've googled and read all I could and the most close to working solution is described here
But it's a bit old and I couldn't make it work too.
I've created a repo with a simple test code:
https://github.com/oleynikd/docker-volumes-permissions/
This simple project uses docker-compose to run 2 containers:

For php fpm
For nginx

The php code is mapped to php container and lives in /src directory.
The main problem is that PHP has no rights to write to code's directory because it runs as www-data user but code's directory belongs to user with id 1000 and group staff.
After running docker-compose up and visiting /index.php you'll see the warning and ls -lah output that shows the permission issue. Here's the screenshot:
I've tried to fix this by adding RUN mkdir -p /src && chown -R www-data:www-data /src to php Dockerfile but that didn't helped.
So questions are:

Why the owner and the group of /src is 1000:staff?
How to fix this?

I'm sure the solution is simple but I can't find it.
Please help!
P.S. Feel free to contribute to repo if you know how to fix this issue.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

It's not a bug, it's just a help request...

The container doesn't have a record of the users/groups your files refer to. You'll see the same phenomenon anytime you mount volumes into the container. To get around this, you could set up users/groups inside the container with matching UID/GIDs to the files outside the container.

Afaik, this is a limitation of the VirtualBox shares used by Boot2Docker to share host directories with the Boot2Docker virtual machine. More information (and some workarounds) can be found here; https://github.com/boot2docker/boot2docker/issues/581#issuecomment-60314129
I'm going to close this issue, because it's not a bug, but feel free to comment here after I've closed this issue.

@oleynikd
Following your example, I personally solved the same problem with this simple workaround:

I copied locally the /etc/apache2/apache2.conf from a running container.
I changed the user group to staff (I left user as was).
I created a Dockerfile and added this lines:

FROM php:5-apache
COPY apache2.conf /etc/apache2/apache2.conf

RUN useradd -g staff -M -r -s /usr/bin/nologin -u 1000 denis \
   &&  chown -R www-data:staff /src

Finally, I built a new image.

Doing like this, you set apache server to run in the same group of the VirtualBox shared dir and, adding the user, you give it the write permission.
Obviously, it's not intended for live production, but it speeds up your development process giving you the ability to live preview your changes.
I really hope this could help you 😉
Bye!


Ignite-2.8.1-master-10898

Closing PR, which seems to be test-only. Feel free to reopen if needed.


fix: remove git-secrets from pre-commit

I removed https://github.com/awslabs/git-secrets from the config, since it keeps failing at pre-commit installing stage
And also added a line in the README to remind people to run pre-commit install to add precommit hook, such as prettier!
PTAL thank you 🙆♂
Changes

add
remove
modify

Definition of Done (from ticket)
QA steps (optional)
Known Issues

Thanks, Emanuele!!


[ISSUE #4029] add shenyu-client-api-doc part2 admin module

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4299 (cbcfca4) into master (2513e96) will decrease coverage by 0.20%.
The diff coverage is 8.16%.

@@             Coverage Diff              @@
##             master    #4299      +/-   ##
============================================
- Coverage     68.29%   68.09%   -0.21%
+ Complexity     7354     7352       -2
============================================
  Files          1003     1004       +1
  Lines         28373    28413      +40
  Branches       2544     2544
============================================
- Hits          19378    19347      -31
- Misses         7507     7578      +71
  Partials       1488     1488

Impacted Files
Coverage Δ

...controller/ShenyuClientHttpRegistryController.java
63.63% <0.00%> (-14.15%)
:arrow_down:

...uptor/executor/RegisterServerConsumerExecutor.java
14.70% <ø> (ø)

...ache/shenyu/admin/service/impl/ApiServiceImpl.java
37.03% <0.00%> (-5.22%)
:arrow_down:

...ister/AbstractShenyuClientRegisterServiceImpl.java
2.40% <0.00%> (-0.93%)
:arrow_down:

.../service/register/ShenyuClientRegisterService.java
0.00% <ø> (ø)

...disruptor/subscriber/ApiDocExecutorSubscriber.java
23.07% <23.07%> (ø)

...ruptor/RegisterClientServerDisruptorPublisher.java
55.55% <100.00%> (+2.61%)
:arrow_up:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
68.75% <0.00%> (-31.25%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
44.68% <0.00%> (-11.71%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
21.27% <0.00%> (-6.39%)
:arrow_down:

... and 12 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[WIP] tools for population visualization with PopVis()

PR implementing functionality #60. Still a work in progress: sorting hasn't been done for preferred stimulus yet. The accompanying notebook demonstrates the functionality.
A few notes:

Current input is list of NeuroVis objects. Should we generalize to 2-D array of spiketimes? I chose the former so we can just exploit the get_psth functionality

Do we want a separate heatmap scale for each condition, or the same for each set of data? E.g: In the notebook, the scale for the False condition goes from [0,16] while the one for the True condition goes from[0,13.5]. I chose separate for each condition to easily see the differences (in case another condition has a much larger range and thus the values get compressed)

Any feedback / suggestions appreciated!

Once again, really clean code and nice notebook @timshell !
Your questions

Object is better than 2D array since we can use NeuroVis() functionality  and further, the number of spike are different for different neurons. I like it as it is!
I like separate heat maps for each condition: easy to compare.

As I was going over, I thought of a few typical use cases which can be addressed easily:
Sort order

we could pass another parameter which is sortorder that can be either ascend or descend (default) that specifies the order in which neurons should be sorted.

Normalization
While visualizing population PSTHs, sometime people want to normalize the PSTHs. Let's implement this with a parameter called normalize. There are two typical cases.

divide each PSTH by the peak firing rate of the highest firing neuron (in the window of interest). normalize='all'.
divide each PSTH by its own peak firing rate (in the window of interest). normalize='each'.

Display
I have a few minor thoughts on how to improve headers/ display.

I would advice single hue color maps with one hue for each condition. We could set these colors in a predetermined order, similar to NeuroVis(). See for instance colorbrewer2.org for advice on color maps.
The header could state the df column header as well as value of the condition, e.g. rewardBool=True or rewardBool=False

Thank you for the feedback @pavanramkumar - this is extremely helpful for me!
Should normalization be used in the actual calculation of the PSTH's or just in the visualization? I.e., should the PSTHs that are returned but not plotted have normalized PSTHs?

I'd say normalize just for visualization.

@timshell looking really good now! Just a couple minor things and we can merge:

It would be great to replicate the visual style of plot_raster in NeuroVis()as closely as possible. So remove the bounding borders and add a red dashed line around the event timestamp. Look for matplotlib details around here

Also try to match the aspect ratio of the raster figure from one of the example notebooks. You can do this with plt.figure(figsize=(Width, Height)).

It's a visualization package and we should have as pretty demos as possible :)

@pavanramkumar Absolutely!
One quick thing - I also haven't implemented the preferred stimulus code. That'll take some time for me to understand exactly what it is so I aim to have that done during the weekend.

Sure, take your time.
Re. sorting by preferred stimulus, there are two ways to do it.
(1) estimate the preferred stimulus with NeuroPop()
(2) allow the user to specify a list of integers.
In (1), we're going to have to

make a ton of assumptions (e.g. preferred stimulus according to which feature, spike counts in what window, etc.) or have the user specify them.
transform the data frame into appropriate X and y based on these parameters
use NeuroPop()'s fit() method to fit tuning curves.
write a couple of lines of code to back out the preferred stimulus, given the model.

Instead, I'd vote for (2) where sortby can be a list of integers. We can the leave it up to the user to do their own identification of preferred stimulus. This way, we can

abandon the option stimulus.
do the necessary type checks for sortby (e.g. using isinstance()) and parse it accordingly.

Just to clarify, is this list then the sorting indices?

Yes

@pavanramkumar should be good to go. let me know if I should change/add anything

sweet - thanks for the thorough feedback!

Fantastic, looks great now. Merged! Want to take on issue #64 next? Should be a quick fix.

Would it be better to move the sort indices function to utilities so that both can use it?

Yes, good idea!

closes #60


Inconsistent names in proto message fields and clone examples

I am not up to speed on the full contents of this repo, so may be out of date, but I was reviewing the parts of the spec related to creating packet clones to multiple ports, and found some names that look inconsistent.
Here is the part of the proto file I'm looking at: https://github.com/p4lang/p4runtime/blob/master/proto/p4/v1/p4runtime.proto#L401-L436
and here is the part of the spec I'm looking at: https://github.com/p4lang/p4runtime/blob/master/docs/v1/P4Runtime-Spec.mdk#L3031-L3043
I would be happy to create a PR for making these consistent, assuming they should be.
Question: Should I assume the names in the proto file are the up to date ones, and update the names used in the spec to match?  Or vice versa?

Yes please do open a PR if you have time. Let's make the proto files the source of truth for this to avoid breaking code, unless you find something wrong in there. Thanks!

PR created: https://github.com/p4lang/p4runtime/pull/63


Fix problem with JDBC driver

Fix problem with JDBC driver and adapt the driver for using in app server connection pool (test with Wildfly 9.2)

Hi @schernolyas,
this pull request  contains a lot of changes in a lot of files, can you split the changes in many pull request, for example one specific for "ODatabaseRecordThreadLocal.instance()", so we can review it and apply it.
A so big pull request is really hard to review and we usually avoid to merge pull request of this size, because we cannot be sure about all the changes done.
Thank you for your effort anyway.

Hi @tglman
I understood you. But .... I can't split puul request because ... all changes linked each other. Process of compication of  module 'Core' can be broken.
I describe main changes:

class com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal. From 'ODatabaseRecordThreadLocal.INSTANCE' to 'ODatabaseRecordThreadLocal.instance()' (unfortunately, changed 181 code lines in many classes)
class com.orientechnologies.orient.core.Orient. (correct method 'instance()')
please, look to class com.orientechnologies.orient.core.storage.cache.local.O2QCache. method 'registerMBean()'.  I chaned processing of exception 'InstanceAlreadyExistsException'. Am I correct?


Matching Networks?

Would you be interested to include an example with Matching Networks (https://arxiv.org/abs/1606.04080)? I've ported the existing implementation (https://github.com/BoyuanJiang/matching-networks-pytorch) in order to have more comparisons, but currently without Full Context Embeddings and only on Omniglot dataset.

That would be a great addition! Feel free to open a PR with the new example

Cool, thanks! And thank you for your great library!


Validity of email for user registration

I think the checking of the validity of emails during user sign up isn't stringent enough, leading to it accepting invalid emails like test@test where test isn't a valid domain since the last portion does contain a period and at least two characters e.g. .com, and random#@123 where the prefix should only contain alphanumeric characters, or underscores, periods, and dashes. Can follow this link for more info.
If not i think a possible enhancemement would be to send an email verification to the given emails containing a verification link, for the user to be successfully registered.

Before I start implementing the backend validation, we might need to ensure both front end and backend follow the same validation logic for consistency.
So @Chen1x , how thorough/lax do you want the email validation to be? My lazy idea is to just use isEmail from import validator js library (one liner), which covers most general formats. Otherwise the most thorough one is to manually recode the entire format based on the wiki.

Okk. I think plain old regex works best too. Just coordinate our regex then.

Actually, since it's just a regex validation, ig it would be easier if one of us just implement it. I can do it if you dm.

https://stackoverflow.com/questions/201323/how-can-i-validate-an-email-address-using-a-regular-expression
I think the top solution on the above post is good
(?:[a-z0-9!#$%&'+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])")@(?:(?:a-z0-9?.)+a-z0-9?|[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])).){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-][a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)])


Missing required field details in the Kafka connector example

Description
When following the Kafka connector https://mi.docs.wso2.com/en/latest/reference/connectors/kafka-connector/kafka-connector-avro-producer-example/, it says to fill certain fields as in the below screenshot and click add to create the connection.

But only filling out those fields isn't enough.
There are other required fields. It is better to give value to those as well.

Steps to reproduce
Follow the example https://mi.docs.wso2.com/en/latest/reference/connectors/kafka-connector/kafka-connector-avro-producer-example/
Affected version(s)
MI 4.3.0

Closing this issue as these are appearing as mandatory fields due to a bug in vscode. Reported an issue in VSCode.
https://github.com/wso2/mi-vscode/issues/392


deepcopy: refactor output of T.Copy() T*

To make the deepcopy plugin interact better with externally defined
types, it has been refactored to define a more flexible interface, based
around `CopyFrom`. `CopyFrom` takes a `src` argument and copies `src`
the fields of the method receiver. On top of this, we can build
`deepcopy.Copy` which takes a pre-allocated `dst` and `src` argument.
Because we provide our own copy implementation, as a parameter of the
plugin, we can inject our own implementations in the copy function
without affecting valid compilation of generated code.

In particular, this will allow us to use externally defined timestamp
and duration types, in addition to other well known types, that were
previously unusable due to the requirement that the Copy() function be
generated on types.

To preserve existing direct usage of `T.Copy() *T`, we still generated
the method for use in code. Since this code is typically for direct
usage, and has access to the Go compiler when under use (as opposed to
the protoc generation stack), this usage is safe and encouraged.

Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

Hold - I think this will make cherry picking a pain during the freeze. Do you agree?

Hold - I think this will make cherry picking a pain during the freeze. Do you agree?

Possibly.
I may place this in a larger PR that we can merge after freeze.

Thanks, appreciated

Current coverage is 55.07% (diff: 9.81%)

Merging #1763 into master will decrease coverage by 3.14%

@@             master      #1763   diff @@
==========================================
  Files            58        101     +43
  Lines          8700      16499   +7799
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           5065       9086   +4021
- Misses         3073       6280   +3207
- Partials        562       1133    +571

Powered by Codecov. Last update afae8a8...f41466d

Updated to include deepcopy refactor and regenerated protobufs.

Thanks a lot for doing this.
To provide some context, #1761 will be able to take advantage of this to use the Any type.
Note that CI is showing a lint error.

@aaronlehmann This should enable the following:

Removal of forked timestamp/duration protobuf definitions.
We can now use the stdtime plugin from gogo protobuf, which uses native time.Time/time.Duration.
We can now move to use the Any type in a lot of cases. This will be great opportunity to introduce plugins and extensions to swarmkit. Imagine TaskSpec.Runtime.Any.
The deepcopy plugin can more easily be contributed upstream.

There may be a few more benefits that can be achieved with some further changes.
When the merge window opens up again, I'll get this into shape and start tackling the first two, at least.

@aaronlehmann @aluzzardi Are we ready to rebase and merge this?

I think @aluzzardi wants to wait until the 1.13 release to merge it, but I'd be thrilled to see this ready to go.

@stevvooe: I think we can move forward with this now. Do you have the time to complete it? If you'd like I can carry it.

@aaronlehmann Rebased. Fairly painless.
Please doublecheck that the dependency changes are actually updates. That was a little tricky, so we might have to leave those commits alone and then move forward from there.

CI appears to have hung, and I'm seeing a test failure when I run locally:
--- FAIL: TestUpdaterRollback (1.16s)
        Error Trace:    update_test.go:219
	Error:		Not equal: "image1" (expected)
			        != "image2" (actual)

        Error Trace:    update_test.go:223
	Error:		Not equal: "image1" (expected)
			        != "image2" (actual)

        Error Trace:    update_test.go:242
	Error:		Not equal: "image2" (expected)
			        != "image1" (actual)

        Error Trace:    update_test.go:246
	Error:		Not equal: "image2" (expected)
			        != "image1" (actual)

        Error Trace:    update_test.go:250
	Error:		Not equal: "image2" (expected)
			        != "image1" (actual)

Ah, the problem was fairly obvious, but it took me awhile to see it.
func (m *EndpointSpec) Copy() *EndpointSpec {
        o := &EndpointSpec{}
        o.CopyFrom(m)
        return o
}

If m == nil, this must return nil. Otherwise, we end up replacing nil pointers with pointers to empty structs when making deep copies, and this causes reflect.DeepEqual to flag copied objects as different from the source.
This appears to fix the problem:
diff --git a/protobuf/plugin/deepcopy/deepcopy.go b/protobuf/plugin/deepcopy/deepcopy.go
index 2594a76..d1014d7 100644
--- a/protobuf/plugin/deepcopy/deepcopy.go
+++ b/protobuf/plugin/deepcopy/deepcopy.go
@@ -35,6 +35,11 @@ func (d *deepCopyGen) genMsgDeepCopy(m *generator.Descriptor) {
        // Generate backwards compatible, type-safe Copy() function.
        d.P("func (m *", ccTypeName, ") Copy() *", ccTypeName, "{")
        d.In()
+       d.P("if m == nil {")
+       d.In()
+       d.P("return nil")
+       d.Out()
+       d.P("}")
        d.P("o := &", ccTypeName, "{}")
        d.P("o.CopyFrom(m)")
        d.P("return o")

We should probably also add a unit test.

Made the following changes:

Removed nil kid gloves in CopyFrom and allow that interface to panic with nil args or receiver. In either case, there isn't a "correct" behavior.
If receiver in T.Copy() is nil, return nil
Added test case to ensure T(nil).Copy() returns nil

Thanks.
In the generated code for CopyFrom I see stuff like:
	if o.Endpoint != nil {
		m.Endpoint = &EndpointSpec{}
		github_com_docker_swarmkit_api_deepcopy.Copy(m.Endpoint, o.Endpoint)
	}

Should there be an else branch that sets m.Endpoint = nil otherwise? I don't think this will make any difference with the current code, which only uses CopyFrom into an empty object. But if anything ever tries to use CopyFrom with a destination that already has fields initialized, it looks like some of those fields may be skipped if they are nil in the source object.

Should there be an else branch that sets m.Endpoint = nil otherwise?

Yes.

LGTM
Let's fix CopyFrom into dirty objects in a followup PR.

@aaronlehmann Let's go ahead and merge this and I'll send that optimization in second PR.

Oh dear - I think merging this my have introduced a problem :(. There was a raft test failure that we saw in CI for this PR and dismissed as a fluke when it didn't reoccur, but I just saw it again on master after this was merged. I think updating protobuf or grpc has caused problems with raft. Maybe we should try updating the vendored raft code (#1862)?

cc @LK4D4

@aaronlehmann Did we get to the bottom of the problem described in https://github.com/docker/swarmkit/pull/1763#issuecomment-274223685?

@aaronlehmann Did we get to the bottom of the problem described in #1763 (comment)?

Updating raft seems to have helped.


Parcels crashes if too many files open

The code doesn't seem to work with too many files open, at the moment.
Do a git pull on the latest parcels-examples code, and then run python examples/test_globcurrent.py. This will give the netcdf error message RuntimeError: Too many open files
The problem is that we currently read in all data before we start running particles; this can become an enormous amount of data very quickly (the total size of the GlobCurrent data set is > 200GB)
Ideal is to read in data 'on the fly', I guess. But this might require (yet again) a large rewrite of the code?
A simpler fix that might go a long way for now is to close files after we're done with them?

Ok, I just pushed a fix for this to the adding_globcurrent_support branch. The fix introduces a new class FileBuffer that we can later extend to do on-the-fly data reads and even grid partitioning.


Documentation

Add more documentation to Hub One (Readme, Contributing...)

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Eng-1279 load add edit delete arrays nat8

📁 Added BytesForm in the folder FormTypes.
• BytesForm > inputs:

base64Input
fileInput
hexInput
• BytesForm > utils

📁 Added folder icons
• Different SVG icons exported in index.ts
📁 TYPES
• Added :

interface BytesFormInput
type ArrayType = "thawed" | "frozen";
interface CopyToClipBoard
interface MenuListElements
interface ListItem

📁 UTILS
• Added:

function limitByteArraySize(byteArray: Uint8Array, maxByteArraySize: number): Uint8Array | undefined

📁  Added folder components

added menuList.tsx

🧪  Added all the test for functions in utils
📸  Inputs type

📸  Editable form view

🧪🧪🧪  EXAMPLE 🧪🧪🧪
📸  Added the Base64 string  SGVsbG8gT3JpZ3luRm91bmRhdGlvbg== , named as Base64Test, saved.

📸   In the Editable form view clicked on Download as File

📸   Here the file downloaded. (The Base64String was Hello OrigynFoundation)

Incredible work!!


feat: extend if h:  hypothesis scope after early return

Extend the scope of hypothesis if h: ... inside of do notation after a return, continue and break.  This PR makes it easier to work with "early return" code.
The tests demonstrate the usefulness but here's a MWE:
def testSingleArm (val : Nat) : Nat := Id.run do
  if h: val != 0 then
    return 0
  -- h not in scope here
  return 1

def safeDiv (a b : Nat) (_ : b ≠ 0): Nat := a / b

def earlyReturn (a b : Nat) : Option Nat := Id.run do
  if zh : b = 0 then
    return none

  return safeDiv a b zh

def earlyBreak : Nat := Id.run do
  let mut sum := 0
  for val in [2, 0, 1] do
    if zh : val = 0 then
      break

    sum := sum + safeDiv 10 val zh

  return sum

def earlyContinue : Nat := Id.run do
  let mut sum := 0
  for val in [1, 0, 2] do
    if zh : val = 0 then
      continue

    sum := sum + safeDiv 10 val zh

  return sum

Here's some discussion on Zulip and additional motivation in this RFC #5598

This module is currently frozen pending a rewrite, so I'll close this PR. Please open an RFC prior to a PR to get feedback on whether a contribution is desired.

Hi @Kha and @nomeata,
Thanks for your replies.  I think someone mentioned that this part of the code is frozen after I posted the PR.  I wasn't really expecting for the code to get merged but for the purpose of a RFC, I started a discussion on Zulip (linked above) and used this PR as a "proof of concept" for the idea (including the tests to demonstrate it)
If this code is getting rewritten, please LMK if I can help at some point!

Is that worth it, when you can just be explicit and use else.

Ideally yes but as I pointed out in the motivation & Zulip discussion, this doesn't seem to be the case, unfortunately, even the source of Lean itself.  (It's also sort of related to my RFC about unless h: ...: #5598 )

I wasn't really expecting for the code to get merged but for the purpose of a RFC, I started a discussion on Zulip (linked above) and used this PR as a "proof of concept" for the idea (including the tests to demonstrate its benefits)

You can mark PRs as drafts to avoid any confusion on this point :)


Bug: OSCR pill not aligned with username in contributor grid views

The OSCR pill not aligned with username in contributor grid views. When this was implemented originally it lined up correctly.

"Should be an easy styling fix"

.take

@nickytonline Currently, the OSCR pill is excluded, should I let it be like that?
and current changes will not affect other places where the OSCR pill has been used.
Is it fine?

@nickytonline Currently, the OSCR pill is excluded, should I let it be like that?
and current changes will not affect other places where the OSCR pill has been used.
Is it fine?

I'm not sure what you mean by it's excluded as I see it in the image and in the original issue.

I'm not sure what you mean by it's excluded as I see it in the image and in the original issue.
In the latest code OSCR is excluded please refer #3901

Ahh, I see. Don't change where it's currently excluded. The fix is just aligning the OSCR pill component.


Bugfix for #19

reducer shouldn't be stopped at this point, last batch isn't processed yet.

not needed any more.


luci-app-commands: fix incorrect url generation.

Fix #824

ACK

Though the url should really be in its own hierarchy/namespace.

Fixed by e4f77ace8b4fe9fd4c5d73e604eb1b8c6b480ed8


Error 500 - Property of one entity (Users::$idclass) does not exist

A small mistake who make a fatal error (Code : 500 ).
Will be fixed when all entities will be ready to work together.

Fixed by commit 9b5054f7049fbf4fba98de59ec4c8c495805e5fa .


disable a serie by default

it's possible to disable a serie by default, as per having "delelect" it on legend?
legend should be disabled as well, making it possible to re-enable it if needed. i can't find an option for that

Yes, have a look at legend.selected option for disabling/enabling a single series.
E.g. take example https://ecomfe.github.io/echarts-examples/public/editor.html?c=bar-label-rotation
and fill in e.g.
    legend: {
        data: ['Forest', 'Steppe', 'Desert', 'Wetland'],
        selected:{'Forest':false, 'Steppe':true,'Desert':false},
    },

Yes, this would be possible as well. To demonstrate, I take the example mentioned above.
Add a variable outside of option:
var showLegend=true;

Then you simply can add a custom button to the toolbox:
    toolbox: {
        show: true,
        orient: 'vertical',
        left: 'right',
        top: 'center',
        feature: {
            mark: {show: true},
            dataView: {show: true, readOnly: false},
            magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
            restore: {show: true},
            saveAsImage: {show: true},
            myTool1: {
                show: true,
                title: 'show/hide legend',
                icon: 'path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891',
                onclick: function (){
                    showLegend = (showLegend)?false:true;
                    myChart.setOption(
                        { legend: { show:showLegend }}
                    )
                }
            },
        }
    },

Trigger legend related actions like https://ecomfe.github.io/echarts-doc/public/en/api.html#action.legend.legendToggleSelect

这样估计不能达到预期效果，因为设置了legend.selected并不会影响grid，可能作者需要grid也跟着隐藏和显示

@iamweilee  scusa ma non parlo cinese, puoi tradurmelo in italiano?

anyway, the first method work for me, and i see it's also on the doc, so shame on me :)
tnx for pointing that out.
property should be in alphabetic order on docs, make it a bit more easy to read, imho.


Feature/graceful shutdown

Codecov Report

Merging #56 (39f2dcd) into develop (fd41544) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #56   +/-   ##
========================================
  Coverage    91.08%   91.08%
========================================
  Files           20       20
  Lines          370      370
========================================
  Hits           337      337
  Misses          33       33

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fd41544...bd9264c. Read the comment docs.


Hide Cerebro when it loses focus

[ ] I am on the latest Cerebro.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Ubuntu 17.04

Cerebro.app version: 0.3.0

Relevant information from devtools: N/A

Currently, after activating Cerebro, if you change the focus to some other app, say Google Chrome, the search box remains open, and visible.
I am not sure if this is an issue on my machine. But if it isn't, I think this can be a great feature to hide Cerebro as soon as it loses focus. What do you think?

the same problem with Cerebro 0.3.1 and MacOS High Sierra

Can confirm it is still an issue in Cerebro 0.3.1 and MacOS High Sierra 10.13.1. Attempted to enable and disable Developer mode. Issue persists.

same problem with 0.3.0 on windows 10


Add a configuration option to force progress output

Setting term.progress to "always" will cause progress updates to be
output, even if the output device is not a TTY.  The default is "auto",
which is the current behavior.
Re-open of #6395

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Eh2406 (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@alexcrichton did I understand correctly that you wanted to see a "progress" option in the [term] section of config?

cc https://github.com/rust-lang/cargo/pull/8165#issuecomment-623233740 how are the 2 PRs diffent / similar?

Different in how to control it; I'm using a config option/env var, rather than a command line switch.  I'm not opinionated on that point, but in my previous MR others seemed to prefer config option.
Other MR seems to be doing more, but I'm not exactly sure what.
My intention is to allow bitbake to be able to parse progress output so it can show the user its own progress bar.  bitbake already has support for matching a regex, but bitbake redirects all command output to a file.  Today cargo detects that it's not writing to a tty and disabled progress output.

I believe the commentary on https://github.com/rust-lang/cargo/pull/8165 is not related to how this is enabled but how it doesn't really make sense to parse the output but rather it  would likely be much more beneficial to parse json messages instead.

That is true, however JSON doesn't help me.  bitbake wants a regular expression to match current task and total number of tasks, which is what most build systems already display for human readers, including cargo.  JSON may be useful for some situations, but it wouldn't help me.  I just need exactly what cargo already generates for progress.

I personally would not parse the progress bar, that seems like asking for trouble.
However, I don't care enough to specifically reject adding a configuration value (it may be useful for other purposes).
If we add a configuration, I would prefer something like what I prototyped (as discussed here, there's an old patch here).  That is, the config can be:
[term]
progress = 'auto' # or 'never' or 'always'

# Or, if you want to specify a width:
[term]
progress = { when = 'always', width = 100 }

I would also encourage you to coordinate with @mchernyavsky since you both have posted a PR around the same time.  I'm not sure if they have made any more progress.

:umbrella: The latest upstream changes (presumably #8427) made this pull request unmergeable. Please resolve the merge conflicts.

Closing, as this has been essentially implemented in #8165.  Discussion of adding more JSON messages can happen in #8283.

Closing, as this has been essentially implemented in #8165.  Discussion of adding more JSON messages can happen in #8283.


DataGrid crash on clicking on the header using aot

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Use a DataGrid
Click on a column header
Application crashes
See stack trace

Expected behavior
The DataGrid does not crash.
Environment
.net 8 SDK

deployment: Self-Contained

OS: Windows

Avalonia-Version: 11.0.7

Additional context
Here is the stack trace:
System.NullReferenceException: Object reference not set to an instance of an object.
at Avalonia.Controls.DataGridColumn.get_DisplayIndex()
at Avalonia.Controls.DataGridColumnCollection.EnsureVisibleEdgedColumnsWidth()
at Avalonia.Controls.Primitives.DataGridColumnHeadersPresenter.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at Avalonia.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at Avalonia.Controls.Grid.MeasureOverride(Size constraint)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Border.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Controls.DataGrid.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Grid.MeasureOverride(Size constraint)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.DockPanel.MeasureOverride(Size constraint)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutManager.Measure(Layoutable control)
at Avalonia.Layout.LayoutManager.ExecuteMeasurePass()
at Avalonia.Layout.LayoutManager.InnerLayoutPass()
at Avalonia.Layout.LayoutManager.ExecuteLayoutPass()
at Avalonia.Media.MediaContext.FireInvokeOnRenderCallbacks()
at Avalonia.Media.MediaContext.RenderCore()
at Avalonia.Media.MediaContext.Render()
at Avalonia.Threading.DispatcherOperation.InvokeCore()
at Avalonia.Threading.DispatcherOperation.Execute()
at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
at Avalonia.Threading.Dispatcher.Signaled()
at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken cancellationToken)
at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, ShutdownMode shutdownMode)
at PaketUI.Program.Main(String[] args) in

See this

Thank you for that tip, something new learned how to control sorting in template columns. But it is not the problem. It only occurs within the aot-deployment. When debugging in the dev ui there is no problem.

@TrinterSoftware if you want to look into that as you have the stack trace, your contribution would be welcome

I'm trying for hours to get the project compiled. There are some missing XamlX-dependencies.
I found the project and tried to add it but some build tasks randomly popping up the missing XamlX libs.
How do you handle the XamlX dependencies?

Make sure to read building instructions. Most likely git submodule init was not successful. Needs to be recursive.

Now I've found the building instructions. I'll try again. Thank you.

Duplicate of #14059?

Let's say in the same area :-).
I also got sometimes a crash without clicking anywhere onto the grid. I'll also investigate further.


Communication Channel

I wish to start a communication channel for this project. As a student I'm looking to contribute but it's hard to know where to start. I think having a communication channel would really help encourage new contributors! If this is something the project managers think would benefit Puppeteer, comment on this issue and I can set up a Discord or Slack and update the ReadMe appropriately. Thank you!

Thanks for the suggestion but for now we have no capacity to manage an official discussion channel.


More familiar assert

Although assert is a specific expression (Pexp_assert), we can make it more familiar for newcomers.
We could print it as a classic function application to reduce cognitive overhead.
I.e. you just apply assert as a function. I don't see any advantages too printing it as a special language construct.
/* Before */
assert (Node.namedChildCount(root) == 1);
assert false;

/* After */
assert(Node.namedChildCount(root) == 1);
assert(false);

@andreypopp esy ci fails here, is there anything I can do here?


Do not log full stack trace for a simple 404 not found #1844

Signed-off-by: Paul Bastide<EMAIL_ADDRESS>

to me, logging a stack trace for a 404 isn't an issue if its at the FINE level (not INFO).  we reopened the issue for further clarification


USPS: commercial_base: true fails on international rate requests

If I set the option commercial_base: true on find_rates or when I create the Carrier with the option commercial_base: true the API gives an error when sending the IntlRateV2Request to the USPS.  I see this when I set the logger on the carrier object.  If I don't set commercial_base: true the api works fine.
USPS is rejecting the request with the error
<?xml version="1.0" encoding="UTF-8"?>
<Error><Number>-2147221202</Number><Source>Common:XmlParse</Source>
<Description>
The element 'Package' has invalid child element 'OriginZip'. List of possible elements expected: 'CommercialPlusFlag, ExtraServices, AcceptanceDateTime, DestinationPostalCode, RatePriceType, RatePaymentType, Content'.
</Description><HelpFile/><HelpContext/></Error>

I put some debug in the world_rates() function to see the request (Love the Nokogiri switch!)  and it looks like this
  def world_rates(origin, destination, packages, options = {})
    request = build_world_rate_request(origin, packages, destination, options)
    puts request.to_s
    # never use test mode; rate requests just won't work on test servers
    parse_rate_response(origin, destination, packages, commit(:world_rates, request, false), options)
  end

and I see this (I did the "XXXXXXXX" on userid)
<?xml version="1.0"?>
<IntlRateV2Request USERID="XXXXXXXXXXXX">
  <Revision>2</Revision>
  <Package ID="0">
    <Pounds>0</Pounds>
    <Ounces>8</Ounces>
    <MailType>Package</MailType>
    <GXG>
      <POBoxFlag>N</POBoxFlag>
      <GiftFlag>N</GiftFlag>
    </GXG>
    <ValueOfContents>0.0</ValueOfContents>
    <Country>Canada</Country>
    <Container>RECTANGULAR</Container>
    <Size>LARGE</Size>
    <Width>11.81</Width>
    <Length>14.76</Length>
    <Height>1.05</Height>
    <Girth>25.72</Girth>
    <CommercialFlag>Y</CommercialFlag>
    <OriginZip>94063</OriginZip>
    <AcceptanceDateTime>2015-07-08T00:12:07Z</AcceptanceDateTime>
    <DestinationPostalCode>V0E 1B4</DestinationPostalCode>
  </Package>
</IntlRateV2Request>

So the CommercialFlag is in there just before it is bitching about OriginZip.  So for fun I monkeypatched the build_world_rate_request() function to just put that at the end of the  and I get a different text but same error.
<?xml version="1.0" encoding="UTF-8"?>
<Error><Number>-2147221202</Number><Source>Common:XmlParse</Source>
<Description>
The element 'Package' has invalid child element 'CommercialFlag'. List of possible elements expected: 'RatePriceType, RatePaymentType, Content'.
</Description><HelpFile/><HelpContext/></Error>

When it sends this request (same as before just moved the CommercialFlag to the end)
<?xml version="1.0"?>
<IntlRateV2Request USERID="XXXXXXXXX">
  <Revision>2</Revision>
  <Package ID="0">
    <Pounds>0</Pounds>
    <Ounces>8</Ounces>
    <MailType>Package</MailType>
    <GXG>
      <POBoxFlag>N</POBoxFlag>
      <GiftFlag>N</GiftFlag>
    </GXG>
    <ValueOfContents>0.0</ValueOfContents>
    <Country>Canada</Country>
    <Container>RECTANGULAR</Container>
    <Size>LARGE</Size>
    <Width>11.81</Width>
    <Length>14.76</Length>
    <Height>1.05</Height>
    <Girth>25.72</Girth>
    <OriginZip>94063</OriginZip>
    <AcceptanceDateTime>2015-07-08T00:02:59Z</AcceptanceDateTime>
    <DestinationPostalCode>V0E 1B4</DestinationPostalCode>
    <CommercialFlag>Y</CommercialFlag>
  </Package>
</IntlRateV2Request>

I get this error for all international destinations, not just Canada.  I still have production code using 0.12.5 with commercial_base: true on international without problems except for the ServiceCode="2" issue to Canada gives a price of $0.00. (which is why I upgraded to 1.4.1 to start with) LOL
I don't want to deploy this code because it will end up charging all our international customers about 10% more for shipping.  Smells like a USPS api problem but I don't even know how to deal with that.

As a workaround for this, I just added a modifier on the various shipping options to apply a fixed discount on a per option basis..  It seems 10% off on First-Class package international, 6.5% off on Priority International and 13% on Priority International Express matches the commercial prices.  I tried this on destinations to Europe, Canada, and Australia and got the same results by applying these discounts that I did using the 0.12.5 gem with the commercial flag set.

Just figured it out. The OriginZip field needs to appear right before the CommercialFlag, not after. The USPS API cares about the order of XML elements, and making that position change fixes it. I'll put together a pull request.


Cannot edit content after defined value to this.htmlForEditor

Cannot edit content after defined value to this.htmlForEditor.
<vue-editor :editor-content="htmlForEditor"
                      @save-content="handleSavingContent"
                      button-text="Save">
          </vue-editor>

selectTemplate: function () {
        Vue.http.get('http://localhost:3001/email?template=' + this.template, {
          headers: this.auth
        })
          .then((res) => {
            this.htmlForEditor = res.body.message;
          })
      }

help me please Thank you.

Sorry about the issues. I have updated Vue2Editor to 2.0  using v-model because of these same issues and it should resolve these problems. I'm closing this but let me know/reopen it if you have any other issues or questions.


Make start script work on busybox

The current version of the activemq start script uses options to ps which are unavailable
in busybox.
Suggested change refactors the start script to remove duplicated code to find a java process
given a pidfile and makes it work on busybox.
I have limited possibilities of verifying the change on different platforms but it is confirmed to
work on at least Mac OS X in addition to busybox and should work on platforms where
previous "ps -p" command worked.

Can one of the admins verify this patch?


Fix Android Compilation errors

Fixing the issues on #714 .
Sorry about the amount of commits, I fixed using github editing. You can rebase and squash them if needed.

@luanpotter Will u have a review and merge this?

@luanpotter Will u have a review and merge this?

@luanpotter can you have a look at this? This is quite a blocker issue on Android

@luanpotter can you have a look at this? This is quite a blocker issue on Android

This is not actually an issue, you are just using an outdated kotlin version that does not support trailing commas, etc.
I will merge this for now to unblock you but this is not the correct solution, this is back-porting the code as instead the users should upgrade kotlin. The example app is working fine on my config.

This is not actually an issue, you are just using an outdated kotlin version that does not support trailing commas, etc.
I will merge this for now to unblock you but this is not the correct solution, this is back-porting the code as instead the users should upgrade kotlin. The example app is working fine on my config.


Use servers in conform_schema matcher

Hello, I'm using a scheme with endpoints like /materials/:id. But my full route is /admin/v1/materials/:id. When testing, I use /admin/v1/materials/:id, I receive a successfully completed request, but it also shows that this endpoint is not in the schema. Please tell me is it possible to somehow check the presence of servers during the test?

Hey, @ShonRepo thanks for the issue!
There is nothing built in atm 😅, but I'll try to address the issue this week.

thanks!

Seconding this proposal. I have a similar setup.
Excited to see this gem grow! Document first feels like this could be much simpler than alternatives but lots of room for a smooth experience.

Hey, I just released v0.2.2 with a new path_prefix option to help resolve this issue. I decided it was much easier to just set this prefix manually rather than guessing which server is in use.
# spec/rails_helper.rb

RSpec.configure do |config|
  # ...
  path_to_openapi = Rails.root.join("docs", "openapi.yml")
  # pass path_prefix option if your API is mounted under a prefix:
  config.include Skooma::RSpec[path_to_openapi, path_prefix: "/internal/api"], type: :request
end

Let me know if that works for you.

Thanks!


[DSIP-44] Set a delay time to TaskExecuteRunnable if it dispatched failed

Purpose of the pull request
Fix GlobalTaskDispatchWaitingQueueLooper might be busy when worker is unavaliable
close https://github.com/apache/dolphinscheduler/issues/16065
Brief change
Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Codecov Report
Attention: Patch coverage is 55.40541% with 33 lines in your changes are missing coverage. Please review.

Project coverage is 40.66%.

Files
Patch %
Lines

...heduler/server/master/runner/queue/DelayEntry.java
54.54%
8 Missing and 2 partials :warning:

...r/runner/GlobalTaskDispatchWaitingQueueLooper.java
47.05%
7 Missing and 2 partials :warning:

.../server/master/runner/BaseTaskExecuteRunnable.java
60.00%
3 Missing and 3 partials :warning:

...rator/BaseTaskExecuteRunnableDispatchOperator.java
0.00%
6 Missing :warning:

...server/master/runner/queue/PriorityDelayQueue.java
85.71%
1 Missing :warning:

...cheduler/plugin/task/api/TaskExecutionContext.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##                dev   #16069   +/-   ##
=========================================
  Coverage     40.66%   40.66%
- Complexity     5225     5233    +8
=========================================
  Files          1380     1381    +1
  Lines         46009    45988   -21
  Branches       4919     4897   -22
=========================================
- Hits          18709    18701    -8
+ Misses        25376    25360   -16
- Partials       1924     1927    +3

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

No new change, just rebase commit.


osmnx.utils_geo.bbox_from_point(point, dist=1000, project_utm=False, return_crs=False) too slow for "big" datasets

Hi! 1st of all I have to say this package is amazing and super complete, really useful :)
"Issue"?
So I am using it to find Pois in 1km radius from a 55k rows dataset I am working with.
The point is that I wanted to obtain the bounding box from lat/long of all my points (55k). And it took 1h27min with the
bbox_from_point(dist=1000, project_utm=False, return_crs=False) function.
This was my implementation:
trash_df["bbox"] = trash_df.swifter.apply(lambda column: ox.utils_geo.bbox_from_point((column.latitude, column.longitude), dist=1000), axis=1)
Describe the solution you'd like to propose
So I made this fn:
def getBbox(lat, lon, radius=1):
    import math

    R = 6371

    w = lon - math.degrees(radius/R/math.cos(math.radians(lat)))
    e = lon + math.degrees(radius/R/math.cos(math.radians(lat)))
    s = lat - math.degrees(radius/R)
    n = lat + math.degrees(radius/R)

    return (n, s, e, w)

And it takes 2seconds and the resulst are equal until 3rd-4th decimal

Thanks @diego-florez. The current implementation of utils_geo.bbox_from_point is only really designed for one-off use and, as you noted, isn't very efficient because it: 1) projects the passed-in point to the local UTM projection, 2) buffers it, 3) projects back to lat-lng, and 4) gets the bounds of the buffer. A streamlined solution like you propose might be useful.
A few questions/comments first:

If R=6371, it looks like you're working in units of kilometers right? Why not meters?
If R represents the radius of the earth, what does the variable radius mean? Is that the distance for the bounding box? If so, a more obvious variable name would be good.
The 3rd decimal place in decimal degrees would be something like ~100 meters. If creating a bbox 1000 meters in each direction from the center point, this is a pretty significant discrepancy in the results.
I'm not sure how you derived the formulae for the bounding box, but it doesn't look quite right to me, and I think may account for the previous point. I might instead implement something like this:

def get_bbox(point, dist=500):

    earth_radius = 6371000 #meters
    lat, lng = point

    delta_lat = (dist / earth_radius) * (180 / math.pi)
    delta_lng = (dist / earth_radius) * (180 / math.pi) / math.cos(lat * math.pi / 180)

    north  = lat  + delta_lat
    south  = lat  - delta_lat
    east = lng + delta_lng
    west = lng - delta_lng
    return north, south, east, west

I suspect this will yield nearly identical results to the current implementation of utils_geo.bbox_from_point, but be much faster.

I just did some quick tests and I believe our two solutions are actually mathematically equivalent. They seem to yield results within approximately a 1 meter of the current utils_geo.bbox_from_point implementation.

See proposed enhancement in #541.


Deferred webp encoding for faster frame add

Storing image data is much faster than encoding to webp. This PR stores the image data, and waits to encode webp in the compile method.
Here are some test videos from #34
Immediate encoding: https://youtu.be/QK9AOAvGMsw
Delayed encoding: https://youtu.be/99Kob5Xv0Yk

Don't merge this PR yet. I am going to try modifying it so it doesn't totally block the main thread during compilation.

This works great, but note that there is a breaking change included. The signature of WhammyVideo.compile has changed to compile(outputAsArray, callback) because it's now an async method.


nginx deployment fails if mount source is wiped

Observed this failure a few times and here's how to reproduce it.
sudo rm -rf /tmp/nginx
ant clean build deploy
ant teardown
sudo rm -rf /tmp/nginx # note that if vm reboots or on a vagrant reload, this directory is gone
ant deploy # would normally work without a rebuild modulo the nginx config

Now /tmp/nginx is owned by root instead of the user (e.g., vagrant); nginx deployment appears to work and the failure is detected much later because the API host will not respond. The nginx container during deployment comes up and responds to heartbeat before it detects a bad configuration (and dies).
The nginx deployment needs to assert the configuration directory exists and fail if it does not. This will prevent mounting a non-existent directory and making it root-owned. Should also consider using an alternate directory instead of /tmp.
Lastly, the nginx build needs to fail if it cannot copy the nginx conf to the target directory (which will now happen since that directory is owned by root and the user has to write permission).

I'm inclined to replace the mount based approach with a docker cp instead. The current approach is flaky.

Note that if we move to docker cp, not just the build but also the B/G swap code must change.

I think this issue should be high priority to fix. Because ant build and ant deploy all failed because of "Permission denied" on the current code base.

If you sudo rm the directory, you can restore desired behavior.

@rabbah Thanks. I removed directory tmp/nginx and tmp/consul, and then I can build and deploy successfully. I guess it might because these two directories were created with the old version of OpenWhisk.

@rabbah close? this outdated i.e. ant days

i dont think the underlying issue is resolved however - should be easy to replay with redo edge i think.


Authentication not working

Hi,
There's something really weird going on. I don't know if this is temporal LinkedIn issue or something with this client.
Anyway I can't get AccessToken.
Application redirects nicely to LinkedIn authorization url and redirects back after approval, but then I get this message: Exception: Could not get access token.
I also tried with pure example code, but got the same results.
Anything to do with Poodle" SSL vulnerability? Even though I didn't find any traces of SSL being used.
Any thoughts?

Closing this due inactivity and because I fail to reproduce the issue.
I have however improved the docs and the error messages.


host/logmux: Fix nil pointer dereference

m.sc can be nil if discoverd failed to boot.
Tested manually by causing discoverd to not boot correctly, killing flynn-host and seeing the panic avoided.
Fixes #1386.

LGTM


enable starting on fixed port

Hi,
I really liked your crate and started using it to implement mine which aims at turning original Wiremock stubs into mocks.
I have in mind proposing this as a cli or even a Helm chart. So far so good ; the only thing I miss is being able to enforce the server's port at startup.
Something like this would be awesome:
MockServer::start(8080).await

Thanks again for your work !

Wow, super cool!
I'd be happy to mention the project in the README of wiremock itself once you have it in a working state :grin:
I would not change start to take a port, but we can definitely add a new method (e.g. start_on) that takes in a std::net::TcpListener as input.

Hi again,
I kinda struggle implementing this since servers are now behind a pool. This makes sense since anytime the pool creates a new server it can bind itself to the next available free port. This does not work anymore for a fixed port.
This leaves 2 options for implementing this I'd like to have your opinion on:

turn BareMockServer public & implement start_on(TcpListener) there.
create a MockServerConfig struct holding for now just an address (maybe later other fields). Then have a pool per MockServerConfig ; something like HashMap<MockServerConfig, Pool<BareMockServer, Infaillible>>. Users would then invoke MockServer::start_with(config) and get/wait for a server from the pool with their desired config to become available

Hope this is clear enough, which one do you prefer ?

I think there is a third way - let me give it a shot :ok_hand:

Released in 0.4.3 :grin:


ci: add sccache to speed up ci build

e.g., the unit job takes 10min in total, and build takes 5min. So I think we can introduce cache to speed it up.

comparison:
before: https://github.com/apache/iceberg-rust/actions/runs/12394303990

after: https://github.com/apache/iceberg-rust/actions/runs/12395899529?pr=824

Seems not as good as expected, but generally reduced >1 min. UT reduced >2 min

Seems caused by https://github.com/Mozilla-Actions/sccache-action/issues/50

Windows build took even longer after the change 🤔

The cache hit rate was very low, and there's plenty of Cache write errors (I guess it's rate limit https://github.com/Mozilla-Actions/sccache-action/issues/50).
After running it for more times to warm up the cache, it should perform better.

I found an alternative to sccache: swatinem/rust-cache@v2 (also approved by ASF)
They work differently:

sccache writes/reads cache for each individual build artifact.
rust-cache has a large cache for all dependencies (keyed by Cargo.toml and Cargo.lock)

It's possible that rust-cache works better with GHA cache. But we will need to check in Cargo.lock (currently ignored) to make it work better. (We can consider doing it, and it has other benefits like a reproduciable build for CI and all developers.)

To be more precise about the performance gain: For unit test: previous compile time is 5m 06s, now 2m 35s
cache stats:

I'm not a big fan of checking in Cargo.lock as it's an antipattern for library

Just FYI that it's not considered an antipattern any more https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html
And e.g., opendal has it: https://github.com/apache/opendal/blob/main/core/Cargo.lock
I'm OK with both though.

Since this PR only affects CI and seems to be an overall improvement. I don't see any downside of including this

The downside is additional complexity and maintenance. The Windows job takes the most time, and after the change it takes even more, so the maximum runtime gets worse, just the average runtime improves. I'm leaning toward what @liurenjie1024 is saying, and avoiding caching. Curious to learn what @Xuanwo thinks

replaced by https://github.com/apache/iceberg-rust/pull/844


Readiness probe failed With 1.2.1 chart

Describe the bug
After installing chart using HELM for creating AGIC we are getting pod in 0/1.
As we do a kubectl describe pods ${name-of-pod} we are getting:
vents:
  Type     Reason     Age                From                                        Message
  ----     ------     ----               ----                                        -------
  Normal   Scheduled  <unknown>          default-scheduler                           Successfully assigned default/ingress-azure-1604585811-7944f77648-5wnq7 to aks-agentpool-17156525-vmss000007
  Normal   Pulling    88s                kubelet, aks-agentpool-17156525-vmss000007  Pulling image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.2.1"
  Normal   Pulled     82s                kubelet, aks-agentpool-17156525-vmss000007  Successfully pulled image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.2.1"
  Normal   Created    78s                kubelet, aks-agentpool-17156525-vmss000007  Created container ingress-azure
  Normal   Started    77s                kubelet, aks-agentpool-17156525-vmss000007  Started container ingress-azure
  Warning  Unhealthy  10s (x7 over 70s)  kubelet, aks-agentpool-17156525-vmss000007  Readiness probe failed: Get http://<IP_ADDRESS>:8123/health/ready: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

If we search in logs, we are getting:
ERROR: logging before flag.Parse: I1105 14:17:03.182268       1 utils.go:115] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
ERROR: logging before flag.Parse: I1105 14:17:03.182967       1 main.go:78] Unable to load cloud provider config '/etc/appgw/azure.json'. Error: Reading Az Context file "/etc/appgw/azure.json" failed: open /etc/appgw/azure.json: permission denied
I1105 14:17:03.261624       1 main.go:128] Appication Gateway Details: Subscription="63f1436f-6030-47e4-8ba3-b828b7c36999" Resource Group="USEENEX001RSG01" Name="USEENEX001AAG03"
I1105 14:17:03.261724       1 httpserver.go:57] Starting API Server on :8123
I1105 14:17:03.262187       1 auth.go:46] Creating authorizer from Azure Managed Service Identity

I know there was an issue some time ago regarding this here in following bug, but was fixed.
Also we use lowercase for files in : AzureIdentity (resourceID, clientID) and AzureIdentityBinding (azureIdentity, selector)
To Reproduce
This is an already running cluster, so mic and nmi pods are running ok and another ingress controller in another  namespace which was created some months ago is working ok (check last logs image)
So we just created:
1-  k create -f aadpodidentity.yml
2- helm install -f  helm.yml application-gateway-kubernetes-ingress/ingress-azure --version 1.2.1 --generate-name
3-  k create -f aadpodidentitybinding.yml. (Adding in selector the name of ingress that HELM returned when created)
Ingress Controller details
Name:         ingress-azure-1604585811-7944f77648-5wnq7
Namespace:    default
Priority:     0
Node:         aks-agentpool-17156525-vmss000007/<IP_ADDRESS>
Start Time:   Thu, 05 Nov 2020 11:23:33 -0300
Labels:       aadpodidbinding=ingress-azure-1604585811
              app=ingress-azure
              pod-template-hash=7944f77648
              release=ingress-azure-1604585811
Annotations:  checksum/config: 34e4697bc38a3bbd6f1dc4bb02cfe9f8733302243e38cdf1fc54f8cd9d2d7018
              prometheus.io/port: 8123
              prometheus.io/scrape: true
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/ingress-azure-1604585811-7944f77648
Containers:
  ingress-azure:
    Container ID:   docker://5e4f734d38acb96b4815b856b2349ded3a505b5984a8b72dfe59eec2606e708a
    Image:          mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.2.1
    Image ID:       docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:cf1df9645ded72127967c99bbf88b758b5b19b698ba18a9ed74c3a7ebf016ef1
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Thu, 05 Nov 2020 11:23:44 -0300
    Ready:          False
    Restart Count:  0
    Liveness:       http-get http://:8123/health/alive delay=15s timeout=1s period=20s #success=1 #failure=3
    Readiness:      http-get http://:8123/health/ready delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment Variables from:
      ingress-azure-1604585811  ConfigMap  Optional: false
    Environment:
      AZURE_CLOUD_PROVIDER_LOCATION:  /etc/appgw/azure.json
      AGIC_POD_NAME:                  ingress-azure-1604585811-7944f77648-5wnq7 (v1:metadata.name)
      AGIC_POD_NAMESPACE:             default (v1:metadata.namespace)
    Mounts:
      /etc/appgw/azure.json from azure (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from ingress-azure-1604585811-token-bjs6b (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  azure:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/kubernetes/azure.json
    HostPathType:  File
  ingress-azure-1604585811-token-bjs6b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  ingress-azure-1604585811-token-bjs6b
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                From                                        Message
  ----     ------     ----               ----                                        -------
  Normal   Scheduled  <unknown>          default-scheduler                           Successfully assigned default/ingress-azure-1604585811-7944f77648-5wnq7 to aks-agentpool-17156525-vmss000007
  Normal   Pulling    88s                kubelet, aks-agentpool-17156525-vmss000007  Pulling image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.2.1"
  Normal   Pulled     82s                kubelet, aks-agentpool-17156525-vmss000007  Successfully pulled image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:1.2.1"
  Normal   Created    78s                kubelet, aks-agentpool-17156525-vmss000007  Created container ingress-azure
  Normal   Started    77s                kubelet, aks-agentpool-17156525-vmss000007  Started container ingress-azure
  Warning  Unhealthy  10s (x7 over 70s)  kubelet, aks-agentpool-17156525-vmss000007  Readiness probe failed: Get http://<IP_ADDRESS>:8123/health/ready: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

kubectl get pods
NAME                                             READY   STATUS    RESTARTS   AGE
ingress-azure-1604585811-7944f77648-5wnq7        0/1     Running   1          13m`
kilted-seahorse-ingress-azure-56c5565856-nrwqs   1/1     Running   0          47h
mic-696b6bb5bf-jw25z                             1/1     Running   12         211d
mic-696b6bb5bf-kjwmm                             1/1     Running   5          211d
nmi-9d6w2                                        1/1     Running   4          211d
nmi-c4cg7                                        1/1     Running   1          3d8h
nmi-cs7kv                                        1/1     Running   2          211d
nmi-qbfm2                                        1/1     Running   0          3d8h
nmi-sm5tk                                        1/1     Running   0          3d9h

@Yiyito11 can you also share the MIC pod logs ? MIC is managed identity controller. Here is a TSG that might help.

yes here you have. Just to mention remember that we have one ingress controller already running in a application gateway on same subnet that the application gateway where this name space is. So 2 namespaces = 2 Application gateways (in same subnet) 2 ingress controller. here are the logs.
kubectl logs --tail 150 mic-696b6bb5bf-jw25z
I1102 15:04:57.694348       1 main.go:79] Starting mic process. Version: 1.5.5. Build date: 2020-01-28-23:11
W1102 15:04:57.694401       1 main.go:84] --kubeconfig not passed will use InClusterConfig
I1102 15:04:57.694425       1 main.go:98] kubeconfig () cloudconfig (/etc/kubernetes/azure.json)
I1102 15:04:57.694587       1 main.go:109] Client QPS set to: 5. Burst to: 5
I1102 15:04:57.694610       1 mic.go:92] Starting to create the pod identity client. Version: 1.5.5. Build date: 2020-01-28-23:11
I1102 15:04:57.785080       1 mic.go:98] Kubernetes server version: v1.16.7
I1102 15:04:57.787426       1 log.go:16] Initialized health probe on port &[8080]
I1102 15:04:57.787459       1 log.go:11] Started health probe
I1102 15:04:57.787571       1 log.go:16] Registered views for metric%!(EXTRA *[]interface {}=&[])
I1102 15:04:57.787632       1 log.go:11] Starting Prometheus exporter
I1102 15:04:57.787668       1 log.go:16] Registered and exported metrics on port &[8888]
I1102 15:04:57.787681       1 mic.go:164] Initiating MIC Leader election
I1102 15:04:57.787700       1 leaderelection.go:175] attempting to acquire leader lease  default/aad-pod-identity-mic...
E1104 15:58:27.298604       1 leaderelection.go:224] error retrieving resource lock default/aad-pod-identity-mic: Get https://<IP_ADDRESS>:443/api/v1/namespaces/default/endpoints/aad-pod-identity-mic: dial tcp <IP_ADDRESS>:443: connect: co

We solved the issue. We had an old ingress controller which was not being used, and for some reason AKS didn´t like it which prevented that new one wasn´t able to be up.
 morbid-possum-ingress-azure-6cf7bfd7b5-mgpkg     0/1     Running   421        2d23h
As soon as we removed it , new ingress controller started to work
NAME                                             READY   STATUS    RESTARTS   AGE
ingress-azure-1604585811-7944f77648-s48dt        1/1     Running   27         4h45m
kilted-seahorse-ingress-azure-56c5565856-nrwqs   1/1     Running   0          2d5h
mic-696b6bb5bf-jw25z                             1/1     Running   12         211d
mic-696b6bb5bf-kjwmm                             1/1     Running   5          211d
nmi-9d6w2                                        1/1     Running   4          211d
nmi-c4cg7                                        1/1     Running   1          3d13h
nmi-cs7kv                                        1/1     Running   2          211d
nmi-qbfm2                                        1/1     Running   0          3d13h
nmi-sm5tk                                        1/1     Running   0          3d15h

Didn´t know this, that if you have an ingress controller not working and you create a new one,  the one that is not working, prevents that new one to run propertly.
Closing this issue. Thanks

can yoy please enable editing again? I would like to remove some possible sensitive info.


Which version of fasttext are you using?

I got this error when following the example from README.
from fasttext import FastVector
Traceback (most recent call last):
File "", line 1, in
ImportError: cannot import name FastVector

I see this is a fasttext.py in the repos.


Add Mask to NZ-Datepicker Module

What problem does this feature solve?
I have a client that want to add masking //____ to the Datepicker module. They want to just enter in number 01152013 and the mask takes care of the separation 01/15/2013
Not having to type'/' will save valuable time when typing in dates into multiple date form controls.
What does the proposed API look like?
<nz-date-picker [nzMask]='M0/00/0000'> for MM/dd/yyyy format
or
<nz-date-picker [nzMask]='d0/00/0000'> for dd/MM/yyyy format

+1


[Fix #32] Fix StateMachinePlayer restart()

Just adding the missing empty param for the path on restart().

Thank you!


I'd like to get one round in from feedback from the ambassadors (we meet in 2 weeks) to get them contributing so we can get comfortable with the workflow and get more presentations in.
What does launching entail -- would it be linked from everywhere or could we soft launch it and then build up the presentations before making it more obviously public? Thanks!

Yes, we could soft-launch it by just getting it on the production url: presentations.cncf.io. Once we get initial data up on it we could do a proper PR launch and link it in to the other sites etc.

Soft launch works for me, but we still need a validation check, looping in @jeefy
https://github.com/cncf/presentations/issues/148

Soft launch complete: https://presentations.cncf.io/


feat: pass activatorEvent to modifiers and add snapCenterToCursor modifier

Fixes #122 as described in https://github.com/clauderic/dnd-kit/issues/122#issuecomment-796429397. I also added a new modifier, snapCenterToCursor which should help folks that encounter similar use cases in the future.
Here's a short demo video of the modifier in action:
https://user-images.githubusercontent.com/3526753/122416836-0c46c100-cf57-11eb-8f02-bd78963d122b.mp4
Note: This doesn't solve the issue of needing to resize the dragged node's rect used in collision detection (as described in https://github.com/clauderic/dnd-kit/issues/122#issuecomment-796429397), but I am looking into that as well.

Only reason was that I didn't know how to idiomatically get the coordinates for touch events. I'll update the modifier to use that helper!

Updated to support Touch as well. Two notes:

I exported getEventCoordinates from @dnd-kit/core since several other utilities are already exported there. If you'd like, I can move it to @dnd-kit/utilities.
Since getEventCoordinates returns {x: 0, y: 0} for non-mouse/touch events, I added a check to ensure the activatorEvent is not a KeyboardEvent. Otherwise, it'll behave oddly for keyboard users. This is similar to this check in getRelativeTransformOrigin: https://github.com/clauderic/dnd-kit/blob/6fdef7f073bb8d0225149e364e4b85c10855c8d3/packages/core/src/utilities/coordinates/getRelativeTransformOrigin.ts#L7

Hi, would like to know how can i use this modifier? Will this eventually be added into the library? Thanks.

Hey! So happy to see this feature getting worked on and accepted quickly. I the snapCenterToCursor modifier works as expected in a minimal Draggable example, but when I try to use it in the vertical sort example like this:
{useDragOverlay
        ? createPortal(
            <DragOverlay
              adjustScale={adjustScale}
              dropAnimation={dropAnimation}
              modifiers={[snapCenterToCursor]}
            >
              {activeId ? (
                <DraggerCount count={1} />
              ) :null}
            </DragOverlay>,
            document.body
          )
        : null}

Instead of centering, the overlay just appears at a consistent offset from the cursor. The offset appears to be the offset from the corner of the draggables bounding box to the center of it
clicking in the lower right:

clicking middle:

clicking upper left:

for reference the DraggerCount element:
const DraggerCount = ({count}: {count: number}) => (
  <div
    style={{
      width: 20,
      height: 20,
      fontWeight: 'bold',
      fontSize: 12,
      backgroundColor: 'red',
      color: 'white',
      padding: '10 0',
      borderRadius: 10,
      boxSizing: 'border-box',
      alignItems: 'center',
      justifyContent: 'center',
      display: 'flex',
    }}
  >
    {count}
  </div>
)

I've tried tweaking the DraggerCount down to something more minimal with the same effect.
Am I doing something wrong? Since the spacing is consistent I can definitely hack together a solution the gets me a mouse-centered overlay, but I thought I'd ask if there was a less smelly approach before going that route.
Thanks! The library is great!

took me a bit to figure out, but in case anyone finds this, the issue was that my little red dot was in the upper left of the invisible overlay that was centering correctly, so wrapping the my DraggerCount with
       {activeId ? (
                <div
                  style={{
                    width: '100%',
                    height: '100%',
                    display: 'flex',
                    alignItems: 'center',
                    justifyContent: 'center',
                    userSelect: 'none'
                  }}
                >
                  <DraggerCount count={1} />
                </div>
              ) : null}
              ```

centered it inside the overlay and now it works exactly as expected. Thanks again

@clauderic I See this is in master, any idea when master will get published to npm?

@VFC-elindgren you can install @dnd-kit packages tagged with the next tag on npm to get the latest version of master:

@trentmwillis Were you ever able to figure out how to update the collision detection so that it worked with the center-snapped overlay? I've found that a temporary solution is using the pointerWithin collision detection, but that makes the UX really difficult for small drop areas (which I'm currently working with). Ideally, this would work will with the standard rectangular collision detection.
Thanks for creating this modifier! It's been super useful in my latest project.

@levikline, did you ever find any solution for making the center snapped DragOverlay compatible with rectIntersect?

@levikline, did you find any solution for making the center snapped DragOverlay compatible with rectIntersect?

@atonyma7 Yes! I used the snapCenterToCursor modifier in the dnd context and then I added the following lines to my own collision detection algorithm:
// Update the target to account for snapping to center
target = { ...target };
target.top = pointerCoordinates.y - target.height / 2;
target.left = pointerCoordinates.x - target.width / 2;

If you want a full example of writing a custom collision detection algorithm, DND Kit has a good page on it:
https://docs.dndkit.com/api-documentation/context-provider/collision-detection-algorithms#building-custom-collision-detection-algorithms
Hope that helps!

DndKit documentation leaves a lot to be desired, there is no documentation on how to use custom collision detection algorithms. I'm not sure what your post is referring to @levikline, there is no "target" related to collision detection.
Anyway, for folks looking for how to snap the drag overlay center to the cursor, and to make sure the updated collision rectangle works properly, here's the complete example.
import { snapCenterToCursor } from '@dnd-kit/modifiers';
import {
  CollisionDetection, DndContext, DragOverlay, rectIntersection
} from '@dnd-kit/core';

const fixCursorSnapOffset: CollisionDetection = (args) => {
  // Bail out if keyboard activated
  if (!args.pointerCoordinates) {
    return rectIntersection(args);
  }
  const { x, y } = args.pointerCoordinates;
  const { width, height } = args.collisionRect;
  const updated = {
    ...args,
    // The collision rectangle is broken when using snapCenterToCursor. Reset
    // the collision rectangle based on pointer location and overlay size.
    collisionRect: {
      width,
      height,
      bottom: y + height / 2,
      left: x - width / 2,
      right: x - width / 2,
      top: y - height / 2,
    },
  };
  return rectIntersection(updated);
};

const Component = () => {
  return (
    <DndContext
      collisionDetection={fixCursorSnapOffset}
    >
      {/* ... */}
      <DragOverlay modifiers={[snapCenterToCursor]}>
          <div>
            Your overlay
          </div>
      </DragOverlay>
    </DndContext>
  );
};


Letter key keymaps with shift modifier of form ,  do not work

What system are you running Yazi on?
macOS
What terminal are you running Yazi in?
kitty 0.35.2
yazi --debug output
Yazi
    Version: 0.3.0 (Homebrew 2024-08-01)
    Debug  : false
    OS     : macos-aarch64 (unix)

Ya
    Version: 0.3.0

Emulator
    Emulator.via_env: ("xterm-kitty", "")
    Emulator.via_csi: Ok(Kitty)
    Emulator.detect : Kitty

Adapter
    Adapter.matches: Kitty

Desktop
    XDG_SESSION_TYPE: None
    WAYLAND_DISPLAY : None
    DISPLAY         : None

SSH
    shared.in_ssh_connection: false

WSL
    /proc/sys/fs/binfmt_misc/WSLInterop: false

Variables
    SHELL              : Some("/bin/zsh")
    EDITOR             : Some("nvim -u /Users/smackesey/stm/conf/ext/vim/init/env/terminal.lua")
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : None
    ZELLIJ_SESSION_NAME: None

Text Opener
    default: Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })
    block  : Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })

tmux
    TMUX   : false
    Version: 3.4

Dependencies
    file             : 5.41
    ueberzugpp       : No such file or directory (os error 2)
    ffmpegthumbnailer: 2.2.2
    magick           : 7.1.1-36
    fzf              : 0.54.3
    fd               : 10.1.0
    rg               : 14.1.0
    chafa            : No such file or directory (os error 2)
    zoxide           : 0.9.4
    7z               : No such file or directory (os error 2)
    7zz              : No such file or directory (os error 2)
    jq               : 1.7.1

Did you try the latest nightly build to see if the problem got fixed?
No, and I'll explain why below
Describe the bug
I am trying to map multi-modifier combinations of letter keys with the shift modifier. This form works:
{ on = "<C-S-X>", run = "shell 'echo \\<C-S-X\\>' --interactive" }

But these two forms do not:
{ on = "<C-S-k>", run = "shell 'echo \\<C-S-k\\>' --interactive" },
{ on = "<C-K>", run = "shell 'echo \\<C-K\\>' --interactive" },

Seems like both of the above should work, as is you effectively have to redundantly specify shift with both S- and the capitalized form of the letter.
Minimal reproducer
Observe that these do not work:
# keymap.toml
[manager]

prepend_keymap = [
  { on = "<C-S-k>", run = "shell 'echo \\<C-S-k\\>' --interactive" },
  { on = "<C-K>", run = "shell 'echo \\<C-K\\>' --interactive" },
]

Anything else?
No response

Please try https://github.com/sxyazi/yazi/pull/1448

Confirmed working on HEAD-- thanks for the quick fix!


Revert "Document reasoning for why CustomMultiChildLayout size can't …

…depend on children and how to do it (#47797)"
This reverts commit de2514c0e2631e33996d131e8743fbcb7bbd57c4 as it breaks analyze-linux and web_tests-0-linux checks.

Landing on red to make tree green again


bug: mapping syntax error in src/IdRegistry.sol

The syntax for the mappings is incorrect. You should use a single => instead of specifying the mapping type twice. Here’s how the correct syntax should look:
mapping(address => uint256) public idOf;
mapping(uint256 => address) public custodyOf;
mapping(uint256 => address) public recoveryOf;

the syntax is fine, these contracts are deployed and work live


[Error - Snapshot] Tests faild without log ..

New Issue Checklist

[Y] Updated fastlane to the latest version
[Y] I have read the Contribution Guidelines

Issue Description
Complete output when running fastlane, including the stack trace and command used
Snapshot exit tests whitout any explaination, i don't know why ! i'm just launching snapshot without argv, anyone can help me ?
⚠  /Users/aurelien/Desktop/crossroad_ios-master/Crossroad/Helpers/NYXImagesKit/Classes/NYXProgressiveImageView.m:176:42: 'initWithRequest:delegate:startImmediately:' is deprecated: first deprecated in iOS 9.0 - Use NSURLSession (see NSURLSession.h) [-Wdeprecated-declarations]

_connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
                    ^

▸ Compiling JSONModel.m
▸ Compiling JSONKeyMapper.m
▸ Compiling CRUser.m

⚠  /Users/aurelien/Desktop/crossroad_ios-master/Crossroad/Models/_Comment.h:53:41: 'getter' attribute on property 'updated' does not match the property inherited from 'NSManagedObject' [-Wproperty-attribute-mismatch]

@property (nonatomic, strong) NSNumber* updated;
^

⚠  /Users/aurelien/Desktop/crossroad_ios-master/Crossroad/Models/_Comment.h:53:41: property type 'NSNumber *' is incompatible with type 'BOOL' (aka 'bool') inherited from 'NSManagedObject' [-Wincompatible-property-type]

@property (nonatomic, strong) NSNumber* updated;
                                                       ^

▸ Linking CometUITests
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/ADTransitionController'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/AFNetworking'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/APAddressBook'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Bolts'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Branch'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/CocoaLumberjack'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/CTAssetsPickerController'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/DGActivityIndicatorView'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/DZNEmptyDataSet'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/EMCCountryPickerController'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/FastImageCache'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/FBSDKCoreKit'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/FBSDKShareKit'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/FCFileManager'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Haneke'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/JGActionSheet'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/KVNProgress'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/LGAlertView'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/libPhoneNumber-iOS'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/LTMorphingLabel'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/MagicalRecord'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Material'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/MaterialKit'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/MBProgressHUD'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Nuke'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/ObjectiveSugar'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/OMGHTTPURLRQ'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/PINCache'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/pop'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Preheat'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/PromiseKit'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/PureLayout'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Reachability'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/RKDropdownAlert'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/RSKImageCropper'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/SCLAlertView'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/SDWebImage'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/SVWebViewController'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/TLYShyNavBar'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/TransitionKit'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/UIView+Shake'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/Valet'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/VBFPopFlatButton'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/WYPopoverController'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Release-iphoneos/YLProgressBar'
⚠  ld: directory not found for option '-F/Users/aurelien/Desktop/crossroad_ios-master/build/Debug-iphoneos'
▸ Copying Localizable.strings
▸ Copying Localizable.strings
▸ Running script '[CP] Copy Pods Resources'
▸ Touching CometUITests.xctest
** TEST FAILED **
[10:28:13]: Exit status: 65
[10:28:13]: Tests failed - check out the log above
[10:28:13]: Tests failed, re-trying 1 out of 2 times
[10:28:13]: Patching '/Users/aurelien/Library/Preferences/com.apple.iphonesimulator.plist' to scale simulator to 100%
[10:28:14]: ------------------------
[10:28:14]: --- iPhone 6 - en-US ---
[10:28:14]: ------------------------
[10:28:14]: $ set -o pipefail && xcodebuild -workspace ./Comet.xcworkspace -scheme Comet -derivedDataPath '/var/folders/xl/h5f0hmh96sv5gqlmdtd2cy8c0000gn/T/snapshot_derived20160726-4074-1fqjhfz' -destination 'platform=iOS Simulator,id=B6C613BB-51BC-40C1-98E1-BC1B4E02C9CF,OS=9.3' build test | tee /Users/aurelien/Library/Logs/snapshot/Comet-Comet.log | xcpretty
[10:28:14]: ▸ Loading...
^Z
[1]+  Stopped                 snapshot

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
snapfile:
# Uncomment the lines below you want to change by removing the # in the beginning

# A list of devices you want to take the screenshots from
 devices([
   "iPhone 6",
   "iPhone 6 Plus",
   "iPhone 5",
   "iPhone 4s",
 ])

languages([
  "en-US",
  "fr-FR",
])

# Arguments to pass to the app on launch. See https://github.com/fastlane/snapshot#launch_arguments
# launch_arguments("-favColor red")

# The name of the scheme which contains the UI Tests
 scheme "Comet"

# Where should the resulting screenshots be stored?
output_directory "./screenshots"

 clear_previous_screenshots # remove the '#' to clear all previously generated screenshots before creating new ones
app_identifier "io.cometapp.comet"

# Choose which project/workspace to use
# project "./Project.xcodeproj"
workspace "./Comet.xcworkspace"

# For more information about all available options run
# snapshot --help

Fastfile = original
Environment
fastlane version (run fastlane -v):
fastlane 1.97.2
snapshot version (run snapshot -v):
snapshot 1.12.3
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
Yes
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
yes

@AmityTek Thanks for reaching out. It looks like you need to link your frameworks to your test target. Let me know how it goes! Thanks

I don't know how to add my framework to mu UITest target /:


Create Array Value type

A Value type of that implements an Array would be very useful as part of the base MLTE package. While using MLTE to create different conditions, we ended up creating an Array Value, and all other Values just derived from this one. Deriving from it also makes it easier to create new conditions, as only the validation methods have to be added for simple Values that can be stored as an array. There is an example in the feature/new-properties branch, demo-2/values/array_value.py

Partially addressed by PR #306, but ongoing conversation was moved to issue #323

Closing to avoiding having it duplicated. Work to be continued in #323


Correction for raw affiliation ENSAM-Meknes, Moulay Ismail University

Correction needed for raw affiliation ENSAM-Meknes, Moulay Ismail University
raw_affiliation_name: ENSAM-Meknes, Moulay Ismail University
new_rors: 008axfh28
previous_rors: 008axfh28;018pp1107
works_examples: W4318752377
contact: a177fc93142be3b313fe5c3ef7617947:1fb1141a7ebcbe973884c2b0f6 @ ensam.eu

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


arch: arm: core: fix vector table relocate write to flash

Hello Maciej,
this pull request contains the fix for the vector table relocation.
There are some additional commits from zephyr master that should vanish when you update your branch.
Hope that helps
Bobby

@b0661
Could you possibly rebase your code on the newest version of my code? I should have merge your pull request first, I am sorry. I updated the hal/ll library to 1.9.
I will merge it tomorrow or as you manage to resolve conflicts. Take your time.
Thank you,
Maciej Dębski

@MaciejDebski
Now rebased.


Could the code can do real-time job the same like darknet?

The origin code in C from official web in 'pjreddie.com' did some real-time jobs, like webcam object recognition or the same job in videos . I just want to know whether the author of mxnet-yolo offer the same function in python, if did, how to use . Thanks for author's effort in the mxnet-yolo  :)

I guess the speed is somewhat similar to darknet, maybe even better.
I didn't implement a camera version simply because I don't have a camera to test on cloud.
Anyone interested is welcomed to submit a PR.

@zhreshold Thanks for your reply, and good job for YOLO v2 using python :)

#13


index.yaml missing

when i try to install traefik2 without user intervention by putting this file in the manifests directory of k3s:
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: stable/traefik
  repo: https://github.com/containous/traefik-helm-chart
  set:
    image.tag: "2.2"
    rbac.enabled: "true"
    ssl.enabled: "true"

i find this error in the log files:
+ helm_v3 repo add traefik https://github.com/containous/traefik-helm-chart
Error: looks like "https://github.com/containous/traefik-helm-chart" is not a valid chart repository or cannot be reached: failed to fetch https://github.com/containous/traefik-helm-chart/index.yaml : 404 Not Found

The URL of the helm chart is https://containous.github.io/traefik-helm-chart/index.yaml
The following yaml should work:
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: traefik/traefik
  repo: https://containous.github.io/traefik-helm-chart
  set:
    image.tag: "2.2"

thanks!

@mmatur
the chart specification in your given examle has to be changed do a simple  chart: traefik, but otherwise it works! :)
thanks again