gostwire fails to start with Failed to create temporary file error on MacOS running on M3

Following the description at https://github.com/siemens/edgeshark?tab=readme-ov-file#docker-host
$ wget -q --no-cache -O - \
>   https://github.com/siemens/edgeshark/raw/main/deployments/wget/docker-compose-localhost.yaml \
>   | docker compose -f - up
[+] Running 2/2
 ✔ gostwire Pulled                                                                                0.6s
 ✔ edgeshark Pulled                                                                                0.6s
[+] Running 2/0
 ✔ Container edgeshark-gostwire-1   Created                                                                                0.0s
 ✔ Container edgeshark-edgeshark-1  Recreated                                                                                0.0s
Attaching to edgeshark-1, gostwire-1
edgeshark-1  | INFO[2024-08-07T11:08:30Z] Packetflix Capture-as-a-Service version 0.9.7
edgeshark-1  | DEBU[2024-08-07T11:08:30Z] debugging messages enabled
edgeshark-1  | DEBU[2024-08-07T11:08:30Z] forwarding to discovery service enabled
edgeshark-1  | INFO[2024-08-07T11:08:30Z] starting capture service websocket server on port 5001...
gostwire-1   | INFO[2024-08-07T11:08:30Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:30Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:30Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:30Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
gostwire-1 exited with code 133
gostwire-1   | INFO[2024-08-07T11:08:30Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:30Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:30Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:30Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
gostwire-1   | INFO[2024-08-07T11:08:31Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:31Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:31Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:31Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
gostwire-1   | INFO[2024-08-07T11:08:31Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:31Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:31Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:31Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
gostwire-1   | INFO[2024-08-07T11:08:32Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:32Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:32Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:32Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
gostwire-1   | INFO[2024-08-07T11:08:34Z] Gostwire "The Sequel" virtual network topology and configuration discovery service, version 2.6.1
gostwire-1   | INFO[2024-08-07T11:08:34Z] Copyright (c) Siemens AG 2018-2023
gostwire-1   | INFO[2024-08-07T11:08:34Z] available engine process detector plugins: containerd, cri-o, dockerd
gostwire-1   | INFO[2024-08-07T11:08:34Z] available socket activator detector plugins: systemd
gostwire-1   | assertion failed [!result.is_error]: Failed to create temporary file
gostwire-1   | (ThreadContextFcntl.cpp:84 create_tempfile)
gostwire-1   |
Gracefully stopping... (press Ctrl+C again to force)
[+] Stopping 2/0
 ✔ Container edgeshark-gostwire-1   Stopped                                                                                0.0s
 ✔ Container edgeshark-edgeshark-1  Stopped

Using Docker Desktop 4.33.0.
 Since I'm not seeing the issue on my (old) Intel macbook, this would support your hypothesis that rosetta trips something up. Somehow rosetta then gets stopped dead in the tracks because we use read-only images and it appears that rosetta does not cover this situation (which looks weird in itself). There are no creating a temporary file operations in the sources that I'm aware of (and it would otherwise fail due to the readonly overlays on all other platforms).

Oh, wait, that there are aarch64 images as well was a good hint.
Since I usually have to use amd64 images, I set DOCKER_DEFAULT_PLATFORM=linux/amd64.
Once I unset it before running edgeshark, it works...

Maybe something like:
Attention: Apple Silicon users (M1,M2,M3,...) setting DOCKER_DEFAULT_PLATFORM to linux/amd64 in order to work with amd64 based images, should be aware that Edgeshark does not work in that case. Reason seems to be the rosetta emulation.

So the issue is solved from your side? Then I would like to close and would do a separate issue for the documentation update. Thank you very much for finding the reason!

Yes, feel free to close this issue!


'Draw a box' - Being explicit about the area to transcribe

Issue
I transcribed a line of data. Pressed save. Then did other things for a while before coming back to the page. When I came back to 'Draw a box...' I no longer remembered what data I had last transcribed.
Potential Solution
Add the name of the 'field group' that was last transcribed in the 'Draw a box...' message.
e.g "Draw a box around the [field group] observations you just transcribed."

Added field group name to the message


GlassFish needs an M4 release

GlassFish needs an M4 release that incorporates https://github.com/eclipse-ee4j/jaxb-ri/pull/1448 for a June milestone release.

you should be able to use 3.0.0-SNAPSHOT in ~30minutes...

I tried the snapshot and it fixes the GlassFish issue. Can you do a milestone. Once we have that GlassFish starts well and the admin console deploys and is accessible

@lukasj any chance you can push a M4 release ASAP as this is the final dependencie required for an M1 release of GlassFish 6.

@lukasj If you don't have time, I think I can do an M4 release as well. They won't go to Maven central, only to staging, and can be removed when needed.

I really don't need 4 emails on the same topic ;-)

We're just excited to be this close!
Thanks for your help.

I was only hoping to get a chance to fix (at least some) QLs for GF M1...


Match credits with soundtrack theme

Fix #10
Fix #9

I was thinking of adding some imagery instead of just making the text take longer to fade in and out

We can do that for a post-LD version. This is intended as a minor patch.

Ok then, merging.


python3 support?

I'm looking to rewrite some of the scripts we were using for fast5 parsing, and in particular to just borrow functionality from poretools but I'm having trouble running with python3.  In particular pip install fails because setup.py has a "print version" instead of "print(version)" I'll submit a fix for that, but I wanted to see if I can get everything up to speed at the same time.  In particular I'm seeing the error below about "scripts" missing, this error does not show up in python2.7.
It looks like there is no support for python 3 within the package (imports are relative, prints and exceptions lack parenthesis etc...) is there interest from the group in doing the conversion?
pfaucon@pfaucon-ubuntu:~/Desktop/poretools$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.

import poretools
Traceback (most recent call last):
File "", line 1, in
File "/home/pfaucon/Desktop/poretools/poretools/init.py", line 3, in
import scripts
ImportError: No module named 'scripts'

for what it's worth I was able to get poretools working in python3 with the following commands(standard linux):

do a generic conversion of python 2 to python 3, make a new directory with the updated python
-- 2to3 --output-dir=poretools-3 -W -n poretools
copy the things that weren't changed without clobbering new stuff
-- cp -nr ../poretools_built/ .
clean up the tabs (some of the developers work in vim/nano and mix tabs and spaces, also 8 spaces per tab)
-- find . -name '*.py' ! -type d -exec bash -c 'expand -t 8 "$0" > /tmp/e && mv /tmp/e "$0"' {} ;

after this I rebuilt in python2 and python3 and it seems to work fine.  If there is interest I would be happy to place a pull request, else one of you could run the same.

A poretools conversion to python 3 would be much appreciated pfaucon. I wouldn't be able to help to achieve this since I am fairly new to bioinformatics but I am happy to offer the computer systems that I have available for testing of any new builds.

This is great, thank you for the suggestion. @arq5x what do you think?

I am on board with this, but don't have any direct experience doing this. @tomsasani would you be up for tackling this with a bit of guidance from @brentp, as he has done 2 and 3 support for some of his tools.

it's already done, look at the pull request that I opened in October.  It is probable that there will be more changes to be made (or one could re-run my original pipeline to do the conversion).
I think the main problem is that there are no unit tests for pore tools so I did limited testing by hand at the time, but it would be more comforting to have a standardized testing.

@arq5x @nickloman @brentp @tomsasani
It seems like poretools hasn't had any maintenance for at least a few months, but it is still an important tool to the Nanopore community.  There are numerous new tools being released, and new file formats and folder formats being used.  Is there any interest in continuing the development, or at least maintaining it?
I would be willing to make some contributions, as I have used the tool, but only if they would actually be reviewed and possibly incorporated(unlike my proposed patch that has now sat for a few months :) ).

Well I think between us we've managed to keep up with the various changes required for new Metrichor (recursive folder operation) and the new MinKNOW 1.4 file format, but we are certainly overdue rolling a new release.
What we really could do productively is spend a couple of days looking through all the issues and pull requests and cleaning up the repository.

Agreed. Let's do that and yes, contributions from others are most welcome. Sorry for the slowness in integrating. We are juggling many software projects and just don't have enough hands on deck!

Cross referencing this pull request to add python3 support.
https://github.com/arq5x/poretools/pull/129


Problem with Dashboards

Dear All,
I have just install the packages and although the notebooks (all) are working without an error, when I run commands to visualize the dashboard (ExplanationDashboard(global_explanation, model, dataset=x_test, true_y=y_test) I get the following error: The kernel appears to have died. It will restart automatically.
Any suggestions?
Many thanks in advance
Nikos

@npapan69 , What is the error that you get?

No error,
I'm running the notebooks you provided without errors and when I run the last command invoking dashboard the kernel crashes and I get only the message that "The kernel appears to have died. It will restart automatically"

hi @npapan69 , sorry about the trouble you are having.  Can you please check the output of:
pip show jupyter

If you are running in a conda environment, it's possible that you are running jupyter from the default installed python instead of your activated environment, which I've seen cause the kernel to die.
If you are running conda and you do have jupyter installed in your current environment, I'm not sure what the issue could be.  In that case, could you please send us the result of running pip freeze command, which would show all dependencies:
pip freeze

Hello, I am experiencing the same error, my jupyter version in my environment, I have the 1.0.0 version and I am launching the notebook from the correct environment

I am getting this error prior to the dead kernel too "greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject"
Thanks in advance
Pau

@PauSempere-SQ that looks like a slightly different issue, I think you may need to update greenlet and gevent based on this stack overflow:
https://github.com/gevent/gevent/issues/1260
first, do you have greenlet and gevent installed via conda or pip?
Please run below to remove greenlet via pip and/or conda:
pip uninstall greenlet
pip uninstall gevent
conda remove greenlet
conda remove gevent

Then I would recommend to install via conda, but you can also install via pip:
conda install greenlet
conda install gevent

Please let me know if that resolves the issue.

@imatiach-msft yes, it has solved the issue, although I had the "dead kernel" situation too it is gone now. Thanks!

@npapan69 did any of the recommended fixes resolve the crashes you had?

Indeed after uninstalling and reinstalling different packages I was able to solve the problem, thanksNickolas Papanikolaou, Ph.D.Head of Computational Clinical Imaging GroupChampalimaud FoundationCentre for the UnknownAv. Brasília, Doca de Pedrouços1400-038 Lisbon, PortugalLandline: ++351210480073Mobile: ++351969323757On Tue, Feb 23, 2021 at 8:22 PM, Ilya Matiach<EMAIL_ADDRESS>wrote:
@npapan69 did any of the recommended fixes resolve the crashes you had?
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/microsoft/responsible-ai-widgets/issues/356#issuecomment-784485271",
"url": "https://github.com/microsoft/responsible-ai-widgets/issues/356#issuecomment-784485271",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

great to hear, closing this issue as it seems to be environment specific, related to gevent and greenlet packages


Does angular-notify not work with Angular 1.3*?

When I bower install angular-notify --save I got the following message:

Unable to find a suitable version for angular, please choose one:
    1) angular#~1.2 which resolved to 1.2.28 and is required by angular-notify#2.0.2
    2) angular#1.3.10 which resolved to 1.3.10 and is required by angular-resource#1.3.10
    3) angular#>= 1.0.8 which resolved to 1.3.10 and is required by angular-ui-router#0.2.13
    4) angular#~1.3.9 which resolved to 1.3.10 and is required by console
    5) angular#* which resolved to 1.3.10 and is required by angular-smart-table#1.4.8Prefix the choice with ! to persist it to boer.json

