Don't automatically unpause focus trap

Explanation of Change

Upstream PR: https://github.com/focus-trap/focus-trap/pull/1335
Fixed Issues

$ https://github.com/Expensify/App/issues/54335
PROPOSAL: https://github.com/Expensify/App/issues/54335#issuecomment-2556142083
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Prerequisite: have a workspace

Open the workspace profile page
Press Share button
Press the #admins text link. This will open the admins room
Focus on the composer
Verify the composer has a green outline
Send any message (if there is no message yet)
Right-click/long-press the message and choose Edit comment
Verify the edit composer has a green outline
Moves the cursor to the start of the text
Type anything
Verify the cursor doesn't go to the end of the text

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/93149e3d-2458-451c-b291-a1698c3153ee

Android: mWeb Chrome

https://github.com/user-attachments/assets/053b2d40-a0d3-4936-8af9-d4246d69a6e6

iOS: Native

https://github.com/user-attachments/assets/f3598c71-58b4-4388-9735-555f061ee77e

iOS: mWeb Safari

https://github.com/user-attachments/assets/1ef2b2c8-250f-4be0-86e3-d1f6d3e26cea

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/88dd30da-f591-40eb-8160-daf789790576

MacOS: Desktop

https://github.com/user-attachments/assets/836831eb-7979-4d47-b00f-19740aa3ba62

What is your eta to test this @allroundexperts? thanks!

Will review this today @mountiny

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] For any bug fix or new feature in this PR, I verified that sufficient unit tests are included to prevent regressions in this flow.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@bernhardoj On Android web, pressing the keyboard Enter key results in a new line but the cursor shifts to the start of the input.
https://github.com/user-attachments/assets/5ace1f05-15f1-4bf5-9b1a-83ce1b79a2f6

I can't repro it on this PR. Maybe it's a different issue.
https://github.com/user-attachments/assets/c7fa7cf5-0a25-40e4-b5cd-1dff9447ae85

@bernhardoj I tested again on the build https://54593.pr-testing.expensify.com
As you can see, there are still issues.
https://github.com/user-attachments/assets/56868997-371e-4e29-8fba-632aa23c8552

Same, still can't repro it. The composer has a green outline, so the focus works correctly.
https://github.com/user-attachments/assets/5f8620fc-2cad-4804-ba01-87b160c2526b


Add formatter extension

Hey there!
I've added a formatter extension with config to your set of tools. What do you think?:)

Thanks!


Diffrent keyboard type changes,

Long popup with different alphabet options,
Suggestion bar with text in it.
Constraint changes for different keyboard type.

Where can I download a version with your changes?

@Archivus  https://github.com/AmitBhavsarIphone/Custom-keyboard

Thanks! One last question, know how I can add a label on top of a key? Say for example have the A key with the A and à on it too (without the pop up)


How to define page size to print a ticket size in pdf?

Hello,
I need to create a PDF with a page size suitable for tickets printers. I do not see this page size for this in the https://github.com/devongovett/pdfkit/blob/d95b826475dd325fb29ef007a9c1bf7a527e9808/lib/page.coffee#L69. Any idea how to do this? Thank you.

Hello, you can use doc.addPage({size: [width, height], layout: 'portrait'}), with width and height in mm


Compound expectations of OutputMatcher do not receive captured output

Compound expectations with OutputMatcher not receiving captured output
:heart: Thanks for any help on this in advance - it might just be user error.
When constructing a compound expectation using the output matcher, I'd expect something like this to pass:
expect { puts "foo\nbar" }.to(output(/foo/).to_stdout & output(/bar/).to_stdout)
# or to use the `.and` style
expect { puts "foo\nbar" }.to output(/foo/).to_stdout
                          .and output(/bar/).to_stdout

Instead a failure is reported:
Failure/Error: expect { puts "foo\nbar" }.to(output(/foo/).to_stdout & output(/bar/).to_stdout)
       expected block to output /bar/ to stdout, but output nothing

Running them individually passes however:
expect { puts "foo\nbar" }.to output(/foo/).to_stdout
expect { puts "foo\nbar" }.to output(/bar/).to_stdout
# => Passes

Your environment

Ruby version: 3.1.0
rspec-expectations version: 3.12.0

