Memory usage on Android can grow with repeated attaching of a long-lived Flutter engine to Flutter views

Making P1 to match b/237412494.
Using https://github.com/flutter/samples/tree/main/add_to_app/books as an example, while repeatedly opening and closing each Flutter view (in that sample's case, click "Edit" to go to a Flutter details page, then popping back to the Android list) causes the "Others" memory category to grow by 2.1MB and "Native" category to grow by 15.1MB.

In the "Others" category, I was able to observe the heap snapshot grow by 0.9MB

The main difference is the leftover image cache. Though that's already a known issue based on b/237630052.

Weird that the "Graphics" memory is going down over the same period, are we just assigning it differently over time somehow? The total amount of usage seems stable on that chart.

Internal P1 issues don't necessarily map to a Flutter P1 issue. I am dropping this to P3 to match the Flutter policy. cc @dnfield

@xster - when I try to run books locally it crashes as soon as I try to tap an edit button. I've tried on a Pixel 6 pro and on a Moto G4, both running late versions of Android.
It also looks like your patch to help reproduce this more clearly hasn't landed in samples yet?

Specifically https://github.com/flutter/samples/pull/1353

The total amount of usage seems stable on that chart.

I'm not sure that's the case. If you look at the trough of each open/close cycle, memory is creeping slightly.

Internal P1 issues don't necessarily map to a Flutter P1 issue.

I'm just following https://github.com/flutter/flutter/wiki/Triage#priority-labels In general, P1 issues are bugs blocking top-tier customers from shipping immediately which is generally the case.

it crashes as soon as I try to tap an edit button

are there logs in logcat? Can you file a separate bug? If our samples no longer run, we should definitely fix them.

Thanks for clarifying that this is a blocker. Adding back P1 and assigning @dnfield.

Moving to P2. I mistranslated from go/flutter-bugs#github-priority

@dnfield is OOO but from the last update, he could not reproduce this because the reproduction in question kept crashing.

@dnfield and @jason-simmons could not run the application at all. We need a runnable reproducible test case to make progress.

@dnfield Could you describe the failure you're seeing? cc @xster

When I tap the edit button in the Books application I get an exception.  It looks like it's coming from the Pigeon serializers:
08-22 13:06:15.747 10436 10436 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object reference
08-22 13:06:15.747 10436 10436 E AndroidRuntime: 	at dev.flutter.example.books.Api$Thumbnail.fromMap(Api.java:106)
08-22 13:06:15.747 10436 10436 E AndroidRuntime: 	at dev.flutter.example.books.Api$Book.fromMap(Api.java:88)
08-22 13:06:15.747 10436 10436 E AndroidRuntime: 	at dev.flutter.example.books.FlutterBookActivity.configureFlutterEngine(FlutterBookActivity.kt:71)
08-22 13:06:15.747 10436 10436 E AndroidRuntime: 	at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:206)

I tried regenerating the Pigeon code using the instructions in https://github.com/flutter/samples/tree/main/add_to_app/books.  But I was unable to get the resulting output to work.

Maybe @gaaclarke can assist?

You need to pull in @xster's latest PR (flutter/samples#1353). That sample is currently in a broken state.

Maybe @gaaclarke can assist?

Sounds like xiao's PR fixes this?  (https://github.com/flutter/samples/pull/1353)  Let me know if you need more eyes on this.  Xiao knows the most about it but I'm happy to look at it too.

Per my last chat with @xster -

we have a working repro of this now.
The leak is relatively small and it's not clear that it scales up
This deserves attention but is not currently blocking any internal customer launches. I'm lowering priority to P3 to get it off the critical issue triage radar.

To clarify, internal user states that it is a launch blocker

Bumping back to P2.

@xster - when I run the sample app, I do see some native memory growth, but I also see ~18-20 megs of uncollected garbage after dismissing the Flutter UI.
For example, in the run I'm looking at now I did back and forth about 4 times.
I see about 3 extra megs of graphics memory, which is probably the images in the cache.
I see 18.7 megs of uncollected garbage. I have 92.6 native memory used after, less uncollected garbage gives me 73.9, which would actually be slight less than the 74.5 megs used before.
I can't seem to force a GC to run (at least, not in a way that makes a new heap snapshot show no remaining uncollected garbage).
Anyway, I think our first best path forward here i sto have some way to try to get the VM to more aggressively collect garbage in this case. I think you were talking with @a-siva about this recently.
I'm also a bit concerned about whether this issue truly mirrors the internal customer issue, as we're takling about what seems to be a one time fixed accumulation rather than any kind of ongoing build-up of memory after repeatedly showing and dismissing the UI. Happy to talk more about this, but that was part of why I had lowered the priority of this issue.

Just to clarify my understanding, I was seeing a growth in both the "other" category and the "native" category. I was under the impression that VM held heap space that can be garbage collected all fit in the "other" category. Are you saying that both "other" and "native" would be affected by a GC? @a-siva could we test this theory? By having some custom engine brute force a GC and see if we can stop all growth?

Just to clarify my understanding, I was seeing a growth in both the "other" category and the "native" category. I was under the impression that VM held heap space that can be garbage collected all fit in the "other" category. Are you saying that both "other" and "native" would be affected by a GC? @a-siva could we test this theory? By having some custom engine brute force a GC and see if we can stop all growth?

Not sure I understand the comment about both "other" and "native" being affected by a GC, the recent engine change of not reporting huge external sizes for native objects and explicit disposal of these objects should ensure that GC will not in anyway effect the "native" footprint if it is coming from these native objects allocated by the engine.
I can try a local build of the engine with some quick hack to aggressively collect garbage on this example to see if there is any change, what would be the trigger point in the engine for when the Flutter UI is dismissed ?

| what would be the trigger point in the engine for when the Flutter UI is dismissed ?
Perhaps PlatformView::OnPlatformViewDestroyed?

cc @iskakaushik

Very excited about the GC mode work @iskakaushik. Just to clarify, I think there are 2 issues here. The Dart VM GC issue which a final GC during detach would solve (also see b/240654184), and there's a leak in "native". The latter is a separate issue.

From my understanding of the state of things, we think one leak is the pending collection and @iskakaushik s work on RAIL would partially address that. And then there is this other unexplained native memory growth that need to investigated. @xster Is that right? Are the two of the same priority or can be track them separately. Trying to figure out if we are overloading this issue.

This bug is just for the native memory growth from repeated launch and dismiss. Let's keep the last VM GC with RAILs issue separate in b/240654184

From Triage: We are trying to find the right assignee for this. @iskakaushik AI was to help @a-siva with the RAIL hook in the engine. That work has been done and he as moved on. I don't think @dnfield is working on this either (though he did take a stab at it).
@xster @dnfield @a-siva @zanderso  Can we have a chat about this in person? We are confused in triage about what the remaining action items are.

From Triage: Per @a-siva from the Dart Sync, the team is going to take a look at this issue this week,

To clarify, we should keep the GC related discussions separate. This bug is purely for the growth in the native C++ allocated space over time with repeated opens.
I can reproduce this on head with https://github.com/flutter/samples/tree/main/add_to_app/books.
After first launch and dismiss:

After a few launch and dismisses and a final Java GC:

I didn't build a local engine to de-symbolicate, but there's a rough display of the "native" allocation growth:
I'm starting and closing Flutter one time and only capturing newly allocated and not deallocated memory since

The remaining leftovers from repeated launches is 11mb.

Seems like half is from the embedding and half from somewhere deeper in the libapp.so.

@rmacnak-google added a call in Dart C API called Dart_NotifyDetach here https://dart-review.googlesource.com/c/sdk/+/262520
He wanted to rename this method to match with Flutter's name in PlatformView::OnPlatformViewDestroyed.
Once the rename CL lands on the Dart side we will add the hook to make this call in PlatformView::OnPlatformViewDestroyed

To disambiguate again, this issue is just for tracking native memory growth. Let's track the last GC issue separately in b/240654184

From issue triage: The non-Dart heap component will be easier to investigate after b/240654184 is implemented.

From Triage: Per @dnfield investigation, it wasn't able to track down any appreciable instances of uncollected native memory and the majority of the allocations we related to the uncollected garbage. If the fix for that is separate and the uncollected native memory growth is small, is this still a P2?

I think there are some crossed wires in this issue. My understanding is that there are two sources of retained memory across add-to-app instances.

Dart heap memory after Flutter add-to-app screen is dismissed. This is expected to be solved by adding a Dart_NotifyDetach call in the right place in the engine. Our understanding is that for the internal customer this is the bulk of the retained memory, and is the cause for this issue to be at P2.
A small (~10MB) amount of native heap memory accumulates across several add-to-app screens. The cause of this memory being retained is unknown. It sounds like the team is skeptical that this small amount of retained memory is really launch-blocking, and so the native-memory part of this issue should have a lower priority.

Do I have that right?

Work related to cleaning up the Dart heap memory after Flutter add-to-app screen is dismissed has been completed with the new Dart_NotifyDestroyed api call and engine code being wired to call it.

From triage: Since https://github.com/flutter/engine/pull/37539 is landed, this is ready for verification and/or further investigation. Routing initially to @dnfield for a quick check on that.

Removing Dans assignment since he is OOO. Lowering the priority as the linked patch has landed. We can close this after verification.

My understanding is that the customer's issue has been addressed, and that no further follow-up is needed here, so I'm going to close this, but feel free to re-open if I'm mistaken.


Added specification for new type

I think it is safest to allow no operations; allowing only some operations is really a hack with lots of exceptions. The right way to allow operations is to create functions that can operate on such values:
type bit<32> B32;
B32 mask(in B32 left, in B32 right) { return (B32)((bit<32>)left & (bit<32>)right); }

Looks good. Let's merge this.


Create rhel7-s2i-nodejs repo

I'm not exactly sure about if this is the way forward or not but we could provide a s2i image based on RHEL and that uses the RPM created by node-rpm. This would allow usage/testing of the RPMs that node-rpm produce.

This issue can be closed?

Closing as this issue is out of date.


Apply module import aliases in Elm.ToString