? Answer:: 2
bower angular-notify#~2.0.2    install angular-notify#2.0.2

I picked 1.3.10 and my notification does not seem to appear.

Never mind. Silly mistake on my part. Works just fine.


feat: add trie prefetch when executing blocks

Description
add a description of your changes here...
Rationale
tell us why we need these changes...
Example
add an example CLI or API response...
Changes
Notable changes:

add each change in a bullet point here
...

Potential Impacts

add potential impacts for other components here
...

Have you guys benchmarked this work yet? Pretty exciting and stuff we've talked about before, keen to see how well it does as state root is by far the bottleneck...

Have you guys benchmarked this work yet? Pretty exciting and stuff we've talked about before, keen to see how well it does as state root is by far the bottleneck...

Thank you for being so interested. We are currently conducting performance tests and will soon release the relevant data publicly.


Hash full signature for imported functions

Fixes #4268
The problem in #4268 was the short hash added to disambiguate imported functions only hashed the Rust identifier of the function. This is enough to ensure uniqueness within a single Rust module, but not across modules as in #4268. This resulted in 2 different wasm functions being exported under the same name.
I fixed this by hashing not just the function name, but the whole signature (name + inputs + outputs + some extra). This means that 2 function will only have the same hash if they have the same name, input, and outputs. If this happens, the functions also have the same ABI and exporting them both under the same name actually works.
(Note: I don't like that 2 functions with the same signature have the same hash, so if you want to, I can hash the source code position of the function as well to make collisions very unlikely.)
Consequently, the hashes of all imported functions are now different. A lot of tests were updated, but the main new test is called modules.rs.
I also had to enable the 'extra-traits' feature on syn. This feature enables implementing Hash for syn::Signature and other types.

(Note: I don't like that 2 functions with the same signature have the same hash, so if you want to, I can hash the source code position of the function as well to make collisions very unlikely.)

I'm a bit surprised why this doesn't cause issues already. I will take a deeper look.

I also had to enable the 'extra-traits' feature on syn. This feature enables implementing Hash for syn::Signature and other types.

That's probably very undesirable, I will take a look if we can avoid that.

I'm a bit perplexed how Rust is just ignoring the fact that we are exporting a function with the same exact name twice. I would have guessed a linker error or something.

Only if the two functions have different ABIs. They explained this when they talked about why no_mangle is unsafe in the 2024 edition. https://github.com/rust-lang/rust/issues/28179
I think this is also the cause of #2338, but I'm not 100% sure.


Enhancement: Adding Authentication with Keycloak

Motivation:
In the current landscape of enterprise applications, security is of paramount importance. With the rising popularity of Zeebe Simple Monitor, we believe it is imperative to enhance the platform's security features by integrating with Keycloak, an open-source Identity and Access Management solution.
Community Impact:
Adding Keycloak authentication will make Zeebe Simple Monitor more appealing to a wider audience, particularly users with projects that require strict security requirements. It will enhance the project's reputation, attract more contributors, and solidify its position as a secure and reliable tool for monitoring Zeebe instances.
Feature description:
The application will have secured access through Keycloak, ensuring that only authenticated users can access and view it. The ability to enable or disable this feature will be added and will be set based on the user's preference and specific use case.
I have this feature ready in my fork and it will be a matter of just patching it here. But before opening a PR I would like to discuss it with the maintainers as stated in your contribution guide.

Hi,
the Zeebe Simple Monitor did start as a simple tool for developers and so never had the need for security.
I understand that there are many installations out there in production environments, which is totally fine.
That said, adding security is not that high on the prio list, since there are very simple ways of securing already possible, like e.g. using a Kubernetes Sidecar with an OAuth flow and e.g. Github as an identity provider.
(Just google for general examples).
That said, I would be fine with optional features - which in terms of security mostly depend on the implementation.
Since you implemented the feature already, please feel free to open a PR and comment your ideas and solution approach.
Also, I you're aware of e.g. restrictions of your patch, please state them, so we can have a fruitful conversation.
PS: if your patch is still work in progress, feel free to open a "draft pr".


[DataMovement] [Storage] Move Blob to File (vice versa) Tests to it's own tests package folder

The Blob to File and vice versa tests are living in the DataMovmement Files folder, however it should just live in it's own folder by itself.
I've attempted moving it into it's own brand new folder however it will throw some errors when attempting to compile the FileShares and Blobs packages looking for .NET 7.0 and .NET462 DLLs.

We could cut this


Make QuilAtom/AbstractInstruction objects immutable

you can run into lots of weird edge cases if you are allowed to modify these. Particularly if they're included by reference in multiple places

In [4]: prog = Program([I(0)] * 4)
In [6]: for i in range(4):
   ...:     prog[i].qubits[0].index = i
In [8]: str(prog)
Out[8]: 'I 3\nI 3\nI 3\nI 3\n'

In [22]: prog = exponential_map(sZ(0)*sZ(1))(0.3)

In [23]: print(prog)
CNOT 0 1
RZ(0.6) 1
CNOT 0 1

In [24]: def remap_qubs(prog, qmap):
    ...:     for inst in prog:
    ...:         for qb in inst.qubits:
    ...:             qb.index = qmap[qb.index]
    ...:

In [25]: remap_qubs(prog, {0:10, 1: 11})
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-25-afdd72b94603> in <module>()
----> 1 remap_qubs(prog, {0:10, 1: 11})

<ipython-input-24-33e19cfc5415> in remap_qubs(prog, qmap)
      2     for inst in prog:
      3         for qb in inst.qubits:
----> 4             qb.index = qmap[qb.index]
      5

KeyError: 10

In [39]: prog = exponential_map(sZ(0)*sZ(1))(0.3)

In [40]: remap_qubs(prog, {0:10, 1: 11, 10: 20, 11: 21})

In [41]: print(prog)
CNOT 20 21
RZ(0.6) 11
CNOT 20 21


Update mockito-core to 4.5.0

Updates org.mockito:mockito-core from 4.4.0 to 4.5.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.mockito", artifactId = "mockito-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequest = { frequency = "@monthly" },
  dependency = { groupId = "org.mockito", artifactId = "mockito-core" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Codecov Report

Merging #248 (4d99be7) into main (cc014ef) will increase coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #248      +/-   ##
==========================================
+ Coverage   60.45%   60.51%   +0.06%
==========================================
  Files         153      153
  Lines        3237     3237
  Branches      102      102
==========================================
+ Hits         1957     1959       +2
+ Misses       1280     1278       -2

Impacted Files
Coverage Δ

...windows/stream/actor/HealthSignalStreamActor.scala
46.66% <0.00%> (+13.33%)
:arrow_up:

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 cc014ef...4d99be7. Read the comment docs.

Superseded by #251.


Adapt carto.js to Google Maps v3.32 / v3.31

On February 13th, 2018 Google released a new experimental version of Google Maps (v3.32) that doesn't get along with CARTO.js.
The problems seem related to some race condition or us doing things before the script is ready. That was not happening with previous versions.
We are now operating on the frozen version (v3.30) and still have the cushion of v3.31, but we should tackle this. Google Maps bumps version every 3 - 4 months so that's the time we have

The biggest issue is that the layers from Carto don't show on initial load, but do show up once you start zooming. I'd love to get this working, especially since 3.32 contains the new beta renderer which is 👌

Hi @knownasilya
We have been testing gmaps 3.32 and it seems that there are no more issues by now (v3.32.12).
But this version is still experimental, so we have decided to allow just the currently stableversion v3.31 and to wait for next release. This has been included in our new carto.js v4.0.1, available at NPM.
We have also updated our development docs at https://carto.com/developers/carto-js/ (see for example this gmaps map)
As a reference: Google Maps releases

Reopening. -> https://github.com/CartoDB/support/issues/1568

After spending the whole day trying to know what the issue is with cartodb.js v3, I ended up filing an issue to Google Maps team.
https://issuetracker.google.com/issues/80553979
I couldn't make any fix for that and I hope to get an answer for them. So far, there's nothing more we can do but I'll be on top of this, since it can break our library with GMaps. Depending on the answer, perhaps we need to rethink / refactor how we render CARTO.js with GMaps. 😨
Regarding JLL we need more info. Are they suffering from the very same issue or are they getting another error? We need that feedback to tackle it correctly in v4.

Fixed for cartodb.js v3 at v3.15.15
To get the last version -> http://libs.cartocdn.com/cartodb.js/v3/3.15/cartodb.js

Closing.
The JLL problem is not related to GMaps 3.32. It has now its own ticket. https://github.com/CartoDB/carto.js/issues/2132


Git tags?

Would it be possible for you to tag the releases in the git repo? At this moment it is not possible to see where for example the v1.3.2 release in the commit history.

I added tags after v1.3.0 release.

Thank you!


Ubuntu update

Addresses this issue

[x] Nexus
[x] Resource Processor
[x] Guacamole VMs
[x] Readme and docs
[ ] Test

@microsoft-github-policy-service agree company="CloudKubed"

/test

/test-destroy-env


Review files missing from HRIA

Some files/images exist in the HRIA file system but do not have associated records in the database. Many of these are likely to not be desireable in Arches, but they could (should) be reviewed and added directly into Arches post MVP.
The images were extracted as part of of the ETL but were not imported as they were not linked.

[x] #408
[x] #409
[ ] HB to review the missing files post-mvp to determine which if any to be loaded directly into Arches.

Dealt with in other tickets.


Add pull/get_page API

There are few things I'm not sure yet:

[x] I'm not sure whether we should use Vec::from_raw_parts for higher performance (I encountered with panic pointer being freed was not allocated, seems they don't use the same allocator?)
[x] Not sure std::ptr::drop_in_place would free the memory allocated by C, should we add a dependency libc to use libc::free?
[ ] Whether we can add an examples/ or tests/ besides the readme

Hi @d-k-bo, do you have time to review this PR? I wish we can have a release when this PR is merged.

The two issue about freeing pointer is solved: the pointer returned by ope_encoder_get_page doesn't need to be freed since it's a slice.

Sorry for my late response. I was on vacation and now I am pretty busy preparing for an upcoming exam. It might take a while until I can look into this.

Good suggestions! Fixed and request review again ❤

Whether we can add an examples/ or tests/ besides the readme

While it would be great to have proper unit tests (for the entire library), an example that shows how this API can be used would be a really good idea (either as an example in examples/ or as part of the docs for Encoder::create_pull).

@d-k-bo I'm afraid that my example/test code is not ready yet. Can we merge this pr first?

Thanks for your contribution!

It is now available in version 0.2.2 on crates.io.


Guess RNG state

Just a thought, but couldn't you guess the RNG state, and use that for better predictions?

Sure, but that's verging on cheating :) Plus, the RNG used is browser and OS dependent.

All RNGs have patterns. Just find the pattern.

Not going to happen, sorry. Feel free to make a fork in which you guess the RNG state ;)


ESP32-C3-DevKitM-1 RS485 pinout (IDFGH-12378)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
which pins are used to connect rs-485 on this board? it seems that:

UART Interface
#define
Default pin for ESP32
Default pins for others
External RS485 Driver Pin

Transmit Data (TxD)
CONFIG_MB_UART_TXD
GPIO23
GPIO9
DI

Receive Data (RxD)
CONFIG_MB_UART_RXD
GPIO22
GPIO8
RO

Request To Send (RTS)
CONFIG_MB_UART_RTS
GPIO18
GPIO10
~RE/DE

Ground
n/a
GND
GND
GND

are suggested but on my board there are not GPIO 23 as well as 22.
GIPO 9 and 8 are the right?
thanks in advance

You can change it to any GPIO using uart_set_pin.
https://github.com/espressif/esp-idf/blob/master/examples/peripherals/uart/uart_async_rxtxtasks/main/uart_async_rxtxtasks_main.c

@naltamura ,
The recommended pins for esp32c3 are in the column Default pins for others. If you need to change them you can do it in the menuconfig as suggested above.
Please check the pins available on the [board]:(https://dl.espressif.com/dl/schematics/SCH_ESP32-C3-DEVKITM-1_V1_20200915A.pdf). Also please check the information here because the GPIO8, GPIO9 are also strapping pins and you need to make sure the level on them is correct during boot.

The issue will be closed. Feel free to reopen if it is still actual.


feat(service): Add method to provider to get locale at config time.

I am using the angular-google-maps library along with angular-translate, which requires that a config time option be sent to google for which language the maps should be localized too. Rather than re-implement what angular-translate already does, I have added a method on the provider for returning the language that angular-translate is at least going to try first.
Of course this method will only provide a proposed language, because it's not until the languages are fetched that angular-translate can fully determine what language will be used, but I think that fallback mechanism can be handled differently, due to a different set of translations, for the library consuming this value.
It seems like it breaks the chaining that is presently in all the provider methods, but I didn't see a way around that without exposing some of the local variables as properties. Thoughts?

@cthrax  Thank you.
@angular-translate/core  What do you think? Should it be perhaps flipped?

@knalli what do you mean by "flipped"?

$preferredLanguage before $uses?
But I think I was wrong. $uses should be a higher priority.

So is there any movement on this? Do you need something else from me?

I'm asking myself if there really is any business value to the module as during config phase $translate.use and $translate.preferredLanguage both return values if queried - or am I just scanning our sourcecode quickly wrong in github.com? :-)

@tspaeth $translate is not available during the config stage, only $translateProvider. The "use" method of $translateProvider returns the private variable $uses, which is set by "use". If one is detecting the language, then $uses is not set until $translate is instantiated, so the "preferredLanguage" is calculated, but the $translateProvider does not expose that preferred language, likely due to the fact that it may not be the language used based on available translations.
So in short, no it does not return values at config time.

$translateProvider does expose preferredLanauge - or not?
See: https://github.com/cthrax/angular-translate/blob/feature/configTimeLocale/src/service/translate.js#L396

@tspaeth ah, I am/was using an old version I guess. This appears to have fixed what I wanted. https://github.com/angular-translate/angular-translate/commit/6014a813c6495b2a2d86215acdc2f4b8d690487b
Thanks for pointing it out and I retract my PR.


Dark Theme Mode

Hello, i love this program but please allow us to have a dark mode. The launching page WHITE is burning my eyes @ night,,,, Thank you

I second this motion.

I've started work on this

Duplicate of #228

I've started work on this

any hope ? :)


Missing documentation on groups and oidc claim name for groups

Preflight Checklist

[X] I could not find a solution in the existing issues, docs, nor discussions
[X] I have joined the ZITADEL chat

Describe the docs your are missing or that are wrong
As an administrator of my org, I want to be able to specify groups that re-gains me Admin privileges after IdP auth, for example one example is Harbor.
I couldn't find really any information what is returned from the profile scope, and how I can configure Harbor to get user's groups as a result.
Additional Context
Authentik as an example provides groups in profile OIDC scope as follows:
return {
    # Because authentik only saves the user's full name, and has no concept of first and last names,
    # the full name is used as given name.
    # You can override this behaviour in custom mappings, i.e. `request.user.name.split(" ")`
    "name": request.user.name,
    "given_name": request.user.name,
    "preferred_username": request.user.username,
    "nickname": request.user.username,
    # groups is not part of the official userinfo schema, but is a quasi-standard
    "groups": [group.name for group in request.user.ak_groups.all()],
}

Hei @samip5
We do not included, not standardized claims in the token.
But you can add any custom claims with the ZITADEL Actions.
You can find the documentation here: https://zitadel.com/docs/apis/actions/complement-token

I will close this issue, as we have the actions docuemented.


Spec updates

Stop testing legacy Firefox
Use Tech preview for Safari tests since tests actually pass using it
Test using the latest released Standalone Server
I copied Alex's approach to Selenium Travis here to minimize the number of things that get run. I think this is the right cross section.
Does anyone read the emails from Travis results? If so, I'll add back the notifications (@jarmo?)
I moved the server startup code into lib/watirspec because watirspec_helper was cluttered and because I was going to create a rake task that started the server... Then I decided not to do the rake task. But I think that code is better off in lib than in the spec directory.

Also, any ideas on the failing doctest for Selenium::WebDriver::Error::UnknownError: unknown error: failed to change window state to maximized, current state is normal?

I'm okay not receiving any notifications for this project anymore. Thanks for confirming!

This passed 9 days ago: https://travis-ci.org/watir/watir/builds/255369312
I just reran the doctest and it is failing. Same code, so...
Oh, just checked, chromedriver was updated between passing/failing results, so this is likely Google's fault. Though, not sure why it would just be an issue in docs and not in specs. I'll try to run on my linux box this weekend to see if I can reproduce.


⚠ Bofrost.lu has degraded performance

In a6ddaad, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1201 ms

Resolved: Bofrost.lu performance has improved in dbe9ab0 after 6 minutes.


fix sample to load thumbnail & use updated description method

@GuillaumeBelz please review and merge the updates to this sample

Looks good


Fixes #797: Used an environment variable called REMOTE_SOURCES_DIR to…

… locate source code and build using that source code.

Codecov Report
Base: 27.43% // Head: 27.43% // No change to project coverage :thumbsup:

Coverage data is based on head (70520e3) compared to base (45acf89).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #798   +/-   ##
=======================================
  Coverage   27.43%   27.43%
=======================================
  Files         132      132
  Lines       31635    31635
  Branches     5058     5058
=======================================
  Hits         8679     8679
  Misses      21851    21851
  Partials     1105     1105

Flag
Coverage Δ

unittests
27.43% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

lgtm, I'd just quote everything as I started indicating in the comments and try to have single if [ -z "${REMOTE_SOURCES_DIR:-}" ]; then on top of file that contains all the differences between GHA image build and network-restricted OpenShift build.

I have made the changes you requested. Thanks.

I have made the changes you requested.

Thanks, I just hope it's in the direction @ajssmith will appreciate ;)


Examine SPIFFE SPIRE helm-charts-flex

This is an exploratory issue.
Based on our finding, we can craete further follow up issues.
SPIFFE org has two official helm charts projects.

helm-charts-hardened
helm-charts-flex

The “hardened” is too rigid, and we need a flexible option (hence flex)
https://github.com/spiffe/helm-charts-flex
Examine the project; generate yaml manifests based off of helm-charts-flex and compare and contrast with what we have.
Although we don’t want to directly use helm-charts-flex as upsream, we can learn from the generated manifests and we might want to add/change things in our own SPIRE manifests.

@abhishek44sharma I’m closing this.
helm-charts-flex has been idle for 3-4 months.
and helm-charts-hardened (the other helm charts project under SPIFFE org) is an overkill for us.
If you see any patterns that you like in the project, feel free to adopt and move it to ours though; that’s fine.


[BUG] newtab

What happened?
yarn create plasmo "my-extension"  --with-src
yarn dev
不修改任何代码  编译完成后  加载到浏览器扩展上 我的浏览器每次点击创建newtab都会打开插件里指定的newtab页面 好像newtab被拦截了  只能打开插件配置的newtab.tsx页面 但是我只想从插件页面里打开newtab页面  当我正常浏览其他网站的时候 newtab还是打开我浏览器配置的页面例如空白页 请问我应该怎么配置
Every time my browser hits Create newtab it opens the newtab page specified in the plugin and it looks like newtab has been blocked and can only open the newtab.tsx page configured by the plugin but I just want to open the newtab page from the plugin When I browse other websites normally, newtab still opens the page configured by my browser, such as blank page. How should I configure it?
Version
Latest
What OS are you seeing the problem on?
MacOSX
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
(OPTIONAL) Contact Details
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

@louisgv

@crandmm so you don't want to set the newtab as default? I'm not sure what's the bug here is, since chrome extension overrides the newtab. you can go to the browser settings and reverse it or just disable the extension if you're not working on it.

Check chrome manual on how to revert the newtab - there's a section for it in the browser settings, not extension setting


upgrade gorethink to v3

gorethink v3 has some fixes that we would like to be able to use, but since we depend on notary, we can't use gorethink v3 ourselves. If both v2 and v3 are used at the same time, it causes a panic in protobufs:
panic: proto: duplicate enum registered: VersionDummy_Version

Please upgrade to gorethink v3.

@vikstrous Does this need to be backported to a particular version series, or can it go into master?

@vikstrous Nm, I checked slack and saw that it requires a backport.  :)