Steps to reproduce
expect { puts "foo\nbar" }.to(output(/foo/).to_stdout & output(/bar/).to_stdout)
# or to use the `.and` style
expect { puts "foo\nbar" }.to output(/foo/).to_stdout
                          .and output(/bar/).to_stdout

Expected behavior
I'd expect that compound statements would both use the same STDOUT output and match against that
Actual behavior
Failure/Error: expect { puts "foo\nbar" }.to(output(/foo/).to_stdout & output(/bar/).to_stdout)
       expected block to output /bar/ to stdout, but output nothing

& is not supported, its a Ruby operator, you need to use the .and which works fine on its own? In your example it'd never be reached because the & fails:
RSpec.describe do
  it 'works with and' do
    expect { puts "foo\nbar" }.to output(/foo/).to_stdout
  end
end

rspec capture_spec.rb
.

Finished in 0.00153 seconds (files took 0.04689 seconds to load)
1 example, 0 failures

If you can reproduce this with just .and feel free to reopen with a complete reproduction.

The following:
RSpec.describe 'A' do
  it do
    expect { puts "foo\nbar" }.to output(/foo/).to_stdout
                          .and output(/bar/).to_stdout
  end
end

fails on it own, without &.
And we alias & to and, so both should be valid and work.
I suppose in order for chaining to work, in lib/rspec/matchers/built_in/output.rb, CaptureStdout/CaptureStderr's capture should send captured_stream.string to original_stream.
Would you like to open a PR to fix that, @wspurgin ?

The spec passes with adding this to ensure:
original_stream.write(captured_stream.string)

but there's a side effect - the output gets printed in the console.
This can be worked around with a check:
original_stream.write(captured_stream.string) unless $stdout == STDOUT

Thanks @pirj - I agree that it should work (and doesn't) when using & or and.
I'm happy to attempt a PR. Thanks for that guidance too about just writing the captured output back into the original stream again! I'll mull over if there's a way to reuse the captured stream or at least a way to silence any extraneous output. If something is supposed to output to stdout (or any IO), IMHO it's fine if, in the end, it still ends up in stdout/the IO in question and Rspec makes no attempt to mask it from making it there.

If something is supposed to output to stdout (or any IO), IMHO it's fine if, in the end, it still ends up in stdout/the IO in question and Rspec makes no attempt to mask it from making it there.

To my best recollection, stdout gets printed with a delay somewhere in the footer. It's not much use for output when it's interleaved with e.g. progress formatter.
And I'd say if we're testing some text quest game, it would undermine the RSpec output to print all normal IO in the same terminal.
I'd say at least if some code is wrapped in expect { } and there's an expectation to a certain stream, it's sufficient to capture and make expectations on this, and skip the real output to the terminal.

@pirj - your solutions work perfectly for the CaptureStderr and CaptureStdout cases, but when I added the test to the shared examples, it pointed out that I also needed to fix the problem for the to_stdout_from_any_process and more problematically the to_stderr_from_any_process matcher.
I have a solution for the to_stdout_from_any_process matcher, I'll put up the (red) draft PR in a moment. But the to_stderr_from_any_process matcher has a few problems. It took me a while to figure out what was going on - they all boil down to "RSpec::Support::StdErrSplitter is not an IO".
I do have a solution to most of it (weird though it looks), but I'm stuck on one last detail, and while I was digging into it, I realized that this matcher is actually more broken than it seems - it doesn't actually put stderr back when it's done. That's because it's relying on stream.clone here as a way to preserve the original 'stream' when calling stream.reopen. That works when stream is an IO/File/etc, because the relevant details are cloned, but when stream is a RSpec::Support::StdErrSplitter, it clones the splitter instance; the clone keeps a reference to the same instance of the original IO. Since the Splitter delegates reopen to the IO, when we stream.reopen(captured_stream), we are effectively updating the original_stream clone as well, so when we restore it, it doesn't really accomplish much. That said, I'm not actually sure how to make that cause any issue (outside of compound matchers), so I'm not sure if it presents as an actual bug.
The simplest solution I see is to override clone on the Splitter (in rspec-support) so that it also clones the inner IO - does that seem reasonable to you? I'll get a PR up for that some time tomorrow, unless you see an issue.

I believe this is the solution: https://github.com/rspec/rspec-support/pull/598
Surprisingly, I haven't been able to come up with a situation in which the fact that the stream the Splitter is holding is actually a Tempfile and not the real stderr stream causes a problem, since we're intercepting all of that output anyway. So this may not actually be an independent issue, unless someone tries to do fairly complex things with $stderr during a test.

Do you mean that we can potentially simplify some logic checking if it’s a Tempfile?

I don't think it'll be simpler, just more correct. Unless you're referring to some logic I didn't notice that already did so? My explanation above was a bit tangled though (and the problem took some work for me to understand in the first place) - I can lay out a clearer picture of what's currently wrong, if that would help?

lay out a clearer picture of what's currently wrong, if that would help?

Certainly, if you’re up for it!
I can remember digging this code, but most certainly not as deep as to fix the problem.


max AC charge current register

Hi,
I´m using AC500 with bluetti_mqtt and its working fine.
Since last app update there is the possibility to set the maximun AC charge current. Is it possible to implement this setting in bluetti_mqtt?
How can i find out the register of this setting?
Oh sorry i see your last post right now where the register is:)