I would like to be able to present a code snippet that has module import aliases already applied, without needing to create an entire File's contents and then trim it down.
For example, if I want the following code snippet to show:
myIcon : Svg.Svg
myIcon =
    UiIcon.preview

assuming the generated code looks like this:
-- Copied from codegen/Gen/Nri/Ui/UiIcon/V1.elm
-- after running elm-codegen NoRedInk/noredink-ui
preview : Elm.Expression
preview =
    Elm.value
        { importFrom = [ "Nri", "Ui", "UiIcon", "V1" ]
        , name = "preview"
        , annotation =
            Just (Type.namedWith [ "Nri", "Ui", "Svg", "V1" ] "Svg" [])
        }

I believe I would need to do some mucking about with the result of the following in order to focus in on the part of the generated code that I care about.
    Elm.fileWith [ "My", "Module" ]
        { docs = \_ -> []
        , aliases =
            [ ( [ "Nri", "Ui", "UiIcon", "V1" ], "UiIcon" )
            , ( [ "Nri", "Ui", "Svg", "V1" ], "Svg" )
            ]
        }
        [ Elm.declaration "myIcon" preview
        ]
        |> .contents
        |> ... string trickery

It would be nice to be able to do:
Elm.ToString.expressionWith
            { aliases =
            [ ( [ "Nri", "Ui", "UiIcon", "V1" ], "UiIcon" )
            , ( [ "Nri", "Ui", "Svg", "V1" ], "Svg" )
            ]}

and so forth instead.

This is now supported in the new version!  What a fantastic suggestion, thank you 🙏


Get back b-resizer

b-resizer has been forgotten during the rewrite. Not sure if it is really useful though...

I currently need a b-draggable with a resize capability. I would be glad to contribute. Any pointer to existing source code to start quickly ?

To look out some components code, you can see b-draggable.
And to run your newly created component, just see the demo html page.
For questions, join the very small community (and so very light discussion) or ask them in this issue.

Hi @padewitte,
The initial (and forgotten) b-resizer element can be found here: https://github.com/bosonic-labs/b-resizer/blob/master/src/b-resizer.html, but don't get started too fast, here's why:
I'm currently merging all elements' packages (aka https://github.com/bosonic/layout-elements, https://github.com/bosonic/data-elements and https://github.com/bosonic/dnd-elements) into this one (core-elements). In layout-elements, there is a b-splitter element that allows resizing of the zones defined by a b-linear-layout. This is not exactly what you're looking for, but it's probably a cleaner starting point than the old b-resizer. I will complete the merge of layout-elements with core-elements within the day, so that we can start working together on this from a clean state. I'll let you know when this is done and will give you a few directions on how to tackle this subject.
I'm really happy to see you wanting to contribute btw, feel free to ask all questions you want ;)

@padewitte I just pushed a quick b-resizer rewrite in addition to b-splitter and b-linear-layout. A demo is included of course. Please check it out and tell me if it suits your needs. There are probably a few things that will need to be ironed out, so you will still be able to contribute ;)


is it necessary to annotate @ShenyuspringCloudClient in the Controller layer?

Question
To use Shenyu, is it necessary to annotate @ShenyuspringCloudClient (path = "/save") in the Controller layer?
For example,
@PostMapping("/save")
@ShenyuSpringCloudClient(path = "/save")
public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
    orderDTO.setName("hello world spring cloud save order");
    return orderDTO;
}

If so, Shenyu's code will invade the normal business system. Coupled to the code of the business service. If you want to change the gateway. I need to delete all the code.

Why not use conventions?
Run @requestMapping ("/order") @getMapping ("/path/{ID}/name") to obtain information about the service interface to be registered

@65725738 How about @ShenyuRequestMapping , @ShenyuGetMapping and etc?

you can easily configurate it in (http://localhost:9095/#/config/metadata)[http://localhost:9095/#/config/metadata] like:


FastAPI integration with DocList

Context
As of today to use FastAPI with DocList we need to cast the DocList into a python list manually like this
from typing import List

import numpy as np
from fastapi import FastAPI
from httpx import AsyncClient

from docarray import DocList
from docarray.base_doc import DocArrayResponse
from docarray.documents import TextDoc

# Create a docarray
docs = DocList[TextDoc]([TextDoc(text='first'), TextDoc(text='second')])

app = FastAPI()

# Always use our custom response class (needed to dump tensors)
@app.post("/doc/", response_class=DocArrayResponse)
async def create_embeddings(docs: List[TextDoc]) -> List[TextDoc]:
    # The docs FastAPI will receive will be treated as List[TextDoc]
    # so you need to cast it to DocList
    docs = DocList[TextDoc].construct(docs)

    # Embed docs
    for doc in docs:
        doc.embedding = np.zeros((3, 224, 224))

    # Return your DocList as a list
    return list(docs)

Objective
The objective is to be able to directly use DocList in the type hint
@app.post("/doc/", response_class=DocArrayResponse)
async def create_embeddings(docs: DocList[TextDoc]) -> DocList[TextDoc]:
    assert isinstance(docs, DocList)

How to do it
The most straightforward way is to:

Make DocList a real python list (alternatively we could extend isinstance to return true for list but it is a bit hacky).
Using post root validator from pydantic to init the list into a DocList

@jupyterjazz I think we can already test that after merging #1457

I looked into this, sending a taking a DocList as input works, returning one as an output does not. I am working on this now.

I will close this issue as duplicated of #1521


Slack image attachments ignored

Whenever someone sends a message with image attachment, only the text is delivered to IRC. I'd expect a link to the image as well (that's what slack's gateway did before they shut it down).
Compare:

Slack API has been changed.
This has been resolved in master for a while and seems stable, so I've just released a v0.18.3 and the binaries that fixes your issue.

Oh, right, sorry for not trying master. :-(

And thanks. :-)


Correcting typo: Specfies -> Specifies

This change is

Thanks for sending in this PR! Could you please update the unreleased section of the README.md (the change log) with an entry about this change?

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Absolutely! I've added a note.

@kwirkykat this looks good to me, could you please merge this change?

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Weird file issue

Hi,
I got an .mp3 file that I am trying to play in an ionic app. I've tried your very nice plugin with several other files. Everything seemed to work - but not with the file I got. Here's what I've done so far:

try online/offline
validate the mp3 file
converted the .mp3 to .wav and .aiff
used different settings on .mp3 conversion
change sample rate
check file permissions
check my code, but since your test audio is working I'm not too worried about this

Do you have any hint for me on what else could cause it not playing. In Xcode as I test the app it would say "now playing ..." but no sound whatsoever. In android there still seems to be another issue since the loading indicator just runs wild with nothing happening. (but I am not the one testing the android app, so I cannot give more info on that atm)

I really don't know and I cannot guess what the issue is. It probably has to do with the file format and Cordova Media plugin.


fix: make compaction more sensitive to cancellation

A few of the benchmarks have started failing after #8655 where they are waiting for compactor task. Reads done by image layer creation should already be cancellation sensitive because vectored get does a check each time, but try sprinkling additional cancellation points to:

each partition
after each vectored read batch

In addition, cancel the compaction task before any shutdown-initiated flushes.
Failing reports:

https://neon-github-public-dev.s3.amazonaws.com/reports/main/10356357461/index.html
https://neon-github-public-dev.s3.amazonaws.com/reports/main/10358356206/index.html
https://neon-github-public-dev.s3.amazonaws.com/reports/main/10363824275/index.html
https://neon-github-public-dev.s3.amazonaws.com/reports/main/10364899155/index.html

2116 tests run: 2044 passed, 3 failed, 69 skipped (full report)
Failures on Postgres 16

test_pageserver_chaos[None]: release

test_isolation[4]: debug

Failures on Postgres 15

test_pageserver_chaos[None]: release

Adding two more cancellation checks to legacy compaction:

after switching layer file for merging keys
after hole finding

After adding the compaction sensitivity, then there's failure to stop in the retry backoff for uploading a layer...


Debug submission in docker without network access

Without disabling network the test using docker does not catch missing dependency issues that can be downloaded.

This change has now been implemented in the README.


Synchronization not progressing

On iOS my phone syncing doesn't progress stuck at block 1483968 ...
This issue occur with last few alpha releases including last one 0.0.18

Wrong repo.


Improve backend dev experience by programatically creating first admin user

One hiccup in the backend dev experience is the need to manually create an admin user when spawning a fresh a pockethost-central db. Setting the first admin's credentials programmatically could alleviate this part of the process and help to make working on Pockethost a little closer to the simple experience that appeals to folks who choose to work with Pocketbase.
Here's a relevant discussion: https://github.com/pocketbase/pocketbase/discussions/793

Want to take a shot at this?
As a stopgap, I added a warning about that if it's unable to log in using the .env credentials.

Happy to! I'll take a look at it today or tomorrow. For simplicity I'll keep a branch just for this improvement, and when it's working it could be brought into main and your docker branch.

Perfect, feel welcome to open a PR when you have something :)

moved to roadmap


make it work with ruby 3.1 by upgrading thin to the latest version …

…and replacing skinny with faye-websocket.
also allow mailcatcher process to be stopped with SIGINT / CTRL+C

Hi @sj26 or @tagliala @westonganger  could you have a look please? <3

Unfortunately I am not a maintainer of this project. I think I reached out before. But if more maintainership help is needed I am willing.

Thanks for the contribution! But there is already a conflicting stategy for upgrading thin and websockets etc over here:
https://github.com/sj26/mailcatcher/pull/467
The blocker is testing, including adding more feature spec coverage. If you're keen to contribute, looking at the surface area of mailcatcher and adding feature specs would be a great contribution.

allow mailcatcher process to be stopped with SIGINT / CTRL+C

This should already be working:

Reading this again, it's a pretty small intervention so might be easier to land. I'll do a review and maybe we can land it.

@sj26 Thank you for taking time to review my PR. I addressed your comments. Please have another look when you can.

