Some images are displayed sideways... Why?

Here is an example of a gallery created with magnific popup:
Gallery
Notice that the underlying image is properly displayed by the browser: Image

It seems that only if you display just the image in the browser, it reads the EXIF orientation tag and displays it properly. Even if you display it with a tag like <img src="fsdf.jpg"> , the EXIF orientation tag is not used, so perhaps that's why magnific popup can't diplay it properly also.
You should use an image viewing/processing software that re-orientates permanently the image by using the EXIF orientation tag (or if you care only for Firefox, use this CSS:
img {
  image-orientation: from-image; /* Firefox only /*
}

I don't know why you edited out this out of your reply:
img {
  image-orientation: from-image; /* Firefox only /*
}

Works like a charm in FF. I wish Chrome and Safari had equivalent CSS directives.

I edited it out because it's experimental.
If you want to permanently re-orientate correctly your images, try this (for Windows):

Download jhead.exe from http://www.sentex.net/~mwandel/jhead/ and put in a folder.
Download jpegtran.exe from http://jpegclub.org/jpegtran/ and put in the same folder.
Copy the images that need re-orientation in the same folder (don't move them, but copy them, so you'll have the original ones in case something goes wrong).

Open a command prompt in this folder and type jhead -v -autorot *.jpg . All images will be re-orientated losslessly, overwriting the old ones.

It's an image storage website where there is a constant inflow of new images. The only way for me to go the route you're suggesting is find something in PHP that will do just that upon upload.
Thanks for your help.

Maybe you can use PHP Imagick library like this example from Stackoverlfow.

Yeh the ideal situation would be to use imagemagick or something similar,
I use jpegoptim --strip-exif image.jpg that gets triggered when an image is uploaded & stored.
Not something MagnificPopup could handle (but you could look at some javascript solutions and invoke them on elementParse callback)

@ChubbyNinja What do you think of adding the image-orientation: from-image style to the <img>-Tag for browsers already supporting image-orientation (currently only Firefox > 20), and using using something like exif2css as a fallback for other browsers to 'parse' the image exif orientation, and adding css transform styles to rotate manually?
Not having to tilt my head when scrolling through a galley of pictures would be a big improvement. ;-)
I could provide a PR in case this might get accepted.

image-orientation: from-image was actually first suggested by Wizard13. Works great in FF, but like you said, I would need a different solution for other browsers. I solved the problem with:
$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name'])); $exif = exif_read_data($_FILES['image_upload']['tmp_name']); if(!empty($exif['Orientation'])) {     switch($exif['Orientation']) {         case 8:             $image = imagerotate($image,90,0);             break;         case 3:             $image = imagerotate($image,180,0);             break;         case 6:             $image = imagerotate($image,-90,0);             break;     } }

@alimovz No, no, I can't solve this by rotating the image file itself, as I can't modify the files being shown.
So I'd like to give Magnific-Popup the possibility to display images with exif orientation tag on it's own, without having to modify the underlying files.

You don't have to modify it. You can just temporarily recreated it with the right exif orientation and leave the original file intact.
You could write something like this:
$image = imagecreatefromstring(file_get_contents("/path/to/images.jpg"));
$exif = exif_read_data("/path/to/images.jpg");
if(!empty($exif['Orientation'])) {
    switch($exif['Orientation']) {
        case 8:
            $image = imagerotate($image,90,0);
            break;
        case 3:
            $image = imagerotate($image,180,0);
            break;
        case 6:
            $image = imagerotate($image,-90,0);
            break;
    }
}
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

Now, your original file "/path/to/images.jpg" is untouched, but you displayed it with the correct orientation.

@alimovz This still requires php, or some other server side language, to preprocess the image, just to show it in the correct rotation.
I'd still prefer magnific popup automatically rotating the images if needed in the browser. Let's see what @ChubbyNinja thinks about this idea, whether I should prepare a pull request for this feature.

Hi, has there been any decision on whether or not to support this?

FWIW, Firefox and Safari already support image-orientation: from-image and Chrome will support it beginning from v81 : https://www.chromestatus.com/feature/6313474512650240


Add test for the blog generator

Coverage increased (+10.07%) when pulling bbd52b469dbc708168dbd195497c486e40b5d9bb on blog_tests into 6ec5e32ded23f52d351f7d5f5498d67c3a1cd008 on master.

Coverage increased (+8.28%) when pulling dfead081b60109c1a45d580f4992af3a110686d7 on blog_tests into 20be2243935bfaef2d64bcf30c2c125dd40d40b0 on master.

I've put each "sub-generator" to its corresponding class and provided a base class to set up common data for test. Not sure this is the correct way to do this.
Maybe it is possible to create this test data once and use it after, since we only use it, but don't change, what do you think?

Coverage increased (+8.28%) when pulling fed53e054814a01520e322689b5cfb71229b90e5 on blog_tests into 20be2243935bfaef2d64bcf30c2c125dd40d40b0 on master.


ui:CardAction - ShowChevron="False" property is not working

The chevron on CardAction still showing when I set ShowChevron property to false

Seems to be  fixed in 2.0.3.


Cake.Gradle does not work, if gradle was installed globally using chocolatey

currently, if gradle is installed on the system and no gradlew is present in the project either gradle.bat or gradle are run (depending on windows/no windows).
If gradle was installed using chocolatey gradle is present, however it is available via a gradle.exe-shim and so Cake.Gradle reports Gradle Runner: Could not locate executable.

This should be a case of modifying this method:
https://github.com/cake-contrib/Cake.Gradle/blob/develop/src/Cake.Gradle/GradleRunner.cs#L146-L156
Right?

@gep13 exactly. Will fix this tonight, if have the time.

@nils-a perfect! I am hoping to spend some time on the Visual Studio Extension tonight 😄


MM-10322 Add CTRL+F shortcut to work as browser search

Add new finder for each webview contents

Before submitting, please confirm you've

[x] read and understood our Contributing Guidelines
[x] completed Mattermost Contributor Agreement
[x] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Added CTRL/CMD+F shortcut for find in page
Issue link
https://github.com/mattermost/desktop/issues/399
Ticket link
MM-10322
Additional Notes
Tested on mac os MM version 5.0

Awesome, thanks @sudheerDev! @yuya-oc can we please get test builds for this?

@esethna Please get artifacts from this link: https://circleci.com/gh/mattermost/desktop/1595#artifacts

@esethna Probably we need to have an extra ticket to improve appearance of the search box.

@yuya-oc @esethna i tweaked the styling a little.

We can add another ticket if we need to make any appearance changes to it.


add Dockerfile

This adds a working Dockerfile.

Maybe a docker-compose.yml will also be nice to have in the same PR. @mroxso

I opened this a year ago 🙃👀😂
Sure, I can add a docker compose

I opened this a year ago 🙃👀😂 Sure, I can add a docker compose

Does it needs additional configuration to have the app up and running?


Solve bbox for asset-scanner indexing

The elasticsearch-aggregator needs a generic way to handle bbox:

how aggregate?
how to represent bbox in es?

TO-DO

[ ] look at the asset-generation stage for locations that geometry/spatial values are pulled and created and update the code to the add the format above into the properties?

[ ] look at item-descriptions  for bbox values
[ ] look at input plugins for bbox values
[ ] look at asset-generator for bbox values

[ ] At the aggregation stage and use the above format to create the bbox and geometry values:

[ ] item-generator
[ ] collection-generator

[ ] rerun the pipeline with bbox enabled.

https://github.com/cedadev/asset-generator/pull/26
https://github.com/cedadev/collection-generator/pull/8
https://github.com/cedadev/asset-generator/pull/26

@agstephens Yep, this is done and can be closed.


Issue with PhoneInput Component inside a Wizard

Hello,
I am encountering an issue with the PhoneInput component when used inside a wizard. The component functions correctly on the front end, however, problems arise during form submission or while using the state.
Specifically, even though the input field is filled, the validation incorrectly triggers and flags the field as required upon submission. Below is the code snippet where the issue occurs:
PhoneInputFilament::make('hello_word')
    ->required()
    ->afterStateUpdated(function($state, $get, $set){
        dd('hello world phone_state', $state);
    })
    ->live(onBlur: true)

Within the wizard setup, the above code does not produce any output, despite the fact that similar code used outside of the wizard (but with a different name) correctly outputs the result of dd().
Could there be something I am overlooking or a potential bug with how PhoneInput behaves inside a wizard?
Any guidance or assistance in resolving this issue would be greatly appreciated.
Thank you.

What is the version of the package you are using?

@ysfkaya I'm using the latest version

@AkikiCharbel
I'm not sure if I fully understand the problem, but when I try the situation you mentioned via TextInput, it works just like the situation that occurs in PhoneInput. So this may be related to the Wizard component. I am sharing the form diagram I tested below.
Can you also check it this way. The afterStateUpdated function is triggered both when the step changes and in the blur state.
public static function form(Form $form): Form
    {
        return $form
            ->columns(1)
            ->schema([
               Wizard::make([
                    Wizard\Step::make('step 1')->schema([
                        Forms\Components\TextInput::make('name')
                            ->required()
                            ->autofocus()
                            ->placeholder('Enter a name...')
                            ->helperText('This is the name of the user.'),

                        Forms\Components\TextInput::make('email')
                            ->required()
                            ->placeholder('Enter an email address...')
                            ->helperText('This is the email address of the user.'),

                        PhoneInput::make('phone')
                            // NOTE: Triggered when the phone number is blurred or step is changed
                            // ->afterStateUpdated(function($state, $get, $set){
                            //     dd('hello world phone_state', $state);
                            // })
                            ->live(onBlur: true)
                            ->label('Number'),
                    ]),
                    Wizard\Step::make('step 2')->schema([
                        Forms\Components\TextInput::make('password')
                            ->password()
                            // NOTE: Also, this one triggered when step is changed
                            ->afterStateUpdated(function($state, $get, $set){
                                dd('hello world password_state', $state);
                            })
                            ->dehydrated(fn ($operation) => $operation !== 'edit')
                            ->required(fn ($operation) => $operation !== 'edit'),
                    ]),
               ])
            ]);
    }

I am closing this issue as there are no more replies. If the issue persists, start a discussion or contact me on discord


Policy support to protect the host

The request is coming up more and more frequently to support specifying policy rules to protect the host itself. This issue is tracking this feature addition.
Asks that have come up:

Ability to install policy rules to only allow traffic to local endpoints plus an additional
Ability to whitelist and blacklist traffic to a particular host port while delegating policy for local containers to the policy of that container/pod

Feel free to add additional asks/requirements.

Practically this is interesting in the case of services that run on HostPort. It's an easy layer to miss stuff bound to the public interface; particularly from within that host.
Practical examples would be like:

<IP_ADDRESS>
Prometheus node exporter
Any other weird daemonsets

This feature is available since Cilium 1.8 through the host firewall.


Implement per-client initialisation in AsyncClients implementation of Clients interface.

Also consider that if we can put a marker interface on for whether a client is indirect or direct (or even define it as an implementor of HasUpdatableCallbackUrl) we don't need to check its type, making the Clients implementation less wedded to whether it is dealing with Sync or Async clients.
Similarly an AuthorizationGeneratorAcceptor for the second part of initialisation could even remove the need for the cast altogether if we define the generic as having to extend AuthorizationGeneratorAcceptor.

This approach has been jettisoned in favour of #22 which gives a cleaner, less brittle approach to this initialisation


Rtp Port range have to be an even length in the configuration file

OS: independent - we tested on windows
version: 1.0 (bug still exists in the master branch)
What steps will reproduce the problem?
1-use rtp port range [5100,5111] in the unimrcpserver.xml
2-start unimrcpserver.exe
3-perform several recognition operations.(for this we used unimrcpclient.exe)
4-you will receive a log similar to the following:
(for brevity I've trimmed down the log lines)
[INFO]   Open RTP Receiver <IP_ADDRESS>:5100 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5102 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5104 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5106 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5108 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5110 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5112 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5114 <- <IP_ADDRESS>:4000
[INFO]   Open RTP Receiver <IP_ADDRESS>:5116 <- <IP_ADDRESS>:4000
You can also get a similar effect if you use rtp port interval [5101,5112]
this indicates that the problem is the length of the interval ie. the number of rtp ports specified here should be an even number.
I've also found the location that is responsible for this check.
https://github.com/unispeech/unimrcp/blob/master/libs/mpf/src/mpf_rtp_stream.c#L178
this can be fixed by using < instead of ==.
Regards
Mert

Hi Mert,
Thanks for the detailed and clear description of the problem.
While the port range is indeed supposed to be configured to contain even number of ports, the procedure should not cross the specified border even if the number of ports is odd. The problem has been fixed.
I apologize for the late response, just got a chance to look into this.
Regards,
Arsen

I apologize for the late response, just got a chance to look into this.
no problem

As always thanks for good software


Demo different than the examples.

Why are the spinners on the demo site vastly different than the examples. In particular the circle spinner on the demo has fewer dots in the spinner and the source is very different than the code in the examples/8-circle.html.  And the css for the circle spinner on the demo page is not spinkit.css file.  Can the example files be updated to include the exact spinners on the demo page?
Thanks.

Just came across this difference as well.

Will have a look, thanks @KatelynL and @alexg313!
(Possibly something that happened in the move to sass @jmagnusson?)

Thanks for the report you guys.
I'm super busy these days though... do you think you can take a look at it @tobiasahlin?

@jmagnusson Will do! :heart::boom:

Still different for the rectangle-bounce example. Different class names, sizes, missing margins, ...


Doesn't work with the mother of all JSON Schemas -> JSON Schema Schema

Nice tool, but using the interactive demo it doesn't appear to work correctly with the mother of all schemas -> http://json-schema.org/draft-04/schema#
I expected to be able to create a schema using the generated forms.  It loads something, but I'd say it's not even close to being correct, and it doesn't allow me to generate anything.
I had to enable loading external schemas (which I had to debug to see that was necessary). But even then I got the following error (see image).

BTW, the forms were totally blank when I tried to load the Swagger 2.0 json -> https://raw.githubusercontent.com/swagger-api/swagger-spec/master/schemas/v2.0/schema.json
Update: the latter "swagger" issue looks like it's CORS related, but I would like to know how to get around it if possible.
Error: XMLHttpRequest cannot load http://json-schema.org/draft-04/schema#/properties/title. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://jeremydorn.com' is therefore not allowed access.

I think this is a bug relating to "positiveIntegerDefault0".
After some hours debugging, unfortunately no idea how to fix this.

With the most recent update (v0.7.27), both the JSON Schema schema and the Swagger schema should work.
http://json-schema.org/draft-04/schema is really badly written, so the editor it produces is almost unusable.  I added a file examples/meta_schema.json that does a similar thing, but gives a much better UI.
As for the CORS issues, nothing I can do about that.  Either host the files locally or fetch them with a back-end script (e.g. PHP) and pass them in with the refs option during instantiation.


Power operator function instead of double star

@rmlarsen I am facing CLA issues, everything looks good. Can you please help me?


small change to allow pekko-actor-testkit-typed to work with slf4j-api v2

Pekko main branch (future pekko 1.1.0 dev line) already used slf4j-api v2 and we had to react to a breaking change with the slf4j LoggingEvent getMarker method being replaced with a getMarkers method - see #748
Since testkit is only used in testing, I think we can live with a solution that ignores the Marker on LoggingEvent if the getMarker method is missing.
TestAppender change in #748 is not needed because the ILoggingEvent class still has a getMarker method (just deprecated).
https://logback.qos.ch/apidocs/ch/qos/logback/classic/spi/ILoggingEvent.html

Let me pull the repo and try those changes

Sorry to came back that late.
I pulled all the repos I needed (incubator-pekko, incubator-pekko-connectors and incubator-pekko-connectors-kafka) and published locally using a specific version, else I would get errors about using incompatible versions.
Everything is running fine with your changes, thanks a lot!

@aaparent in theory, you only need to rebuild the actor-typed-testkit jar. Would you be able to share a test case? I haven't found an existing test that breaks when slf4j V2 is used.

I think that was due to the way I built the jar (simple publishLocal).
It was complaining about the versions not matching and being possibly incompatible.
It was triggered by : https://github.com/apache/incubator-pekko/blob/main/actor/src/main/scala/org/apache/pekko/util/ManifestInfo.scala#L177
That's why I built all I needed instead of just one jar.


fix: change watch to run from dev package.json command

* Please fill in the required items.

Priority*

[x] High: This PR needs to be merged first for other tasks.
[ ] Middle: This PR should be merged quickly to prevent conflicts due to common changes. (default)
[ ] Low: This PR does not affect other tasks, so it can be merged later.

Purpose of the PR*
Change it because of the error from #692
Changes*
I've change a little dev script from root package.json
How to check the feature
Run pnpm dev

The turbo watch and run commands behave differently. I used watch to run packages with some dependencies together that don't run in dev mode.
The solutions to related problems are likely to be different.

@Jonghakseo I converted it to draft because i had realized, i haven't tested it if it works the same way, i need to take another look :)


Fix issue with CGFloat being out of scope

As is, trying to use BSONSerialization will result in an error in BSONSerialization.swift:487 :

Cannot find type CGFloat in scope

This addresses that.

Will merge ASAP


Incorrect response MIME type. Expected 'application/wasm'

Hello.
Nice work of yours! I've used some of your code in my demo in research purposes. Tested it and your demo on my old Linux Mint notebook and these errors appear when webgl processing is trying to start:
wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
and then as a result:
Uncaught (in promise) TypeError: Cannot read property 'VERTEX_SHADER' of null
OS is:
# lsb_release -a
No LSB modules are available.
Distributor ID:	LinuxMint
Description:	Linux Mint 19.3 Tricia
Release:	19.3
Codename:	tricia

Browser is:
# apt show chromium-browser
Package: chromium-browser
Version: 90.0.4430.93-0ubuntu<IP_ADDRESS>

chrome://gpu contains:
Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Hardware accelerated
OpenGL: Enabled
Rasterization: Hardware accelerated on all pages
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

Does my notebook have some hw or sw incompatibles with wasm?
Thanks.

Hello @drlight17 and thanks!
Are you serving the app with create-react-app dev server (aka webpack-dev-server)? This should be the case if you run yarn start with this demo project.
The dev server is supposed to set the right MIME type for wasm files in response headers. If you are using another web server, I guess there are some config to add.
Otherwise, this error can also happen when the wasm file is not found by the dev server, in which case it returns the index.html file instead (which obviously won't have the wasm MIME type).

Hello @drlight17 and thanks!
Are you serving the app with create-react-app dev server (aka webpack-dev-server)? This should be the case if you run yarn start with this demo project.
No, I try to open your hosted demo at the link https://volcomix.github.io/virtual-background/
The dev server is supposed to set the right MIME type for wasm files in response headers. If you are using another web server, I guess there are some config to add.
Otherwise, this error can also happen when the wasm file is not found by the dev server, in which case it returns the index.html file instead (which obviously won't have the wasm MIME type). Have you checked the response body in the network tab of your browser devtools?
No, but I'll check and tell you a little later.

I've checked network tab, see screenshot:

Something is really wrong. What is the "bad magic number"?

Looks like this is the expected response when opening wasm file in this tab. So I guess you received the right file.
Would you mind sharing also a screenshot of the response headers along with an extract of your browser console?

A lot of static file servers don't yet recognize the .wasm extension, so you need to give them a bit of help.
If using express on Node.js, just add this line:
express.static.mime.define({'application/wasm': ['wasm']});

I don't see anything wrong with your hardware or software @drlight17. I tried installing Chromium to check potential incompatibilities and both wasm and SIMD seem working. Chromium version was 91 though. Maybe you could try updating yours but I don't have other ideas for now.
Unless you have more insights regarding response headers and error details from the browser console, I'm gonna close the issue. Thanks.


Extract Area around a matching string

Hello,
I have tables in the format
abc : 12345566
cde : 456782
gef : 45345435
where abc,def are the same and the other number vary. When I extract specific area, I get dataframe with 2 columns which is perfect. My problem however is , the tables sometimes split over two pages depending on the extra lines on number side and there is one value "xyz" which is present for some tables.
Is there a way to be able to get the area around a search string that way I know at which value the table got split in second page and also , if "xyz" is present , I can change the area accordingly.
Hopefully I am making sense...

I tried using suggestion by @leeper on another thread by giving same page number three times and specifying the areas. The first two tables were extracted perfect, however the third table which was flowing into next page gave error
org_affiliates_3 <- as.data.frame(extract_tables(fn, pages = c(sel_page,sel_page,sel_page), area = c(list(c(top3,left3,bottom3,right3)),list(c(top3+194,left3,bottom3+194,right3)),list(c(top3+194+194,left3,bottom3+194+194,right3))), guess = FALSE, method = "data.frame"))
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  :
arguments imply differing number of rows: 10, 6
Is there a way to just bypass the error, and extract only 6 rows for third table

If you use a different method argument, you should be able to get back a structure that isn't passed through data.frame(). You might try the method = "csv" option, which will just save a CSV locally (directly from the underlying Java code) or method = "character".

Thankyou  @leeper
I tried all the methods.. but none of them seem to work
extract_tables(fn, pages=7,package = "tabulizer",method = "csv")
[1] "C:\tabulizer\phd\Ind"
there is no file created in the folder

extract_tables(fn, pages=7,package = "tabulizer",method = "character")
list()
extract_tables(fn, pages=7,package = "tabulizer",method = "asis")
[1] "Java-Object{[]}"
extract_tables(fn, pages=7,package = "tabulizer",method = "tsv")
[1] "C:\tabulizer\phd\Ind" - No file created
extract_tables(fn, pages=7,package = "tabulizer",method = "json")
[1] "C:\tabulizer\phd\Ind"


WIP Add enum wires observables

Before submitting
Please complete the following checklist when submitting a PR:

[ ] All new features must include a unit test. If you've fixed a bug or added
code that should be tested, add a test to the tests/ directory!

[ ] All new classes, functions, and members must be clearly commented and
documented.  If you do make documentation changes, make sure that the docs
build and render correctly by running make docs.

[ ] Ensure that the test suite passes by running make test.

[ ] Ensure that code is properly formatted by running make format.

[ ] Add a new entry to CHANGELOG.md, summarizing the
change and including a link back to the PR.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues:

[sc-10100]


trigger fast-forward

trigger fast-forward
https://github.com/open-cluster-management/backlog/issues/11327

/assign @clyang82

/retest
/lgtm

/approved


Adds IPython magic to run in Jupyter notebooks

Closes https://github.com/mityax/rustimport/issues/22
See this notebook for usage: https://gist.github.com/thomasjpfan/6997465eea97c6eff8cb7786e21ea1b4

The IPython magic contains the --release and --force flag that does the same as the command line python -m rustimport ...
I added a --module-path-variable to write the module path to a variable. This is useful for the Polars use case as show in the notebook. (I'm happy to remove this feature, if this is too much scope).

For the polars use case, the compiled module is written to a local polars_lib variable:
%%rustimport --module-path-variable=polars_lib

Later this can be used by polars to register it's plugin:
import polars as pl
from polars.type_aliases import IntoExpr

@pl.api.register_expr_namespace("language")
class Language:
    ...

    def pig_latinnify(self) -> pl.Expr:
        return self._expr.register_plugin(
            lib=polars_lib,
        )

This is amazing work, thank you!
The one thing I'd like to change is the extra dependency on ipython, since non-ipython users don't need it. I could imagine to a) hide it behind an "extra", i.e. ipython users would have to install "rustimport[ipython]" instead of "rustimport". The other option in my mind would be to b) conditionally import ipython_magic, only if we're running in ipython, and leave ipython  out of the requirements.txt and setup.py – I assume this should work since in an ipython environment we probably can rely on the ipython package being available anyways (?)

b) conditionally import ipython_magic, only if we're running in ipython, and leave ipython out of the requirements.txt and setup.py

I think making ipython_magic a conditional import is good enough. Anyone that wants to use the %%rustimport magic should already have IPython installed (either by installing Jupyter or IPython directly).
I updated this PR to remove IPython as a hard dependency and moved it to be a developer dependency.

Thanks :)


Styling

In this Milestone, I have styled the bookstore project

Kindly note that I am repeating this module because I was couldn't meet up with the 90% attendance requirement.


Cannot easily submit forms after filling them due to missing handle to the form

I have a simple login page and I do
    b.fill('login', self.username)
    b.fill('password', self.password)

In order to submit that form I need to know details I don't care about, such as the button's name or the fact which button to click in case there are a few.
I expected to get a handle to the underlying form, maybe like this:
    b.fill_form({'login': self.username, 'password', self.password}).submit()

+1 Seems related to my problems with #471.


Prompt Needed

I have a major issue being able to click one button and your code is instantly compromised through being able to accept a link. No matter how much security you claim to have this feature should prompt you before automatically setting up servers to upload/view work.

Hi, thank you for reaching out. Live share doesn't save, keep or upload any code of users . It shares your workspace with RPC connection as much as you allowed to see others. You can also use read only mode.  I understand your concerns about the security. Can you give us more info, what kind of prompt do you think is needed ? cc: @BrunoGuardia.

Thanks for the feedback @krisgoku8
We hear you and we are working to provide more security by default. Today, to enable the prompt you are requesting, just enable the "Require guest approval" option as described in the linked document below.
There are multiple mitigation aspects for your concerns, which are described in the link; most importantly, your code is never uploaded to any server, it is only shared on demand to a guest through a peer to peer connection, after they join (if you allow so); it should not be compromised unless you provide the link to the guest.
Let us know if you have more concerns, other than the desire to make guest approval prompt your default.
https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/security#:~:text= Security features of Live Share  1,want your guests to make edits. More

Well, as far as I recall I remember reading if the P2P connection is blocked a server is created. I just believe it shouldn’t be so easy by a simple accident click to have your code uploaded to anything. I suggest a prompt that ask do you want to start the session and of course don’t ask again box.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Bruno Guardia<EMAIL_ADDRESS>Sent: Friday, July 17, 2020 1:09 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/live-share] Prompt Needed (#3717)
Thanks for the feedback @krisgoku8https://github.com/krisgoku8
We hear you and we are working to provide more security by default. Today, to enable the prompt you are requesting, just enable the "Require guest approval" option as described in the linked document below.
There are multiple mitigation aspects for your concerns, which are described in the link; most importantly, your code is never uploaded to any server, it is only shared on demand to a guest through a peer to peer connection, after they join (if you allow so); it should not be compromised unless you provide the link to the guest.
Let us know if you have more concerns, other than the desire to make guest approval prompt your default.
https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/security#:~:text= Security features of Live Share  1,want your guests to make edits. More
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/live-share/issues/3717#issuecomment-660230194, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJYC7K3KALKY245FE2L6M4DR4CAS5ANCNFSM4OW2W4LA.

I'm going to close this as "won't fix", since we haven't heard this concern from other users, and it would be quite disruptive to introduce a consent prompt into the existing Live Share workflow. In general, we've found that security conscious organizations introduce compliance measures either at the network or machine-level, and therefore, they wouldn't rely on a consent prompt to ensure that users did the right thing. As a result, I'd worry that if we added this prompt, we'd end up just introducing friction for folks that are already happy with Live Share, as opposed to increasing confidence for the folks who need it.


No float uniforms?

I noticed this section of the raymarching example:
let runtime_v = Vector2.create state.time 0. in
set_shader_value
    shader
    locations.time
    (to_voidp (addr runtime_v))
    ShaderUniformDataType.Float;

Is it not possible to set a float uniform with a float scalar? Is this just a consequence of using a bindgen or is there a reason it's this way? It seems cumbersome and potentially inefficient.
Is this something that can be solved with a PR? This library has the potential to be my primary graphics tool, I'd be happy to fix this and anything else that needs work.

There are two reasons for it.
The first is that the raylib shader API is closely modelled after openGL, because that's what it uses under the hood. In openGL, the way shaders are set is by passing a void ptr and a type enum, since it's a C API. Raylib inherits this. Because we need a pointer, we need to allocate it somewhere, and that's what we're doing with Vector2.create.
The second reason is that OCaml's float has a different memory representation than C floats. In OCaml, floats are 63 bit values, in C they are 32 bit. Thus, some conversion has to be done between the two.
That said, there's no reason to allocate two floats (by using Vector2.create) instead of one. The bindings are based on ocaml-cytpes and we can use it directly to create values. We could have used Ctypes.allocate to allocate only one float.
And, we could wrap this into a function such that it accepts OCaml float literals:
let set_shader_value_float shader location value =
  let runtime_v = Ctypes.(allocate float value) in
  set_shader_value shader location (to_voidp runtime_v)
    ShaderUniformDataType.Float

As for your question: I don't think we need an extra function for this in the bindings. If the use case comes up often enough, the user can still define it themselves. I changed the raymarching example though to only allocate one float (https://github.com/tjammer/raylib-ocaml/commit/577899c0925f8cbd66bb8351f1d44b78490f4785). This demonstrates how to use Ctypes directly.


Explorer filter by variable doesn't work

When I have a variable in the right-most "filter variables" box the filter button has no effect, and it also stops keyword filtering from working.

Just a note to say this has been added to the conda/analysis3-unstable environment. I've tested and it seems to be working correctly now.


Look for Stanford Online Products dataset

Hi, Hyun Oh, the address of Stanford Online Products dataset failed, could you please give me another valid address.  Looking forward to your reply.

Hi @booyoungxu,
We will soon add another hosting link for the dataset for redundancy.


Adding support for ESP32C3

Added support for ESP32C3 though UART.
Unit tests are to be updated.

I Updated MR, with support for ESP32C3. @MabezDev @jessebraham PTAL again.

FYI in case you are interested @radimkarnis @dnedic

Amazing work @MaValki , reading this was a joy and it's really high quality work. I have left a few minor suggestions. @dobairoland Thank you for the ping.

Thank you @MabezDev @jessebraham @DNedic @radimkarnis for great suggestions, I adjusted the code accordingly.

@MaValki just touching bases, would like to get this merged :) There's no real rush but i'd be nice to have something in the main branch.
If you would you like me to address the remaining changes I'm more than happy to do so, just let me know.

Alright, I've pushed a few more commits to this branch:

Updated all dependencies (now using published version of esp32c3_hal) and fixed all build/linker errors, cleaned up imports, etc.
Addressed the suggested changes from the previous review
Miscellaneous cleanup and formatting, fix a bunch of warnings, etc.

I haven't tested this on hardware yet but will report back when I have.

@jessebraham will test soon! How do we test it with esptool (or espflash, I think we support stubs in there now too?)

Martin did include a patch file in this PR for esptool which modifies it to use these. Probably needs some updates for paths and what not, but you could try that. I have not used this before.
We do support stubs in espflash now but don't presently have a method of providing a custom one. The stubs are just JSON files and I think the binary has just been base64'd and tossed in there, so we should be able to update the JSON file and rebuild espflash to use it.

@MabezDev I'm not sure there's a way to dynamically rename the binaries without some post-processing step. This is something we can look in to, but for the time being I'm not sure we should block merging on this.


STORM-2214: add in cacheing of the Login

+1. @revans2 so the issue without this patch is we are making a login everytime a client tries to connect.

@harshach the issue is that when there are lots of supervisors the load placed on the KDC is a lot higher than it is for a similar number of Hadoop nodes.  Each new Login will contact the KDC and fetch a new TGT followed by a new service ticket.  If we can reuse the Subject then the TGT and the service tickets can be reused too reducing the load on the KDC.  The Login handles the life cycle of the Subject, creates it and destroys it, so we wanted to cache it at that level to avoid issues there.

I also wanted to say we have been running with this in prod for a while now.


Set default Java SDK connection timeout

Timeout is currently defaulted to 10 minutes.  We should remove this while we work out a sane way to manage timeouts at different levels of KAR

Done in #59


RuntimeError: nms is not compiled with GPU support

When I ran "python tools/test.py configs/faster_rcnn_r50_fpn_1x_coco.py
checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth
--show" from getting started, I met this error:
loading annotations into memory...
Done (t=0.44s)
creating index...
index created!
[                                                  ] 0/5000, elapsed: 0s, ETA:Traceback (most recent call last):
File "tools/test.py", line 149, in
main()
File "tools/test.py", line 127, in main
args.show_score_thr)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/apis/test.py", line 26, in single_gpu_test
result = model(return_loss=False, rescale=True, **data)
File "/home/zhefan1210/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 550, in call
result = self.forward(*input, **kwargs)
File "/home/zhefan1210/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 153, in forward
return self.module(*inputs[0], **kwargs[0])
File "/home/zhefan1210/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 550, in call
result = self.forward(*input, **kwargs)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/core/fp16/decorators.py", line 51, in new_func
return old_func(*args, **kwargs)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/detectors/base.py", line 148, in forward
return self.forward_test(img, img_metas, **kwargs)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/detectors/base.py", line 129, in forward_test
return self.simple_test(imgs[0], img_metas[0], **kwargs)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/detectors/two_stage.py", line 187, in simple_test
proposal_list = self.simple_test_rpn(x, img_metas)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/detectors/test_mixins.py", line 29, in simple_test_rpn
proposal_list = self.rpn_head.get_bboxes(*rpn_outs, img_metas)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/core/fp16/decorators.py", line 131, in new_func
return old_func(*args, **kwargs)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/dense_heads/anchor_head.py", line 493, in get_bboxes
scale_factor, cfg, rescale)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/models/dense_heads/rpn_head.py", line 119, in get_bboxes_single
dets, keep = batched_nms(proposals, scores, ids, nms_cfg)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/ops/nms/nms_wrapper.py", line 154, in batched_nms
torch.cat([bboxes_for_nms, scores[:, None]], -1), **nms_cfg)
File "/home/zhefan1210/Desktop/mmdetection/mmdet/ops/nms/nms_wrapper.py", line 53, in nms
inds = nms_ext.nms(dets_th, iou_thr)
RuntimeError: nms is not compiled with GPU support
How to fix this, please let me know if you need any info.
THanks in advance!!

This is because when you compile mmdet you did not use GPU. Remove build dir and compile it again with one.

This is because when you compile mmdet you did not use GPU. Remove build dir and compile it again with one.
Can you be more specific about how to make NMS support GPU

@jiafengshen I've got the same issue, and i don't understand what does "Remove build dir and compile it again with one" mean... Did you finally solve this problem?


Port whole workflow to sunspot

Include the environment setup, logging changes and a run script

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

17 of 31 (54.84%)  changed or added relevant lines in 2 files are covered.
26 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 41.574%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mofa/hpc/config.py
15
22
68.18%

mofa/hpc/utilization.py
2
9
22.22%

Files with Coverage Reduction
New Missed Lines
%

mofa/utils/src/edm.py
26
58.46%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
4130

Relevant Lines:
9934

💛  - Coveralls


Purchase Order spec analysis

This task includes the following actions:
[ ] Map proposed GS1 data model between an existing trade partner relationship to ensure the data attributes are translatable and sufficient for our data/systems requirements. The exercise serves as a proof of concept.
[ ] Create an initial point of view on what smart contract transactions the design will support and what roles/permissions are needed by agents to execute the transactions. Likely includes the creation of a supporting process flow diagram. Iterate on the design.
[ ] Create an initial point of view on a protobuf message. Define enumeration, accompanying business logic, and mandatory versus optional representation. Iterate on the design.


Warning message abbreviates path string; warning is less useful

tl;dr pipenv emitted a warning but shortened the path to the particular virtual environment it was referring (C:\Users\user1\.\J\S\python.exe). It was difficult to act on the warning because I am not certain which virtual environment (among many I have setup) or which python install (several are installed) this refers (I initially thought pipenv mixed up paths).
Issue description
I have setup five pipenv virtual environments for projects I am hacking at.  Also is installed Pythons 3.4, 3.5, 3.6, 3.7.
When I setup another pipenv virtual environment, pipenv warned me about a possible problem.
Virtualenv location: C:\Users\user1\.virtualenvs\Project1-u18NbQNd
Warning: Your Pipfile requires python_version 3.7, but you are using 3.5.4 (C:\Users\user1\.\J\S\python.exe).
  $ pipenv --rm and rebuilding the virtual environment may resolve the issue.
  $ pipenv check will surely fail.

I cannot determine which project virtual environment the shortened path "C:\Users\user1\.\J\S\python.exe" refers.  And I'm not certain if that path is simply the same as the preceding sentence path "C:\Users\user1\.virtualenvs\Project1-u18NbQNd" (I would guess it is, but I'd prefer to be certain).  (it turns out the python_version within Pipfile was wrong)
Since I have several Python installs (3.4, 3.5, 3.6, 3.7) and several pipenv virtual environments, I was concerned pipenv was using the wrong pathed Python environment.
Recommended Fix
Print the entire path within the warning message.

Hey, thanks for the report and sorry for the issue -- it can only possibly refer to the one you are working on (pipenv --venv etc)
I do see why the shortened path might be confusing, but it also provides consistency for the UX especially for terminal users.  In any event this is definitely low priority so I think for now we can close this out and revisit in the future if it continues to cause confusion


Be more permissive wrt whitespace

Should we also allow (  ) for units?

@torkleyy Yes, it's valid syntax in Rust

I know.

Thank you!
bors r+


Fast5 indexing works but then get error "fast5 file is unreadable and will be skipped"

I am trying to call variants from amplicons using Nanopolish.  Everything seems to be working well until the final step where I'm getting the error  that the fast5 files are unreadable.  I'm  confused by this because the fast5 indexing step seems to work fine.  I've tried several things but seem to be stuck.  Any advice you could offer would be greatly appreciated.  Thanks in advance.
Here are the commands in my workflow:

read_fast5_basecaller.py --flowcell FLO-MIN106 --kit SQK-LSK108 --barcoding --recursive --output_format fast5,fastq --input /path/to/fast5 --save_path /path/to/fast5_basecalled --worker_threads 4
cat *.fastq > All_barcode02.fastq
nanopolish index -d . All_barcode02.fastq
bwa index Barcode02_ref.fa
bwa mem -x ont2d Barcode02_ref.fa All_barcode02.fastq | samtools sort -T tmp -o All_barcode02.sorted.bam
samtools index All_barcode02.sorted.bam
nanopolish variants -r All_barcode02.fastq -b All_barcode02.sorted.bam -g Barcode02_ref.fa --ploidy 2

Error messages from variant calling step:
[warning] fast5 file is unreadable and will be skipped: ./3/AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_5181_ch_461_strand.fast5
Number of variants in span (20) would exceed max-haplotypes. Variants may be missed. Consider running with a higher value of max-haplotypes!
[post-run summary] total reads: 50652, unparseable: 0, qc fail: 0, could not calibrate: 0, no alignment: 0, bad fast5: 50652
Indexing step seems ok - reports the correct number of reads and generates files for index/fai/gzi/readbd:
[readdb] num reads: 50664, num reads with path: 50664
Here is an example line from the All_barcode02.fastq.index.readdb file (seems ok):
0001c491-59ea-43c4-a23f-7d9831259087    ./2/AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_3368_ch_138_strand.fast5
Also tried using minimap2 for alignments but got the same result.

Could you send me that fast5?
The index and variants step look for different information in the fast5. It is possible that the file contains all of the information that index needs but not variants, leading to this error.

Here are two examples of the fast5 files (there are a total of 50664 of  them).
AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_100_ch_191_strand.fast5.gz
AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_100_ch_117_strand.fast5.gz

Hi Jared,
Were you able to view the fast5 files?  Did you see any potential problems?
Thanks again for your help.

Sorry I was quite busy this week so only looked now. I noticed that you told albacore to output basecalled fast5 files. This is no longer necessary for nanopolish. Does it work if you point nanopolish index to the original (raw) fast5 files? Note I'll be making a new release of nanopolish tomorrow that makes the indexing step much faster.
Jared

Hi Jared,
No worries on the response time.  I am very impressed and grateful that you take the time to answer user questions at all.  I'm sure you are a very busy person.  So, thanks for that!
Yes, I have tried to index the raw fast5 files instead of the basecalled files but get the same outcome (error message below).
[warning] fast5 file is unreadable and will be skipped: /path/to/fast5/11/AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_1627_ch_479_strand.fast5
Number of variants in span (20) would exceed max-haplotypes. Variants may be missed. Consider running with a higher value of max-haplotypes!
[post-run summary] total reads: 50652, unparseable: 0, qc fail: 0, could not calibrate: 0, no alignment: 0, bad fast5: 50652
I've attached one of the raw fast5 files below in case you may be able to see something wrong with it.
AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_24_ch_495_strand.fast5.gz
I have viewed the fast5 files with HDFView and they seem to have the expected information.  Both Albacore and Porechop seemed to be able to process them without a problem.  I'm really stumped.  It must be something small.  Is there a way to run nanopolish in verbose mode so it will give more info about the problem?  I don't see a verbose option in the documentation but perhaps I'm missing it.  Is there any other way to get more insight?

Just to make sure - when you pasted the error you substituted /path/to/fast5/ for the actual path, right?
If you comment out this line and recompile it might give more information:
https://github.com/jts/nanopolish/blob/master/src/main/nanopolish.cpp#L66
Jared

I managed to get that read to work with a short test, so I think the problem must be the path to the fast5 file.

Thanks for checking the fast5 and confirming that it is good.  I have checked the path and even moved everything to the level of the fast5 directory and run the nanopolish variant command (so the paths would be really simple).  I'm still getting the same error (see below).  So, I don't think it is a path error.   Does it matter that my reference is really short (since I'm working with amplicons)?
I'm totally stumped.  Is there maybe a test data set you could point me to for amplicon variant calling?
Here is the command:
/home/Software/nanopolish/nanopolish variants --reads All_barcode02.fasta --bam aln_bwa_barcode02.sorted.bam --genome Barcode02_ref.fa --ploidy 2 --outfile Barcode02_bwa_nanopolish.vcf
[ by the way, I get an error if I use "-p" instead of "--ploidy" in the command line.  Shouldn't "-p" be a valid flag?]
Here is the error:
[warning] fast5 file is unreadable and will be skipped: ./fast5/25/AODUMBO_WIN_20171213_FAH41157_MN17031_sequencing_run_Amplicons_barcoding_59045_read_5181_ch_461_strand.fast5

Is there a newline character in the path or was that introduced when submitting the comment here?

(-p should work for ploidy, I'll fix that)

Can you try to run through this tutorial? http://nanopolish.readthedocs.io/en/latest/quickstart_consensus.html

Hi Laksyn,
I am doing a pretty similar thing, and encountered the same problem when using reads from Albacore v2.0, but not when using v2.1.7. I (think I) am using the exact same pipelines for those two reads (just different in the albacore version). Don't know whether it has something to do with.

Hi Jared,
I ran the example data you pointed me to and, to my surprise, it gave me the same error.  So, I just decided to reinstall Nanopolish in a new directory and run that.  The new version I downloaded, 0.9.0, was one version up from the original one I had installed.   When I ran the new installation, everything worked fine (the test data and my data) without any changes to my scripts.  So, I guess all my troubles have just been some problem with my installation.  It seems very strange that the code installed well enough that everything appeared to run fine except for the variant command (which generated the "fast5 file is unreadable and will be skipped" error) .   Anyway, thank you very much for your help.  I don't think I need anything further.
By the way, the indexing in version 0.9.0 is lightning fast so thanks for that upgrade.
Best Wishes,

Great, thanks for letting me know. Its strange the previous version didn't work for you and sorry for the trouble.

I am getting the same error with the latest version on github. It appears nanopolish looks for the fast5 files using a relative path - relative to the fasta being polished, and not relative to the directory nanopolish consensus is run.


More Than 12 menu item

When 20 menu item added that time need to scroll these menu

Wat

When 20 menu item added that time need to scroll these menu

When I added 20 FloatingActionButton inside FloatingActionMenu that time activity shows only 8  FloatingActionButton

please help me

I am also using https://android-arsenal.com/details/1/1684 but same problem here also

I'd suggest not using 20 FABs... There's definitely a better way for you.

I have list of employees so i want show all of then in list

Yeah, I wouldn't do that.
Closed: Don't use 20 FABs in a FAM.

it's bug in your code.....

I don't think this is a good user experience at all. The floating action menu is only for a few quick items, Google recommends more than six. If you have a list of twenty items to choose from I recommend a RecyclerView.

Recommends no more than six*


Asyncio mail

https://code.djangoproject.com/ticket/34477

That's the 3rd PR for the same #16925, #16744. Can we leave only one open, please?

@HanaPoulpe I will close this PR, feel free to open another one. There is a failing test (verify_unsafe_email) that needs to be taken care. Basically, we have an assertion at the length of the list mail.outbox that is kept as an empty list...


Missing license

Hello, I saw that this repository currently has no license attached. Did you maybe miss this? Considering the content of the repo, I would suggest to use the MIT license for example.

Hi Keven, apologies for my late reply. Thanks for pointing this out, I have in the meantime added a license!


[Indigo] [Launchpad] Finish building launchpad session with mock data.

Expecting Functionalities

[x] TreeView works with mock data in real time and also TreeFilter.
[x] ActivityTable works with mock data in real time and also ActivityFilter.
[x] Select-to-sync between TreeView and ActivityView.
[x] Deal with any potential conflict.

Conflict resolved.

@nekomi2 I implemented the filter behavior, tree behavior, and also sync behavior (between tree view and activity table). The launchpad session configuration is located under the directory ./utils/business-process/launchpad/. So when API is ready, we can simply put real web requests in there without changing a lot of front-end codes.

Getting a weird error with launchpad.


No link to Issue Tracker from website

I could not find a link to the issue tracker from the website.

cc @pritidesai @mrutkows


pyproject.yoml: Removed protoc-wheel dependency

What was changed
Removed protoc-wheel-0 dependency from pyproject.toml. I think this was missing from #547.
I needed to patch this out in the nixpkgs package to make the build succeed: 353720

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Problems with the layouts. / Add an option to manually change the keyboard layout?

Hello there,
I am currently using a Logitech g910. My problem is, that I'm using the US Region setting and the English language setting with a German keyboard. I am German, and I do live in Germany, I just like the English language better, which is why I decided to do this. Now, to my actual problem. Some of the keys are misplaced in the software and some of them don't light up. With some of them, also the interactive lighting effects don't work, or they originate from a completely different key from the one that is being pressed. I've tried to circumvent this problem by deleting the US layout and renaming the German one to be the US one. All keys light up, but the "ö" key for example originates from the US "~" one, that should be the "^" one on a German keyboard. But instead, the "^" key is still doing nothing. Also, the "z" and "y" keys are still swapped in the German layout, not on the displayed layout itself, but the interactive lighting effects still use the opposite keys (I have not tested, if there are any additional keys that have this problem). Also, on the displayed German layout within Aurora itself, there are a few minor mistakes still, which would be nice to be fixed.
And finally, I would very much like to thank you for making this program. I've waited a long time to get my g910 to be customized more than the Logitech Gaming Software allows me to, and I very much appreciate your work with Aurora so far. Keep up the awesome work.
Cheers, Alex

I will be looking into adding and fixing layouts sometime this week.
As for the Y/Z swap, make sure you're running latest version of LGS. I know they fixed that internally in the later versions, as I had to swap the two keys.
You mentioned that there were a few mistakes on the layouts. Can you point them out to me in greater detail? As I only have a US keyboard to look at for an example, other layouts I have to look at pictures online and Wikipedia, which sometimes don't even have the same layouts.
As for the "Preferred Layout" I will see about adding that option. Probably will require a software restart to take effect though.

Hey there,
Thanks for the very quick response. I am running the latest version of LGS right now, so there should be no issue on my end, as my software updater states, that my software is up to date.
For the mistakes in the layout, as I said, the "~" key on the top left should be the "^" key. Furthermore, the "/" key on the top right should be the "´" key. I suppose US keyboards don't have the accent buttons at all (but I'm not sure). Additionally, on the numpad, instead of the "." should be a ",". Other than that, I don't seem to find any other issues with the keyboard layout. But as I mentioned, the "ö" key is still triggering interactive lighting effects originating from the (right now) "~" key and that key is triggering no effect when being pressed.
I hope this helps.
Cheers, Alex

I added option to select a preferred keyboard brand and a preferred keyboard layout. Swapped the Y/Z and fixed the visual errors you pointed out. Those will be included in the next update.
I was not able to test the invalid key locations though, could you add me on steam so I can send you a version with more logging. Comment on my profile prior to adding me, as I have a pile of friend invites. http://steamcommunity.com/id/pupant/
Thank you for your help.


Updates for IOS 11 / XCode 9

There are many changes in the HomeKit Accessory Simulator metadata. Please review this list and let me know if anything needs to be manually put back:
Camera Related Items:
Characteristic.SelectedStreamConfiguration renamed to Characteristic.SelectedRTPStreamConfiguration
Service.CameraControl Removed
Characteristic.DigitalZoom no longer attached to any service
Characteristic.ImageMirroring no longer attached to any service
Characteristic.ImageRotation no longer attached to any service
Characteristic.NightVision no longer attached to any service
Characteristic.OpticalZoom no longer attached to any service
Characteristic.StreamingStatus is now writable
Utility Items:
Service.Label renamed to Service.ServiceLabel
Characteristic.LabelNamespace renamed to Characteristic.ServiceLabelNamespace
Characteristic.LabelIndex renamed to Characteristic.ServiceLabelIndex
Characteristic.AppMatchingIdentifier removed
Characteristic.ProgrammableSwitchOutputState removed
Characteristic.SoftwareRevision removed
Service.StatefulProgrammableSwitch removed
Service.AccessoryInformation now has Characteristic.FirmwareRevision as Required
Service.AccessoryInformation no longer has Characteristic.SoftwareRevision as an associated Characteristic
Service.AccessoryInformation no longer has Characteristic.AppMatchingIdentifier as an associated Characteristic
Other Changes:
Characteristic.VOCDensity changed from FLOAT to UINT8
Characteristic.ProgrammableSwitchEvent can now have any UINT8 value.
Characteristic.ChargingState no longer has a maximum value of 2, but the Enumeration for it still only has up to 2 items.
Added Items:
Characteristic.ColorTemperature
Manual Changes I've made:
Associated Characteristic.ColorTemperature as an optional characteristic of the Light Bulb.

Possibly move to another file to reduce the amount of manual work.

Makes sense.  It looks like HomeKitTypes-Bridge.js is already a manually edited file for deprecated (or no longer documented?) services and characteristics.  @KhaosT, should we reuse this file or do you want to create a new file for the manual stuff?

To keep existing plugins working
to prevent existing plugin from crashing

I assume you mean homebridge plugins?  This is a consequence of passing HAP-NodeJS to plugins through the homebridge API instead of having plugins require HAP-NodeJS themselves.    I think we can expect more frequent changes, now that Apple has documented HAP.
It might be something to reconsider for homebridge 0.5.  I don't suppose homebridge could handle multiple plugins, each using a different version of HAP-NodeJS?

If the plugins are only using HAP-NodeJS for the Service/Characteristic mappings then the version shouldn't matter because it's just resolving to UUIDs and not really any of the functionality in HAP-NodeJS.
I don't think it's an issue to update the HomeKitTypes.js from HAS each release and put the differences into the HomeKitTypes-Bridge or another one called HomeKitTypes-Obsolete.js or HomeKitTypes-BeforeIOS11.js so that developers can see the supported types by IOS release.
The problem is that if Apple changes the constraints of an existing UUID, like they appear to have done with the ProgrammableSwitchEvent, then plugins could break on older versions of IOS.
A good example is that BatteryChargingState doesn't have a maxValue anymore so if they add another option in the Enumeration used by the characteristic then anything using that value will cause IOS versions before 11 to error.
I don't think it does, but I'll ask anyway.... does the HomeKit pairing process expose the IOS release? I know there's a protocol version but I don't think it changes when they make  these kind of potentially breaking changes on the Characteristics.
Now is definitely a good time to decide how to handle this.

The problem is that if Apple changes the constraints of an existing UUID, like they appear to have done with the ProgrammableSwitchEvent, then plugins could break on older versions of IOS.
A good example is that BatteryChargingState doesn't have a maxValue anymore so if they add another option in the Enumeration used by the characteristic then anything using that value will cause IOS versions before 11 to error.

See section 8.1.1 in the HAP spec: characteristic properties like minValue, maxValue, stepValue may be modified (per accessory).  A HomeKit app (or homebridge plugin) should not assume these are fixed, but check the actual values.  I'm more worried about changes like Volume becoming INT8 instead of FLOAT.

When I say creating alias for supporting existing plugins, I mean for something like Characteristic.LabelNamespace, the actual version in the metadata plist is Characteristic.ServiceLabelNamespace. If we just make the change without alias, then existing plugin will throw exception with updated version since Characteristic.LabelNamespace no longer exists. It doesn't matter if the UUID is the same, it's the object referred by the name is gone.
HomeKit pairing doesn't expose iOS version so there is no way to determine that. However, HomeKit on iOS will follow the metadata provided by the accessory when the value is different from default. Take example of that charging state characteristic, to provide backward support for iOS, ideally we should always set metadata for min/max/step values so older iOS version will work correctly when accessory return a value that's larger than previous enum.


Prod Dockerfile Throws Error

The dev version works perfectly, with and without Docker. But the prod version throws an error I can't seem to resolve.
/bin/bash: /usr/share/nginx/html/env.sh: No such file or directory
I've verified the file exists and the path is correct by adding RUN ls and RUN pwd into the Dockerfile. I'm also curious why you use bash in here instead of sh which already comes with Alpine.

I just ran into the same issue and turns out to be a simple fix! The env.sh file for me had Carriage returns and Line Fees symbols at the end of each line which Linux doesn't like. Simply changing all of the CRLF's to LF's worked :-).

Interesting. I may have inadvertantly done the same thing. But I was updating the code to be a little more POSIX compliant and altered the layout a little and it all worked finally.

I just ran into the same issue and turns out to be a simple fix! The env.sh file for me had Carriage returns and Line Fees symbols at the end of each line which Linux doesn't like. Simply changing all of the CRLF's to LF's worked :-).

Could you please open PR for this?


Converted domain events to async

Sometimes we want to perform long running task in domain events. For example we may want to send an email when an entity is added or modified. To support this type of functionality, domain event handlers should support async methods.

Accepted via #81

Thanks!


Increased number of locks in SynchronousLoadingBlockCache and set them to be fair

SynchronousLoadingBlockCache was introduced in ACCUMULO-4641. The code in this class used to be located in LruBlockCache. In ACCUMULO-4641 the number of load locks was reduced from 5003 to 2017. There is no comment as to why this was done, but it was something I noticed while looking at the fairness of the load locks. This commit resets the default size back to 5003, as it was in 1.10.x. This commit also changes the load locks to be fair, which allows the different scan threads in the tablet / scan server to make progress when there is a collision and multiple threads use the same lock.

Was there an actual issue observed that caused you to change to using fair locks? Whenever I've done any reading into the topic fair locks are generally discouraged due to the performance penalty that often happens.

User saw scan threads waiting on the lock, so some scans were making progress and others were not.

Something else I noticed is that it would be good to change this line here even though it's not related to the PR.
https://github.com/apache/accumulo/blob/49d335313f18275a66e604e274db9ba6895a4373/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/SynchronousLoadingBlockCache.java#L116-L118
The call to lock() should always be outside of the try block so it should be:
loadLock.lock();
try {
   ...

This is because if the call to lock() fails you can end up with an IllegalMonitorStateException when the thread calls unlock() in the finally block since it doesn't own the lock. In practice this would be pretty rare as lock() shouldn't ever really throw an exception. It's much more of an issue if you use something like lockInterruptibly() but it's still best practice to have it outside the try block.

If GitHub has to show ... for the first line of a commit message, it is a good hint that it's far too long. We've had several very long "subject" line portions in our git logs. This was the most recent one I noticed (but not the worst). It would be a good goal to keep very brief subject lines in the git logs, and put more details in the body.
For example, here's my attempt to polish up this commit message's subject line (solely as an example for how it could be done for future commits):
-Increased number of locks in SynchronousLoadingBlockCache and set them to be fair (#3175)
+Improve lock behavior in SynchronousLoadingBlockCache (#3175)

The body already describes what the improvements are (increasing the count and making them fair), so we don't need those details in the subject line.


Getting requests errors

So, I was getting 429 errors ever since yesterday, I had wait on rate limit as true, and notify as well. I had time sleep and not too many items being searched.
Even after 15 hours, I was still not able to run the bot, because of 429 error.
Today I woke up to this: {'message': 'Request exceeds account’s current package request limits.  {'message': 'Request exceeds account’s current packages
I changed the code a bit, changed the full_archive_search to a regular query search and got the 429 errors again.
In the developers dashboard it shows that I have 0 requests pulled, and my bot only got like 26 tweets favorited.
Does anyone know why?

Same issue here, same error message.
Strange as I have the academic tier too, but can't seem to see any of the tickers increasing on the Twitter Developer Portal.

Some issue, streaming is working for fine but using the timeline tweets I get a not autherized error when the code was working perfectly previously

I found that while I hadn't hit the tweet limit, I had hit the number of requests I was allowed per month. It was not intuitive to find on the platform though.
Check here -> https://developer.twitter.com/en/dashboard

I found that while I hadn't hit the tweet limit, I had hit the number of requests I was allowed per month. It was not intuitive to find on the platform though.
Check here -> https://developer.twitter.com/en/dashboard

Thanks @joseph-allen

Without the full traceback and/or relevant code, this isn't actionable, but this was likely resolved with https://github.com/tweepy/tweepy/commit/cd5f696d09530f86ac0edf1ec0fe0a02578a3920 in Tweepy v4.0.0.
Feel free to open a new issue with the full traceback and/or relevant code if you can still reproduce this with the latest version of Tweepy, currently v4.2.0.
As for why this is happening, it's likely that you're hitting your limit for requests per month for the full-archive search endpoint.
See the premium search API documentation for more information.


Extension point needed in constants/Layouts.jsx

For Volto addons to be able to add layout titles, constants/Layouts.jsx should not be used directly, Display/Display.jsx should import layouts from ~/config.

Perhaps it woulld also be possible to join the configuration of layouts/components and layouts/layout titles, in a manner as it is done for blocks.

Transfered to config object in Volto 16. Closing.


Increase watchdog timer

Increased default watchdog timer to 500s, also added a hook for that in grub.cfg.
This was needed because when EVE services were starving for memory, few operations like exec() calls became drastically slow which led to the services begin slow to update their respective touch file.
This led to Watchdog error in some cases.
Signed-off-by: adarsh-zededa<EMAIL_ADDRESS>

Closing this as the changes are moved to https://github.com/lf-edge/eve/pull/1351


fix: visual design issues on radio item

Fix for https://github.com/GovAlta/ui-components/issues/2214
Before (the change)

After (the change)

This issue is verified on react and angular

:tada: This PR is included in version 1.17.0-alpha.120 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 5.0.0-alpha.12 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-alpha.9 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.29.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 5.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


⚠ Bofrost.es has degraded performance

In 49a6b43, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1480 ms

Resolved: Bofrost.es performance has improved in fa3856f after 7 minutes.


migrate SDKs to azure_core::error::Error

Three months ago, in late February, #625 was merged. It added azure_core::error::Error and migrated a few SDKs. Earlier this week, #766 was merged to migrate all of the generated services. These still need to be migrated.

[x] sdk/core HttpClient::execute_request2 @cataggar #779
[x] sdk/identity @cataggar #781
[x] sdk/security_keyvault @johnbatty #782
[ ] sdk/data_tables
[ ] sdk/device_update
[ ] sdk/iot_hub @cataggar
[ ] sdk/storage @johnbatty
[ ] sdk/storage_blobs
[ ] sdk/storage_datalake
[ ] sdk/storage_queues

After that, we can remove the existing azure_core::Error & azure_core::HttpError and friends.
Migration is more tedious than difficult. A bunch of .map_error can be removed. others can be replaced with .context(ErrorKind::SomeKind, "some message". If a formatted message is useful, then something like:
HeaderValue::from_str(&self.header).with_context(
    ErrorKind::DataConversion,
    || {
        format!(
            "user agent '{}' cannot be serialized as an ascii-only HTTP header
            self.header
        )
    },
)?;

@mfrw, yes please. I'll have a PR for identity soon that we can review and may be use as an example.

I've just implemented this for security_keyvault, before noticing that it isn't on your list above!
Was this a deliberate omission?

In your example above for a formatted message, the method should be with_context(...) rather than context when passing a closure.

@cataggar, I'm interested in helping on the sdk/storage_blobs.

@rickrain, I put your name on it.

@cataggar - took a stab at sdk/storage_datalake.

Thank you everyone!


[Feat]: partytown support

Description
PartyTown is a library which lets you handle loading scripts off the main thread in separate workers. This can help speed up your site.
Partytown depends on the type="text/partytown" attribute.
CookieConsent relies on type="text/plain" to work.
Proposed solution
The script needs to update from type="text/plain" to type="text/partytown".
When this is done dynamically window.dispatchEvent(new CustomEvent('ptupdate')); needs to be run.
Additional details
No response

Duplicate of https://github.com/orestbida/cookieconsent/issues/487.
You can use the data-type to specify a custom type:
<script type="text/plain" data-type="text/partytown" data-cookiecategory="analytics">
    console.log("executed");
</script>

My apologies - will test this out and close it if all is good.
Really awesome project, keep up the great work!


(I#4539) Make side bar message dismissible

Fixes #4539
Changes proposed in this pull request:

Add a close icon button
Message is dismissed when the close button is clicked
Set a preference so users can prevent the sidebar message from appearing at all

@wetneb I found a close.png image. Sorry for my hasty conclusion

With my Firefox it looks like this:

There is quite a big empty margin at the top because of the button, that is perhaps not so elegant?

Oops! Let me correct that

@wetneb I was unable to re-create the image you had of your firefox browser display. On my browsers (Chrome, Firefox, Edge) the display was fine. I also checked it on different responsive screens using the inspection tool and it was fine.
I have changed the positioning a little. Could you please verify if it's fine now?

Appropriate UI pattern would be X in the top left corner and/or button in the bottom right.
Discard is not the right word.  I would use Close or Dismiss.
With the current PR, you will need to dismiss the help panel each time you open the project. What the issue was asking for is a per-project setting that is saved. (makes more sense as a global user setting, not per project).
Optional: Could have a separate checkbox that indicates the choice should be saved. See the screenshot below from IntelliJ's Tip of the Day which shows a common pattern for this:

With the current PR, you will need to dismiss the help panel each time you open the project. What the issue was asking for is a per-project setting that is saved. (makes more sense as a global user setting, not per project).

I would agree with @elebitzero that this PR is not really solving the user problem as it would come back after each project opening.
Also, if we save this information in the metadata of the project, it's very hard to undo it for a user (though why would someone want to do that… ;-) )
A preference would address all these problems.
Regards, Antoine

Hello @antoine2711

A preference would address all these problems

I want to try setting the preference but I don't understand this line of code:
JSON.parse(Refine.getPreference("ui.browsing.facetsHistoryPanelWidth", 300));
precisely ui.browsing.facetsHistoryPanelWidth. Where is this preference set? I've search through but found it mentioned only in the docs directory

precisely ui.browsing.facetsHistoryPanelWidth. Where is this preference set? I've search through but found it mentioned only in the docs directory

@Babi-B: Go here: http://<IP_ADDRESS>:3333/preferences

Refine.getPreference("ui.browsing.facetsHideSplash", false); will get a preference value, if none exists, then the value is false (2nd argument).
Regards, Antoine

Oh, I get it now. Thank you @antoine2711
Given this comment @elebitzero made, I could add a checkbox with an option to set the preference to hide the sidebar message. So if the user checks the box the preference is set. The user could also set the preference manually if they wish.
Do you think this proposal is good or do you have another opinion?

It looks like the Cypress test failure is not spurious: your changes probably throw some exception in some scenario (which you could find out from the CI logs).

@antoine2711: I think the last 8 commits of this PR are, perhaps, irrelevant. Should I squash them or wait for all reviewers to review the work done first?

@antoine2711: I think the last 8 commits of this PR are, perhaps, irrelevant. Should I squash them or wait for all reviewers to review the work done first?

Good question. Not sure of the perfect answer, but I would see that sqash are only important before merging in the master. Also, I think that you can merge only a range of commit, so that way you could not squash them all, by I really don't know, not being an expert in git… ;-) I would be safe, and wait before merge. But that just me. On my part, as long as you remember my comments, I don't care if you squash. I remember what I saw, if it's still there.
Regards, Antoine

Also, while working on OpenRefine/OpenRefine#4745 I came across a user manual where some preferences where listed out with a guide on they could be added.
I suggest it should be modified if this PR is approved because the user might want to undo the hideSplash effect. There is no other way of doing that except through changing the preference

Also, while working on #4745 I came across a user manual where some preferences where listed out with a guide on they could be added.
I suggest it should be modified if this PR is approved because the user might want to undo the hideSplash effect. There is no other way of doing that except through changing the preference

If you mean that we should also update the documentation in this PR so that the new preference appears there, you are quite correct. ;-)
Regards, Antoine

Also, in the naming, there is a new problem.

@antoine2711 : I have updated the preference name. Is it ok now?

The checkbox is not working…

Sir could you check now? It's working fine on my end

Sir could you check now? It's working fine on my end

Well, @Babi-B, on my side, closing of the splashes works when click the « delete » button. What is not working is the saving of preferences.

Here, I put a breakpoint at the first instruction in the setPreferences() function. And it never stops there, meaning this code is never called. Also, the other test shown earlier is clear, the preference is still not saved.
Here, the console is really the most powerfull debugging tool for front-end javascript. My two tests should always work.
Regards, Antoine

@antoine2711: Sir please be patient with me. I honestly I'm unable to recreate what you have

Here, I put a breakpoint at the first instruction in the setPreferences() function. And it never stops there, meaning this code is never called. Also, the other test shown earlier is clear, the preference is still not saved.

I am not very experienced with using the browser debugging tool. However, I added a console.log to the Refine.setPreference function and it is called when I check the checkbox to set the preference. Twice for each splash. Also the splash does not display when the preference is set.

Could you perhabs guide my on how to recreate what you have?

Could you perhaps guide me on how to recreate what you have?

K. I'll check again on my side. No problem.
Regards, Antoine

@antoine2711: Sir please be patient with me. I, honestly, am unable to recreate what you have

You don't have to ask me for patience. I always have patience for people in a sincere learning process. ;-)

I am not very experienced with using the browser debugging tool. However, I added a console.log to the Refine.setPreference function in the main/webapp/modules/core/scripts/project.js file and it is called when I check the checkbox to set the preference. Once for each splash. Also, the splash does not display when the preference is set.

Your coding skills are good, and it's not what is in question here. It's the understanding of the user logic that's failing. Let me synthetize it.

When the user click the Delete (or it probably should be Close) button, it should just close the splash panel.
When the user click the checkbox, the preference ui.browsing.hide{Panel}Splash should be set to true.

Now, you do BOTH on the button click, and nothing on the checkbox click…
It is clearer?
Regards, Antoine

You don't have to ask me for patience. I always have patience for people in a sincere learning process. ;-)

Thank you sir

Now, you do BOTH on the button click, and nothing on the checkbox click…
It is clearer?

Actually it works as you previously described. I have check and it doesn't have this error.

Actually it works as you previously described. I have checked and it doesn't have this error.

Let me summarize the logic:

The user wants to hide the splash; he asked for a close button.
In this issue, he ask that it be on a project basis; but we can't.
We propose instead a preference, it's across a user, will still answer the user request
To set the preference, we added a checkbox.

So, in conclusion, the close (or delete) button hide the splash, but the preference makes this closing permanent.
Now, if you check the checkbox, no preferences are set, but if you close the splash, a preference gets set.
Are we on the same page?
Regards, Antoine

@antoine2711: Let me just show you a video demo of the work. I have done two recordings of one splash because one is too large and GitHub does not support that.
In the first video when just the delete button is clicked
https://user-images.githubusercontent.com/66228179/165709184-d45f1b39-011a-48ca-83fe-d3a594ffb632.mp4
In this second video, the checkbox is checked.
https://user-images.githubusercontent.com/66228179/165709579-b98f69c1-63e1-40ba-94b9-548ecc28867d.mp4
As long as the preference is set to true, the splash does not display

@antoine2711: Let me just show you a video demo of the work.

K. I'll check it again. Regards, Antoine

@Babi-B: sorry for the delay, I was very busy.
So, I understand that it works the way you use it. But there are logical user interface flaws in its implementation. The preference must be set when you check the checkbox, not after checking the checkbox AND pressing the close button.
Also, I see a little problem related to this implementation, and it's with the permalink. It should be updated as to not show the splash if it's click and the preference is set. I you analyse the permalink, it gives this:
'http://<IP_ADDRESS>:3333/project?project=2355996207070&ui={"facets"%3A[]}'
And this force the splash to be displayed, even if the preference for the splash is set to hide.
If you want a videocall with me, we could arrange that.
Regards, Antoine

Hello @antoine2711

the preference should be saved strait when the checkbox is click

I have a question about this. As a user, I could check the checkbox then change my mind and undo it before clicking the delete button.
So should I put a listening event on the checkbox so on change a function could set or remove the preference?

Closing per inactivity, feel free to reopen if there is some movement.