Closes this via #1074 & #1075 , thanks @cyli for picking this up and thanks @vikstrous!


Avoid static initialization of the kIdentity block

Unlike other Objective-C objects, there's no hard reason why the compiler wouldn't be able to initialize a block statically (as it does with NSString literals). And it certainly doesn't complain about it (like it does with other object initializers). But as I haven't been able to find confirmation of this, and we're seeing a weird crash occur near this code, let's play it safe.

This looks good to me. What is the hard reason that we defined the lambda individually on other ObjC objects?

Oh and I'm curious what is the unsafe (but maybe preferable) way to do this?

The deal is in ObjC this is allowed:
static const NSString * kConstant = @"string literal";

but these aren't:
static const NSString * kConstant = [NSString someConstructor];

static const NSArray * kAnother = [NSArray blahblah];

The compiler errors out in these cases explaining that, due to Objective-C's dynamic nature, it cannot know the amount of space needed to allocate those objects until runtime. For literal strings it can, which is why it lets us initialize a string statically. Fair.
The question is: does that work for blocks too? The compiler decides what a block looks like in memory, and, unlike other objects, there's no way to change that using the functions of the ObjC runtime. So it should work. And the compiler doesn't error out. But I've failed to find it explicitly documented as valid.

The advantage of the way it was written before is just that it gets a name. So it's no big deal. And maybe the way we were doing it is causing b/30913446.