I've added a spec on main which tests that mailcatcher exits cleanly on interrupt, and rebasing this branch to include that spec causes a failure:
  1) Quit quits cleanly on Ctrl+C
     Failure/Error: expect(status).to be_exited
       expected `#<Process::Status: pid 56232 SIGINT (signal 2)>.exited?` to be truthy, got false
     # ./spec/quit_spec.rb:41:in `block (2 levels) in <top (required)>'

any particular reason this wasn't merged? I'm currently unable to install this on ruby 3.x and I suspect this PR would help.

There is a failing spec rebased on main, and not enough testing generally to be sure it hasn't broken anything.

Hi folks! Thanks for this work here, especially @Wanderfalke.
Ruby 3.1 support and a switch to faye-websocket are available in 0.9.0.beta1. I've love some folks to test. You can install the latest pre-release with:
gem install --pre mailcatcher

I think there are still some quirks. I don't think the websockets send the quit message before shut down. But that's not critical.
I'm keen to upgrade Thin, too, but I'd like to bed in the switch to faye, first. Beyond that I'll see if we can complete the switch to the async gems (#467).

I know this is marked as Closed (so hopefully I'm not wasting my time typing this), but I wanted to give the maintainers and anyone else who has this problem some feedback...
I'm using Rails 3.1.0, and when I installed and tried to run mailcatcher 0.9.0 this is what I got:

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'
:85:in `require': libssl.so.1.1: cannot open shared object file: No such file or directory - /home/larry/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/eventmachine-<IP_ADDRESS>/lib/rubyeventmachine.so (LoadError)
        from :85:in `require'
        from /home/larry/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:8:in `'
        from :85:in `require'
        from :85:in `require'
        from /home/larry/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/mailcatcher-0.8.1/lib/mail_catcher.rb:7:in `'
        from :85:in `require'

So I ran the following two commands:

gem uninstall mailcatcher
gem install --pre mailcatcher

And it worked like a charm, specifically:

larry@system76-pc:~/RubymineProjects/BackEnd$ mailcatcher
Starting MailCatcher v0.9.1.beta1
==> smtp://<IP_ADDRESS>:1025
==> http://<IP_ADDRESS>:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.

Thanks for the great gem!

Sorry @larryh, that's very weird!
That sounds like a problem within eventmachine. Perhaps it linked to an older version of openssl? Are you using homebrew? It might have upgraded libraries beneath your feet.
Reinstalling the gems usually fixes it up for me:
gem pristine eventmachine
# or
gem pristine --all

Hi,
Thanks for the constant feedback - I know you must be busy and it is much appreciated.
A "gem list" command tells me I have Eventmachine 1.2.7, which I believe is the latest version.(From 5 years ago!)  It's not in my (Rails project) Gemfile or even Gemfile.lock. Also, I don't think I ever intentionally installed it, so maybe it just comes along for the ride when I install Mailcatcher.
Also, I'm not on a Mac, so no homebrew. (I'm on Ubuntu)
I'll just continue to refresh the page to see new emails.
Thanks again,
Larry

Heh, Homebrew runs on Linux these days.
But even apt may have bumped your libssl. And apt isn't aware of rubygems, so wouldn't cause dependent gems to be recompiled.
I'd recommend a gem pristine --all just to be safe :-)

Thanks for the tip. I did a "gem pristine eventmachine" but that didn't do anything; I still have to refresh the page to see the email.
I don't want to try the "all" command because I'm gun-shy of potential unintended consequences. Oftentimes (or at least sometimes) issuing commands that sweeping can result in spending hours just trying to get back to where you were, i.e. "when things worked."
I'll just stick with refreshing the page when I need to.
Thanks for all of your help!


Status Update

Sir,
We are in the process of updating the status of all SDKs.  Wanted to check on the status of Phases 4 and 5 for your SDK.  If you believe the remaining work effort should receive additional funds we are happy to review a new AZ proposal for that effort.

@2bonahill any updates?

No updates. Last commit marks the latest developments.


Feature request - Support different env configs

Read different .env configs according to current command (start / test / build).

Read .env.dev when npm start and npm test
Read .env.prod when npm run build

By default (if custom config does not exist) read env variables from .env file.
dotenv is using for config parsing.
Not sure about npm test - what config file should be accepted.

But according to dotenv FAQ
Should I commit my .env file?
No. We strongly recommend against committing your .env file to version control. It should only include environment-specific values such as database passwords or API keys. Your production database should have a different password than your development database.
Should I have multiple .env files?
No. We strongly recommend against having a "main" .env file and an "environment" .env file like .env.test. Your config should vary between deploys, and you should not be sharing values between environments.

Provide simple PR with feature implementation

👍

Nice improvement. It would be very useful!

How can i use the variables which from .env file in my ES6 code?

@dioxide

Adding Custom Environment Variables

These environment variables will be defined for you on process.env. For example, having an environment variable named REACT_APP_SECRET_CODE will be exposed in your JS as process.env.REACT_APP_SECRET_CODE, in addition to process.env.NODE_ENV.

Update issues according to latest PR updates
What .env* files are used?

.env - Default
.env.development, .env.test, .env.production - Environment-specific settings.
.env.local - Local overrides. This file is loaded for all environments except test.
.env.development.local, .env.test.local, .env.production.local - Local overrides of environment-specific settings.

Files priority (file is skipped if does not exist):

npm test - .env.test.local, env.test, .env.local, .env
npm run build - .env.production.local, env.production, .env.local, .env
npm start - .env.development.local, env.development, .env.local, .env

Priority from left to right.

Can you confirm that once this feature is built-in create-react-app we won't need https://www.npmjs.com/package/react-app-env anymore ?

Fixed in https://github.com/facebookincubator/create-react-app/issues/1344.
Will be out in next release.

@cadichris Yes. I will mark that package as deprecated

Please help beta test the new version that includes this change!
https://github.com/facebookincubator/create-react-app/issues/2172


[GAMEPLAY] Basic damage & stats to be calculated based on relevant factors (item, character stats, etc...)

basic is in place, but it is pointless to go any further until i have clearer idea of what this project is going to be


increase Windows CI timeout again

because the latest LLVM bump in PR #2545 exceeded the 4.5h timeout
see PR #2511 for more context

Jenkins Linux s390x Build #12934 [push] increase Windows CI time... started at 14:00

Jenkins Linux amd64 Build #12910 [push] increase Windows CI time... passed after 1 hr 10 min

Jenkins Linux s390x Build #12934 [push] increase Windows CI time... passed after 1 hr 45 min

Jenkins Linux ppc64le Build #11927 [push] increase Windows CI time... passed after 1 hr 52 min


std() and var() throw errors for StreamStats.Var

Calling std() on a StreamStats.Var instance throws an error:
julia> std(a)
ERROR: `start` has no method matching start(::Var)
 in var at statistics.jl:42

julia> var(a)
ERROR: `start` has no method matching start(::Var)
 in var at statistics.jl:42

There is no issue with mean(a)
Not sure what the problem is, maybe it conflicts with a type in statistics.jl?

Isn't this exactly the behavior you'd expect from reading through the code?

Is this an issue with an older version of the code? There is no StreamStats.Var type anymore.

aha!
Thanks - I should have checked for that.
I just followed the tutorial on the main page.

Yes, this package is still very much in flux. Sorry for the confusion.


Fix issues 39, 56 and 85

This is the 1st PR for image repo to address the following issues:

WASdev/azure.websphere-traditional.cluster/issues/56
WASdev/azure.websphere-traditional.cluster/issues/85
WASdev/azure.websphere-traditional.cluster/issues/39

The 2nd PR to completely address the above issues will be sent out later to the cluster repo.
Signed-off-by: Jianguo Ma<EMAIL_ADDRESS>

Hello @git4rk @edburns @zhengchang907 Could you pls kindly review the PR? Thanks.


Simplify environment.yml to minimal set of packages required

Issue
Currently environment.yml and ubuntu_environment.yml are duplicates of one another, and could be simplified into a single file that uniquely specifies environment dependencies.
Proposal
I'd like to propose unifying the two environment spec files into an environment-dev.yml file, which only specifies the minimal set of packages necessary for development/hacking on graphein. Deployment onto PyPI and conda forge later can allow for installation with dependencies automatically pulled in. This would be in tandem with the removal of the current *environment.yml files.
A proposed starter environment spec could be:
name: graphein-dev
channels:
- conda-forge
dependencies:
- python=3.8
- biopandas
- pandas
- networkx
- numpy

Conversion to DGL/PyTorch/JAX can be enabled once the library of code has been rewritten.

The two environment.yml files are legacy at the moment. The reason for there being two of them was a result of getting RTD to build the docs properly - some of the packages install different builds depending on platform.
That being said, I do agree with the need for simplification & think it's timely given the difficulties people are experiencing. Happy to move forward on this.


New fork notifications not working

Hoping of not being too annoying with bug report, here is a new one, as by screenshot (and not that any new comment on discussions seem to work perfectly, but that's another issue):

FYI, it happened again:

This should be fixed now. Please let me know if it happens again


fixed some rare assertion failures complaining about non-sealed dataf…

…iles
non-sealing of datafiles could actually happen when more than a single journal
was found at startup, and all but the last journals were converted into datafiles
automatically. these datafiles were not sealed, triggering the assertion failures
later in other places

Wanted to fix this for a long time, but never got it...

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/586/


Release/0.6.0

Implements the WordPress Settings API to create a settings page and store user settings in the database. Also added some new options, like custom div height and width and minor fixes.

I merged the changes from 0.5.4 with this release.


NIFI-7717 Updated main NiFi images to JRE 11.

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

@MikeThomsen given we support a base of java 8 my perspective here is it makes sense to base images on 8 but allow for 11 rather than basing images on 11 but allowing for 8.  Folks can opt in to the newer bits is what I mean.  Does this solve something you're facing?
My experience, sadly, is that in the wild users are very slow to upgrade their JDK/JRE

@joewitt @MikeThomsen Can I suggest that this be a build arg in the Dockerfile (they can be used in a FROM) and a property in the pom? That'd make the build pretty flexible and let people twiddle the versions without making changes to the Dockerfile each time.

@joewitt I just figured we'd nudge Docker users along a little. To @jfrazee's point, we might want to consider having Maven parameterize it with the resource plugin or something like that.

@MikeThomsen The Docker maven plugin has a <buildArgs/> section so I think with a few small changes this PR could strike the right balance.

@jfrazee @joewitt updated with the ARG so it's parameterized, with a default to JDK 8. Let me know what you think.

@MikeThomsen I'm going to nit on something. This being called JAVA_VERSION would make me think it'd be something like 11 or 1.8 or one of the many openjdk tags and not the base image name.
That brings up another question. What's the tradeoff between having the base image be completely specified vs. just a tag for the openjdk image?
My thinking is:

If it  was just the tag for openjdk it's more likely the image will be as expected (since most but not all of the openjdk tags are Debian based).
Whereas allowing the entire base image to be changed would let people use the released source to build images of their own, let's say hardened or approved images, with the drawback of it not working if they provide a non-Debian based image. (That said, it's very light on Debian assumptions, so there might be even some room for some easy changes to make it work with other distros later.)

I think (2) is reasonable motivation.

@MikeThomsen I wanted to come back to this. I've been using this for a while now and think it'd be helpful to split off the image/repository name, the image tag, and the maintainer as ARGs. For example:
ARG IMAGE_NAME=openjdk
ARG IMAGE_TAG=8-jre
ARG MAINTAINER="Apache NiFi<EMAIL_ADDRESS>
FROM ${IMAGE_NAME}:${IMAGE_TAG} AS artifactbase
LABEL maintainer="${MAINTAINER}"

...

FROM ${IMAGE_NAME}:${IMAGE_TAG}
LABEL maintainer="${MAINTAINER}"

And:
<properties>
    <docker.image.name>openjdk</docker.image.name>
    <docker.image.tag>8-jre</docker.image.tag>
    <docker.maintainer><![CDATA[Apache NiFi<EMAIL_ADDRESS></properties>

What do you think?

I'll try to take a look at this tonight. Sorry for missing it.

@jfrazee made the updates. Let me know if they match your expectations.

@MikeThomsen Hey, I'm +1 on this with one caveat. It looks like LABEL can only use an ARG that's after a FROM. Since it's just moving a line, I can do this on merge unless you object?

Yeah, go ahead and make the change.


Cannot read property 'bind' of undefined

Version
5.0.1
Browser and OS info
Chrome 73
Steps to reproduce
Vue.js version is  v1.0.24
Vuex version is v0.6.2
open the app, chrome throw a error is "Uncaught TypeError: Cannot read property 'bind' of undefined"
u.storeModules = [];
var e = t.registerModule.bind(t);

t without registerModule method
What is expected?
Do not block the application from opening properly
What is actually happening?
throw a error

could you please add disable button for devtools?

I got the same problem for Chrome: Version 72.0.3626.81 (Official Build) (64-bit)
Operating System: Ubuntu 16.04.5 LTS

It looks like there is no backward compatibility for older Vuex versions

Disable the extension, it doesn't look to be compatible with Vue 1.x as @bajzarpa points out.

Disable the extension, it doesn't look to be compatible with Vue 1.x as @bajzarpa points out.

I certainly know that disabling devTools can get around this, but I have multiple applications, and I just hope it doesn't block my application from working properly

Disable the extension, it doesn't look to be compatible with Vue 1.x as @bajzarpa points out.

I certainly know that disabling devTools can get around this, but I have multiple applications, I just hope it doesn't block my application from working properly

Oh i agree, i was just proposing a solution to get the application working again. By no means did i suggest this is the right solution but for now it works.

@Akryum this error still appears to be happening in v5.0.5 with a v1 app.

Please provide a runnable reproduction.

You can check here: https://app.seniorvu.com/
If I have vue devtools uninstalled the site loads. If I have them installed it's just white screened with that error in the console.

Please provide a runnable reproduction.

VM87750:formatted:73 Uncaught TypeError: Cannot read property 'bind' of undefined
t.replaceState.bind(t)
t without replaceState method

Same here. Visit https://my.qbrx.com with dev tools enabled and check the console.

This is still an issue in 5.0.6, even with Vue.config.devtools = false.
<EMAIL_ADDRESS><EMAIL_ADDRESS>Chrome: 73.0.3683.86

chrome.zip
I packaged a version 5.0.3 that worked

Has the vue team given up on solving the vueDevtools vue1.x compatibility issue? I still have this problem


Cannot get blinker states

I have made a data_collection script that basically spawns a car and some traffic, sets autopilot using traffic manager and collects locations, orientations and camera images of the main car.
I have been trying to label DESIRE based on whether the car's BLINKERS are engaged (and which one is) or not (desire: straight, left, right), but reading the docs I haven't the faintest idea of how it is done.
The way I see it, I have to find a way for the traffic manager to use each car's blinkers (since it doesn't do that by default) when they execute turns or lane-changes and then get the blinkers-state of the car I'm focusing on. How would someone do that?

NOTE: I already found a way to make the traffic manager use lights automatically using this:
traffic_manager.update_vehicle_lights(vehicles, True)

inside the mainloop


Invalid CRON expression cron(* ? * * * *)

Is this a valid cron expression? cron(* ? * * * *)
EventBridge's Define schedule shows error: Invalid CRON expression
Latest version (v4.0.2) of Security Automation still have this setting
Originally posted by @zsidez in https://github.com/aws-solutions/aws-waf-security-automations/issues/186#issuecomment-1876778317

Thanks for reporting. Will be fixed in the next release.

@zsidez cron(* ? * * * *)defines a job that runs at the top of the hour. How did you get the error? Please provide steps to reproduce.

@aijunpeng This is how it will be at the beginning of the hour: cron(0 * ? * * *) or cron(0 * * * ? *)
Can't put question mark ? at any position. Allowed only for Day-of-month and Day-of-week
To reproduce can open created(or create new) events bridge rule in aws console:

EventBridge's Define schedule shows error: Invalid CRON expression

Also I suggest to run this add_athena_partitions job not at the top of the hour. But every minute. To be sure that partition is created.
Current python code that adds partition already doesn't add it if partition exists:  ALTER TABLE  ... ADD IF NOT EXISTS PARTITION . So every minute should work
So cron can be: cron(* * * * ? *)

Thanks for providing more information. I've validated that cron(* ? * * * *) works fine in CFN template. So if you deploy the solution template, there won't be an issue. However for some reason (could be due to some service change) it doesn't work on AWS console any more. If you want to update the expression via the console, please enter the correct cron expression to pass the error. We have added this issue to our backlog and will address it in future release. I am not experiencing any problem with running hourly query to add hourly partition on my end though.


init failed

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm i -g @aws-amplify/cli
If applicable, what version of Node.js are you using?
v8.11.2
Amplify CLI Version
4.45.0
What operating system are you using?
MacOs BigSur 11.2.2 (20D80)
Amplify Categories
Not applicable
Amplify Commands
init
Describe the bug
▶ amplify init
Note: It is recommended to run this command from the root of your app directory
? Enter a name for the project xxx
? Enter a name for the environment dev
? Choose your default editor: Visual Studio Code
? Choose the type of app that you're building flutter
Please tell us about your project
? Where do you want to store your configuration file? ./lib/
Using default provider  awscloudformation
/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/extract-zip/index.js:1
TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function
    at promisify (internal/util.js:209:11)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/extract-zip/index.js:11:18)
    at Object.Module._extensions..js (module.js:663:10)
    at Object.Module._extensions..js (module.js:663:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/attach-backend.js:5:17)
    at Object.Module._extensions..js (module.js:663:10)
    at Object.Module._extensions..js (module.js:663:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/index.js:4:29)
    at Object.Module._extensions..js (module.js:663:10)
    at Object.Module._extensions..js (module.js:663:10)
    at providers.forEach.provider (/usr/local/lib/node_modules/@aws-amplify/cli/lib/init-steps/s2-initProviders.js:36:32)
    at Array.forEach (<anonymous>)
    at initProviders (/usr/local/lib/node_modules/@aws-amplify/cli/lib/init-steps/s2-initProviders.js:35:15)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Expected behavior
no error
Reproduction steps

amplify init
Enter a name for the project xxx
Enter a name for the environment dev
Choose your default editor: Visual Studio Code
Choose the type of app that you're building flutter

Please tell us about your project

Where do you want to store your configuration file? ./lib/

Log output
# Put your logs below this line
 cat ~/.amplify/logs/amplify-cli-2021-03-08.log
2021-03-08T13:34:37.748Z|info : amplify init core
2021-03-08T13:37:30.713Z|info : amplify init core
2021-03-08T13:45:15.442Z|info : amplify version core

just updated npm to 6.14.8

Hi @Miamoto-Musashi - thanks for reaching out.  Have you tried with a newer version of Node.js?
The CLI pre-requisites are listed here - https://docs.amplify.aws/cli/start/install#pre-requisites-for-installation.

@Miamoto-Musashi Amplify CLI supports only NodeJS LTS versions as minimum, which is as of Today 10.x, but end of April 10.x gets out of LTS, to 14.x will be the version, but 12.x is also expected to function correctly. Update your NodeJS version and retry the amplify init.


Wrapping long lines in code views

Currently, Gitea does not wrap long lines of code, making it harder to look at code and diffs that contains lines that extend beyond the screen width.
Is there a general interest in having long lines automatically wrapped? It's a simple CSS tweak (similar to what I've done here for GitHub):
Before:

After:

This might not work too well on small screens, where I think it might be better to not wrap those lines (horizontal scrolling is easier on touch).

@silverwind please send a PR.

fixed by https://github.com/go-gitea/gitea/pull/1845

Actually, this one isn't fixed yet. Can you reopen please?

would be great if this could be enabled in normal code views as well (maybe via toggle or config setting). currently working with .Rmd files which contain quite long lines sometimes.


RuntimeError: The Secret Service daemon is neither running nor activatable through D-Bus

Describe the bug
I get this screen when opening protonvpn-gui
❯ protonvpn-app
2024-01-11T06:50:17.769260 | proton.vpn.app.gtk.app:58 | INFO | APP:PROCESS_START | self=<app.App object at 0x7f19c015a940 (proton+vpn+app+gtk+app+App at 0x12b57c0)>
Traceback (most recent call last):
File "/nix/store/mq257mjiz6d92ggnpx41401cvsmivjib-python3.11-secretstorage-3.3.3/lib/python3.11/site-packages/secretstorage/util.py", line 48, in send_and_get_reply
raise DBusErrorResponse(resp_msg)
jeepney.wrappers.DBusErrorResponse: [org.freedesktop.DBus.Error.ServiceUnknown] ('The name org.freedesktop.secrets was not provided by any .service files',)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/nix/store/lhgzgiiydx87gygn65wq021sw7487k1x-python3.11-keyring-24.3.0/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 61, in get_preferred_collection
collection = secretstorage.get_default_collection(bus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/mq257mjiz6d92ggnpx41401cvsmivjib-python3.11-secretstorage-3.3.3/lib/python3.11/site-packages/secretstorage/collection.py", line 177, in get_default_collection
return Collection(connection)
^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/mq257mjiz6d92ggnpx41401cvsmivjib-python3.11-secretstorage-3.3.3/lib/python3.11/site-packages/secretstorage/collection.py", line 45, in init
self._collection.get_property('Label')
File "/nix/store/mq257mjiz6d92ggnpx41401cvsmivjib-python3.11-secretstorage-3.3.3/lib/python3.11/site-packages/secretstorage/util.py", line 67, in get_property
(signature, value), = self.send_and_get_reply(msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/mq257mjiz6d92ggnpx41401cvsmivjib-python3.11-secretstorage-3.3.3/lib/python3.11/site-packages/secretstorage/util.py", line 58, in send_and_get_reply
raise SecretServiceNotAvailableException(data) from resp
secretstorage.exceptions.SecretServiceNotAvailableException: The name org.freedesktop.secrets was not provided by any .service files
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/nix/store/kjndhnlzhjx78js1bcqkkn2c8k4k2q1l-python3.11-proton-keyring-linux-0.0.1-unstable-2023-04-14/lib/python3.11/site-packages/proton/keyring_linux/core/keyring_linux.py", line 99, in _is_backend_working
keyring_backend.get_password(
File "/nix/store/lhgzgiiydx87gygn65wq021sw7487k1x-python3.11-keyring-24.3.0/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 78, in get_password
collection = self.get_preferred_collection()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/lhgzgiiydx87gygn65wq021sw7487k1x-python3.11-keyring-24.3.0/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 63, in get_preferred_collection
raise InitError("Failed to create the collection: %s." % e)
keyring.errors.InitError: Failed to create the collection: The name org.freedesktop.secrets was not provided by any .service files.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/nix/store/934c0kp3k4wkg89s4ckw7gpklq3mpn77-protonvpn-gui-4.1.0-unstable-2023-10-25/lib/python3.11/site-packages/proton/vpn/app/gtk/app.py", line 97, in do_activate
self.tray_indicator = self._build_tray_indicator_if_possible(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/934c0kp3k4wkg89s4ckw7gpklq3mpn77-protonvpn-gui-4.1.0-unstable-2023-10-25/lib/python3.11/site-packages/proton/vpn/app/gtk/app.py", line 198, in _build_tray_indicator_if_possible
return TrayIndicator(controller, main_window)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/934c0kp3k4wkg89s4ckw7gpklq3mpn77-protonvpn-gui-4.1.0-unstable-2023-10-25/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/main/tray_indicator.py", line 118, in init
self._menu = self._build_menu()
^^^^^^^^^^^^^^^^^^
File "/nix/store/934c0kp3k4wkg89s4ckw7gpklq3mpn77-protonvpn-gui-4.1.0-unstable-2023-10-25/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/main/tray_indicator.py", line 221, in _build_menu
if self._controller.user_logged_in:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/934c0kp3k4wkg89s4ckw7gpklq3mpn77-protonvpn-gui-4.1.0-unstable-2023-10-25/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 119, in user_logged_in
return self._api.is_user_logged_in()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/c3pzwy2c9134kakd8blw7m7fisb1armf-python3.11-proton-vpn-api-core-0.20.1-unstable-2023-10-10/lib/python3.11/site-packages/proton/vpn/core/api.py", line 73, in is_user_logged_in
return self._session_holder.session.logged_in
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/c3pzwy2c9134kakd8blw7m7fisb1armf-python3.11-proton-vpn-api-core-0.20.1-unstable-2023-10-10/lib/python3.11/site-packages/proton/vpn/core/session.py", line 76, in session
self._session = self._proton_sso.get_default_session(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/rvy3vjyksnv4ij3isivavnrpkbaa77r8-python3.11-proton-core-0.1.15-unstable-2023-10-24/lib/python3.11/site-packages/proton/sso/sso.py", line 192, in get_default_session
sessions = self.sessions
^^^^^^^^^^^^^
File "/nix/store/rvy3vjyksnv4ij3isivavnrpkbaa77r8-python3.11-proton-core-0.1.15-unstable-2023-10-24/lib/python3.11/site-packages/proton/sso/sso.py", line 130, in sessions
keyring = self._keyring
^^^^^^^^^^^^^
File "/nix/store/rvy3vjyksnv4ij3isivavnrpkbaa77r8-python3.11-proton-core-0.1.15-unstable-2023-10-24/lib/python3.11/site-packages/proton/sso/sso.py", line 111, in _keyring
self.__keyring_backend = Keyring.get_from_factory()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/rvy3vjyksnv4ij3isivavnrpkbaa77r8-python3.11-proton-core-0.1.15-unstable-2023-10-24/lib/python3.11/site-packages/proton/keyring/_base.py", line 49, in get_from_factory
keyring_backend = Loader.get("keyring", class_name=backend)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/rvy3vjyksnv4ij3isivavnrpkbaa77r8-python3.11-proton-core-0.1.15-unstable-2023-10-24/lib/python3.11/site-packages/proton/loader/loader.py", line 105, in get
if entry.cls._validate():
^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/l0cbcfva25rv0v35mr8byms900fvwjkh-python3.11-proton-keyring-linux-secretservice-0.0.1-unstable-2023-04-14/lib/python3.11/site-packages/proton/keyring_linux/secretservice/secretservice_backend.py", line 40, in _validate
return cls._is_backend_working(SecretService.Keyring())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/kjndhnlzhjx78js1bcqkkn2c8k4k2q1l-python3.11-proton-keyring-linux-0.0.1-unstable-2023-04-14/lib/python3.11/site-packages/proton/keyring_linux/core/keyring_linux.py", line 108, in _is_backend_working
logger.exception(f"Keyring "{keyring_backend}" error")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/lhgzgiiydx87gygn65wq021sw7487k1x-python3.11-keyring-24.3.0/lib/python3.11/site-packages/keyring/backend.py", line 95, in str
keyring_class.module, keyring_class.name, keyring_class.priority
^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/82ly1bicbjy8nj7069z1x354p86a3mf4-python3.11-jaraco-classes-3.3.0/lib/python3.11/site-packages/jaraco/classes/properties.py", line 151, in get
return self.fget.get(None, owner)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/lhgzgiiydx87gygn65wq021sw7487k1x-python3.11-keyring-24.3.0/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 43, in priority
raise RuntimeError(
RuntimeError: The Secret Service daemon is neither running nor activatable through D-Bus
Steps To Reproduce
just "protonvpn-app"
Expected behavior
I was expecting to just open the protonvpn client!
Screenshots

Additional context
Notify maintainers

@WolfangAukang

this is from the unstable channel though

nvm was missing keyring demon, added kwallet and it works now, sorry for the nuisance

For those not wanting to run kwallet or shudder gnome-keyring for testing, keepassxc has an easy secret service integration.


Add support for aarch64 architecture in get_cpu_info

This commit updates the get_cpu_info function to handle the aarch64 architecture by checking for the appropriate CPU model identifier. It sets the default CPU model to "unknown" and adds error handling for missing model information. This ensures accurate data retrieval across different CPU architectures.

Dry run on Raspberry Pi 4
[fh@rpi41 mdd]$ python mdd.py --dry-run
Welcome to MDD - The Manjaro Data Donor
Preparing data submission...
cat: /sys/devices/virtual/dmi/id/product_name: No such file or directory
cat: /sys/devices/virtual/dmi/id/product_family: No such file or directory
cat: /sys/devices/virtual/dmi/id/sys_vendor: No such file or directory
cat: /sys/devices/virtual/dmi/id/board_name: No such file or directory

------------------------------------------
 Would send the following data (dry run)
------------------------------------------
{
    "meta": {
        "version": 1,
        "timestamp": "2024-11-02T15:34:13.434315+00:00",
        "device_id": "21900356-2ac7-5aca-8258-148fa1186048",
        "distro_id": "manjaro-arm",
        "release": "24.04",
        "inxi": true
    },
    "system": {
        "kernel": "6.6.58-1-MANJARO-RPI4",
        "form_factor": "",
        "install_date": "2024-07-01T06:59:58+00:00",
        "product_name": null,
        "product_family": null,
        "sys_vendor": null,
        "board_name": null
    },
    "boot": {
        "uefi": false,
        "uptime_seconds": 110677
    },
    "cpu": {
        "arch": "aarch64",
        "model": "cortex-a72",
        "cores": 4,
        "threads": 4
    },
    "memory": {
        "ram_gb": 7.624652862548828,
        "swap_gb": 11.43697738647461
    },
    "graphics": {
        "comp": "unknown",
        "dri": null,
        "gpus": [
            {
                "vendor": null,
                "model": "bcm2711-hdmi0",
                "driver": "vc4_hdmi"
            },
            {
                "vendor": null,
                "model": "bcm2711-hdmi1",
                "driver": "vc4_hdmi"
            },
            {
                "vendor": null,
                "model": "bcm2711-vc5",
                "driver": "vc4_drm"
            }
        ],
        "outputs": []
    },
    "audio": {
        "servers": []
    },
    "disk": {
        "disks": [
            {
                "size_gb": 14.7265625,
                "root": {
                    "size_gb": 14.249724864959717,
                    "fstype": "ext4",
                    "crypt": false
                },
                "home": null
            }
        ],
        "windows": false
    },
    "locale": {
        "region": "en_DK.UTF-8",
        "language": "en",
        "timezone": "Europe/Copenhagen"
    },
    "package": {
        "last_update": "2024-11-02T16:03:11+01:00",
        "branch": "arm-unstable",
        "pkgs": 368,
        "foreign_pkgs": 2,
        "pkgs_update_pending": 0,
        "flatpaks": 0,
        "pacman_mirrors": {
            "total": 1,
            "ok": 1,
            "country_config": "Austria"
        }
    },
    "desktop": {
        "cli": "/bin/bash"
    }
}
------------------------------------------

Note: Skipping data submission because of dry run.

Output looks good. Would it make sense to make cpus an array like with gpus to query all cpu chips an ARM chip might have?

We also should only cat those /sys/devices/virtual/dmi endpoints when they are available. So adding a check for that might remove those cat errors displayed.

Added check for aarch to return usable info instead of dmi calls
dry run on rpi4
[fh@rpi41 mdd]$ python mdd.py --dry-run
Welcome to MDD - The Manjaro Data Donor
Preparing data submission...

------------------------------------------
 Would send the following data (dry run)
------------------------------------------
{
    "meta": {
        "version": 1,
        "timestamp": "2024-11-03T06:28:44.497281+00:00",
        "device_id": "21900356-2ac7-5aca-8258-148fa1186048",
        "distro_id": "manjaro-arm",
        "release": "24.04",
        "inxi": true
    },
    "system": {
        "kernel": "6.6.59-1-MANJARO-RPI4",
        "form_factor": "single board computer",
        "install_date": "2024-07-01T06:59:58+00:00",
        "product_name": "Raspberry Pi 4 Model B Rev 1.5",
        "product_family": "bcm2711",
        "sys_vendor": "raspberrypi",
        "board_name": "4-model-b brcm"
    },
    "boot": {
        "uefi": false,
        "uptime_seconds": 53021
    },
    "cpu": {
        "arch": "aarch64",
        "model": "cortex-a72",
        "cores": 4,
        "threads": 4
    },
    "memory": {
        "ram_gb": 7.624652862548828,
        "swap_gb": 11.43697738647461
    },
    "graphics": {
        "comp": null,
        "dri": null,
        "gpus": [
            {
                "vendor": null,
                "model": "bcm2711-hdmi0",
                "driver": "vc4_hdmi"
            },
            {
                "vendor": null,
                "model": "bcm2711-hdmi1",
                "driver": "vc4_hdmi"
            },
            {
                "vendor": null,
                "model": "bcm2711-vc5",
                "driver": "vc4_drm"
            }
        ],
        "outputs": []
    },
    "audio": {
        "servers": []
    },
    "disk": {
        "disks": [
            {
                "size_gb": 14.7265625,
                "root": {
                    "size_gb": 14.249724864959717,
                    "fstype": "ext4",
                    "crypt": false
                },
                "home": null
            }
        ],
        "windows": false
    },
    "locale": {
        "region": "en_DK.UTF-8",
        "language": "en",
        "timezone": "Europe/Copenhagen"
    },
    "package": {
        "last_update": "2024-11-02T16:03:11+01:00",
        "branch": "arm-unstable",
        "pkgs": 370,
        "foreign_pkgs": 2,
        "pkgs_update_pending": 0,
        "flatpaks": 0,
        "pacman_mirrors": {
            "total": 1,
            "ok": 1,
            "country_config": "Austria"
        }
    },
    "desktop": {
        "cli": "/bin/bash",
        "display": "unspecified",
        "display_with": null
    }
}
------------------------------------------

Note: Skipping data submission because of dry run.

Do you have an ARM chip with multiple CPU chips? What chip does it pick?

I have a pinebook, pinephone pro, rpi4, rpi5 and in a box somewhere, a beaglebone black - Texas instruments if I recall correct.

On a system with two CPUs when you run inxi -Cxxx it should print out a variant-1 and variant-2 field.

Pinephone Pro has two CPUs: https://pine64.org/devices/pinephone_pro/

Then I don't have it.

I need to find a working image - it is not functional right now.

pinephone-pro
[kde@manjaro-arm ~]$ inxi -Cxxx
CPU:
  Info: quad core (2-mt/2-st) model: N/A variant-1: cortex-a72 variant-2: cortex-a53 bits: 64
    type: MST AMCP smt: <unsupported> arch: ARMv8 rev: 4
  Speed (MHz): avg: 472 high: 600 min/max: 408/1008:1500 cores: 1: 408 2: 408 3: 408 4: 408
    5: 600 6: 600 bogomips: N/A
  Features: Use -f option to see features

I would simply combine the two variants if they exist into one like cortex-a72/cortex-a53 and set model to that then.

rpi 5
[nix@nix ~]$ inxi -Cxxx
CPU:
  Info: quad core model: N/A variant: cortex-a76 bits: 64 type: MCP arch: ARMv8 rev: 1 cache:
    L1: 512 KiB L2: 2 MiB L3: 2 MiB
  Speed (MHz): avg: 1500 min/max: 1500/2400 cores: 1: 1500 2: 1500 3: 1500 4: 1500 bogomips: 432
  Features: Use -f option to see features

PineBook Pro
dry run
[fh@pbp mdd]$ python mdd.py --dry-run
Welcome to MDD - The Manjaro Data Donor
Preparing data submission...
[2024-11-03T16:52:53] ERROR getting update time: 'String does not contain a date: '
[2024-11-03T16:52:53] ERROR input was: ''

------------------------------------------
 Would send the following data (dry run)
------------------------------------------
{
    "meta": {
        "version": 1,
        "timestamp": "2024-11-03T15:52:52.019491+00:00",
        "device_id": "4d6d4e6a-b515-50a4-92bf-d993bf2dc280",
        "distro_id": "manjaro-arm",
        "release": "24.03",
        "inxi": true
    },
    "system": {
        "kernel": "6.7.9-1-MANJARO-ARM",
        "form_factor": "laptop",
        "install_date": "2024-11-03T15:35:46+00:00",
        "product_name": "Pine64 Pinebook Pro",
        "product_family": "rk3399",
        "sys_vendor": "pine64",
        "board_name": "pinebook-pro rockchip"
    },
    "boot": {
        "uefi": false,
        "uptime_seconds": 262
    },
    "cpu": {
        "arch": "aarch64",
        "model": "unknown",
        "cores": 6,
        "threads": 6
    },
    "memory": {
        "ram_gb": 3.772380828857422,
        "swap_gb": 5.6585693359375
    },
    "graphics": {
        "comp": null,
        "dri": "rockchip",
        "gpus": [
            {
                "vendor": null,
                "model": "display-subsystem",
                "driver": "rockchip_drm"
            },
            {
                "vendor": null,
                "model": "rk3399-mali",
                "driver": "panfrost"
            }
        ],
        "outputs": [
            {
                "model": null,
                "res": null,
                "refresh": 0,
                "dpi": 0,
                "size": null
            }
        ]
    },
    "audio": {
        "servers": [
            {
                "name": "PipeWire",
                "active": true
            },
            {
                "name": "PulseAudio",
                "active": false
            }
        ]
    },
    "disk": {
        "disks": [
            {
                "size_gb": 29.72314453125,
                "root": {
                    "size_gb": 29.246291160583496,
                    "fstype": "ext4",
                    "crypt": false
                },
                "home": null
            }
        ],
        "windows": false
    },
    "locale": {
        "region": "en_DK.UTF-8",
        "language": "en",
        "timezone": "Europe/Copenhagen"
    },
    "package": {
        "last_update": "unknown",
        "branch": "arm-stable",
        "pkgs": 643,
        "foreign_pkgs": 0,
        "pkgs_update_pending": 0,
        "flatpaks": 0,
        "pacman_mirrors": {
            "total": 1,
            "ok": 1,
            "country_config": "Austria"
        }
    },
    "desktop": {
        "cli": "/bin/bash",
        "gui": "LXQt",
        "dm": "LightDM",
        "wm": "Openbox",
        "display": "x11",
        "display_with": null
    }
}
------------------------------------------

Is this with different code or the current code?

This is your xrandr and my cpu/sysinfo code combined

It doesn't pick up both variants of the Pinebook Pro and the Pinebook Pro. Do you plan on fixing that, or should I take a look?

Do you plan on fixing that, or should I take a look?

I cannot see through all that data - so please :smile:

Ok, I checked out your PR and will rebase it. Please don't use Git merges. I'm trying to rebase the branch now but the merge makes it difficult.

hmm - I probably have bad habits - the code in the PR is only for sysinfo and cpu info.
Please extract those two functions - for your own code - this way you get a clear cut.
I don't mind - you don't have to accept the PR - just do what is best for your flow.

Hey, no worries. I actually went with nuking the branch completely with a git reset <old-rev> and then copy-pasting your changes over, afterwards doing git add -pu to create a new commit for cpu first and then system info. I copied over some of the commit messages of yours. Take a look if it's ok this way.


[Style] Update modals to increase readability on High-Contrast Theme

Fixes issue #1312
Changes made

Update .dialog color and bg-color of the high-contrast theme to match the theme's palette.

Also, it would be great if you could add an entry to the change log.
Under Unreleased and above v4.3.3 you can add a new section for Fixed and put your entry under that.

Pull Request Test Coverage Report for Build 2250

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.177%

Totals

Change from base Build 2242:
0.0%

Covered Lines:
4883

Relevant Lines:
8319

💛  - Coveralls

Also, it would be great if you could add an entry to the change log.
Under Unreleased and above v4.3.3 you can add a new section for Fixed and put your entry under that.

Over in the BotBuilder SDK, we have a script that pulls the PR comments for all PRs in a given date range. We use that to create the release notes & changelog at the end of each cycle. You guys are more than welcome to share that!

This PR is at odds with the original requirements for modals in the Emulator. Before this is merged, it should go through a design review and get sign off:

@justinwilaby What's the process for a design review?

@cleemullins it's as simple as assigning a Bot Framework Designer! I'll go ahead and do this. @mewa1024 can you revisit the direction to override the theme variables in all modals? I'm wondering if this break accessibility requirements in High Contrast mode. Justin tells me the VSCode does something similar. This is odd to me.

Yes, the black background for High Contrast mode is fine.


Ability to add autocomplete to zsh or other shells.

Is your feature request related to a problem? Please describe.
Hey After running the ping-devops config it seems all the autocomplete scripts are set up to only install in the .bash_profile.
Describe the solution you'd like
I would like the option to target the file that the aliases are added to, or have some check that looks at what shell has executed ping-devops config then offer to add the aliases to that shells config file.
I know there are other popular shells out there like fish, perhaps support it as well would be helpful.
Describe alternatives you've considered
I could just let ping-devops config install the aliases to the .bash_profile, then copy the required changes over to my .zshrc.
Additional context
not really a big issue more a nice to have 😸

ping-devops deprecated.


[ISSUE 5] Dollar figures on Loss Exceedence Curve; Colour of postal code area

@tieganh wrote on Thu 2022-10-13 evening:
On the loss exceedance curves, there’s two “$” and also it seems strange to call it “0.49 million” instead of “490 thousand” especially when the horizontal axis is in thousands.
Also, it’s low priority but if it’s super easy to change could we make the outline of the postal code area black instead of red? It’s really hard to see in this map, for example.

@phil-evans replied on Fri 2022-10-14 morning:
fixed the $ figures, it was still using the old rounding method

@phil-evans further replied on Fri 2022-10-14 afternoon:
changed the FSA outline to black


Add function to get Task from raw handle.

Needed to e.g. notify a task spawned in C code.

@niondir, could you take a look at this and my other open PRs? Thanks.

I think it would be nice if it were possible to do this for queues, semaphores, mutexes, and timers as well as tasks. It might also be good to have a way to retrieve the handle for something created using the regular new method. Without a way to go either direction it's difficult to mix and match C and Rust tasks.

@housel, I added the same function for Queue and Semaphore.

@niondir, could you take a look at this and the other PRs? Thank you.

Sorry for the delay, daily Business is challenging me. I see a lot of activity here. If there is someone actively using this lib who like to help to maintain it, I'm open for it :)


MONDO:0002335 & MONDO:0006702 [Merge]

Mondo term (ID and Label)
MONDO:0002335 chronic inflammatory demyelinating polyneuritis
Reason for deprecation
SNOMEDCT :128209004
MeSH D020277
and Orphanet Orphanet:2932
and NCI C84636 http://purl.obolibrary.org/obo/NCIT_C84636
suggest these may be synonyms.
Term to be merged with
chronic inflammatory demyelinating polyradiculoneuropathy MONDO:0006702
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

I agree that MONDO:0002335 chronic inflammatory demyelinating polyneuritis could be merged with chronic inflammatory demyelinating polyradiculoneuropathy MONDO:0006702 based on the above sources. "Chronic inflammatory demyelinating polyradiculoneuropathy" seems to be the more common term in the literature.


Feature/sqlite always imported

Coverage remained the same at 100.0% when pulling f6bfa25df10cbbeb650af820e40527bb5a06b443 on feature/sqlite-always-imported into f7757d08a736e459a3c89099d92bd843b39ed4c5 on master.


PUDL Docker local ETL

Given a Docker container with our CI environment (#1605):

[x] Add local volumes to the container to point at PUDL_IN and PUDL_OUT. Maybe with docker compose?
[ ] Get the container to run the equivalent of tox -e ci while reading & writing data on the local volume.
[ ] Capture the logs and other outputs from the ETL for later review.
[ ] Run equivalent of tox -e nuke: all CI, full ETL, and data validation, reading & writing data on the local volume.

Should we actually use Tox (and yet another layer of virtual Python environments) or should we have a separate script (that would duplicate a lot of what Tox is doing and thus be at risk getting out of sync)?

I've got it running and able to do the equivalent of tox -e ci inside the container, but it doesn't produce any logging output until the entire process has finished, which isn't going to be helpful for longer running processes (and remote processes).  Need to study up on Docker logging output tomorrow.

Good overview of docker logging

Logs are still being buffered and not getting output until the container stops. I've tried:

Setting PYTHONUNBUFFERED=1 environment variable in the container
Switching to local rather than json-file logging.

And I still get the same behavior no matter what: no logs are output until the container shuts down.
I'm tailing the logs using
docker logs -f pudl_etl

It turns out that PYTHONUNBUFFERED was not getting set by the environment: dictionary in the docker-compose.yaml file, for reasons I don't understand.  Here's what the file looks like:
services:
  pudl-etl:
    environment:
      - PYTHONUNBUFFERED=1
      - API_KEY_EIA
    image: catalystcoop/pudl-etl:hello-docker
    container_name: pudl_etl
    logging:
      driver: local
    command: bash -c "for i in `ls`; do echo $i; sleep 1; done"

However, if I set PYTHONUNBUFFERED=1 in my shell, and pass it through to the container by simply listing it in the environment:, then it does get set, which seems not to line up with the docker compose documentation. Setting it explicitly is supposed to work. But at the same time, passing in PYTHONUNBUFFERED=1 from my shell doesn't actually fix the delayed logging problem.
The for loop command up there also has weird behavior.  It does provide outputs in real time! One line per second But it does not set the variable $i to anything, so rather than a slow directory listing, I end up getting a bunch of blank lines, which makes no sense to me.
So it seems like:

there's some kind of environment variable problem inside the container.
the problem isn't that the container is failing to send the logs as they're generated, it's that they're all getting generated "at once" as far as the container is concerned, and also that's not because of python log buffering. 😭 wtf

A 2-year long thread about possibly related environment variable issues: https://github.com/docker/compose/issues/7423

However, if I run docker compose run pudl-etl env I get
PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=26a15196c191
TERM=xterm
PYTHONUNBUFFERED=1
API_KEY_EIA=*****REDACTED*****
CONDA_DIR=/opt/conda
LANG=C.UTF-8
LC_ALL=C.UTF-8
HOME=/home/catalyst

I think you bash for loop and  PYTHONUNBUFFERED variables weren't being evaluated as variables because you need an additional dollar sign:

You can use a $$ (double-dollar sign) when your configuration needs a literal dollar sign. This also prevents Compose from interpolating a value, so a $$ allows you to refer to environment variables that you don’t want processed by Compose.

Ahhh, well. I guess that's one less thing to be confused by!

I think conda is the culprit for holding back the logs. When I run:
python -c 'from time import sleep

for i in range(5):
    print(i)
    sleep(1)'

in the container, it outputs the logs in real time. When  I run the same code in the conda env the logs get held back:
conda run --prefix /home/catalyst/env python -c 'from time import sleep

for i in range(5):
    print(i)
    sleep(1)'

Adding conda run --no-capture-output outputs the logs in real time.

How did none of my searching find this.

Okay, the problem with not being able to write to PUDL_OUT was that there was no pre-populated sqlite or parquet output folders in there. Because the pudl_setup script is written during the build of the container, inside the container. Duh.


Modify UserAgent to emit usage metrics

Description of changes:
Appending a string to the UserAgent to track the usage of different features.
Testing
Sample UserAgent contains following string,
autoreg/0:compress/0:secdeser/0:app/kafka/1.1.2

autoreg/1:compress/1:secdeser/1:app/kafkastreams/1.1.2

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

How have these been tested ?

This was tested using unit-tests and integration-tests. I have also manually tested this using example code. Verified that the logs contain the expected UserAgent strings.


Alt-key behavior on Linux

VSCode Version: 1.40
OS Version: Ubuntu Linux 18.10

After 1.40 updates:
When I press Alt button it activates menu bar and loose cursor focus.
It's wrong. I have many hot-key shortcuts starting with Alt, including keyboard layout change, and this breaks them all.
Pressing "Alt" have not to activate menu bar.
Only cominations with menu hot buttons as Alt-F, Alt-S and menu-cursor moving combination as Alt-Left and Alt-Right can activate menu.

Can you confirm that you are using window.titleBarStyle as native?

Can you confirm that you are using window.titleBarStyle as native?

yes. native

@bpasero @deepak1556 with the electron upgrade, it seems they fixed the issue on Windows to have alt actually focus the menu bar, but on Linux, this behaviour seems unexpected to users. I did not find a way to disable this which is an option I provide for the custom menu.

Looks like related: https://github.com/electron/electron/issues/2504

Can you confirm that you are using window.titleBarStyle as native?

yes. native.
Changed to 'custom', problem is gone. Well, will use it, so 'native' is unusable now.

Didn't worked for me :-/

@desthercz for that workaround, also add "window.customMenuBarAltFocus": true

@desthercz for that workaround, also add "window.customMenuBarAltFocus": true
Thanks, that works fine. I liked the "native" option more, but atleast now i don't loose focus everytime i press alt + shift for different keyboard layout, that was super annoying.

@desthercz not sure I understand the issue fully, I think moving focus to menu bar when you press Alt-key and release it is correct for accessibility reasons.
I can bind a command to e.g. Alt+D and see it getting invoked with the native title. What are your steps to reproduce? Are you releasing Alt+key too soon maybe?

@desthercz not sure I understand the issue fully, I think moving focus to menu bar when you press Alt-key and release it is correct for accessibility reasons.
I can bind a command to e.g. Alt+D and see it getting invoked with the native title. What are your steps to reproduce?

Commands are indeed invoked, but focus move from code window to top menu and stays there even after keys release.

I use KDE. Alt depends on KDE's window behaviour. You can check and change the modifier key (replace Alt for Meta):

Commands are indeed invoked, but focus move from code window to top menu and stays there even after keys release.

I cannot reproduce that, works totally fine for me.

@bpasero  Skype for Linux have exactly same problem. And Postman, Slack have it.

Got it. Please then report it to https://github.com/atom/electron.

@gusbemacbe I also use KDE (Kubuntu 19.04), but sadly your solution don't work for me.

Hello @desthercz
And this?

@bpasero Skype for Linux have exactly same problem. And Postman, Slack have it.

xkb bug: https://bugs.freedesktop.org/show_bug.cgi?id=865
discussion: https://gitlab.freedesktop.org/xorg/xserver/issues/258


Fixes #RHINENG-8277 - Added server property to openapi json

Why do we need this change? :thought_balloon:
To fix swagger UI rendering.
Documentation update? :memo:

[ ] Yes
[x] No

Security Checklist :lock:
Upon raising this PR please go through RedHatInsights/secure-coding-checklist
:guardsman: Checklist :dart:

[x] Bugfix
[ ] New Feature
[ ] Refactor
[ ] Unittests Added
[ ] DRY code
[ ] Dependency Added
[ ] DB Migration Added

Additional :mega:
Feel free to add any other relevant details such as links, notes, screenshots, here.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.82%. Comparing base (376808e) to head (dc9f477).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #416   +/-   ##
=======================================
  Coverage   74.82%   74.82%
=======================================
  Files          33       33
  Lines        1736     1736
=======================================
  Hits         1299     1299
  Misses        437      437

Flag
Coverage Δ

unittests
74.82% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Reuse struct from Kubeflow Pipelines

The issue resolved by this Pull Request:
Resolves #<issue_number>
Description of your changes:

Testing instructions

Checklist

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-754

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-754


Remove dead code ("Socket_stack")

We're only using the code in module Socket.
I think the code in module Socket (which deals with connecting and producing FLOWs should probably be replaced by [mirage/ocaml-conduit])

Note this also helps #66 by reducing the amount of code that needs to be ported to libuv.

Why was that code needed initially? The current code still try to connect right, so not really dead-code?


Tor browser launcher does nothing on Ubuntu 22.04 kde plasma

after launching Torbrowser launcher, it says it is downloading something but then nothing happens
$ torbrowser-launcher
Tor Browser Launcher
By Micah Lee, licensed under MIT
version 0.3.3
https://github.com/micahflee/torbrowser-launcher
QApplication: invalid style override 'kvantum' passed, ignoring it.
        Available styles: Breeze, Oxygen, Windows, Fusion
Your version of Tor Browser is out-of-date. Downloading the newest version.
Downloading https://aus1.torproject.org/torbrowser/update_3/release/Linux_x86_64-gcc3/x/en-US
$

This project isn't needed anymore, use the official Tor browser.

Visit https://www.torproject.org/download/ and download the Linux version
Unpack it
tar xJf ~/Downloads/tor-browser-linux64-11.5.1_en-US.tar.xz
Register it
cd tor-browser_en-US
./start-tor-browser.desktop --register-app
Use "Tor Browser" application normally

@rustyx doesnt seem to work, all sorts of permission problems.  start-tor-browser.desktop is mode 700 so got permission denied, changed it to 755, then got "/usr/bin/env: ‘./Browser/execdesktop’: Permission denied" and I cannot seem to get past that.  Ubuntu 22.04

FWIW I managed to make the script work by modifyng the code (replace localisation by ALL) and then when it spits an error about the file it cannot find, I created a symlink to the right directory. Quick and dirty but works.


chore: support ckb2023 load_extension syscall

Codecov Report
Attention: 75 lines in your changes are missing coverage. Please review.

Comparison is base (945b1dc) 72.45% compared to head (c15c174) 71.81%.

Files
Patch %
Lines

...ocols/light_client/components/send_blocks_proof.rs
10.20%
44 Missing :warning:

src/storage.rs
64.44%
16 Missing :warning:

...light_client/components/send_transactions_proof.rs
44.44%
15 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #156      +/-   ##
===========================================
- Coverage    72.45%   71.81%   -0.64%
===========================================
  Files           25       25
  Lines         6520     6607      +87
===========================================
+ Hits          4724     4745      +21
- Misses        1796     1862      +66

Flag
Coverage Δ

unittests
71.81% <44.02%> (-0.64%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Updated first pass of docs

Please let me know if this format is incorrect

Merged as of 6d6dc035594cd87c2bffa922e9904921e064947a
For the next PR, be sure to review the commit guidelines. I was easily able to amend your commit message, so no problem this time.


inputs no terminated

Hi!
I'm testing this project, using the examples. I have already generated the form with data using xsd+xml2html.xsl, but I'm having trouble using the html2xml.xsl.
When I use the result of the xsd+xml2html.xsl to html2xml.xsl, I get this error:

The element type "input" must be terminated by the matching end-tag "".

Inspecting the generated form using xsd+xml2html.xsl, I found that the input elements are never closed, this happens even on the examples.
Is this a bug or am I doing something wrong?
Regards,
Matias

Hi Matias,
In HTML, input elements should not be closed. In XHTML, they should. You are trying to run HTML through an XML processor, which results in the error you mentioned.
If you want to use html2xml, make sure to set output method in xsd+xml2html to 'xhtml'.
However, you don't really need html2xml. If you use xsd+xml2html with output method 'html' and config-xml-generator 'js' (the default values), JavaScript generates valid XML automatically. So unless you REALLY want to generate your final XML with XSLT, just use JavaScript and don't bother with html2xml.
Best regards,
Michiel

Thanks Michiel!
It worked using XHTML but, as you said, the output generated with JavaScript works better for me.
Regards,
Matias


Emtpy string reply invokes failureHandler

Since the update to 3.0.0 the failureHandler of vertxEventBusService.send() gets called instead of the replyHandler in case of an emtpy string reply. I haven't changed any code in my app so far.
And I haven't debugged the cause yet.

I will create an reproducer

Hm.. vertxEventBus.send() has already the 4th argument, but not the [service}(https://github.com/knalli/angular-vertxbus/blob/8e5792c7b900ea6eb7a1be9ded0ddce3f0986ce6/src/lib/service/delegate/Live.js#L244-L271). I wonder whoever is invoking the failureHandler when starting with the service...

I use the syntax as given by the readme:
vertxEventBusService.send('myaddress', {data: 123}, {timeout: 3000})
  .then(function(reply) {
    console.log('A reply received: ', reply);
  })
  .catch(function() {
    console.warn('No message within 3 seconds'); // <-------------- this function gets invoked
  });

My reproducer is ready and shows that there is an issue before your wrapper:
https://github.com/leolux/vertx-eventbusbridge-emptyreply

The issue is no tracked at  https://github.com/vert-x3/vertx-web/issues/186

Perhaps the reply must be a JSON (and a string is not qualified) always?

No, JSON is not an requirement. The issue is now fixed in the latest maste version https://github.com/vert-x3/vertx-web/blob/master/src/client/vertxbus.js

@leolux  Yes thanks. I'd already subscribed the issue. Waiting for the release also.

I am using bower for my app. So I think that I could patch vertxbux.js by overriding the "main" attribute of "angular-vertxbus". Do you know a better way to patch files in a web project?

You define the override itself in your bower.json, i.e.
{
  "dependencies": {
    "vertx3-eventbus-client": "~3.0.1"
  }
}

or in case of a special commit ref
{
  "dependencies": {
    "vertx3-eventbus-client": "https://github.com/vert-x3/vertx-web.git#11f3b430a0deeeaf3603cd78394a5488300d34ce"
  }
}

(command bower install https://github.com/vert-x3/vertx-web.git#11f3b430a0deeeaf3603cd78394a5488300d34ce)


Missing param in docs

Why u miss 'infiniteScrollContainer' param in docs (http://sroze.github.io/ngInfiniteScroll/documentation.html) ?

👍 This feature was neccessary for my use-case, otherwise I had to use a different lib.
So this will help others as well.


Amazon's new player doesn't work

I attempted to find a fix and submit but wasn't able to figure it out. One issue for sure is the manifest has an older URL, and after updating this I can see the keys being sent to the console, but they don't seem to have any effect, and I'm not sure why.

Yeah, it looks like the URL format has changed:
New:
https://www.amazon.com/gp/dmusic/cloudplayer/web*
Old:
https://www.amazon.com/gp/dmusic/mp3/player*

Updated manifest in #118 ... haven't tested it, though. The playeraction DOM element is still there. Not sure how to debug this to help further.

I think changes to the socket are also needed. I tried to complete this but was unsuccessful.

Just to update this issue, #118 has not resolved this issue.

I made #148 which I think fixes this. Anyone want to test for me?

It's not working for me in Amazon.

+1

I just did a quick test in developer mode with a download the extension.  I've fixed it by doing the following:
change manifest.json:
"matches": ["https://www.amazon.com/gp/dmusic/cloudplayer/web"],*
to
"matches": ["https://www.amazon.com/gp/dmusic/cloudplayer/web","https://music.amazon.com/*"],*
change keysocket-amazon-cloud-player.js to the following:
function onKeyPress(key) {
if (key === NEXT) {
var nextButton = document.querySelector('span.playbackControls > span.button.nextButton.icon-fastForward');
simulateClick(nextButton);
} else if (key === PLAY) {
var playPauseButton = document.querySelector('span.playbackControls > span.playButton');
simulateClick(playPauseButton);
} else if (key === PREV) {
var backButton = document.querySelector('span.playbackControls > span.button.previousButton.icon-fastBackward');
simulateClick(backButton);
}
}

@zwacky, can you test code from latest comment and test it? I have no physical possibility to test Amazon Music. It it will work, I'll merge it.

@tfaris's commit looks good to me, except in extension/manifest.json is something wrong: https://github.com/tfaris/keysocket/commit/2a903342bc4f923d0a628dbfe3a639133c0429c5#commitcomment-22072339

Merged https://github.com/borismus/keysocket/pull/148 and corrected domain name in https://github.com/borismus/keysocket/pull/196. Issue will be resolved update extension update.

Extension updated at store. Please, test it.

Close issue untested. In case of any problems, please, reopen.


angular2 -> angular

When Angular 4.0 is final (next week?), we'll need to change the pub.dartlang.org homepage to point to the angular package, not the angular2 package.

Ping @kevmoo: is the deploy stalled on something?

Starting deploy now...

Done!