https://github.com/warhammerkid/bluetti_mqtt/issues/120

did also work for AC500


Auto Save is not working in notebooks

Testing #93742

enable auto-save (File > Auto Save)
type in a code cell
observe dirty indicator which disappears only when saving with Ctrl+S

@rebornix you will get this for free once Notebooks register as working copy via IWorkingCopyService. I am actually surprised how notebooks are not registering already, how do you deal with e.g. hot-exit so far?

@bpasero we didn't do hot exit yet. We will hook it up in April, thanks for the pointer.

@rebornix actually disregard my suggestion to register a working copy, as it seems to me a notebook is always backed by a single text file, is that true?
If so, then you should just resolve the text model (e.g. via text model resolver service and the file URI) and work on that. This model will register itself automatically as working copy and will:

auto save (if enabled)
backup (on shutdown)

... it seems to me a notebook is always backed by a single text file, is that true?

We don't know that yet. As of today that's up to extensions to decide

@jrieken then it seems you will have to do what custom editors are doing depending on the implementation:

backed by text document: custom editor does NOT register a working copy
not backed by text document: custom editor registers a working copy

The working copy service does not allow to register multiple working copies with the same exact resource btw because e.g. backups are associated with exactly one resource that needs to be unique.

IMHO the notebook is close to Custom Editor. The GitHub issues notebook can be text document based but we are not sure yet if it's valid for Jupyter notebook and other potential notebook use cases. We can discuss this in April's API meeting.

Test verify this issue, install the GH issues notebook extension: https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-github-issue-notebooks


feat: allow offset mode pagination in entity list

Hey, I just made a Pull Request!
This allows queryEntities to be done with offset. It enables:

Possibility to share a link to a specific page in the catalog
Changing number of rows displayed in the catalog
Jumping pages by selecting page number from dropdown

Rebased and enhanced version of #22958
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@vinzscam for some eyes too

Not stale

@vinzscam any chance to get this going forward?

he's on parental, the rest of us will have to give it a peek

@freben ready for another round :)


Bump pg gem to ~> 1.5

Bump pg gem to the latest released 1.5.x version (https://github.com/ged/ruby-pg).
cc @mschoenlaub

Hi. Any chance this can be reviewed?

Thanks!


No way to display empty set?

Would be nice to have a way to display "No items found".

Yes. i also figured out that there is no way to show message when match not found.
Is there any alternative way to achieve this ?

+1


"stack level too deep" with jruby --1.9

hey guys, I'm sure you noticed a lot of these with jruby esp. since 1.6.4 -> 1.6.5
I've heard a lot of these got fixed with the recent (1.6.5 -> 1.6.6) jruby upgrade.
but not for jruby-rack
https://github.com/jruby/jruby-rack
http://travis-ci.org/#!/jruby/jruby-rack
is there anything doable to help prevent these (e.g. refactoring rake tasks a certain way) ?
would love to possibly figure this out cause we sure miss 1.9 builds ...

We haven't heard of any particular solutions. Please ask on the JRuby mailing list. If needed, we can tweak JRUBY_OPTS to set higher max stack size.

In fact, you can tweak JRUBY_OPTS via .travis.yml.

Also, you can use sous-chef to provision a VM with just travis CI env, git, JDK, RVM and two Rubies (attributes can be found in travis-boxes, you just set them via hash in the vagrantfile). Then you will have the same environment as far as JRuby Rack testing goes, without downloading multi-gigabyte VM images.


EIP NAT not working for few IPs in subnet

Bug Report
We are using kube-ovn in our production environment where we have created subnets and used EIP feature to expose Kubevirt VMs to external network. We are seeing the issue where EIP worked for few days but suddenly stopped working for some random VMs (Means EIP IP which is a public IP is not reachable through internet). We did below steps:
a) We checked the NAT entries using kubectl ko nbctl show - It looks fine since the entry is present.
b) Private IP assigned by subnet is pinging from the host cluster.
c) EIP is not reachable through internet.
d) We tried changing the interface on the  VM as well as migrating them to some other host  in the cluster but nothing works.
Expected Behavior
EIP should be accessible from outside cluster.
Actual Behavior
EIP is not reachable
Additional Info

