Android: Fix WebView crash for links of unknown schemes

When tapping on a link in a WebView with an unknown scheme, the app would crash. For example, if you have the link "something://example/" but your device doesn't have anything to handle the "something" scheme, the app would crash when the user clicks on the link. This change handles the exception to prevent the app from crashing. Instead, the click is a no-op and the WebView doesn't navigate anywhere.
Test plan (required)
Verified the app no longer crashes when clicking on unknown schemes in a test app. Also, my team uses this change in our app.
Adam Comella
Microsoft Corp.

I think this should be good to go in.
Just to note, there is work around the same area in #10772, but I don't think there's a dependency between these two. Just noting this in case I am wrong.

Awesome, thank you for the fix!
@facebook-github-bot shipit


Project workspace directory in Rust dev container owned by root user

I am trying to use the Rust dev container from a Linux system with a user with UID 1001 and GID 1001 via rootless Docker. As such, the permissions for the vscode user in the home directory seem to work fine:
Dev container home folder:
$ ls -lahn /home/vscode/
total 56K
drwxr-xr-x 1 1001 1001 4.0K Mar 31 22:59 .
drwxr-xr-x 1    0    0 4.0K Mar  5 18:13 ..
-rw-r--r-- 1 1001 1001  220 Mar 27  2022 .bash_logout
-rw-r--r-- 1 1001 1001 4.9K Mar  5 18:13 .bashrc
[...]
drwxr-xr-x 6 1001 1001 4.0K Mar 31 22:59 .vscode-server
-rw-r--r-- 1 1001 1001   22 Mar  5 18:13 .zprofile
-rw-r--r-- 1 1001 1001 3.9K Mar  5 18:13 .zshrc

However, the workspace /workspaces/project itself is mounted being owned by root (UID=0 and GID=0):
$ ls -lahn
total 120K
drwxrwxr-x 8 0 0 4.0K Mar 31 20:53 .
drwxr-xr-x 3 0 0 4.0K Mar 31 22:59 ..
-rw-rw-r-- 1 0 0  69K Mar 31 20:05 Cargo.lock
-rw-rw-r-- 1 0 0  303 Mar 31 20:05 Cargo.toml
drwxrwxr-x 2 0 0 4.0K Mar 31 20:05 data
drwxrwxr-x 2 0 0 4.0K Mar 31 21:48 .devcontainer
[...]
drwxrwxr-x 6 0 0 4.0K Mar 31 20:05 src

In contrast, the host project directory is owned by UID/GID 1001:
$ ls -lahn
total 120K
drwxrwxr-x  8 1001 1001 4.0K Mar 31 20:53 .
drwxrwxr-x 13 1001 1001 4.0K Mar 31 20:05 ..
drwxrwxr-x  2 1001 1001 4.0K Mar 31 21:48 .devcontainer
drwxrwxr-x  8 1001 1001 4.0K Mar 31 20:05 .git
drwxrwxr-x  2 1001 1001 4.0K Mar 31 20:53 .github
-rw-rw-r--  1 1001 1001   32 Mar 31 20:05 .gitignore
-rw-rw-r--  1 1001 1001  69K Mar 31 20:05 Cargo.lock
[...]
drwxrwxr-x  6 1001 1001 4.0K Mar 31 20:05 src

When changing the owner UID/GID in the container to 1001:1001, the host permissions are screwed up:
$ ls -lahn
total 124K
drwxrwxr-x  9<PHONE_NUMBER>36 4.0K Apr  1 09:58 .
drwxrwxr-x 13   1001   1001 4.0K Mar 31 20:05 ..
drwxrwxr-x  2<PHONE_NUMBER>36 4.0K Mar 31 21:48 .devcontainer
drwxrwxr-x  8<PHONE_NUMBER>36 4.0K Mar 31 20:05 .git
drwxrwxr-x  2<PHONE_NUMBER>36 4.0K Mar 31 20:53 .github
-rw-rw-r--  1<PHONE_NUMBER>36   32 Mar 31 20:05 .gitignore
-rw-rw-r--  1<PHONE_NUMBER>36  69K Mar 31 20:05 Cargo.lock
[...]
drwxrwxr-x  6<PHONE_NUMBER>36 4.0K Mar 31 20:05 src
drwxr-xr-x  3<PHONE_NUMBER>36 4.0K Apr  1 09:58 target

This is my devcontainer.json:
{
	"name": "Rust",
	"image": "mcr.microsoft.com/devcontainers/rust:1-1-bullseye",

	"remoteUser": "vscode",
	"containerUser": "vscode",
	"updateRemoteUserUID": true,
	"runArgs": [
		"-u",
		"1001:1001"
	]
}

I added the last four entries trying to fix the issue, alas without success.

The issue is being discussed at https://github.com/microsoft/vscode-remote-release/issues/4646


Update Python scripts from python2 to python3

Changed shebang of python scripts from "python to python3"
Ran 2to3 on all python scripts

i dont think u ran 2to3 on all python files in the repo. for example, u missed movo_common/movo_ros/src/movo_jtas/movo_head_jtas.py.
maybe use a command to run 2to3 for all files in the repo instead of manually running it for each python file


How to convert JArray to Uint8List efficiently?

When convert Uint8List to JArray, we can use the JArray<jbyte>.setRange extension method.
But I don't know how to do the opposite way.
Currently I can do this by use a for-loop, but I think this will spend a lot when convert a large byte array.

Hi @yanshouwang!
If the Struct containing the Array is created from a Pointer, you can use asTypedList on that pointer if you know the offset of the array in the struct.
But in general we should support something like what you're asking for. I've filed https://github.com/dart-lang/sdk/issues/55170 to track that feature.

Right now we have JArray:
class JArray<E> extends JObject { ... }
extension ByteArray on JArray<jbyte> {
  int operator [](int index) {
    return elementAt(index, JniCallType.byteType).byte;
  }

  void operator []=(int index, int value) {
    RangeError.checkValidIndex(index, this);
    _allocate<JByteMarker>(sizeOf<JByteMarker>(), (ptr) {
      ptr.value = value;
      Jni.env.SetByteArrayRegion(reference.pointer, index, 1, ptr);
    });
  }

  void setRange(int start, int end, Iterable<int> iterable,
      [int skipCount = 0]) {
      ...
      Jni.env.SetByteArrayRegion(reference.pointer, start, size, ptr);
  }
}

Maybe this just needs a
void getRange(int start, int end, Uint8List output) { ... }
// or
Uint8List getRange(int start, int end) { ... }

that is then implemented via Jni.env.GetByteArrayRegion to get C pointers to memory and then copy it to a dart typed list.

When convert Uint8List to JArray, we can use the JArray<jbyte>.setRange extension method. But I don't know how to do the opposite way. Currently I can do this by use a for-loop, but I think this will spend a lot when convert a large byte array.

What @mkustermann said can be done, alternatively you can do
JByteBuffer.wrap(array).asUint8List(releaseOriginal: true);

What @mkustermann said is possible. We can support the getRange operation as well.
I first wrote something wrong about using JByteBuffers, that's not currently possible, because we can only convert direct JByteBuffers into Uint8Lists.

If you don't have to use an array, you can use JByteBuffer directly, maybe that simplifies your code.
final buffer = JByteBuffer.fromList(list);
final list = buffer.asUint8List();

What @mkustermann said is possible. We can support the getRange operation as well.
I first wrote something wrong about using JByteBuffers, that's not currently possible, because we can only convert direct JByteBuffers into Uint8Lists.
If you don't have to use an array, you can use JByteBuffer directly, maybe that simplifies your code.
final buffer = JByteBuffer.fromList(list);
final list = buffer.asUint8List();

The JByteArray is returned by a Kotlin method, so I can't use JByteBuffer instead, I think provide a getRange extension will be nice.


Isolate scoverage modules from their parent modules

I encountered an issue with the way scoverage plugin alters the dependency tree of the test module by changing its module dependency from the outer module to the outer.scoverage module.
This shadow modification of the dependency tree produces a side effect that impacts the idea configuration generation.
When the idea configuration generation resolves the dependencies instead of using the outer module as a dependency for the test project it depends on the outer.scoverage module which should not be generated as it does not exist factually but more virtually.
This solution applies the same pattern used to create a virtual module dedicated to the test.scoverage and modify the test.testxxx commands/targets to forward them to the corresponding test.scoverage targets.
This resolves the issue of modifying the dependency tree but introduces more compilation.

@romain-gilles-ultra Could you please update the PR description to reflect the actual change?

@romain-gilles-ultra Could you please update the PR description to reflect the actual change?

Done


initial GitHub Actions config

refs #14
This doesn't work yet, but it's a start. I decided to break out the testing of each package into a separate step (so you can glance at the results page and see exactly which package had a problem). But apparently you can't run yarn test in certain packages.
I don't yet see how a top-level yarn test is able to succeed: I'm guessing the --no-bail argument is involved. I also don't understand why the tests I see executed by a top-level yarn test are being executed in a different order than the list of workspaces in package.json.

Deprecated in favor of https://github.com/Agoric/SES-beta/pull/37 discussed with @warner


Hive Concurrency Fix

Abhishek,
I made the hive jobs run sequentially. I scheduled regression runs and none of them failed with a hive setup issue. Can you please review the pull request and let me know what you think

Rahul

This is great Rahul. Hope this fixes the issue. +1


Fix tests and code

Coverage increased (+2.1%) to 45.485% when pulling f96d23f06a451fff68f2e4464e84db7aecb54dc9 on mducharme-tests into 6a996dc403d6edd38c862863410d81346db7e80a on master.

Coverage increased (+2.1%) to 45.485% when pulling f96d23f06a451fff68f2e4464e84db7aecb54dc9 on mducharme-tests into 6a996dc403d6edd38c862863410d81346db7e80a on master.


Extend the peepopt shiftmul matcher

This extends the shiftmul matcher in two useful ways:

It deals with cases where the shift amount is zero-padded from below because opt_expr ran before and applied opt.opt_expr.mul_low_zeros.
It can deal with left shifts implementing a demuxer (through the addition of a mirrored matcher).

Related to #3833.

Force pushed. There was a confusion in the commit message about whether it's the left or right shift matcher we are adding.