That makes perfect sense. Thanks!

Ping @makdharma for supermerge powers.


Tapping on the background of the AddEvidenceModal doesn't dismiss the modal in iOS

For me, the only way I can dismiss the modal in iOS is tapping the "X" button at the center. I can dismiss it by tapping on any of the background area in Android, and I think it should work that way on both platforms.

@kueda are you using a simulator for iOS? If so, it might work on a physical device based on this issue
comments from this thread suggest using react-native-gesture-handler
But I'm not even sure if it's worth it.

Sorry, just seeing this, @Chrischuck. You're probably right. I'm usually using a simulator, but I'll try on my iPad.

I believe this was fixed in this commit. Needed different styling to make the backdrop tap work correctly.


rgb2luv,letterbox,swizzle

rgb2luv colorspace conversion
letterbox effect (cinema style)
single texture swizzle shader
update unit tests
clang-format update
bump version to 0.2.2

Moved #24 to upstream repository.

Moving the PR here seems to fix the cache update.  It might be easiest to just force a valid error code from the upload script, so we can opportunistically update the cache when the PR Is local.  That way the project can still accept a PR from a fork.

It might be easiest to just force a valid error code from the upload script

I expect uploading script do upload files and return error if for some reason upload didn't happened.

That way the project can still accept a PR from a fork