Kubernetes version:
v1.22.9
Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.9", GitCommit:"6df4433e288edc9c40c2e344eb336f63fad45cd2", GitTreeState:"clean", BuildDate:"2022-04-13T19:57:43Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.9", GitCommit:"6df4433e288edc9c40c2e344eb336f63fad45cd2", GitTreeState:"clean", BuildDate:"2022-04-13T19:52:02Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

kube-ovn version:

# kubectl get deployment -n kube-system kube-ovn-controller -o yaml | grep image:
        image: kubeovn/kube-ovn:v1.11.3

operation-system/kernel version:
Output of awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release:
Output of uname -r:

# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"Ubuntu 20.04.6 LTS"
5.4.0-167-generic

NAT Output:
~# kubectl ko nbctl show | grep -b1 -A2  147.x.x.138
34688-    nat 424cb867-aca2-449a-9496-2ad3a4d2cff6
34733:        external ip: "147.x.x.138"
34772-        logical ip: "<IP_ADDRESS>"
34805-        type: "dnat_and_snat"

Vsctl Outout:

kubectl ko vsctl server-cl-sr12 show
1b92e000-6196-4279-81ce-71257a5dc190
    Bridge br-la-pv-950
        Port br-la-pv-950
            Interface br-la-pv-950
                type: internal
        Port veth53e8a347
            Interface veth53e8a347
        Port bond0.950
            Interface bond0.950
    Bridge br-mh-pv-nw
        Port bond0.1818
            Interface bond0.1818
        Port br-mh-pv-nw
            Interface br-mh-pv-nw
                type: internal
    Bridge br-la-pv-1198
        Port bond0.1198
            Interface bond0.1198
        Port br-la-pv-1198
            Interface br-la-pv-1198
                type: internal
    Bridge br-la-pv-922
        Port bond0.922
            Interface bond0.922
        Port br-la-pv-922
            Interface br-la-pv-922
                type: internal
    Bridge br-int
        fail_mode: secure
        datapath_type: system
        Port "68005dab7ff5_h"
            Interface "68005dab7ff5_h"
        Port "6ee117ff3041_h"
            Interface "6ee117ff3041_h"
        Port ovn0
            Interface ovn0
                type: internal
        Port "69f72014d6b9_h"
            Interface "69f72014d6b9_h"
        Port "0da4a05541dc_h"
            Interface "0da4a05541dc_h"
        Port "159fb91d5250_h"
            Interface "159fb91d5250_h"
        Port "0c7633d3f249_h"
            Interface "0c7633d3f249_h"
        Port "3c651423e0cc_h"
            Interface "3c651423e0cc_h"
        Port aaeadf69303c_h
            Interface aaeadf69303c_h
        Port "92fb4aca248c_h"
            Interface "92fb4aca248c_h"
        Port "7b9f55b6c46d_h"
            Interface "7b9f55b6c46d_h"
        Port br-int
            Interface br-int
                type: internal
        Port "3995cc775891_h"
            Interface "3995cc775891_h"
        Port ovn-2148ee-0
            Interface ovn-2148ee-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="<IP_ADDRESS>"}
        Port "55426faa238d_h"
            Interface "55426faa238d_h"
        Port c21dfef5b40c_h
            Interface c21dfef5b40c_h
        Port dd6c477712f8_h
            Interface dd6c477712f8_h
        Port ovn-8d355d-0
            Interface ovn-8d355d-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="<IP_ADDRESS>"}
        Port "3876f5446261_h"
            Interface "3876f5446261_h"
        Port "30be781fa1e7_h"
            Interface "30be781fa1e7_h"
        Port ovn-63e98b-0
            Interface ovn-63e98b-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="<IP_ADDRESS>"}
        Port "2218f64224ec_h"
            Interface "2218f64224ec_h"
        Port "0669cc824a0e_h"
            Interface "0669cc824a0e_h"
        Port "4a26e839f601_h"
            Interface "4a26e839f601_h"
        Port "91d07753c141_h"
            Interface "91d07753c141_h"
        Port "1d341ada603c_h"
            Interface "1d341ada603c_h"
        Port "1b31068adc86_h"
            Interface "1b31068adc86_h"
        Port "575762459510_h"
            Interface "575762459510_h"
        Port mirror0
            Interface mirror0
                type: internal
        Port df68a007035e_h
            Interface df68a007035e_h
        Port "045a9a064ea4_h"
            Interface "045a9a064ea4_h"
        Port "3051da717aee_h"
            Interface "3051da717aee_h"
        Port ovn-4b144c-0
            Interface ovn-4b144c-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="<IP_ADDRESS>"}
        Port d8975598_net1_h
            Interface d8975598_net1_h
        Port c5ece262c7ad_h
            Interface c5ece262c7ad_h
        Port d774b30b17a1_h
            Interface d774b30b17a1_h
        Port "0f2f33fb3f8a_h"
            Interface "0f2f33fb3f8a_h"
        Port d8975598ba0d_h
            Interface d8975598ba0d_h
        Port "18defeb8b4cb_h"
            Interface "18defeb8b4cb_h"
        Port f1082939f8bb_h
            Interface f1082939f8bb_h
        Port d8122b988594_h
            Interface d8122b988594_h
        Port c2cf6600b6bc_h
            Interface c2cf6600b6bc_h
        Port b8308768f354_h
            Interface b8308768f354_h
        Port "5aacd3be4923_h"
            Interface "5aacd3be4923_h"
        Port "88e14160ab12_h"
            Interface "88e14160ab12_h"
        Port "09bf5104395d_h"
            Interface "09bf5104395d_h"
        Port f015c4451c0b_h
            Interface f015c4451c0b_h
        Port "757682430de4_h"
            Interface "757682430de4_h"
        Port "6de17117e8cb_h"
            Interface "6de17117e8cb_h"
        Port "3ee3f1dbdb82_h"
            Interface "3ee3f1dbdb82_h"
    ovs_version: "2.17.7"