As we already started to discuss in #3833, this currently only handles: foo[s*W+:W], where W is a constant.
Since yesterday I went through different scenarios/cases I could see happening and thought about how to handle them.
For this I will generally refer to foo as an array of multi-bit elements as this is probably the most common origin of such a construct.

foo[s*W+:W1] where W1<W. This is the case when only a few bits are selected from some array of elements or similar. This case is trivial as one can just add more padding in-between output bits but currently It seems to be that shift_amount must exactly match the shifter output-width for it to then apply the transformation.
foo[s*W+:W2] where W2>W. My guess is that this case would not occur very often but it covers the case where one would like to select something from two consecutive elements from an array of elements. Personally I think this case should be noted but does not need to be handled right now. (the transformation here should however work basically the same except that we need to use clog2(W2) instead.
foo[s*W+O+:W1] where O is a constant. This case describes the selection of a few bits from one element of the array. The offset gives the starting position of the bits. As I understand it, your proposal was to handle this separately in a shiftadd peepot, so that we then have two shifts, one being directly attached to a $mul, making it possible to use shiftmul. I think this is a good idea but it does have one minor caveat, lets again distinguish two options:

We place the constant-offset shift in-front of the soon-to-be shiftmul block. This always works but it has the slight disadvantage that multiple accesses to different bits from the same element, may now be converted into shiftmul blocks, each having a different offset at its input and we are going to rely on later optimization passes to optimize this for us. If it is caught before techmap I would say this is a non-problem. If it is only caught after, then we create a lot of $MUX cells for nothing, hurting performance and increasing the memory footprint.
We place the constant-offset shift after the shiftmul block. This would eliminate the minor caveat from (1) but it only works if W>(O+W1), which should be the case if the code and all previous transformations are reasonable but we cannot guarantee it. Meaning such a transformation could not be done independently and would have to be called as part of shiftmul, since we need to know W from the mul.

foo[s*W+O+:W1] where O=V*var. I do not expect this to occur often (if at all). This represents the case where first an element is selected from an array and then some starting point is selected, from which W1 bits are used. Such a scenario would likely also require a more holistic approach as we now essentially have two nested shifts and we would have to find out which is larger and perform that first. It is also possible that some earlier part might actually already split this into two shifts for us (though I doubt it). Again, I think this is uncommon enough to make a note of it but ignore it.

Tl;Dr: assuming foo[s*W+:W1], we should check which of W and W1 is larger and add padding accordingly, W=W1 is an arbitrary restriction.
Constant offsets can be generally dealt with by adding another shift in-front, then this pass can take care of the strided access. This may be suboptimal for performance.
More complex cases are possible but likely rare. They would likely require a monolithic approach.

foo[s*W+O+:W1] where O is a constant. This case describes the selection of a few bits from one element of the array. The offset gives the starting position of the bits. As I understand it, your proposal was to handle this separately in a shiftadd peepot, so that we then have two shifts, one being directly attached to a $mul, making it possible to use shiftmul. I think this is a good idea but it does have one minor caveat, lets again distinguish two options:

We place the constant-offset shift in-front of the soon-to-be shiftmul block. This always works but it has the slight disadvantage that multiple accesses to different bits from the same element, may now be converted into shiftmul blocks, each having a different offset at its input and we are going to rely on later optimization passes to optimize this for us. If it is caught before techmap I would say this is a non-problem. If it is only caught after, then we create a lot of $MUX cells for nothing, hurting performance and increasing the memory footprint.

I am not sure there's an issue there, and if there is overhead, maybe the situation can be improved by only leaving those signals connected to the shift cell that can actually be selected, and rounding up W1 (instead of W) to the next power-of-2. Though at that point maybe we should just be leaving $bmux behind, which didn't exist when the transformation was originally written.

Well but then at some point if W2 is large and W is small you could be better off expressing this as W independent shifts, instead of one block select with a lot of replication in the input signal. That's what I am slightly curious about how other compilers handle.

Makes sense, I mentally didn't make W2 large enough :-)
I am going to try it today or tomorrow and will report back.

A block-mux halves the bits it works on in every stage, so its cost should be something like block_size*2*log2(#blocks).

I don't think that's true since if each stage works on a different amount of bits, and that amount doubles going to earlier stages, the final cost must come down to something like block_size*#blocks*2 - 1 (for power-of-two #blocks). Once you prune the trivial and unused muxes in the implementation of the shift I think the cost will be the same.

One big exception is once W2 is larger than W because for the bmux block_size=max(W2,W), while for the shifter it doesn't really change anything.

Agreed on shift having a lower cost (in terms of elementary muxes) for the case W2>W.

Personally I think there is a pretty strong case for transforming it to a $bmux anyway...

I agree. Not so much because of any overhead consideration but for clarity and to make it easier for later passes to reason about what's going on in the circuit.

By the way I am currently working on a shiftadd.pmg that should be able to deal with any $add and $sub cells.
Funnily enough dealing with foo[s*W-O+:W1] (note the minus) is actually easier since we can just prepend some fill-bits.
The more common foo[s*W+O+:W1] is a bit of a pain if you want to make it as generic as possible since the +O would make it so a previous shift makes the lowest O bits unreachable, this is fine in all reasonable cases but there is nothing stopping foo[s*W] from going into the negative just enough to still reach these now lost bits. So the transformation wouldn't be 100% the same anymore.
Currently I just limited it so that one value must be constant (O) and the other must be unsigned. This might not be ideal if it starts chaining multiple operations though but for now it should work. I still have some bugs though, meaning they are not quite functionally equivalent for all the test cases I am using.
I will push them as soon as they are, then you can decide if you want them in here as well.

the final cost must come down to something like block_size*#blocks*2 - 1 (for power-of-two #blocks)

Yes you are correct, it even says that on the paper in front of me, I just didn't pay attention while typing it (well I didn't have the -1 but I ignored it on purpose since its just a constant).

By the way I am currently working on a shiftadd.pmg...

Good to know!

Currently I just limited it so that one value must be constant (O) and the other must be unsigned.

Yeah, I don't see any other reasonable way to do it. wreduce will convert cell inputs to unsigned if it deduces that it's okay, so relying on the input being unsigned in your situation should not be too restrictive, hopefully.

I still have some bugs though, meaning they are not quite functionally equivalent for all the test cases I am using.
I will push them as soon as they are, then you can decide if you want them in here as well.

I think it's best if you open a separate PR (a draft one if you don't feel it's ready for merging), and then we can discuss the shiftadd rule there. I don't have merging powers here but those that have will be happy we split things.

I will be opening a new PR, in the last user-meeting they said they prefer more small PRs since they are easier to review, exactly what you are saying as well.
Will you try to use $bmux/$demux now or are you still going for pure $shift/shiftx transformations for this PR?
I guess the second approach is probably cleaner for now, the other one should probably also be added as a separate PR.
So that in the end we have a flow that does shiftadd, then shiftbmux (if W2/W ratio is favorable) and then finally shiftmul that can take the remaining ones.

Will you try to use $bmux/$demux now or are you still going for pure $shift/shiftx transformations for this PR?
I guess the second approach is probably cleaner for now, the other one should probably also be added as a separate PR.

Yeah, I think I will make the $bmux/$demux change into a separate PR.

So that in the end we have a flow that does shiftadd, then shiftbmux (if W2/W ratio is favorable) and then finally shiftmul that can take the remaining ones.

Agreed as a prospect if what you mean by shiftmul here is the transformation to produce W independent shifters for high W2/W, though I would rather name it differently -- call shiftmul the transformation producing bmuxes (for continuity), and name a separate rule producing the W independent shifters. If what you meant by shiftmul here is the original shiftmul transformation, then I don't think we want that at the same time as the bmux transformation, since the cost of the circuitry they produce is essentially the same (once you prune the mux network in the implementation of the shifter).

Err, I wrote something bit confusing earlier...

One big exception is once W2 is larger than W because for the bmux block_size=max(W2,W), while for the shifter it doesn't really change anything.

Agreed on shift having a lower cost (in terms of elementary muxes) for the case W2>W.

I was thinking the untransformed shifter has a lower cost than the block-mux, but that is without accounting for the cost of the $mul... Once you shiftmul-transform the shifter to remove the $mul then the cost of the shifter and block-mux should be the same.

So as I see it we have three options we need to decide between when stumbling on a shiftmul pattern: Transform to $bmux, transform to W independent shifters, do nothing.

Your naming scheme is fine as well, I just think its important to keep the original (ie shift+mul -> shift) to make sure people can decide not to use the shift+mul -> bmux transformation if that makes any trouble for them (some potential later pass that relies on the $shiftx cells specifically.

So as I see it we have three options we need to decide between when stumbling on a shiftmul pattern: Transform to $bmux, transform to W independent shifters, do nothing.

Yes exactly, except that we don't really decide. Each option is just a separate peepopt that checks for the respective W2/W ratio.

The two actual code changes should make it pass the current tests.
The generate change is more a suggestion that also applies to muldiv.
Personally I also think we should add log_header() for all pmg-pases that describe the transformation in 1-2 sentences.

Thanks. I think we should mainly expand the help message, not sure if the patterns each warrant their log_header

Thanks. I think we should mainly expand the help message, not sure if the patterns each warrant their log_header

yeah that makes more sense, help it is!

Rebased, squashed the fixup into its parent commit, last three commits are new.


Upgrade Saleor to Django version 4.0

Refer to
https://github.com/saleor/saleor/blob/dfdac510cb3110d3b2f289d19b290b6672cb279d/saleor/graphql/account/mutations/authentication.py#L75
We need to change the import statement

Relevant links
https://github.com/django/django/commit/231de683d86374c2b74da2185efc6ddfb5eb3341
https://code.djangoproject.com/ticket/32800


k8s agent fails to tail step logs

Component
agent
Describe the bug
For some of our repos, trivy scan step, triggers the agent to log this error. I noticed this not just with trivy but also with megalinter.
{   "level": "error",   "error": "rpc error: code = Internal desc = grpc: error while marshaling: string field contains invalid UTF-8",   "time": "2023-08-20T07:18:46Z",   "message": "grpc error: log(): code: Internal: rpc error: code = Internal desc = grpc: error while marshaling: string field contains invalid UTF-8" }
Trivy command executed as part of the step.
trivy fs \ --exit-code 1 \ --skip-dirs vendor,node_modules \ --report summary \ --severity CRITICAL \ --scanners vuln \ --ignore-unfixed \ --quiet \ .
System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-0c282e86e8"}

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[x] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

yes.... have the same problem (woodpecker 2.3.0).... making woodpecker-agent spin indefinitely using a lot of cpu... have to kill the agent frequently to make it work again.... it's annoying....

I have the same issue (2.3.0 with k8s agent). This example workflow triggers this issue:
steps:
  import-gpg:
    image: debian:stable-slim
    commands:
      - apt-get -qq update
      - apt-get -qq install --yes --no-install-recommends ca-certificates wget gpg gpg-agent dirmngr
      - wget --quiet https://downloads.apache.org/maven/KEYS
      - gpg --import KEYS

While importing the KEYS woodpecker agent logs:
{"level":"error","error":"rpc error: code = Internal desc = grpc: error while marshaling: string field contains invalid UTF-8","time":"2024-02-21T10:02:11Z","message":"grpc error: log(): code: Internal"}

This was a problem for me as well so I've attempted a fix here https://github.com/woodpecker-ci/woodpecker/pull/3601

https://github.com/woodpecker-ci/woodpecker/pull/3601#issuecomment-2056975576

I haven't noticed any missing logs on our builds. However I think the true test would be to run a build that outputs non UTF-8 characters and see how Woodpecker behaves. Given the issue, I'd expect Woodpecker to not print them

Indeed, WP doesn't print them.
I reproduced this with pipeline:
skip_clone: true
steps:
  logs:
    image: alpine
    commands:
      - apk add openssl
      - openssl rand 1000
      - echo Done

WP output:
+ apk add openssl
fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
(1/3) Upgrading libcrypto3 (3.1.4-r5 -> 3.1.4-r6)
(2/3) Upgrading libssl3 (3.1.4-r5 -> 3.1.4-r6)
(3/3) Installing openssl (3.1.4-r6)
Executing busybox-1.36.1-r15.trigger
OK: 8 MiB in 16 packages
+ openssl rand 1000

wp-01hwa0ya0qqn1exr68j5ftj5tq.log
But I didn't notice high CPU usage (at least after I cancelled pipeline):
> kubectl top pods -n test-scm-cicd
NAME                                 CPU(cores)   MEMORY(bytes)
gitea-0                              3m           125Mi
woodpecker-agent-d9b864c76-lqdgj     1m           10Mi
woodpecker-server-75c9794774-nglv7   3m           29Mi

Tested on Woodpecker 2.3.0 in Kubernetes.
woodpecker-server.log
woodpecker-agent.log
As you can see, Agent logs error even after pipeline was cancelled.

I had the feeling we use base64 encoding for the log data, but I can't find it in the agent code anymore 🤔. Shouldn't base64-encoding the log data solve this issue?

I have a feeling that the encoding happens on the server at some point.

I have a feeling that the encoding happens on the server at some point.

Same for me, but I have no idea where we do this 🙈 Searched for encoding/base64, but can't find where we do this for the log entries at all. Will try to find it using the debugger when I've some time. Any hints are more than welcome 😉

we use base64 encoding for the log data

Nope:
https://github.com/woodpecker-ci/woodpecker/blob/d0057736f164a8a12e671ff3c39ac2c33b80a7f6/server/model/log.go#L33
postgres=# \c woodpecker_test
woodpecker_test=# \d log_entries
                             Table "public.log_entries"
 Column  |  Type   | Collation | Nullable |                 Default
---------+---------+-----------+----------+-----------------------------------------
 id      | bigint  |           | not null | nextval('log_entries_id_seq'::regclass)
 step_id | bigint  |           |          |
 time    | bigint  |           |          |
 line    | integer |           |          |
 data    | bytea   |           |          |
 created | bigint  |           |          |
 type    | integer |           |          |
Indexes:
    "log_entries_pkey" PRIMARY KEY, btree (id)
    "IDX_log_entries_step_id" btree (step_id)
woodpecker_test=# select data from log_entries where id=5;
                data
------------------------------------
 \x2b20676974206c66732066657463680a
(1 row)
woodpecker_test=# select convert_from(data, 'UTF-8') from log_entries where id=5;
  convert_from
-----------------
 + git lfs fetch+

(1 row)

Shouldn't base64-encoding the log data solve this issue?

Yes, I think.

Thanks for the help.
Just had the feeling as we are getting the logs base64 encoded from the api 🤔
https://github.com/woodpecker-ci/woodpecker/blob/d0057736f164a8a12e671ff3c39ac2c33b80a7f6/web/src/components/repo/pipeline/PipelineLog.vue#L298
https://github.com/woodpecker-ci/woodpecker/blob/d0057736f164a8a12e671ff3c39ac2c33b80a7f6/web/src/components/repo/pipeline/PipelineLog.vue#L303
Anyways I guess the solution should be quite simple by base64 encoding in the agent code directly

base64 encoding in the agent code

Should it be decoded after receiving / before storing in DB?

While doing some testing in #2072 I always got the grpc error: log(): code: Internal: rpc error: code = Internal desc = grpc: error while marshaling: string field contains invalid UTF-8 error when I was sending extremely long log lines.

While doing some testing I always got the error when I was sending extremely long log lines

Seems, I cannot reproduce this.
But I've found other issues(?). Pipeline with 13MB "one"-line log:
skip_clone: true
steps:
  logs:
    image: alpine
    commands:
      - apk add openssl
      - openssl rand 10000000 | base64 -w 0
      - echo Done

Run number 182:
I run pipeline. Do not remember status. Server pod restarted with panic. After that I see full log (414 lines).
woodpecker-server.log
woodpecker-agent.log
Run number 184:
I run pipeline. Step stayed in not started state, therefore no logs. When I saw pipeline is finished in K3s logs, I refreshed web page: success, full log (415 lines).
Run number 185:
I run pipeline. Step showed up in running state. When I saw in OpenLens, that some pod (Server or Agent) flashed orange, but there was no pod restarts. In UI there were 274 lines of truncated log. After refreshing the page - the same.
woodpecker-agent-2.log
Run number 187:
Pipeline started with step in status running. Then it moved to success. In UI there were 290 lines of truncated logs. After refreshing the page - 289 lines.
woodpecker-server.log
woodpecker-agent.log
Run number 188:
Right after 187. I run pipeline, then went to pipelines list page. Server pod restarted. Agent did not, but log is truncated (maybe some go selfhealing). After Server restarted, I see pipeline and step in success state. There is full log with 415 lines.
woodpecker-server.log
woodpecker-agent.log


Handle audio becoming noisy

Closes https://github.com/doublesymmetry/react-native-track-player/issues/1545.
Unfortunately I don't know how to test that this actually corrects the behavior...

@mattleff I've discovered and documented how you can test this addition.
https://github.com/doublesymmetry/react-native-track-player/pull/1553/files

@jspizziri Thanks for that! I've confirmed this PR does fix automatically pausing playback when the audio stream re-routes to the built-in speaker.

@dcvz I've added a setting for this. I don't have much Kotlin experience so let me know if there's a more idiomatic way to implement this.


Minor grammar fix

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@regexaurus : Thanks for your contribution to the Azure documentation! The author, @tfitzmac, has been notified to review your proposed change.

@regexaurus - thanks for making this fix.

#sign-off


Can Activate FVM 2.4.1 [BUG]

Before creating a bug report please make check the following

[ ] You have read our FAQ
[ ] If you have used flutter. Please install correctly, run pub cache repair. Close the terminal and try again.
[x] If you are on Windows. Make sure you are running the terminal as administrator or with developer permissions.
[x] Run fvm doctor if possible and add the output to the issue.

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

Go to terminal..
Run dart pub global activate fvm...
Check...
See error

Expected behavior
I'm trying to upgrade fvm from 2.3.1 to 2.4.1 , but after running activate command its again have 2.3.1 version
C:\Users\krish>fvm doctor
No FVM config found:
C:\Users\krish
Fvm will run the version in your PATH env: null
Configured env paths:

Flutter:
Dart:
C:\dart-sdk\bin\dart.exe
FVM_HOME:
not set
Desktop (please complete the following information):

OS: [Windows]
FVM Version [2.3.1]
If Windows: Which Powershell are you using?
CMD

I believe the version of dart installed its not compatible with FVM 2.4.1 so it installs the most compatible version. I suggest installing through chocolatey and that should solve this problem.


Historical shipping example

Peter Atwood has published a beautiful analysis of historical shipping logs that is quite comparable to what our current examples.holoviz.org/ship_traffic example shows for modern data.  The data is available from
CLIWOC and some related data is available from WhalingHistory.

I think it would be straightforward to adapt ship_traffic to plot the CLIWOC data, colored by the ship's country rather than by the vessel category. The monochrome background used here goes well with the colored traces, suggesting that we should see if we could find a similar web map tile to use for these examples.
Not sure where this work goes in priority compared to our other examples work, but having this issue open should help us decide that priority!

I think it would be straightforward to adapt ship_traffic to plot the CLIWOC data

Just to make it clear, do you mean changing ship traffic or adding a new example? If the latter, what value would it bring over ship traffic?

Not sure where this work goes in priority compared to our other examples work, but having this issue open should help us decide that priority!

For me, right to the bottom of this https://github.com/holoviz-topics/examples/issues/383 plus reviewing Demetris' CZI examples :)

This would not replace ship_traffic, just augment it.  Assuming the data size is much smaller than the main one, this might work as a separate HTML page in the same example.  I think it would help a different audience notice our tools and realize that they might be useful to them, with very little investment required.

Ok so you don't necessarily see this as a new example but more as an extension of the existing ship_traffic example.


Conventions on barrel files, import/exports, etc

This is the first proposal for the things we discussed on https://github.com/scaffold-eth/se-2/issues/118
We were using a bunch of different conventions, and doing this feels really good :D But happy to re-thinking any of the conventions.
I think being consistent is the key here (we could also write this kind of stuff in the GitHub Wiki / Contributing file or something).
What I did:

Barrel files for scaffold-eth components/hooks/utils (no barrels for app components)

I wasn't sure about deeper nested files (like components/scaffold-eth/Inputs/). I'm re-exporting them in the root scaffold-eth barrel file, so you'll import AddressInput as import { AddressInput } from "~~/components/scaffold-eth"; instead of import { AddressInput } from "~~/components/scaffold-eth/Input";

No more default exports (also for app components) => Switch to named exports.
No "functions" => Converted to arrow functions
No relative imports ("./" or "../") => use ~~ imports
No React import when not needed
Sort imports (using eslint-plugin-simple-import-sort). It'll give just a warning, but if you have eslint --fix on save in your IDE it'll sort them for you

Thoughts?
Fixes https://github.com/scaffold-eth/se-2/issues/118

Awesome!

I wasn't sure about deeper nested files ... so you'll import AddressInput as import { AddressInput } from "~~/components/scaffold-eth"; instead of import { AddressInput } from "~~/components/scaffold-eth/Input"

I'm not sure too. I'd prefer second because it's

grouped
more explicit
from import you understand what you're exporting. I'll try to explain. Let's say we'll have Select component and Option subcomponent. Import will be import { Option } from "~~/components/scaffold-eth".  When new dev will read the code he is unlikely understands what Option is. But import { Option } from "~~/components/scaffold-eth/select" is more clear. Yes, an example is not the best :D but I hope you understand me. Yes, we need to name components better, probably SelectOption or Select.Option etc, but when the codebase grows we will see that things.

No "functions" => Converted to arrow functions

Google don't like it, but since we don't use this or arguments and don't often need hoisting, arrow functions are good too (and easier to write).

Love the changes !!!

I wasn't sure about deeper nested files ... so you'll import AddressInput as import { AddressInput } from "~~/components/scaffold-eth"; instead of import { AddressInput } from "~~/components/scaffold-eth/Input"

I tend to like the first, reason(seeing it from using se-2 instead of contributing/maintaining perspective) :

Its more declarative, also won't clutter the file which is importing it. Example :
 import { AddressInput, Xyz } from "~~/components/scaffold-eth";

  ----

 import { AddressInput  } from "~~/components/scaffold-eth";
 import { Xyz } from "~~/components/scaffold-eth/xyz"

As we grow in the future we will be adding components and this will clutter the file of the developer who is utilizing them.

No doubt second is more explicit and easy to understand as Rinat explained but it has a very small downside that if we plan to move components internally eg : Moving AddressInput from scaffold-eth/Input -> scaffold-eth/Address then we have to change all the file utilizing it (sorry for bad example but I hope you all got the feelings)

But yeah these are personal preferences and both ways make sense.

Sort imports (using eslint-plugin-simple-import-sort). It'll give just a warning, but if you have eslint --fix on save in your IDE it'll sort them for you

Love it !! Although had come problem configuring eslint --fix on save in my Vscode due to prettier and eslint extensions conflicting but it might be due to my previous setup.
I was thinking maybe instead of sorting it on the lint  level maybe we sort it using prettier using https://github.com/trivago/prettier-plugin-sort-imports  ? So that you don't get a yellow squiggly line if you don't have your IDE configured properly and do it manually? Just thinking out loud and we can for sure ignore this suggestion !!


Make xclim more FAIR

Possibly add

richer software metadata (see https://codemeta.github.io/)
citation information (see https://citation-file-format.github.io/)

References

https://www.sciencedirect.com/science/article/pii/S2666389921000362?via%3Dihub
https://content.iospress.com/articles/data-science/ds190026

* richer software metadata (see https://codemeta.github.io/)

We seem to be checking all the boxes listed here (GJ us!): https://codemeta.github.io/crosswalk/python/

* citation information (see https://citation-file-format.github.io/)

I've done a bit of reading for this, and I'm not sure if it's worth the effort to actually do this. We already provide this information automatically (though I'm unsure how author order is determined) via Zenodo (https://doi.org/10.5281/zenodo.2795043). Versioning a CFF file with every release might be cumbersome (we can't parse the Zenodo citation for this info until we tag a release -- chicken and the egg problem). I still like this idea in principle, but implementing it in a way that is portable (to other projects in our software ecosystem) and easy-to-maintain seems like a hassle. Thoughts?

As far as I remember, authors in Zenodo is somewhat based on commits.

I agree that the CFF seems to replicate information already in the .zenodo.json file. +1 for dropping it.
We can hard-code authors in the .zenodo.json file.


Artifact appears as the training goes on

Hi, dear author, I really appreciate your awesome work! It is more stable and performs better than depth estimation with monocular video.
However, I met a problem when I trained EPCNet on my own dataset.
When the model is only trained for 3 epochs, the performance is good. However, when i trained for more epochs (such as 20 epochs), artifacts appears on the predicted disparity map, as shown in the following figures.

What could be possible to lead to the result? Could you provide me some advice?
THANK YOU!

You may try to reduce the learning rate in advance (e.g. divided by 10 every 5 epochs). Besides, the spp-distillation module may lead a wrong supervised signal in low-textured regions and other undesirable areas, because these areas do not meet our assumption that the smaller the reconstruction error, the better the depth estimation.

Thank you for your advice! I will try turning off the SPP-distillation module.


✨ Initial implementation of IndexedDataset

subj
in progress

I'm just realizing that torch calls this Map-style dataset. But I'm almost tempted to think that that IndexedDataset will be clearer to users than MappedDataset. Or what do you think, @Koncopd?

Yes, you are right. Not sure, we don't expose the class anyways. I am fine with both.


nixos/public-inbox: test the confinement

Description of changes

[X] Fix typo BindPathsReadOnly => BindReadOnlyPaths and actually test the binding with gitolite repositories.
[X] Enable ProtectSystem = "strict" when confinement = false, this requires a RootDirectory= under /run/<something> instead of RootDirectory = "/var/empty";.
It will also work with confinement = true once https://github.com/NixOS/nixpkgs/pull/289593 has been merged.
[X] Use a specialisation."confinement".configuration to test confinement = true.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

[X] Rebase after the merge of https://github.com/NixOS/nixpkgs/pull/289593

[X] Fix typo InacessiblePaths => InaccessiblePaths

[X] Rebase after:

4f0dadbf38ee4cf4cc38cbc232b7708fddf965bc 'treewide: format all inactive Nix files'
6b53949b0cbe3f6dadf4ea730558ac5f4eb56793 "formats.ini: expose INI atom from all ini formats"

Sorry I've taken so long with this.  Would you mind splitting it into multiple commits?  At least the test changes and module changes should be ungrouped.

@alyssais, thanks for following this PR. I've split into two commits (module and test) and simplified a lot the changes by just enabling confinement by default, as done in radicle and cryptpad.

Looks like https://github.com/NixOS/nixpkgs/pull/308740 broke the NixOS test, so I think we should probably fix that without module changes first.

@alyssais, sorry, where do you see that the NixOS test is broken?

e.g.

e.g.

This is due to BindReadOnlyPaths= to non-existing Git repositories:
machine # [   18.093339] (ox-httpd)[1492]: public-inbox-httpd.service: Failed to set up mount namespacing: /var/lib/gitolite/repositories/user/repo1.git: No such file or directory
machine # [   18.095725] (ox-httpd)[1492]: public-inbox-httpd.service: Failed at step NAMESPACE spawning /nix/store/58ywrdv08k1gjahcx9plv2makzk1kqjq-perl5.40.0-public-inbox-1.9.0/bin/public-inbox-httpd: No such file or directory

So https://github.com/NixOS/nixpkgs/pull/308740 was merged with a failing test, and now there is no trace of this unless diving into hydra logs? That's quite unfortunate.
This PR configures gitolite in the test to avoid this error.


[Compat] Affixed Vampirism's weapons (and probably others) cannot change their attributes

Vampirism weapons improve in attack speed and damage by attacking mobs, but this does not happen with affixed ones. I suspect this will happen with other items with dynamic attributes as well.

This was a side effect of the way Item Attribute Modifiers used to work before the addition of the ItemModifierEvent.  The upcoming update has moved affixes to use that event instead of NBT modifiers.

Just gonna piggyback off this and ask. I made a datapack that allowed bosses to have other sets of gear, but they don't appear to be showing up when I'm just spamming the boss spawner item. Does the current version read data packs?

Current version does, but the format has changed a little bit.  Check the files in the published jar, rather than github, for examples.

Looking at the published jar, I do not see any boss sets that include bows, yet I observe bow bosses spawning in the world. Why is that? If this is due to my own sets loading, why am I not seeing the rest?

Yikes. I set the weight too low; never mind then.


[#2061]fix(server): Fix netty memory leak when removeBuffer and cacheShuffle…

What changes were proposed in this pull request?
Fix netty memory leak when removeBuffer and cacheShuffleData happen concurrent
Why are the changes needed?
(Please clarify why the changes are needed. For instance,

If you propose a new API, clarify the use case for a new API.
If you fix a bug, describe the bug.)

Fix: https://github.com/apache/incubator-uniffle/issues/2061
Does this PR introduce any user-facing change?
(Please list the user-facing changes introduced by your change, including

Change in user-facing APIs.
Addition or removal of property keys.)

No.
How was this patch tested?
(Please test your changes, and provide instructions on how to test it:

If you add a feature or fix a bug, add a test to cover your changes.
If you fix a flaky test, repeat it for many times to prove it works.)

Ping @jerqi @rickyma @zhengchenyu
Could you please take some time to review this PR? If it doesn't need to be merged, please let me know.

BTW, If I missed somthing, feel free to ping me @lwllvyb or by wechat


Gnome-shell ignores user settings.

Issue description
In Nix unstable, it seems that Gnome shell doesn't care about user settings.
Favorites, for example, are reset on each reboot.
Cannot change background (setting is saved but nothing happens).
Gnome tweak tools cannot affect gnome shell settings.
Everything works fine in NixOs 17.03.
Actually, reverting restores user settings as before.
Steps to reproduce
Install Gnome.
Update to NixOs 17.09.
Try to change background. ---> Does nothing.
Change favorites.
Reboot. ---> Favorites changes are discarded.
Technical details

System: 17.09pre111447.a7c8f5e419 (Hummingbird)
Nix version: nix-env (Nix) 1.11.13

Have a nice day,

See #25906.


chore(flake/nixvim): b7f419a7 -> 1854d591

Commit
Message

1854d591
tests/plugins/lsp: re-enable tests

77cbd031
plugins/colorschemes: remove with lib;

fba168ab
plugins/colorschemes: migrate helpers -> lib.nixvim

b4708002
plugins/bufferlines/barbar: migrate helpers -> lib.nixvim

fe12a092
tests: general cleanup

087f70cb
tests: remove special case for efmls-configs

06419627
tests/plugins/nvim-osc52: use new `test.checkWarnings` option

00418181
tests/plugins/schemastore: don't check warnings

088e584e
modules/test: check warnings/assertions

83c2844b
plugins/telescope: migrate helpers -> lib.nixvim

d7b506ef
plugins/neotest: migrate helpers -> lib.nixvim

511a328a
wrappers: add our lib to the host's `_module.args`

e555ba13
docs/helpers: document the "extended" lib

e41696e5
flake.lock: Update

the build has taken >45 minutes, and I was able to build it on my aarch64-darwin locally without issue. Merging without waiting for the build to finish.


ci: notify nuxt/bridge of composables changes

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[x] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
The composables in nuxt/bridge are ported from nuxt 3.
So, if there are changes in nuxt 3, we need to follow the changes.
In the workflow being added this time, if composables are modified in Nuxt 3, a notification will be sent to nuxt/bridge.
nuxt/bridge is already set up to receive notifications.
https://github.com/nuxt/bridge/pull/1013
(I would like to discuss if this name for the workflow is appropriate.)

Todo

[ ] Secrets must be prepared.

Need to add contents: read & write for nuxt bridge repo.
metadata: read only (automatically selected when selecting the contents permission)

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

@danielroe
Could you create a Personal Access Token (PAT) to be used in Actions?
(It is needed to add permissions to nuxt/bridge.)

In the case of a fine-grained personal access token:

need contents: read & write and metadata: read only permissions.

In the case of a classic PAT:

need repo scope

https://github.com/peter-evans/repository-dispatch?tab=readme-ov-file#token


[analyzer] offer a fix for UNNECESSARY_SET_LITERAL

The fix is to remove the set literal.

sdk/282601


Extend any() Behaviour to allow more than one Predicate

As far as I you desuce from the source code any() just uses a specific Path that later gets transformed during serialization. If you do something like
collectionProperty.any().prop1.eq("value1").and(collectionProperty.any().prop2.eq("value2")
This will result in two separate subqueries to be generated. I couldn't find any way to alias the any() in any way to achieve what I am after. Of course I can use a JpaSubQuery but its really verbose and ugly for these cases and I would rather prefer a simpler predicate.
In our use case Predicates which are parameterized with ParamS are used in the user interface to generate a filter panel that allows to fill in the params and sent a filled in Predicate to the backend which then execute(via a param replacing visitor). This looks highly elegant from a developer's perspective as its very easy to add new conditions that are relatively agnostic to how they will be executed.
The moment you have to use subquery definitions in the frontend things start looking a bit verbose and it just feels wrong to do this.

+1

+1

+1

+1

+1

+1

+1

Has anyone found a clean workaround for this?

Question is if it can be supported at all, because Querydsl just renders the queries directly to JPQL, so it is the ORM that is responsible for generating the SQL.
All suggestions are fine, but we need to have something to shoot at. A working proof of concept in a PR.

The workaround by the way is quite trivial: use a subquery ;-)

Thanks, will move to discussions then.


Update link to what is Power BI Premium Gen2

@Yaelbiss : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@paulinbar : Thanks for your contribution! The author(s) have been notified to review your proposed change.


feat: Ignore 'reference.json'

Alternative to #93
Jekyll docs on Data Files. I built the site locally, and the pages I spot-checked still rendered as expected.

Yeah, let's do this instead of my PR if everything is working. Thought there was a reason why we didn't do this originally but maybe I'm misremembering.

@koddsson We have a workflow that runs npm run build:docs:reference to create this file, before committing it to the repo. I wonder if ignoring it (i.e. this PR) will break that workflow.

Will verify post-merge.

✅
The check completed successfully, and the updated version of reference.json it generates was committed to the docs branch successfully: https://github.com/github/catalyst/commit/c3e077c00da93ab4bf64880b95b8d661d4c48d11


Sentinel 5 second watch retry could miss updates

In tracking down these log entries:
sentinel 2015/01/16 13:34:52.429339 [ERROR]  watch on '/apps/foo/staging/_trigger' failed: unexpected end of JSON input
sentinel 2015/01/16 13:34:52.429354 [INFO]   retrying in 5s
sentinel 2015/01/16 13:34:52.429410 [ERROR]  watch on '/apps/foo/staging/_restart' failed: unexpected end of JSON input
sentinel 2015/01/16 13:34:52.429420 [INFO]   retrying in 5s
sentinel 2015/01/16 13:39:57.432530 [ERROR]  watch on '/apps/foo/staging/_restart' failed: unexpected end of JSON input
sentinel 2015/01/16 13:39:57.432545 [INFO]   retrying in 5s
sentinel 2015/01/16 13:39:57.432605 [ERROR]  watch on '/apps/foo/staging/_trigger' failed: unexpected end of JSON input
sentinel 2015/01/16 13:39:57.432616 [INFO]   retrying in 5s
sentinel 2015/01/16 13:45:02.435467 [ERROR]  watch on '/apps/foo/staging/_trigger' failed: unexpected end of JSON input
sentinel 2015/01/16 13:45:02.435484 [INFO]   retrying in 5s
sentinel 2015/01/16 13:45:02.435554 [ERROR]  watch on '/apps/foo/staging/_restart' failed: unexpected end of JSON input
sentinel 2015/01/16 13:45:02.435566 [INFO]   retrying in 5s

I've come to learn about the 5 minute etcd server-side watch timeout, which in itself is fine, but with the 5 second delay on the retry we could possibly miss some updates during the sleep.
I've confirmed this by extending the WatchRetry  (https://github.com/BlueDragonX/sentinel/blob/master/listener.go#L11) to 60 seconds and updating watched keys during the sleep, sentinel never sees the updates.
sentinel 2015/01/16 18:07:13.634183 [ERROR]  watch on '/apps/foo/staging/_restart' failed: unexpected end of JSON input
sentinel 2015/01/16 18:07:13.634199 [INFO]   retrying in 60s
sentinel 2015/01/16 18:07:13.634295 [ERROR]  watch on '/apps/foo/staging/_trigger' failed: unexpected end of JSON input
sentinel 2015/01/16 18:07:13.634306 [INFO]   retrying in 60s
[watched keys touched]

It'd be nicer to handle this with either an immediate reconnect then a gradual backoff to say 5 seconds, or possibly trying to interpret the empty reply from etcd when it closes the connection and doing an immediate retry. node-etcd for example parses the reply to distinguish between legit errors and closed connections: https://github.com/stianeikeland/node-etcd/blob/master/src/watcher.coffee#L76-L88. The added benefit to this approach would be logging the cause of the reconnect versus 'failed: unexpected end of JSON input' every 5 minutes into eternity.

That's for reporting this. It may be that the go-etcd library is causing some of these issues.

Fixed in v2.0.0.


Add instructional info to breakout_2.md

I was doing a dry run through the tutorial and I think the following things need to be added to breakout_2.md:

Add a #-level section beneath the reviewer comments that quickly reminds the attendee to:

make new branches and name it appropriately
Once branches are made via github, they'll have to git pull these to their local repo before checking out. This is new for them because they just cloned the repo w/ branches before. Very important distinction that they only clone once.
make the changes requested for your script
open a pull request, and merge it

and mention that they can refer to git_cheatsheet.md or breakout_1.md if they need help remembering how to do these things.

Also ross, you can add your hyperlink to the readme too.  it goes like this:
[Ross Wilkinson](https://twitter.com/USERNAME)

closed via #28


Disable Android updates pop up.

I am having a hard time trying to find if there is a way to do this.

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

ID: 83d269a0-0b09-c2f6-d37a-319831bcf782
Version Independent ID: f2c17a3a-87bb-0c75-9efb-de6ffb6f7738
Content: App Center Distribute for Xamarin - Visual Studio App Center
Content Source: docs/sdk/distribute/xamarin.md
Service: vs-appcenter
GitHub Login: @TroubleMakerBen
Microsoft Alias: bereimol

@15mgm15 The comments feature of our documentation is intended to enable customers to suggest changes to the docs or ask clarifying questions about the docs.
If you have a question about how to do something, ask our support team. App Center support is provided directly from within the App Center portal. Any time you need help, just click the blue chat button in the lower-right corner of any page and our dedicated support team will respond. For additional information, see the [App Center Help Center] (https://intercom.help/appcenter/getting-started/welcome-to-app-center-support).

You can remove the default update dialog by implementing the ReleaseAvailable callback and calling Distribute.NotifyUpdateAction(UpdateAction.Postpone);


⚠ Samsung has degraded performance

In 3268a3c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 1969 ms

Resolved: Samsung performance has improved in 2146de7.


Require Send+Sync bounds for Allocation trait

Which issue does this PR close?

Closes #1944.
Rationale for this change
Send + Sync were previously implemented for Buffer which probably was not sound in case the underlying Allocation was not also Send + Sync.

What changes are included in this PR?

Allocation trait requires Send + Sync
Bytes implements Send + Sync which should be fine since it only contains a NonNull pointer in addition to the allocation
Buffer is then automatically Send + Sync
FFI_ArrowArray now has to implement Send + Sync. This requirement was previously hidden by the unsafe impl on Buffer, even before the introduction of the Allocation abstraction in #1494

Are there any user-facing changes?
This could be a breaking change for users of the Allocation trait, but those usages would have been unsound before.

Codecov Report

Merging #1945 (22b6017) into master (9f7b600) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1945      +/-   ##
==========================================
- Coverage   83.48%   83.47%   -0.01%
==========================================
  Files         221      221
  Lines       57054    57054
==========================================
- Hits        47629    47627       -2
- Misses       9425     9427       +2

Impacted Files
Coverage Δ

arrow/src/alloc/mod.rs
78.04% <ø> (ø)

arrow/src/buffer/immutable.rs
98.48% <ø> (ø)

arrow/src/bytes.rs
73.07% <ø> (ø)

arrow/src/ffi.rs
86.97% <ø> (ø)

parquet_derive/src/parquet_field.rs
65.75% <0.00%> (-0.46%)
:arrow_down:

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 9f7b600...22b6017. Read the comment docs.


Added a simple python script that can upgrade a V3 JSON file to a V4 JSON file

This script will correct dates as well as convert markdown images and links to HTML for the new Rich Text Editor.
It does not clean up formatting like italic, bold, underline etc.
Please test it as I am not super familiar with the format the Rich Text Editor expects.

Have you explored using marked or some other equivalent library in PyPi to handle the markdown to HTML so it covers all cases, instead of having to do the conversion yourself?

Yes - you could use python-markdown for that as well. However when I looked at the HTML tags created by the Rich Text Editor they are not quite standard tags so I went for the quick fix alternative.


Using "to_not have_received" with spy pattern

The following example:
describe "" do
  it "" do
    Object.any_instance.stub(:bar)
    expect(Object.new).to_not have_received(:bar)
  end
end

fails with following error message:
 Failure/Error: expect(Object.new).to_not have_received(:bar)
   #<Object:0x007fade10435d0> expected to have received bar, but that method has not been stubbed.

My attempt to explain this is at http://stackoverflow.com/a/20152976/1008891, but I'm wondering if there is something I'm missing or if there is some improvement to RSpec that can be made.

While migrating from Mocha to RSpec i've got this issue.
Is there any chance to get .to have_received().never and .to_not have_received() working with RSpec spies without too much refactoring?
While refactoring into receive().never you can easily get false-positives, unless you completely refactor the whole test to not use spies. And when you have more than thousand tests that is using this pattern you in trouble.

@BrazhnykYuriy I'm unsure what issue you are facing, the issue described here is specific to "any instance" which does not support asserting via spies that calls have never been made, but a normal expectation works fine.

@JonRowe as i mentioned previously i'm migration from Mocha, which actually supports spies on any_instance.
And the only solution i've got so far is to use receive().never, but again to refactor tests i would need to look through all of them and figure out what is the right order of execution. If this expectation would be after invocation it gives false-positives!!!

For me, this means that RSpec is not an option, it lacks core functionality...
Can you please explain why expecting any instance of a class to not receive message using spy pattern is  test smell?

Can you please explain why expecting any instance of a class to not receive message using spy pattern is test smell?

In particular we view using any instance expectations as a smell, because its very invasive to the codebase and requires a lot of monkey patching, its error prone and causes false positives.
So we just haven't expanded its functionality when newer features (such as spies) have come along.

@JonRowe
So you consider any use of any_instance a test-smell... Even without spy pattern?
Also i'm confused on why this is so difficult, since this was done almost 10 years ago for Mocha in ~100 LOC https://github.com/thoughtbot/bourne/tree/master/lib/bourne
This functionality proved to be really useful...

So you consider any use of any_instance a test-smell...

Yes

Also i'm confused on why this is so difficult, since this was done almost 10 years ago for Mocha in ~100 LOC https://github.com/thoughtbot/bourne/tree/master/lib/bourne

In isolation features often look simple, especially if they only work for the "80%" of cases but there are real implementation difficulties ensuring that your monkey patched "tracking" methods are invoked first within a Ruby call stack (which they have to be to work, as you are replacing the implementation by default in an rspec-mock) and there are several sets of rules of precedence in differing Ruby versions.
Add to this the fact that to "spy" you have do this for all methods a class might possess, create, or respond to at run time, and you get what we like to call, maintenance burden.
So we as a team decided that as we viewed "any instance" expectations as an option for legacy code bases not properly in control of their allocation and not something we recommend in general usage not to extend our existing functionality and thus not add additional maintenance burden.
You are welcome to write an extension gem to add this functionality for those desiring it.

@JonRowe Thanks. One last question. I guess you consider spy-pattern a test-smell too?

I guess you consider spy-pattern a test-smell too?

Not at all, using a spy as a direct collaborator is perfectly fine in our eyes.


Propostal to use relay experimental

About UserList, will we add routes+preloadQuery in preparation or preparedloadQuery within itself?

How would you preload the query?

@renanmav
So, I thought of these 2 solutions:

Do inside the UserList. It is simpler, but it would be inappropriate.
Use routes - It would be closer to actual use as the issue-tracker.

What do you think?

Both solutions are valid. I prefer to preload on mouse hover.

@renanmav
Great! Im going to create a package with an issue-tracker router abstraction and bring the routes. Thanks!

Actually I'm already working on this here with Typescript ~flow fede~ \o/

Wow. Very good!
Thank you very much. I will need a lot @renanmav


Fix StatusButton status when creating account. Add docs on GitHub OAuth app set up

Addressing #671 and #657.
Test Plan

Checklist

[ ] Tests updated
[ ] Docs updated

Screenshots

As for the NODE_ENV in general, there are recommendations to avoid relying on it, since 3rd party libs can have various behavior (Nestjs, Express and others), depending on this var.
We could instead introduce our own dedicated variable e.g. CURRENT_ENVIRONMENT ("development" | "test" | "production") and set the NODE_ENV to "production" due to security concerns.
A report by Matteo Colina with a demo can be found here
Wdyt?


Memory leak?

Bug report
A description of the bug
Somewhere in pdfminer.six there appears to be a memory leak; even after a Python process is done handling a PDF, the memory it required is not released.
Steps to reproduce the bug

pip install memory_profiler
Save this script as memory.py:

from pdfminer.high_level import extract_text
from memory_profiler import profile
import gc

path = "samples/nonfree/nlp2004slides.pdf"

@profile
def main():
    text = extract_text(path)
    gc.collect()

main()

Run python memory.py

Output:
Line #    Mem usage    Increment  Occurences   Line Contents
============================================================
     7     44.3 MiB     44.3 MiB           1   @profile
     8                                         def main():
     9     51.5 MiB      7.2 MiB           1       text = extract_text(path)
    10     51.5 MiB      0.0 MiB           1       gc.collect()

Note: The problem does not seem specific to extract_text; other, lower-level usages of pdfminer.six seem to create similar effects. Also: Passing caching=False to extract_text does not appear to reduce the memory leak.
I have spent some time trying to track down the source of apparent leak, but have not had much luck. I'll continue looking, but am raising this issue in the meantime, in case the cause is more readily apparent to others.

I just faced two consecutive outages of the system I maintain - I tracked down the reason to one PDF a user wanted to upload - my system extracts the text to index the PDF document. I can provide the document to a maintainer ( it should not go public). Basically, the PDF consists of slides - when I open the PDF with evince I can view it, but the pages get rendered very, very slowly.
So there is obviously something bogus.
Is anybody aware of a tool which "fixes" bogus PDF files? If not, I think I'll just screenshot the pages and create a new one.

I can reproduce this issue. Will have a look at the PR's.

Would love to merge to PR's related to this issue but they don't seem to solve the issue.

I'm experiencing a regression of the recursion error in issue https://github.com/pdfminer/pdfminer.six/issues/404 with version 20220524. Could this be related?

Hi, I'm still running into this issue on version 20220524 of pdfminer.six. I can't provide the pdf that causes the issue since it needs to be anonymized, but these are the LAParams we're using for pdfminer:
LAParams(
    line_overlap= 0.5,
    char_margin= 1.1,
    word_margin= 0.2,
    line_margin= 0.5,
    boxes_flow= 0.5,
    all_texts=True,
        )

Traceback:
RecursionError: maximum recursion depth exceeded
(245 additional frame(s) were not displayed)
...
  File "pdfminer/layout.py", line 705, in analyze
    super().analyze(laparams)
  File "pdfminer/layout.py", line 439, in analyze
    obj.analyze(laparams)
  File "pdfminer/layout.py", line 705, in analyze
    super().analyze(laparams)
  File "pdfminer/layout.py", line 439, in analyze
    obj.analyze(laparams)
  File "pdfminer/layout.py", line 439, in analyze
    obj.analyze(laparams)

maximum recursion depth exceeded

Is there any update on this issue?

No update here yet. The root cause needs to be found first.

Hey, is there any update on this issue?


HTTP status code not set per code template

Is there an existing issue for this?

[X] I have searched the existing issues
[X] And it has nothing to do with Traefik

Describe the bug
Fetching a specific error with /403.html (and anything not 404) returns as HTTP/1.1 200 OK but with the correct template content. Instead fetching / with a X-Code: 403 works as expected.
Steps to reproduce

docker run --rm -it -p 1234:8080 ghcr.io/tarampampam/error-pages:2.24
curl -v -H "X-Code: 403" localhost:1234 > /dev/null -> < HTTP/1.1 403 Forbidden
curl -v localhost:1234/403.html > /dev/null -> < HTTP/1.1 200 OK

Configuration files
N/A, defaults are used.

Relevant log output
{"level":"info","ts":1682500829.970848,"msg":"We will use the requested template","name":"ghost"}
{"level":"info","ts":1682500829.971214,"msg":"Server starting","addr":"<IP_ADDRESS>","port":8080,"default error page":"404","default HTTP response code":404,"proxy headers":[],"show request details":false,"localization disabled":false}
{"level":"info","ts":1682500852.084728,"msg":"HTTP request processed","useragent":"''","method":"GET","url":"/403.html","referer":"","status_code":200,"content_type":"text/html; charset=utf-8","connection_close":false,"duration":0.000796617,"request_headers":["Host: localhost:1234","User-Agent: ''","Accept: */*"],"response_headers":["Content-Type: text/html; charset=utf-8","X-Robots-Tag: noindex"]}
{"level":"info","ts":1682500968.6593013,"msg":"HTTP request processed","useragent":"''","method":"GET","url":"/","referer":"","status_code":403,"content_type":"text/html; charset=utf-8","connection_close":false,"duration":0.000545044,"request_headers":["Host: localhost:1234","User-Agent: ''","Accept: */*","X-Code: 403"],"response_headers":["Content-Type: text/html; charset=utf-8","X-Robots-Tag: noindex"]}

Anything else?
No response

Hi @Artanicus! Why did you decide this is an error? For example, traefik expect 200 code (as I remember) to serve the error page content

From my previous tests with plain nginx responders, Traefik seemed to pass the error service response code to the client as-is, which breaks monitoring as everything seems like 200. Let me double check the repro via Traefik.

I can confirm that Traefik functions as you expected, i.e. it expects a 200 from the service but still emits the correct status to the end user. My bad!


smarter geodns latency memcached backend option ?

For one of my sites it runs across 16+ VPS servers in dozens of countries from Asia, Europe, Australia and US West and US East coast via Amazon Route53 geo latency dns. It runs my own Centmin Mod LEMP stack with ngx_pagespeed integrated and enabled. Previously, each was stand alone with each ngx_pagespeed instance on each VPS talking to local memcached
pagespeed MemcachedServers "localhost:11211";

But now I am transitioning over to downstream proxy_cache via Nginx and it works fine if the upstream backend is a single backup server. But gives 404 and 502 erros if i try to use upstream with load balanced backends https://github.com/pagespeed/ngx_pagespeed/issues/1124. It only gives errors for 1 or 2 of the 16+ VPS though
I am wondering if this is related to memcached which is still using the localhost:11211 on each respective server ?
If i change to multiple memcached servers, then there's latency involved if the VPS is talking to a memcached server across the otherside of the world
pagespeed MemcachedServers "usbased:11211,europebased:11211,asiabased:11211,australiabased:11211";

Then I thought about Nginx and geoip module and setting up a nginx country mapping variable. But does pagespeed MemcachedServers support using nginx map created variables ?
If not, would it be possible to extend ngx_pagespeed's memcached (and redis later on) support to take into account geoip module mapped variables or natively have ngx_pagespeed talk with / measure memcached latency and use the lowest latency connection based memcached server from the array of memcached listed servers and only fallback to the next fastest server and so on ?
Or use Nginx TCP stream based load balancing http://nginx.org/en/docs/stream/ngx_stream_core_module.html but again would  pagespeed MemcachedServers support variables to define the upstream name ?

maybe extend pagespeed MemcachedServers to support script variables https://developers.google.com/speed/pagespeed/module/system#nginx_script_variables ?


Added beforeShowPromise

You can now pass in a function that returns a promise that will be run before-show.
This works much better than the callback stuff I was trying to do. Thanks for the suggestion @b-ash :+1: . What do you think about this?

If you like this method, I can update the docs and add them to this PR as well. Please let me know.

Besides those few stylistic comments, this is much better. I really like keeping this contained in here without needing to update Tether. If you can add doc updates to this as well, that would be fantastic. Thanks again for working through the comments!

I'll be glad to address those comments tomorrow. Do you also want the compiled js committed or just the CoffeeScript?

The compiled bit as well, thanks.

Sorry, should have been more specific. Just to clarify, just running gulp and committing everything? Like shepherd.js, shepherd-amd.js or whatever all those are?
As opposed to running gulp coffee?

I got it down to just one line for you :). The compiled JS now looks atrocious, but at least the CS looks clean.
Let me know what you think.
Also updated the docs, and added documentation of before-show and before-hide, as well as being able to do things like:
when: {
            show: function() {
                window.scrollTo(0, 0);
            }
          }

Thanks again for the update. We're excited to watch ember-shepherd as it comes along.

@b-ash Thanks for merging! Feel free to give any suggestions you may have for ember-shepherd :)

Does each merge become a new version number or do you update the version every so often? Definitely want to update my app with this version, but I didn't bump the bower or npm versions or anything because I didn't know how all that worked.

Depends, it's every update-ish :wink: I've gone ahead and updated those.

Cool, cool. Thanks!


Add Option Upfront Shutdown

This PR adds support for option_upfront_shutdown_commitment, which allows nodes to specify a script to which funds should be paid out in the event of a cooperative close during channel negotiation.
Upfront shutdown addresses are set by default for channels that we open or accept if the remote peer supports this feature.
Replaces https://github.com/lightningnetwork/lnd/pull/449

Pushed some small fixes + the ability to enable upfront shutdown a with enable_upfront_shutdown flag.

Done some testing to make sure these changes work with other impls/ lnd as is.
lnd:
Branch -> Master: open and close channel ok, does not set upfront for peers that don't support it
Branch -> Branch: local and remote upfront preserved through restart, shutdown addresss checked when appropriate
c-lightning:
Supports upfront shutdown
Open channel from lndl with and without upfront shutdown ok.
Open channel from c-lightning with and without upfront shutdown ok.
C-Lightning does disconnect from us on channel close, but this occurs on master as well, so I'm assuming that's because they only support single channels so do cleanup on close. Will double check.
eclair:
TBD
Just want to clarify the meaning of "MUST fail the connection" in BOLT 2 before requesting review again. Specifically whether we should error out of the close channel interaction or disconnect from the peer entirely.

Ecalir interop done, they don't support upfront shutdown so I just checked that channel open/close work as before.
Updated disconnection function call to permanently disconnect from the violating peer by removing them from our persistent peers. We do still have a channel open with the peer, and they will most likely just reconnect to us anyway (since we don't have the ability to ban).

:eyes:


examples: remove 'replace' lines in go.mod files

We rely on a global go.work for this - per-example 'replace' lines complicate things

Hey, I'm curious for this, go.work works fine in local, but the go.work file is ignored when comming, how it works in CI job build-examples wIthout go.work file, the new module is not yet released, it will not find the new module when go mod tidy

Hey, I'm curious for this, go.work works fine in local, but the go.work file is ignored when comming, how it works in CI job build-examples wIthout go.work file, the new module is not yet released, it will not find the new module when go mod tidy

Correct. Committing go.work files or replace lines in a library module isn't a great idea because it can hide serious failures for users (when users import packages, their go.work files are not honored).
Therefore, if an an example's code requires yet-unreleased code, this example should wait until a tagged release with the changed functionality appears.
See #783 for an example - it won't work in CI because 0.1.8 doesn't have the API changes yet, so it asks @tmc to make a new release and the PR can be then merged (with a go.mod update)

I get it, I should add an example for new module after the new module is released


User Controls migrating

Currently the commands only move over the pages and not user controls (.ascx files).

Added the fix for migrating User Controls in the latest commit.


Minimum Viable DAO

Closing this PR without merging.
The workflow that's been defined in the repository so far has been following the git-flow workflow.
Code should only be merged into the develop branch via PRs.
Code should never be merged into the master branch through a PR. The master branch is only updated through the release branch system, which is done locally on the project owner's machine (mine).
In the future, let's please create PRs from feature/bugfix branches to develop.


Can I attach a c++ object to a tensor so that the object can be forwarded through the network and share the same lifetime with the tensor?

I'm trying to develop a complex network in which, some custom c++ ops output c++ objects that are to be received by other custom ops.  One solution is by serializing the c++ object into a byte tensor, but this way adds (de)serialization overhead. Another solution is only outputting the address of the object and storing the actual object as a data member of the c++ op instance, but this way only works in graph mode. Is there a better solution for this problem? Thank you.

This is not Build/Installation or Bug/Performance issue. Please post this kind of support questions at Stackoverflow. There is a big community to support and learn from your questions. GitHub is mainly for addressing bugs in installation and performance. Thanks!


Create a default config before starting quick search

The changes are 109-110 & 336-362, the rest are formatting fixes.
This did not end up perturbing any unit tests, as get_configs() is never called from any unit testing. Not sure if we need unit testing coverage for this, we have coverage in the L0_quick_test.

Did no tests fail from this change?

That is correct. See the description.


Gave up

Spent 15 minutes trying to get this to work and gave up? Why?
Started here... https://razor.radzen.com/get-started
Right off the bat, I'll note, where is the minimal downloadable solution that has performed all these steps? Doesn't exist, OK, not an auspicious start. Step 1 - 5 could provide some additional helpful details, but step 6 is a gem...
Open the Shared/MainLayout.razor file and include <RadzenDialog/>, <RadzenNotification/>, <RadzenContextMenu/> and <RadzenTooltip/>
Include them where? I eventually found this...
https://github.com/radzenhq/radzen-blazor/blob/master/RadzenBlazorDemos/Shared/MainLayout.razor
Kind of gave me an idea, but there's so much other stuff there, i.e. RadzenHeader, that's it not clear where you should just include them.
But Ok, take a guess, include them at the top. Now I'm ready to drop a control onto a page. Let's take RadzenGrid. Bind it to a List and run...
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not find 'Radzen.adjustDataGridHeader' ('Radzen' was undefined).
      Error: Could not find 'Radzen.adjustDataGridHeader' ('Radzen' was undefined).

Please take the default Blazor project, add the ABSOLUTE MINIMUM bootstrap code to get a control running, and upload it somewhere.

The listed steps are the minimum requirement. Nothing else to do about that.

So why did following the listed steps not allow a RadzenGrid to work?
And if it is, prove it. Literally just upload the minimal solution somewhere.
Finally, if this is your level of support, there's no effing way ANYONE should waste their time with your software.

There is some misunderstanding. We do not provide support in github issues and have mentioned that in the issue template which you have chosen not to follow.


Add new_writer and new_reader to DelimFile

I want to write out the delimited data as I generate each row/line for the case I have a very long and wide tab-delimited file.

To make sure I understand, you want to have the following:
fn new_reader<D: Deserialize, P: AsRef<Path>>(
  &self,
  path: P,
  delimiter: u8,
  quote: bool,
) -> Result<DelimFileReader<D>> { ... }

fn new_writer<S: Serialize, P: AsRef<Path>>(
  &self,
  path: P,
  delimiter: u8,
  quote: bool,
) -> Result<DelimFileReader<S>> { ... }

It probably also makes sense to re-write the DelimFile functions using the reader/writer.

@jdidion I think those are the two methods I want, so I can lazily read from a very large delimited file, and lazily write each record (as I create) it.  One could also have two convenience methods: iterator that returns an iterator over the records (Iterator<Result<D>>) when reading, and a method to write records from an iterator (Iterator<S>) to a path.  Thoughts?
I also agree that when you have these methods, the rest of DelimFile can be re-written.


The storm hammer has no timeout on its pushing effect

That makes it overpowered.

Good catch, now it pushes opponent away all the time.


in definterface is a call to the host yes-or-no-p

could yes-or-no-p be replace to the graven-image version?

Thanks, I haven't noticed it sneaking in :smile:


Click on popover makes scrollbar disappear

🙋 Documentation Request
When favorite animal is clicked to select an option, the scrollbar is removed from the page.
Before selection:

after selection:

🧢 Your Company/Team
No response

Closing as a duplicate of https://github.com/adobe/react-spectrum/issues/5309, and related to https://github.com/adobe/react-spectrum/issues/5470.


fix 'no draft referrals' text on start referrals page

What does this pull request do?
updates the name of a presenter field in the start referral page which has been refactored
What is the intent behind these changes?
show the message when there are no draft referrals to display

We could possibly use something like snapshot testing for this, e.g.

It would mean we'd probably have to test a variety of scenarios though e.g. both no draft referrals and draft referrals. Possibly one for dev team chatting?

We could possibly use something like snapshot testing for this, e.g.

It would mean we'd probably have to test a variety of scenarios though e.g. both no draft referrals and draft referrals. Possibly one for dev team chatting?


Outdated sample function

The Python sample function still uses python-cloudant package while connecting to the Cloudant service, however, it's now outdated and not supported by the cloud platform. It should use ibmcloudant package instead.

If it helps anyone, I had to reference IBM Cloudant's latest docs here:
https://cloud.ibm.com/apidocs/cloudant?code=python#getalldbs


Keep MathJax equations from moving when focused

This is a small PR to fix a small, but very visible, issue. Currently, MathJax equations will change from display: block to display: inline-table when focused. This can cause equations to move from being centered to left-aligned (see the video below), or cause two equations to collapse into the same line.
https://user-images.githubusercontent.com/14281631/195954389-dbe3e995-d113-4e67-8e80-b2b6edcbdc4e.mp4
This PR adds some CSS that, at least in my browser, fixes the issue. I was surprised that I couldn't just use .MathJax:focus as the selector, but the HTML generated from MathJax can be complicated, and I don't think it's worth spending much time exploring its intricacies since what I've got here seems to get the job done.

For some reason this issue only appeared in jupyter notebook and not in voila, but it's good you fixed it. Thank you!


Filter agreements by status

Forthcoming This pull request on the API adds filtering by status to the list framework agreements endpoint.
This adds functionality to the API client to be able to pass a status parameter in.

Rebased and version umber bumped further.

👍 (would be good to wait for the API to get a thumbs up before merging this just in case...)


Forchange

@jdonjdon kindly review this as we have discussion on email thread.

@MubashirSaleem775
I could make it work with following changes. This draft is now updated.
https://github.com/MubashirSaleem775/opentitan/commit/31b88bd18a18261febd92954979a4abaf21d8e4a

@MubashirSaleem775
Fix sequence problem and some others.
Now seq_item will pass. But the driver causes assertion failure.


Attributes' default values are lost

Can you reproduce this issue on default Wordpress theme (eg Storefront)?
Can you reproduce this issue when all other plugins are disabled except WooCommerce, Polylang and Hyyan WooCommerce Polylang Integration?
What product versions and settings are you using when this issue occurs?

PHP: 5.6
WordPress: 4.9.8
WooCommerce: 3.4.4
Polylang: 2.3.11
Hyyan WooCommerce Polylang Integration: 1.2.0
Browser: Firefox 62.0.3

Steps to Reproduce

Create a prpoduct with variations and set default values (!)
Translate the product (plugin is set to sync everything) - works fine except:
For the translated product there are no default values
AND (!) the opriginal's product variations default values are also missing.

What I Expected
Not to wipe default values even for the original product
What Happened Instead
Default values are deleted.

Just to share that the mentioned "fixed empty attribute for variations" doesn't fix the described problem.
It is very easy to replicate.
With simple words - when the [+] button is clicked to translate a product the next moment the default values for attributes lists defined for the product are deleted (for the original product and the copy) even before the new language version of the product is actually published.

Hi, it works fine for update this is just a temporary problem when first creating the translation.
If you go back to the original product and reset the default value it will be carried over to the translation ok.
What is happening here is as follows:

when creating the new translation, the _default_attributes meta is created and saved correctly, but not updated correctly in the product object/screen.   On saving, the now blank product attributes are synchronised overwriting the original value.

I thought this might be fixable in syncDefaultAttributes() by adding
$product->set_default_attributes( $attributes_translation[ $_GET[ 'new_lang' ] ] );
after or instead of:
update_post_meta( $product->get_id(), '_default_attributes', $attributes_translation[ $_GET[ 'new_lang' ] ] );
but that doesn't seem to do it.  I suspect that since the product is still a simple product at this point,  the default attributes must be reset/reloaded once it is created as a variable product.
Since my use case doesn't include this feature, and a simple workaround exists, I'm unlikely to find time to fix it further, any other suggestions welcome.

actually this is a classic Polylang situation:
getDefaultAttributesTranslation() line
                $term = get_term_by('slug', $value, $key);
fails when creating a new translation because:

Wordpress get_term_by fails to respect its own $filter = 'raw'
Polylang filters the term query for the new post language: this means no results are found since we are trying to retrieve the term in original language to be able to translate it..

solution is to replace:
$term = get_term_by('slug', $value, $key);
with:
	$args = array(
		'get'                    => 'all',
		'number'                 => 1,
		'taxonomy'               => $key,
		'update_term_meta_cache' => false,
		'orderby'                => 'none',
		'suppress_filter'        => true,
		'slug'                   => $value,
		'lang'                   => pll_get_post_language($product_id)
	);
	$terms = get_terms( $args );
	$term = array_shift( $terms );

this works and does cause the correct default attribute to be saved both for new translation and existing translations, as can be seen when examining the database before saving the new translation on the screen.
HOWEVER this isn't enough to fix it, the same problem is still observed, the default attribute doesn't get back to the screen..

ok I have a fix for this, a little complex but it was getting reset by Polylang: PLL_Sync_Metas->copy which attempts to reset the translated _default_attributes back to the original language version and the skipDefaultAttributesMeta() doesn't handle this correctly as the get_term_by() code doesn't take into account that this call fails when called by Polylang because it is itself filtered.


other: Improve health check for docker-compose.

For now, all services in docker-compose that using superset image will inherit the health check from the image. But the image is built for web app default.
So I made this change that using celery inspect ping for worker health check. And it also disabled health check for init and worker-beat services because they are always failed (unhealthy).

@PMExtra
For worker-beat one could do
    healthcheck:
      test: ["CMD-SHELL", "[ -f /proc/$$(cat /tmp/celerybeat.pid)/status ]"]

@kakoni I don't think so. It only checks if the process exists. But a health-check should check if the function effective.
And I think it make an unnecessary move. if the process is quit, the celery command should return and the container should be stopped.
What do you think?

@PMExtra Ah right, thats correct.

Sorry for the delay here, LGTM, can you plz solve current conflits @PMExtra ?


HNC: Reduce the number of times of object propagation

See this discussion.
We need to reduce the number of times we copy objects for no good reason.
If we introduce hier controller calls into object controllers and thus hier and object controllers can trigger each other, this should speed up the controllers significantly by reducing the unnecessary number of objects and namespaces hier to be reconciled.
The possible implementation could be:

Don't updateObjects() when namespace hier is reconciled if no hier structure changes
Don't propagate objects again if the source doesn't change.

/cc @adrianludwin

This isn't actually fixed until the new object controller is on by default and the old one is removed.

/close


Simplify UI with routing

We should simplify the UI with views to each elements.

[ ] Add view for all vestings ( filters ? )
[ ] Add view for all my vestings history ( filters? )
[ ] Add FAQ view

PR
https://github.com/1Hive/vesting-app/pull/17

Yeah view with filters so good approach, filters like only show active vesting, or "created by me" and etc.


Interacting with the page is blocked until the data is loaded

Is there an existing issue for this?

[X] I have searched the existing issues

Version of Corteza
2023.3.0-dev.1
Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce

Load a few hundres rows into a table
Load a list view
try and interact with the page before all the data is loaded
You won't be able to

Environment and versions
No response
Anything else?
Leads _ CRM _ Low Code.webm

I would assume you have no pagination on the record list, that is currently the only thing that we can do to prevent unresponsive pages. How many items are you showing on the record list?

I don't see anywhere here to choose number of records to display. I do see that it's displaying 500 records. Is a lot of clientside processing happening and that's why it's freezing up?

Oh, you're using an inline record editor.
Since it's meant for a smaller number of records (consider using a prefilter to limit them) it doesn't have pagination.
On default record lists there is a couple of options.
The main client-side processing is on record selector fields(fetching the related record), so if you display those in a column it takes much longer, try removing it from the columns to compare.

I've removed the relationship columns and that did help but it was still non-responsive. Additionally disabling inline editing made it responsive again.


Update seashore

Removed version and checksum because the url is clearly updated in place.

Thank you for the contribution. It was merged directly as 392c09c12bef6a83800d600c24d3892b6a6f5126 to keep commit history cleaner. Your contribution is still credited to you.


latex sharks overloading server

crash-2022-11-21_21.57.10-server.txt

could this by chance get fixed with a hotfix update? as it's really annoying to have the server crash every 4 minutes.

put some command blocks, and let they continually run:
/kill @e[type=changed:latex_shark_male]
/kill @e[type=changed:latex_shark_female]
/kill @e[type=changed:latex_tiger_shark]
Also, turn off command block output by  /gamerule commandBlockOutput false

put some command blocks, and let they continually run: /kill @e[type=changed:latex_shark_male] /kill @e[type=changed:latex_shark_female] /kill @e[type=changed:latex_tiger_shark] Also, turn off command block output by /gamerule commandBlockOutput false

ive even installed a mod on the server that stops them from spawning thing is it still crashes i think either because some players have shark form and the crash changes to abstractlatex

I think we need suspend shark and orca form before bug fix.

I cannot confirm this is from the Changed mod

Closing issue as cannot reproduce; reopen when you have effective steps to reproduce