To relax upload requirement we need to deduce the fact that pull request come from fork. Not sure if it's possible, need to check this page:

https://docs.travis-ci.com/user/environment-variables/

To relax upload requirement we need to deduce the fact that pull request come from fork. Not sure if it's possible, need to check this page:

I don't see any direct way to do this, but one possibility comes from the fact that encrypted variables are not available to PR's from forks:

Encrypted environment variables are not available to pull requests from forks due to the security risk of exposing such information to unknown code.

if [ ! -z "${PR_IS_NOT_A_FORK}" ] ; then do_upload; fi


Limit the number of concurrent git connections to 10, and make it configurable

Default git_max_concurrent_connections is set to 10 hosts per group.
Default git_wait_interval is set to 3 seconds.
This enables deployments for large number of servers with default Gitlab or similar git server configuration with default SSH settings (max 10 concurrent connections).

Hi @grzegorzblaszczyk thanks for the contribution

with default SSH settings (max 10 concurrent connections).

On which platform is this the defaults and could you link us to the docs please? I selected the values we have very carefully a number of years ago (like 5+) because of some platform having unusually low limits, which caused really confusing error messages.
I'd like to think the world has advanced somewhat in that time, and that we can indeed raise the defaults!

Hi @leehambley
Try Gitlab self-hosted with default settings. SSH settings by default are for 10 concurrent connections.
That's why the workaround is to raise the limit in SSH settings but sometimes it's hard to convince Gitlab admin to change these settings. That is why I created the pull request.

So this patch is to lower the amount of default concurrency in Capistrano to make it compatible with self-hosted GitLab environments, did I get it right?
I assumed you were talking about a platform's default outgoing SSH limit, which is why I queried it.

Yes, it's about making it compatible with self-hosted GitLab environments (server side in /etc/sshd_config).

@mattbrictson @will-in-wi can I get a second opinion on this? I like the limits on the git.rake file, I'm not sure about the default values.
Can you think of any problems that might arise?

@grzegorzblaszczyk could you rebase this PR against the latest master? This repo doesn't use CHANGELOG.md anymore so we need to make sure that part of the PR diff is removed. Thanks!
@leehambley we've had requests over the years to switch the git tasks to in: :groups to address this problem. This change seems good to me.
The only potential issue is that existing users upgrading may see a slowdown in their deployments if they have a large fleet of servers and are used to the existing parallelism of the git tasks. As long as we document in the release notes that they will have to increase :git_max_concurrent_connections, then there is a easy upgrade path.
I'd have to refresh my memory: do you think that in: :groups with a sufficiently high :limit is pretty much indistinguishable from in: :parallel?

@mattbrictson Thank you for spotting it. I have rebased it against latest master. CHANGELOG.md is now from master branch.

@grzegorzblaszczyk Thanks for the rebase! One more request: in this PR, could you add an explanation of the new :git_max_concurrent_connections and :git_wait_interval settings to the docs? Our documentation is not the greatest but every little bit helps. 🙂
https://github.com/capistrano/capistrano/blob/master/docs/documentation/getting-started/configuration/index.markdown
@leehambley @will-in-wi I'm inclined to merge this PR once the docs are updated. Any objections?

No objections @mattbrictson this looks good.
I'm still having minor reservations about changing the world-wide defaults because one platform happens to have restrictions, but we've made similar calls in the past, and objectively the code is better now that it has bounded parallelism.
Thanks @grzegorzblaszczyk

@leehambley I have updated the docs.
Feel free to comment if anything is unclear with added description of these properties.
If you are happy with the documentation, I would love to see it in master branch ;)

Merged! Thanks for the PR 🙌

@mattbrictson Thank you! Looking forward for the next release of capistrano then. 💪

Expect a 3.12.0 release by this time next week.

3.12.0 is released: https://github.com/capistrano/capistrano/releases/tag/v3.12.0

I'd like to suggest adding support for :git_max_concurrent_connections to be set to something that would be equivalent to the old behavior (everything in parallel at the same time), if that would be simple enough to implement.

This should give you the same behavior as before:
set :git_max_concurrent_connections, 1_000_000 # some sufficiently large number
set :git_wait_interval, 0

I just upgraded to Capistrano 3.12.0 and noticed deploys (from Github) were taking twice as long. Using set :git_wait_interval, 0 indeed fixed it. Why is this no longer the default?
I've used Capistrano for the better part of a decade without any issues with the old defaults, do we really need that waiting interval? (Perhaps we can at least make it zero when deploying to a single server?)

I agree, I didn't anticipate that side effect when this PR was merged. I suspect the vast majority of Capistrano users would be better served by a default wait interval of zero. Those that need a non-zero value can set it.
@Fjan would you like to open a quick PR for that?

Sure, added it here: https://github.com/capistrano/capistrano/issues/2049


[question] error treatment

if we here get an error from PromiseInterface, no one will report.
https://github.com/unreal4u/telegram-api/blob/master/src/TgLog.php#L89

@umbri The returned promise just fails.

@kelunik It is silently ignored, i think it must be something like this https://github.com/umbri/telegram-api/blob/master/src/TgLog.php#L93
If something goes wrong (ex: you set invalid A_GROUP_CHAT_ID), request fail but you get nothing, even with Logger

You are absolutely right, the logger should at least log the error, good catch.
Exceptions however can be captured, you just have to define a second closure, as seen in the following example: https://github.com/unreal4u/telegram-api/blob/master/examples/get-chat-member.php
However, I think the most basic examples should include some way of capturing exceptions. Will definitely include an example with this.
Commit c568622e6 however broke this, so I fixed it in 9e0f6818f6e9 .
Hope this resolves your doubts 👍


DM-40926: Make the left and right sidebars sticky

Make the content of both sidebar sticky when visible on page and also allow them to independently scroll if longer than the viewport. This is useful for accessing the document outline, for example.

https://github.com/lsst-sqre/technote/assets/349384/51fcf423-c0fd-4a65-bdac-e5d5f868c01d


added link to correct spotify install instructions