Config Map:

apiVersion: v1
data:
  enable-external-gw: "true"
  external-gw-addr: 147.x.x.1
  external-gw-nic: bond0.200
  external-gw-nodes: server-cl-sr11
  nic-ip: 147.x.x.x/24
  nic-mac: 56:94:45:59:1a:39
kind: ConfigMap
metadata:
  name: ovn-external-gw-config
  namespace: kube-system

Hi， it looks like you are using ovn eip dnat snat fip.  you can use the release-1.12-mc branch.
we fix many bugs about the  ovn eip dnat snat fip in master, but we can not merge all of them into release-1.12. so we provide an independent release-1.12-mc.
you can try release-1.12-mc or master. I think the ovn eip dnat snat fip should work well in custom vpc.

Recommendations：

use release-1.11 latest version（i use it in our production， but use iptables-eip）,  i think the bug is fixed. but i have no enough energy to support release-1.11.
use release-1.12-mc （i will use it in our production，use ovn eip fip dnat snat）,  i think the bug is fixed too. i will support release-1.12-mc with high priority.
try use master

We are very much interested to use kube ovn version 1.12.x but the documentation says that it requires Kubernetes Version >= 1.23, but we are using Kubernetes Version 1.22.9 in our production environment. Is it really a mandate to use Kubernetes Version >= 1.23 or I can try to install Kube-ovn 1.12.x on Kubernetes Version 1.22.9 ?

In my opinion,  you can give it a try to install Kube-ovn 1.12.x on Kubernetes Version 1.22.9


webghc (and docker image) was broken

Pre-submit checklist:

Branch