Blockify requires Spotify > 1.0.12. If you install Spotify via https://www.spotify.com/nl/download/linux/, you end up with an old version and blockify does not work (tested on Ubuntu 14.04).
As a fix, use the official instructions for the beta spotify version; https://community.spotify.com/t5/Spotify-Community-Blog/Spotify-Client-1-x-beta-for-Linux-has-been-released/ba-p/1147084.
It would be nice if the blockify manual was updated and outlines how to install spotify or links to the correct instructions.

Blockify requires Spotify > 1.0.12. If you install Spotify via https://www.spotify.com/nl/download/linux/, you end up with an old version and blockify does not work (tested on Ubuntu 14.04).
As a fix, use the official instructions for the beta spotify version; https://community.spotify.com/t5/Spotify-Community-Blog/Spotify-Client-1-x-beta-for-Linux-has-been-released/ba-p/1147084.
It would be nice if the blockify manual was updated and outlines how to install spotify or links to the correct instructions.

added link to correct spotify install instructions


[WIP] Test upgrade

Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

/ci-e2e

/ci-e2e

/ci-e2e

/ci-e2e

/ci-e2e

Cilium Conformance E2E turns green, it appears our patch from https://github.com/cilium/cilium/pull/25962 is working.


Add monkey patch for --console-log dev env

Running superset runserver --console-log would return the following error:
/Users/hmiles/src/incubator-superset/superset/cli.py:22: MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6.
It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See https://github.com/gevent/gevent/issues/1016. Modules that had direct imports (NOT patched): ['b
otocore.vendored.requests.packages.urllib3.util.ssl_ (/Users/hmiles/src/incubator-superset/venv/lib/python3.6/site-packages/botocore/vendored/requests/packages/urllib3/util/ssl_.py)', 'botocore
.vendored.requests.packages.urllib3.util (/Users/hmiles/src/incubator-superset/venv/lib/python3.6/site-packages/botocore/vendored/requests/packages/urllib3/util/__init__.py)', 'urllib3.util.ssl
_ (/Users/hmiles/src/incubator-superset/venv/lib/python3.6/site-packages/urllib3/util/ssl_.py)', 'urllib3.util (/Users/hmiles/src/incubator-superset/venv/lib/python3.6/site-packages/urllib3/uti
l/__init__.py)'].
  gevent.monkey.patch_all()

With this i've added the monkey patch code to our bin and now things are working normally
@betodealmeida

Codecov Report

Merging #5301 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5301   +/-   ##
=======================================
  Coverage   61.31%   61.31%
=======================================
  Files         369      369
  Lines       23468    23468
  Branches     2717     2717
=======================================
  Hits        14390    14390
  Misses       9066     9066
  Partials       12       12

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 04fc1d1...8a90147. Read the comment docs.

This is scary. Can we add that on the console-log side if possible. gevent is not a superset dep, it's a console-log dep. For the record you can check that with the super-useful pipdeptree utility


Rewrite the introduction of the "Writing Istio Config" page

https://github.com/istio/istio.github.io/issues/188

Jenkins job istio.github.io/presubmit passed


Ability to customize syntax highlighting string color (compared to numbers)

It does not seem to be possible to highlight strings in a different color than numbers.
I've been working on a Monokai syntax for micro, which I will submit as a pull request, but right now it doesn't look that good because of this.

edit the syntax file (found in cmd/micro/runtime/syntax/$language.micro) and copy it to ~/.config/micro/syntax/$language.micro

Ok it seems like maybe I should add some more groups to the syntax highlighting system. I was trying to copy Vim with the groups, but it turns out Vim actually has a ton more groups.
The colorscheme looks great by the way!

See commit dbeb99bb6b361c4b21ab8f3d4f4cfd67a64a403f for a start (I accidentally linked that commit to issue 176 instead of this one).


Progress event jumps to final value when release

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/s/swiper-default-forked-cds8u
Bug description
When attaching a progress event to swiper, you get a smooth progress value as you hold and drag the slider. As soon as you release (and the animation to move to the nearest slide begins) the progress event gives only the final value of the animation.
This becomes really obvious when you use this progress value for something and you see this "jump" when you release.
Just look at the reproduction example and look at the console to see what I'm talking about..
Expected Behavior
The progress event should also respect the transition animation between slides when you release your finger / mouse instead of jumping to the end-value.
Actual Behavior
No response
Swiper version
7.0.7
Platform/Target and Browser Versions
All
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

No, it shouldn't. Progress is attached to position/transform, and due to how CSS transitions work, we don't and won't calculate these values


chore(main): release 1.0.5

:robot: I have created a release beep boop
1.0.5 (2024-01-04)
Bug Fixes

Location bindings (#11) (f76bab5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/cedricziel/mattermost-php/releases/tag/v1.0.5 :sunflower:


Route change event

Hey,
I need to add a route change event handler within my route definition.
AuthModule/Routes.js

Router.createRoute({ path: /login, name: "auth-login", handler: App, parentRoute: route }, function(){
        Router.createDefaultRoute({ handler: Login });
        Router.createRoute({ path: "/register", name: "auth-register", handler: Register });
    });

// This is what I need
Router.on("transition", function(from, to, cancel){
// e.g. if !loggedIn && to.name.indexOf("auth-") != 0 -> cancel
})

Using statics on handlers is not a solution (avoid boilerplate), also using Router.Run to track route changes isn't my preferred solution (not modular). Is there anything available like this?
Thanks in advance!

Have you considered creating your own mixins for handlers that need the route protection? For example:
Authenticated mixin:
var Authenticated = {
    statics: {
        willTransitionTo: function(transition) {
            if (!AuthStore.isAuthenticated()) {
                transition.redirect('login', {}, {nextPath: transition.path});
            }
        }
    }
};

Then in each handler, or in a parent handler for all child handlers, you just include it
React.createClass({
    mixins: [Authenticated],
    ...
})

Thanks for your help, though I knew of this solution. I really prefer to let my router decide what location needs authentication instead of the component. As I use the programmatic API, this solution suits my needs:
var transitionHandler = function(transition) {
       // could also check transition.path
            if (!AuthStore.isAuthenticated()) {
                transition.redirect('login', {}, {nextPath: transition.path});
            }
        }

Router.createRoute({ name: "route1" , onEnter: transitionHandler });
Router.createRoute({ name: "route2" , onEnter: transitionHandler });

Hi,
There is way to use "onEnter" with JSX?

+1 looking for answers on previous question from @calbertts

This example: https://github.com/rackt/react-router/blob/master/examples/auth-flow/app.js#L129 suggests to me that you can. I'm not having luck making it work though, so I have the same question as @calbertts.

Same question as @calbertts  (I couldn't get the example https://github.com/rackt/react-router/blob/master/examples/auth-flow/app.js#L129 does not work)

+1 same here
(I couldn't get the example at https://github.com/rackt/react-router/blob/master/examples/auth-flow/app.js#L129 to work)

I manage to make the auth example work by adding "super()," in the constructors.
class App extends React.Component {
constructor () {
super(),
this.state = {
loggedIn: auth.loggedIn()
};
} ......

What about this issue now?

master (forthcoming 1.0 API) has hooks on routes, check out the auth example and the docs

@ryanflorence Not sure you read the discussion above, this issue concerns the onEnter callback added in version 1.0

Same question as @mcobzarenco

If you're using 0.13.x, you'll want to be sure to reference the 0.13.x docs. I think we've got a broken link from the 0.13.x branch README that unfortunately sends you there. We'll fix that.
In the meantime, you can find docs for 0.13 here: https://github.com/rackt/react-router/tree/0.13.x/doc

For detecting route change within a component (e.g. if just the URL parameter changes) I've managed to get change detection working with a mixin:
module.exports = {
  componentWillMount: function() {
    this.setState({
      _routePath: this.getPath(),
    });
  },

  componentWillUpdate: function() {
    var newPath = this.getPath();

    if (this.state._routePath !== newPath) {
      this.setState({
        _routePath: newPath,
      });

      if (this.onRouteChanged) {
        this.onRouteChanged();
      }
    }
  },
};

Then in your component simply add a onRouteChanged method to handle the route change.

@hiddentao Do you have any idea why this is being triggered twice every route change?

@frg Thanks for that. If onRouteChanged is being called twice then my guess is that the setState() call isn't being processed in time (thus causing this.state._routePath to still be the old path) before the second time the lifecycle method gets invoked - thus causing onRouteChanged to be called again.

I do it like this, ataching event to Location:
componentDidMount() {
	this.context.router.getLocation().addChangeListener(listener);
}
componentWillUnmount() {
	this.context.router.getLocation().removeChangeListener(listener);
}

using Router.HistoryLocation
Router.run(routes, Router.HistoryLocation, (Handler, state) => { ... });

Since a few people above have asked about onEnter in jsx and I didn't see an answer, this appears to work just fine to me:
function temp() {
  console.log('Hi');
}

const routes = (
    <Route path='/' component={Index}>
      <Route path='path1' component={comp1} onEnter={temp} />
      <Route path='path2' component={comp2} onEnter={temp} />
      <Route path='*' component={FourZeroFour}/>
    </Route>);

@AndrX your solution is great. Saved me a bunch of trouble.
There was a problem with your code, though, so I made a few modifications and ended up with this:
componentDidMount() {
  this.context.router.listen(this.locationHasChanged)
}

componentWillUnmount() {
  this.context.router.unregisterTransitionHook(this.locationHasChanged)
}

Works beautifully.

Yeah onEnter is fine now since react-router 1.0.

Is there a way to listen to all route changes? For some reason my windows popstate event isn't being fired (perhaps it's being consumed by react-router?) and onChange/onUpdate doesn't seem to work on the top level route? Thanks

@DominicTobias You can call the same function for all routes and use a callback to distinguish each route if you need a custom behavior.

Thanks for the fast reply @KeitIG, I'm not sure if this is supposed to be internal but I discovered a more convenient approach:
browserHistory.listen(function(ev) {
  console.log('listen', ev.pathname);
});

<Router history={browserHistory}>{routes}</Router>

Looks better indeed :)

Please open a question on Stack Overflow and we'll answer it there.

@DominicTobias Thanks for that, I went with your solution. With a large number of routes it is not practical to add the callback to each one and also the onEnter function could get quite busy if you want to use it for authentication, authorisation etc.

@DominicTobias Just what was looking for!

If someone is still troubled with this issue I am using a custom solution with Eventemitter.
See the files [here] (https://github.com/puranjayjain/youtube-dl-gui/tree/master/src)
The important files are:

subviews/Addurl.js
helpers/mrEmitter.js
app/Sidebar.js
app/Main.js

If you are looking for a small example see this

Any reason why browserHistory.listen is not documented?

@DominicTobias I've spent all my day trying to find a way do handle route changes. THANKS A LOT!

I test and give you this:
console.log('this.context.router is same as this.props.router', this.context.router === this.props.router); //true
console.log('this.context.router is same as browserHistory', this.context.router === browserHistory);   //false
console.log('this.context.router.push is same as browserHistory.push', this.context.router.push === browserHistory.push);   //true

Tried to find a method for this aswell and ended up here, but I just realized I already have it:
<Router history={browserHistory} onUpdate={this.doStuffOnUpdate}>....</Router>

Maybe I'm interpret it wrong, but seem to work fine for me, ref: https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onupdate

try to implement HOC (Higher order component), you can take reference  below code
import React,{Component,PropTypes} from 'react';
import {connect} from 'react-redux';

export default function (ComposedComponent) {
  class Authentication extends Component{
    static contextTypes={
      router:React.PropTypes.object
    }

    componentWillMount(){
     console.log(this.props.authenticatedUser);
      let token = localStorage.getItem('jwtToken');
      if(this.props.authenticatedUser==='logout' || token==='undefined'){
        this.context.router.push('/login');
      }
    }

    componentWillUpdate(nextProps){
      console.log( 'tt ' +nextProps.authenticatedUser);
      let token = localStorage.getItem('jwtToken');
      if(nextProps.authenticatedUser==='logout' || token==='undefined'){
        this.context.router.push('/login');
      }
    }

    render(){
      return(<ComposedComponent {...this.props} />)
    }
  }

  function mapStateToProps(state) {
    return {
      authenticatedUser: state.user.status,
      user: state.user
    };
  }
  return connect(mapStateToProps)(Authentication) ;
}

@DullReferenceException  https://github.com/ReactTraining/history#listening

I need to do something before the route change. Is there any before route change event?
browserHistory.listen handler is fired just immediately after route changes.

@vnsrahul1304, try browserHistory.listenBefore

I also could use an event like this, but for now I am using the same action (a link click) to trigger a second function that would otherwise respond to a route change event.


[SPARK-46345][PS][TESTS] Reorganize DiffFramesParityCovCorrWithTests

What changes were proposed in this pull request?
Reorganize DiffFramesParityCovCorrWithTests, break it into two tests
Why are the changes needed?
test code clean up
Does this PR introduce any user-facing change?
no, test-only
How was this patch tested?
ci
Was this patch authored or co-authored using generative AI tooling?
no

ci: https://github.com/zhengruifeng/spark/actions/runs/7151438370/job/19475739603

cc @HyukjinKwon

merged to master


CANT GET TO WORK

Hey hey, need help getting to work, it isnt running the program it needs to run to configure settings and always just says python is downloaded press any key
hlp pls

Could you give more informations ? Is there any logs created in the program folder ? If yes can you provide them ?
Same for the python output. Try to run the configure script with:
python start.pyw or/and python config.pyw
Thanks


PDR scraper, R-Pi installer

Description
Add a scraper via serial for decoders. This will allow users with pager decoders to upload messages. Mulit-part messages are handled via the device so no need to mess around with that side of things.
The python does have some library's that need to be installed.
Raspberian  now has its own version of Nodejs installed being version 6. the install script will remove that version and install version 18 - 20
Fixes # (issue)
Raspbain nodejs version 6 #579
Type of change
Please delete options that are not relevant.

[ V] Bug fix (non-breaking change which fixes an issue)
[ V] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
New install of Raspbain to try install script.
PDR.py has been used on another project of mine for 3 years now with no issues.
Checklist:

[ V] My code follows the style guidelines of this project
[ V] I have performed a self-review of my own code
[ V] I have commented my code, particularly in hard-to-understand areas
[ ] I have updated changelog.md with changes made

@Shaggs
I get the following error..
Guess the output of mine is different so unable to review it..
Traceback (most recent call last):
File "pdr.py", line 46, in
line = line.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 2: invalid start byte

Guess the output of mine is different so unable to review it..

Having worked with a few different hardware decoders, i can tell you that the output of all of them differ slightly. Its also usually programmable.
Some of them also output messages to a socket rather than UART. So you have to setup a socket listener on the server and then pipe the data somewhere.
For that reason i basically make the solution on the fly. Theres a few ways to approach that, but the easiest way for most would be to form a string that looks like the output of multimon and pipe it straight to reader.js
You'll have a hard time coming up with a one size fits all solution, even with hardware decoders from the same manufacturers, in my experience.

I suggest not merging that into the main repo, but rather have it as a separate repo and link to it in the readme.

Also, please always keep different features in their own respective branches and pull requests, so we can merge one and reject the other. ;)


⚠ Bofrost.at has degraded performance

In 7b9f855, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1455 ms

Resolved: Bofrost.at performance has improved in f9bf6d2 after 8 minutes.


[BEAM-2791] Support low-latency StorageApi sink with no exactly-once guarantees

friendly ping

LGTM

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit


Larynx needs AVX compatible CPU on amd64.

Seems larynx compiled with AVX on amd64. It would be nice to add CPU requirement to documentation!
As example - if you using KVM based VM with kvm64 CPU, you will be surprised - why larynx doesn't work?! :laughing:

Yeah, the speed difference without AVX is pretty large. I'm still thinking about how I'm going to do this properly with Larynx.
For now, I've created "no AVX" variants of my MozillaTTS docker images. I'll update the Larynx ones when I get a chance.

(!) just ran into the same problem. larynx works on a rpi4 satellite - but not on my home server. looking forward to that "no avx" variant.

@synesthesiam would it be possible to show a message/infobox about this missing AVX cpu feature? something like "this will not work on your CPU" or if you get time to create no AVX variants something like: "this will be slow on your CPU".
correct me if I am wrong, but I assume the following options are not working on such CPUs:

microft precise
mozilla deepspeech
rasa NLU
larynx
(normal) mozillaTTS

@synesthesiam would it be possible to show a message/infobox about this missing AVX cpu feature? something like "this will not work on your CPU" or if you get time to create no AVX variants something like: "this will be slow on your CPU".
correct me if I am wrong, but I assume the following options are not working on such CPUs:

microft precise
mozilla deepspeech
rasa NLU
larynx
(normal) mozillaTTS

For future me: https://detect-simd.readthedocs.io/en/latest/

For future me: https://detect-simd.readthedocs.io/en/latest/

I believe the same problem is also seen on Deepspeech on AMD64?
Seems like this also requires AVX. Is there also a no AVX branch available?

I believe the same problem is also seen on Deepspeech on AMD64?
Seems like this also requires AVX. Is there also a no AVX branch available?

OK, in 2.5.10 I'll put a warning on the settings page for Larynx, DeepSpeech, and Precise. For Rasa and MozillaTTS, I'll hold off since those are external services that could be running anywhere.

OK, in 2.5.10 I'll put a warning on the settings page for Larynx, DeepSpeech, and Precise. For Rasa and MozillaTTS, I'll hold off since those are external services that could be running anywhere.


Show only 1 option after select filtering

I am using Rails and gem ajax-datatables-rails for this.
Filtering work fine, but there is some bug(?), at first, it will show all options.( in this case only 2 options)

After i  choose filtering, and click again, it only show my options.

Only after i choose "Select Value" again then it will show all options again.. how to fix this?

okay my mistake, after adding some data, i found out it only show 2 options because it only check current datatable's page. somehow it cant detect all data from the datatables ajax..

here's my datatable & yadcf init, i checked http://yadcf-showcase.appspot.com/DOM_Ajax_Multiple_1.10.html too..
pls help @vedmack

Its not a bug but rather a question, In addition to your returned data from server you must return additional data for yadcf filters , yadcf_data_0 / yadcf_data_1 / yadcf_data_2 / ... read in docs (yadcf js file) and see showcase server side sample page, in addition see this Q/A on SO


"allowed families" argument ignores LightGBM

Hello everyone! Unfortunately when I use allowed_model_families  in the AutoMLSearch class, it is absolutely ignored and other models like Random Forest are used. I want to use only LightGBM  and it is really annoying to see other models during the search. Also there is funny difference between allowed_model_families  and excluded_model_families. First one uses str data type as an element of a list which goes into the argument, and latter one uses only ModelFamily instances. What's the reason behind this difference?
The command I use to run
automl = AutoMLSearch(
    X_train=X_train,
    y_train=y_train,
    data_splitter=cv,
    problem_type="binary",
    objective='f1',
    additional_objectives=["auc", "precision"],
    allowed_model_families=["lightgbm"],
    max_batches=3,
    optimize_thresholds=True,
    verbose=True,
)

automl.search()

As you can see Random Forest are used somehow, but I do not need it. Only LightGBM. Thanks in advance.

Hi @ismorphism, thanks for filing. This is certainly a documentation failure on our part. The allowed_model_families argument only effects searches run with the IterativeAlgorithm, rather than our default DefaultAlgorithm. To limit to LightGBM, I would recommend this code instead:
automl = AutoMLSearch(
    X_train=X_train,
    y_train=y_train,
    data_splitter=cv,
    problem_type="binary",
    objective='f1',
    additional_objectives=["auc", "precision"],
    allowed_model_families=["lightgbm"],
    automl_algorithm="iterative",
    max_batches=3,
    optimize_thresholds=True,
    verbose=True,
)

We will update the documentation to include this.


Cross compile to 2.12.0?

Is there a plan to add support for the new Scala version? I don't mind submitting a PR to get it done (assuming it's not blocked), but would like to know that it would get released.
:)