[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

If you updated any cabal files or added Haskell packages:

[ ] $(nix-build default.nix -A pkgsLocal.updateMaterialized) to update the materialized Nix files
[ ] Update hie-*.yaml files if needed

If you changed any Haskell files:

[ ] $(nix-shell shell.nix --run fix-stylish-haskell) to fix any formatting issues

If you changed any Purescript files:

[ ] $(nix-shell shell.nix --run fix-purty) to fix any formatting issues

Pre-merge checklist:

[ ] Someone approved it
[ ] Commits have useful messages
[ ] Review clarifications made it into the code
[ ] History is moderately tidy; or going to squash-merge

Hm. We don't build this in CI because we don't want to build lots of big, pointless docker images, right? That's a bit annoying...

Hm. We don't build this in CI because we don't want to build lots of big, pointless docker images, right? That's a bit annoying...

@michaelpj yes indeed. Perhaps webghc should have failed in CI though. I need to speak to @gilligan about the CI stuff as I'm confused these days and he made quite a few changes before the holidays but this PR at least fixes the deployment.

@michaelpj yes indeed. Perhaps webghc should have failed in CI though. I need to speak to @gilligan about the CI stuff as I'm confused these days and he made quite a few changes before the holidays but this PR at least fixes the deployment.

Okay, well let's try and remember to do something about it!

Okay, well let's try and remember to do something about it!


fix(ci): add geoip specifically

Signed-off-by: Felipe Zipitria<EMAIL_ADDRESS>Testing if forcing geoip solves dependency in arm64.

Fixes #89 .

@theMiddleBlue Can you take a look at this one?


rename update_kumu GA to include Shiny R data file

 rename update_kumu GA to include Shiny R data file

 rename update_kumu GA to include Shiny R data file

Note that renaming the yamls and the workflow names erased the run history from the renamed GA workflows.
But look in the 'All workflows' to see the full history


Is there any specific reason for the version constraint?

I tried to compile my code against Eigen 3.3.4 (bundled in Ubuntu 18.04) and manually relieved the version constraint. The compilation is successful, although I haven't tested the output. So I'm curious is there any specific reason for constraint Eigen > 3.3.7? It will be convenient if I don't need to override system Eigen.

Hello @cmpute
The reason is that the version 3.3.7 seems to be widely used, so I only tested it with version 3.3.7 or higher.
Actually, it is easy to test older versions. I'll add tests for old versions to workflows.

Thanks for the clarification!

A compilation error with Eigen 3.3.4 and -mavx option is patched.
A new version will be published soon! Thank you :)


NTUEEPLUS-104. isLogin API return userimage

What is this PR for?

return userimage  from isLogin
What type of PR is it?
Improvement
Todos

[ ] - None

What is the Jira issue?

https://ntueeplus.atlassian.net/browse/NTUEEPLUS-104
Screenshots (if appropriate)

@Claude0311 Is it fine that I stored userimage in session ? I am afraid of that it will affect the efficiency.
@noidname01  Does this meet your goal ?

So I need to get image from session?

You can get userimage from respond, but I don't know how to modify the api doc.


Bluetooth

A suggestion for installing and enable Bluetooth.
Install
sudo pacman -S bluez bluez-utils bluez-hid2hci bluedevil
Uncomment in /etc/bluetooth/main.conf
DiscoverableTimeout = 0
AlwaysPairable = true
PairableTimeout = 0
AutoEnable=true
Start the service
sudo systemctl start bluetooth
With this, I was able to connect my Bluetooth keyboard and mouse without any issues.
Good day
Stéphane

Is there a widget on the tray for the Bluetooth with just bluez?

It's the bluedevil package that implements this in KDE
It is noted in the wiki https://wiki.archlinux.org/title/bluetooth
"Bluedevil — KDE's Bluetooth tool. If there is no Bluetooth icon visible in Dolphin and in the system tray, enable it in the system tray options or add a widget. You can configure Bluedevil and detect Bluetooth devices by clicking the icon. An interface is also available from the KDE System Settings"

done in c7d65e048c25f8708b6f74801b194965a8273dea


Alter "Early Access" banner to be something "beta" after all blocks deployed

Blocked on Granola-Team/mina-indexer#1129

Moving this to "In Progress" because I see that it is.

I no longer think that we need wait to deploy this banner.

I woul deploy this, now, if there were a PR.


Crash opening MINIAKmicron.bpanelz

OS: Ubuntu 16.04
Linux diamond 4.4.0-66-generic #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Panel: http://ctrlr.org/akai-miniak-alesis-micron/
http://ctrlr.org/?ddownload=14924
Crash file attached
Ctrlr-x86_64.crash.txt

latest binary does not crash, however there is an error in Lua code, this needs to be forwarded to the panel's author