This would be cool, any plans on that?

I went ahead and sent PR #74 to cross-compile to 2.12. I really need this myself (this dependency is the final one keeping me from upgrading to 2.12), hope we can move forward with this.

As a workaround I use this fork for now: https://github.com/daviddenton/handlebars.scala

Hi, @haakonn has kindly put in a PR for this. Is there anybody with merge privs that can merge that PR in please?


gnome-shell crash on first running keybase Ubuntu 16.04.1 64 bit

gnome-shell crash on first running keybase Ubuntu 16.04.1 64 bit
my log id: 5309e21f48aad41d1c97dc1c
What showed up in the Gnome terminal was as follows:
Selecting previously unselected package keybase.
(Reading database ... 1380575 files and directories currently installed.)
Preparing to unpack keybase_amd64.deb ...
Unpacking keybase (1.0.17-20161007160040.61672fe) ...
Setting up keybase (1.0.17-20161007160040.61672fe) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
simon@fletcher:~/Downloads$ run_keybase
Launching keybase service...
Mounting /keybase...
Launching Keybase GUI...
Success!
I also got a rather nice ASCII-art squirrel, but no GUI launched.
The keybase filesystem is mounted:
simon@fletcher:~/Downloads$ mount | grep keybase
/dev/fuse on /keybase type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

There is a 'keybase' entry under 'Internet' in the 'Applications' menu in Gnome (gnome-shell 3.18.5-0ubuntu0.1); selecting it launches the GUI successfully.
So essentially the DEB installer worked but failed to launch the GUI, and, in failing, caused the operating system to believe there had been a crash in gnome-shell.
Note that most Ubuntu users are probably running Unity, not gnome-shell, so this issue (if reproducable) probably doesn't affect many users,

Cc: @oconnor663  on the gnome-shell crash

I see an error in your log that looks interesting:
Couldn't touch startup.txt file: { Error: ENOENT: no such file or directory, open '/home/simon/.local/share/keybase/started.txt'

I bet we're causing that by not mkdir'ing ~/.local/share/keybase before we try to touch that file. cc @chrisnojima
However, I don't think that error's supposed to be fatal. @simon-brooke is it possible Keybase is actually running in a way you can't see? What does ps aux | grep /opt/keybase/Keybase show? Gnome Shell hides tray icons in a really hard to find place at the bottom of the screen, but if Keybase is running, our little dog/ferret/raccoon icon should be in that hidden mouse-move-activated tray.

@chrisnojima I'm also seeing Error: Error: No installer path before the other error I mentioned above, so presumably that's not fatal either? But I wanted to make sure you saw it.

I'm sorry, I've shut that machine down, so I'm not able to check processes; but, as stated above, I was subsequently able to start the GUI client from the Gnome3 application menu.
Also, note that I subsequently installed, using the same x64 DEB package, on a MacBook Air running Ubuntu 16.04.1 but with Unity rather than Gnome3 (Jeweller), and this installation completed successfully and launched the GUI client. So I'm guessing that whatever went wrong on Fletcher was specific to Gnome3, which is not the default GUI environment on Ubuntu.

@gabriel thoughts?

The installer error message in this case is non fatal (it's only logged), since on linux the package manager does installer stuff instead. (We should probably check platform since we only do installer on start on mac.)
The splash (started.txt) is also non-fatal.
Must be something else?


WIP: Adds Jpeg decoding support on linux.

Hi,
As discussed here. This PR brings support for jpeg decoding on linux.
Thanks

It is still a work in progress,
Not working yet.


[FLINK-16254] Support -p / --parallelism command option

This PR adds support for specifying parallelism for Stateful Function applications using the -p / --parallelism command.
The new behaviour as as follows:

If -p is defined in the command line, then that value is always used as the parallelism.
Otherwise, the parallelism.default value in flink-conf.yaml is used, which by default is 1 if not present.

Changelog

27e7abc Adds parsing logic of the parallelism option from the command line, and adds the property to StatefulFunctionsClusterConfiguration.
07c8dd2 Resolves the parallelism to use in StatefulFunctionsJobGraphRetriever, and uses the resolved value to create the JobGraph.
ee61047 Adapt the E2E tests, so that they use the -p command to specify parallelism.

Verfying
The changes to the E2E tests in ee61047 verifies this change: mvn clean verify -Prun-e2e-tests

Thanks for the review Igal!
Merging ...