Possible context leak in EarlyConnection.HandshakeComplete()

Hi there,
Thanks for the great project.
In our project we found that some goroutines hang forever in EarlyConnection.NextConnection(). The EarlyConnection was created by quic.DialEarly, nothing special. No 0RTT data (We haven't implemented it yet.) So the code is simple like this:
ec, err := quic.DialEarly(...)
// error handling
c := ec.NextConnection()

Sorry for not providing reproduction code. We can't reproduce it easily either.
We debug the code a bit. Think it might be because:
The handshake context is from context.Background(), so it has no timeout.
https://github.com/quic-go/quic-go/blob/9010cfd2bbc9da8c16a839a4b9494bfe3b6b9d41/connection.go#L483
The only way to cancel the handshake context is to call
https://github.com/quic-go/quic-go/blob/9010cfd2bbc9da8c16a839a4b9494bfe3b6b9d41/connection.go#L725-L726
from
https://github.com/quic-go/quic-go/blob/9010cfd2bbc9da8c16a839a4b9494bfe3b6b9d41/connection.go#L1282-L1285
It seems that if the subsequent handshake is never completed (due to network loss, etc...), the handshake context will never be canceled, the NextConnection() will block forever.

In our project we found that some goroutines hang forever in EarlyConnection.NextConnection(). The EarlyConnection was created by quic.Dial, nothing special. No 0RTT data (We haven't implemented it yet.

Why are you using DialEarly and NextConnection if you're not using 0-RTT?

This is a work around.  I'm using quic-go to implement a dns over quic client. Initially I used Dial. When I use my client to connect to a public dns server, there is a probability that the OpenStream() returns quic.Err0RTTRejected. When this happens, Dial() a new connection using the same Transport and calling OpenStream() on the new connection still returns this error, for a period of time. I can't say why I got this quic.Err0RTTRejected error. I guess it was because of a bug in the server side. But I find that NextConnection() can reset the connection state. So I use it as a workaround for now. Then I find that NextConnection() may never return.

@IrineSistiana I think you're right. I haven't managed to reproduce it - it's actually really hard to make the handshake fail after 0-RTT rejection: 0-RTT rejection requires the EncryptedExtension TLS message to have been received, and it's usually bundled with the entirety of the server's first flight (including the Finished message). We also can't use a giant certificate and drop part of it, since the certificate isn't sent on the resumed connection.
What we should do is also block on the connection context, and maybe allow the user to pass in a context as well.


Different service weather forecast

Dear Freakent
Thank you for your driver. It took me a while as newby to figure it out but in the end I got it working.
What I want is to display the weather on my RPi with Venus OS
I would like to publish the weater conditions derrived from Open weather based on the GPS coordinates on the Dbus
From there I would like to display it with the edited Guimods.
Question: how can I get a weather service. Now I only get a temperature /grid/tank etc.
Thks in advance

Simple answer, you can't. You can only use the services that Victron Venus OS supports on the dbus. All the apis (MQTT, ModBus TCP) are just wrappers around the Venus OS dbus api. These dbus services are all described here. https://github.com/victronenergy/venus/wiki/dbus

Dear Martin,
Thank you for your very fast and clear answer.
Bit disappointing as I thought it was a good idea and a nice project.
Have to give up this and can only hope the Victron will open its doors with
more services.
Thank you for your great driver, learned a lot from it, was hoping I could
publish any service on the dbus but that is obvious not the case.
Best regards from Holland, and I will be one of your future followers..
Rgds,
Paul
Op vr 20 okt 2023 om 15:12 schreef Martin Jarvis @.***>:

Simple answer, you can't. You can only use the services that Victron Venus
OS supports on the dbus. All the apis (MQTT, ModBus TCP) are just wrappers
around the Venus OS dbus api. These dbus services are all described here.
https://github.com/victronenergy/venus/wiki/dbus
—
Reply to this email directly, view it on GitHub
https://github.com/freakent/dbus-mqtt-devices/issues/67#issuecomment-1772717212,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR255HCEES5BRPHBJFV4R2TYAJ2CTAVCNFSM6AAAAAA6I7VJPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZSG4YTOMRRGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Groet,
Paul Kassenaar

Dear Martin,
Just wanted to let you know I got it working with your tip about misusing a GPS and your driver.
Thanks again for the info