Stage 2 - Support Katex Math Formulas

Close #25
Use KaTex directly in markdown! Note that display: true means that an expression will be centered in it's own row. display: false means that an element will be inline, or render like text in a paragraph. I attached an image showing this difference below.
The following are the default delimiters KaTex uses (See docs):
[
  {left: "$$", right: "$$", display: true},
  {left: "\\(", right: "\\)", display: false},
  {left: "\\[", right: "\\]", display: true}
]

@algeboy mentioned using $your-expression$ as an inline delimiter. This is absolutely up to @algeboy  and @joshmaglione and very easy to implement. However, if you use the $ as a delimiter, you must use \$ across the whole application to escape it. For this reason, I don't recommend using the $, but I can add it if requested.
Above is an example of a display: true expression, while below is an example of display: false expression. Notice how you can use expressions in a paragraph?

This is nice. I tested it out, and I like how it works.
@algeboy you may be interested in also using \begin{aligned} in the $$ environment. I tested this, and it looks good as well.

This is really nice.  Thanks!


Use Material UI Tooltip for Autocomplete Open/Close/Clear Icons

The "tooltip" is a standard browser one based upon title instead of Material UI Tooltip component.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
I expect to be able the default to be a Material UI Tooltip component to Autocomplete or be able to set it as the default and style it accordingly.
Examples 🌈

Motivation 🔦
Standardise the look/feel across my app and browsers.

Duplicate of #20991

how can we overide the default title tooltip using css?


[CI] Benchmarks updates

Separate jobs for macOS and Linux builds
Update script to handle macOS and Linux builds

Update to run locally and CI both

Signed-off-by: Azeem Sajid<EMAIL_ADDRESS>

Later workflow run: https://github.com/liquidaty/zsv/actions/runs/11643127335


Add support for CCO's to Gatesets.

Is your feature request related to a use case or problem? Please describe.
Gatesets currently accept any cirq.Gate instance or sub-type as a valid input parameter. For special operations, like GlobalPhaseOperation, CircuitOperation etc, they have flags like unroll_circuit_op or accept_global_phase_op to control the behavior.
ClassicallyControlledOperation was recently introduced as a new type of operation that wraps traditional gate operations but don't have an op.gate property. As a result, there's currently no way to specify in a gateset definition that a CCO should be accepted or not.
Describe the solution you'd like
Support for CCOs should be added to gatesets, either by adding an additional flag or by adding a .gate property to the CCO operation, which can simply return the .gate of it's underlying sub_operation.
What is the urgency from your perspective for this issue? Is it blocking important work?
P1 - I need this no later than the next release (end of quarter)

This should be supported after we've agreed on a design.

@95-martin-orion  To confirm, this is post 1.0 IMO. Please confirm.

@95-martin-orion To confirm, this is post 1.0 IMO. Please confirm.

Confirmed. This requires design, and CCOs remain functional without it in the meantime.


Meetups list updates

Meetups list page has several problems:

register/meetups/ -> should be just /meetups/, eg. create views.py in root directory and move the view from register name space. Also urls.py in root directory of the project should load the view.
change order that latest meetup is displayed first.
pagination is not styled (see events list how the pagination shoul looks like).
meetup have to link to event details page of the meetup.

@ricco386 - I'll do this!

@ricco386 - Having some trouble setting up the project and running it locally. Is there a point of contact I can ask questions to?

yes we have gitter: https://gitter.im/pyconsk/django-konfera event thou there is slovak chatter, you can ask the group in english and someone will respond...

Hi @ricco386 - Thanks! I'll ask you as well since it was a project setup question.
I added Konfera to my INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'konfera'
]

And the url to urls.py:
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^konfera/', include('konfera.urls')),
]

But when I run python manage.py loaddata konfera/fixtures/test_data.json, I get an error of CommandError: No fixture named 'test_data' found.. I created a symbolic link according to the instructions, but I can't seem to get past this step when trying to run the app. Any ideas?

@neelab I have updated documentation please have a look at CONTRIBUTING.rst. Please try again with the updated steps, should work I went through the installation and seems ok now.


Improve documentation in README

Hi Team,
While installation of powershell script I recieve following error. Please fix a solution for it.

It seems you don't have internet connection. You need an internet connection in the VM during the FLARE-VM installation.

Maybe we should make this clearer in the documentation. 🤔

@Ana06, created https://github.com/mandiant/flare-vm/pull/504 addressing this issue

Thanks @wand3rlust, I am keeping this open as I would like to add some documentation improvements after https://github.com/mandiant/flare-vm/issues/510, including:

Add a requirements section with the checks we have in the code
Remove steps that are not necessary
Simplify some parts of the documentation
Update screenshots

@wand3rlust when I send the PR, I would appreciate your feedback on it. 😉


How does the login (and its encryption) work? I can login with different passwords

Issue Template Requirements
Issue must be of the specified template and follow these requirements or it will be ignored.

Please do not post screenshots of code output
Wrap code in a codeblock
exhibiting spam behavior or "evil" behavior will have the issue ignored
Please make sure your issue hasn't been asked before
Please complete the checklist below (mark boxes [ ] with [x])

Pre-Checklist
I made sure...

[x] I read the README.md
[x] I looked over the examples and wiki
[x] my issue hasn't been asked or solved before

Question
I noticed I can login with 2 different passwords. Lets say my password is test1234, that obviously works. But then I tried to login with test12342 and test12345 which should be incorrect, but weirdly that works as well! However test1233 and similar variants doesn't work. How is this possible?
How does the encryption of the password at login work? I'm assuming it has something to do with that.
I tried looking into the code but it seems like the encrypted password is sent as payload/body to Instagram to perform a login, how can Instagram login with an encrypted password? Especially when the password encryptor contains a randomizer?

The password is encrypted with Instagram's public key (received from header) and sent as a payload. From there, it is Instagram servers that decode and retrieve the password. Previously, passwords were sent plain text in payload, but newer versions introduced this extra encryption step. This is as far as I know.
I've also experienced this behavior, and I suspect it might be some collision on their end.


MINOR: Fix typos in org.apache.solr.core package

Description
Fix a number of typos in org.apache.solr.core package - mostly in javadoc and comments.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

Thanks for the reviews - please feel free to merge this at your earliest convenience, as it seems I don't have access to do so myself.

I pushed the changes up so I don't hold it up. @AndreyBozhko thanks for the contribution and I look forward to more in the future.

@AndreyBozhko can you add an entry in CHANGES.txt

Thanks @MarcusSorealheis for the suggestion, I added a CHANGES entry.

This should be backported to 9.3, no reason to keep it just for main.

I'll back port next week.

backported to 9.4


chore: add erasing imaginary lines healing the land project and news

@jobara I made a number of small changes (hopefully small!) to the google doc and added a comment for each one. Added some images, updated a link, updated a caption, corrected a typo. Thought that would be the easiest way to convey the changes. Thanks! https://docs.google.com/document/d/1FUrdoKzuxWOYZnmEx_XxOSD_LpvVrY-4KBXl223w3z0/edit?usp=sharing

These changes are coming in #476


[Bug] A broken link found in CONTRIBUTING.md

Version
5.3.2
Link to Minimal Reproduction
https://github.com/apache/echarts/blob/master/CONTRIBUTING.md#issues
Steps to Reproduce

Go to CONTRIBUTING.md
In Issues section
Click the link "echarts issue helper"
Will be redirected to a 404 page

Current Behavior
None
Expected Behavior
None
Environment
- OS: MacOS Monterey(Apple Silicon)
- Browser:  Google Chrome 101.0.4951.64（正式版本） (arm64)
- Framework: None

Any additional comments?
Just a tiny broken link~
I suppose the broken link my be now as https://github.com/apache/echarts/tree/master/.github/ISSUE_TEMPLATE ?

Right, we no longer need it, it can be removed, could you make a PR for it.

Right, we no longer need it, it can be removed, could you make a PR for it.

With pleasure!


Multiple library products and union types

Playing with the library a bit more, I think it would be great to split it into separate targets and products, if possible. As an example, people who don't need WebGL don't need to build WebGL wrappers, but I think it still makes sense to provide them.
IDK if WebIDL specifies dependencies between their "modules", so maybe we'd need to hardcode those on our side for things to work?

WebIDL doesn't really specify dependencies as far as I can tell, and any spec can define additional properties/methods on a type from any other spec.

Ultimately I think we need an overlay with some manual citation of the generated code. For example, canvas.getContext() can return a WebGL context, which requires that we have all the WebGL types included. A better API for Swift would be to have canvas.contextXXX accessors that return a specified context type, replacing the need for getContext and therefore allowing WebGL to be optional.

I agree.
Not necessarily related to the issue of splitting into separate products, but we also need to do something about ugly nullable_Double_or_seq_of_nullable_Double types. Maybe a better way to handle them would be to create overloaded functions/initializers that take arguments of different types and pass them in to JavaScript, avoiding the need for these ad-hoc enums altogether.

I think for parameter types we should be able to make those union types into protocols, so that you can pass any value. That does mean the Context type will need to get a new property that controls whether the types it’s printing will be “in” types (i.e. going to JS) or “out” types (i.e. going to Swift) [I have no idea if there are words for this already]. Then we’d be able to pick between having the enum as the return value and having the protocol existential as the parameter.
The ugly names are unfortunate, though. I have some code already that renames them to a human-readable name if they’re used inside a typedefs (i.e. a hypothetical typedef (string | double) ObjectKey would be called ObjectKey instead of String_or_Double). For types that don’t have a good name (since they’re used directly in method types, for example), we could always write custom names and put them in a mapping somewhere.

Is there a downside to my proposed overloads solution that makes you prefer union types as protocols over overloads?

It would make the code generator more complicated (although that’s no justification, I simply means I’m lazy haha). But also due to the way Cartesian products work, we would end up with many same-named overloads if there were methods with multiple union-typed parameters. Finally, is it even possible to overload properties? They can have a union type too.

This makes sense. BTW, protocols have a runtime performance overhead over enums, but I agree they may be more suitable as they are more flexible in terms of future additions. Enums are quite rigid, as we've already witnessed with JSValue breakage.
CC @kateinoigakukun.

Mmm, good point about the enums. Maybe we should make our union type’s concrete implementations be structs, then. Or maybe we don’t need a concrete type at all, just a function that can decode a JSValue to any of the supported types (from my example above:
// maybe an extension on JSValue? Maybe public or maybe internal?
func foo(_ value: JSValue) -> ObjectKey {
  String.construct(from: value) ?? Double.construct(from: value)
}

For the performance overheads, if user passes a concrete type to a function that takes an existential abstracted type and the callee is inlinable, the boxing overheads can be omitted.
Unlike JSValue, library users wouldn't use the union type directly and wouldn't store an object as the union type in properties. So the boxing would happen only in passing arguments, I think.

This feature is very important in the aspect of build artifact size. Ideally, the size issue should be resolved by cross module DCE, but the latest compiler doesn't do it for now.

I'm closing this as multiple library products are now available in main. A more robust approach for union types can be discussed in a separate issue.


181735790 card color selection

There is a new button in the lower right. Clicking it exposes (or hides) a color picker.

@scytacki, I requested your review, but then realized I should deal with the code coverage issue, above, and on reading the story more carefully, I see I need to color the backgrounds of related "chips", so I don't thing the PR is quite ready. It is not immediately obvious how to withdraw the request.

@jsandoe I don't think you should do the work to color the chips, that would mean digging into the CLUE codebase where all of those chips are implemented. As long as the color is set on the variable model like you did, it will be available to the components that are rendering the chips. If you want to dig into CLUE to make the change, go ahead, but again I think it'd be fine to skip that if you want.
To remove the review you can usually hit the gear icon to the right of reviewers and then toggle any developers you want to remove.

To remove the review you can usually hit the gear icon to the right of reviewers and then toggle any developers you want to remove.

You can also mark it "Not ready for review" which puts it in "Draft" mode.

@scytacki , I will skip the Clue changes, then. The listed "chips" include "Expression Editor". Is there a distinct Expression Editor in Clue or does this refer to the one in QP?

The expression editor doesn't display any chips yet, so you can skip that as well.


Add FAQ section

Between Join and Resources, let's have an FAQ section addressing common questions like:
- Who are the admins for the JOC Slack?
- Can I join if I don't identify as a journalist or person of color?
- I've waited a week for my invitation but haven't received one yet. What should I do?

I guess we still need to discuss the last item.

I think that's a great start. Maybe add something like:

What do I need to fill out a form?
How do I contact the JOC admin - I propose setting up protonmail addresses for that purpose.
Is this an application? Why do you need the info?


Generate documentation from doc comments.

You have a lot of doc comments but not a method to generate them. I thought this might be useful.


Crash 💥: StreamDeck.Transport.Transport.TransportError: Failed to write out report

I have a StreamDeck Mini with 6 Buttons.
When I start the addon, my 2 configured lights show up, but cannot be pressed.
It crashes directly. If I disconnect and reconnect the StreamDeck and restart the addon, it will not show the lights again.
Only after I do a full reboot of HAOS.
I also added the udev rules for the StreamDeck.
Is the Mini not supported, or is this a different issue?
Thanks a lot 🙏🏼

 Add-on version: 2024.2.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.2  (aarch64 / yellow)
 Home Assistant Core: 2024.4.3
 Home Assistant Supervisor: 2024.04.0

s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/home-assistant-streamdeck-yaml.sh
[14:15:40] INFO: 🚀 Initializing the config overwriting.
[14:15:40] INFO: 🔍 Using the host of the Supervisor as the Home Assistant host: supervisor/core with protocol ws
[14:15:40] INFO: 🔍 Using the API token of the Supervisor as the Home Assistant token
[14:15:40] INFO: 🔧 Using add-on configuration values instead of .env file
[14:15:40] INFO: 📂 Copying the Stream Deck YAML configuration file to the add-on: /config/streamdeck.yaml
[14:15:40] INFO: ✅ Finished the config overwriting.
cont-init: info: /etc/cont-init.d/home-assistant-streamdeck-yaml.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun home-assistant-streamdeck-yaml (no readiness notification)
s6-rc: info: service legacy-services successfully started
[14:15:40] INFO: Starting home-assistant-streamdeck-yaml...
[14:15:42] Using version 2024.2.0 of the  home_assistant_streamdeck_yaml.py:1925
           Home Assistant Stream Deck.
           Starting Stream Deck           home_assistant_streamdeck_yaml.py:1926
           integration with
           args.host='supervisor/core',
           args.config=PosixPath('/config
           /streamdeck.yaml'),
           args.protocol='ws'
Traceback (most recent call last):
  File "/usr/local/bin/home-assistant-streamdeck-yaml", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/app/home_assistant_streamdeck_yaml.py", line 1930, in main
    asyncio.run(
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 664, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/app/home_assistant_streamdeck_yaml.py", line 1837, in run
    deck = get_deck()
           ^^^^^^^^^^
  File "/app/home_assistant_streamdeck_yaml.py", line 1484, in get_deck
    deck.open()
  File "/usr/local/lib/python3.12/site-packages/StreamDeck/Devices/StreamDeck.py", line 216, in open
    self._reset_key_stream()
  File "/usr/local/lib/python3.12/site-packages/StreamDeck/Devices/StreamDeckMini.py", line 58, in _reset_key_stream
    self.device.write(payload)
  File "/usr/local/lib/python3.12/site-packages/StreamDeck/Transport/LibUSBHIDAPI.py", line 407, in write
    return self.hidapi.write(self.device_handle, payload)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/StreamDeck/Transport/LibUSBHIDAPI.py", line 322, in write
    raise TransportError("Failed to write out report (%d)" % result)
StreamDeck.Transport.Transport.TransportError: Failed to write out report (-1)

It started working, when I unplugged the other device I have plugged in and rebooted.
I guess something is not happy with having 2 USB devices.

I had that issue with an USB extender too long (I was probably at 4-5 meters with at least one or two noname extenders), after plugging the stream deck directly inside my computer everything worked as intended.


Determine the CSV modifications to send to the build system

When Freshmaker rebuilds bundle images, it must modify some attributes in the ClusterServiceVersion (CSV) file of the bundle
image so that it is added to the upgrade graph appropriately in an index image.
Resolves CWFHEALTH-76

@apaplaus and @qixiang the rebase changed the code in handle and _prepare_builds. Could you please take another look?

@qixiang could you please review again?

LGTM


Minor missed things

Heya, if i find anything else I'll update the post accordingly but i found https://github.com/planetis-m/naylib/blob/main/nakefile.nim#L6 to be wrong since it's called naylib and not raylib fever

Thanks will take care of it


Does llava-next-video deploy only focus on first frames?

I'm trying to deploy llava-next-video with sglang, and it can successfully work. But I find it only focus on the first frame of input, like if I input 10 frames, and let model to describe it. And the generation only contains first frame's information. Dose anyone know what happend? Thanks~
Also, where can I print the input token for model? I want to check if all frames are input to model

I'm having a similar problem to you.

I deployed sglang , and  loaded the llava-next-image model, but sglang can only do a single inference. If I do batch inference, for example, batch_size=10, sglang can only reason about the first 5, and the last 5 get stuck and can't be reasoned
2.I'm trying to load the llava-next-model model for inference, but sglang can't reason the result

Indeed, our first version code patch has the mentioned issue. We will send a new PR along with our new models to fix above mentioned issues. Sorry for keep you waiting.


Firefox multiple track ids

When trying to recevie two streams on Firefox v63 I get:

InvalidSessionDescriptionError: Found multiple different webrtc track ids in m-section 0. The behavior here is undefined.

Google Chrome works perfectly.

Note that firefox supports unified plan, while chrome uses plan-b yet. The SDPInfo is by default plan-b, you can do unified plan by calling sdp.unify().
This has several limitations as for example the sfu sdp has to be an offer and it can't be renegotiated (i.e. only add or remove tracks).
For proper unified plan support I would recommend to use the media server client js lib.


Need to add a Contact Us section to the footer

Right now there is a Contact Us section in the About Us page but I think there should also be a section for it in the footer.

The contact us section can be a form that you create with a Contact Form Plugin. Maybe this?


fix for feature state shortcode

This can be merged today with (hopefully) little impact and will make our upgrade to a later version of Hugo easier.
My changes remove the script / tab window that opens when clicking on a feature state.
Fixes: https://github.com/kubernetes/website/issues/20336
Related: https://github.com/kubernetes/website/pull/19907
Preview:

Current:

After merging, I will rebase the update Hugo PR to reflect new state.
/cc @kbarnard10 @zacharysarah @kbhawkey @onlydole @sftim

Netlify Preview: https://deploy-preview-20893--kubernetes-io-master-staging.netlify.app/docs/contribute/style/hugo-shortcodes/#feature-state

I realized it was silly to have a partial template that really didn't need to be a partial template. Now all of the logic is in a single shortcode. Ready for review / approval when time permits. Thanks!

/lgtm
/approve


import ModuleNotFoundError

I want to try run the command-line, but it seems I can not import any modules from a folder. I always get the ModuleNotFoundError: No module named error.
If I run the program on its own it works pretty well.
Is there something to consider when importing sub modules?

I think you need to play a bit with PYTHONPATH.  If the module isn't already on the path, dunno.


chore: persist performance test results

Description
Save performance run data to a DB.
Fixes #11175
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Tested locally and on CI

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=c5815e9


Unit tests and coverage

This should be merged before #61

IDK why schutzbot failed but I don't think it is related to the changes here.

IDK why schutzbot failed but I don't think it is related to the changes here.

Yea this is fixed in #59


Efficient way to fetch DM Messages like commands

Some time ago I was thinking about how to process newly sent DM messages. I had read on some issues that a function to handle DM messages at the send time is planned to be implemented. I need a way to process DM messages as if they were commands of a bot. How can I do it?
Or if is the new feature already planned, when is going to be released?
Thank you for the attention

Check the examples.

They're literally garbage. You need to run a message check every N minutes, and if you issue a check too many times in a row you will encounter a ban by Instagram.

He has created a real-time client for that. But not implemented yet. See https://github.com/instagram4j/instagram4j-realtime.
If you want it more simple, see EasyInsta library


python312Packages.aiowithings: 2.1.0 -> 3.0.1

Diff: https://github.com/joostlek/python-withings/compare/refs/tags/v2.1.0...v3.0.1
Changelog: https://github.com/joostlek/python-withings/releases/tag/v3.0.1
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 317527 run on x86_64-linux 1

1 package failed to build:

home-assistant-component-tests.withings

4 packages built:

python311Packages.aiowithings
python311Packages.aiowithings.dist
python312Packages.aiowithings
python312Packages.aiowithings.dist


Currently I use clippy-check as one of the GitHub warnings and –as advertised– it adds warnings to diffs generated in a pull request.
I would like it to go further and to set the status of any commit that has such warnings to "failed", so that I can use that status to block merging of any PR that introduces new warnings.
Workflow example
For backward compatibility, this could be a new opt-in flag, similar to the below:
jobs:
  clippy_check:
    name: Run Clippy lint checks
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - run: rustup component add clippy
      - uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all-features
        fail-on-warning: true

(I'm agnostic on the naming.)

Hi, @scouten!
It seems unreasonable to add another input to do that, since clippy already able to fail execution if any warning occured with -D warnings option, as in this example.
In your case you just need to append it to the args input:
- uses: actions-rs/clippy-check@v1
  with:
    args: --all-features  -- -D warnings


Fix: Stderr- and stdout-Encoding are not respected #10

Hello!
I use an implementation based on VBScript because VBScript exists on any windows machines.
I had a problem that WMI output has question marks (?????) instead of cyrilic characters in WMI output.
I fixed it by adding // U parameter to cscript.exe invocation.
https://technet.microsoft.com/ru-ru/library/ff920171(v=ws.11).aspx

Hello.
Any chances of merging this into master and releasing 1.6.4?


[Aio] Generate gRPC AsyncIO API Reference

Fixes #21400
This PR enhances the document generator to generate API reference. It also fills-in many missing interfaces which we didn't specify during development.
Now, __init__.py only contains import statements, and an __all__ statement that exposes limited API. Interfaces are created in separate files (majority copied from our gRFC):

_base_call.py: Call object related interfaces
_base_channel.py: Channel related interfaces
_base_server.py: server-side interfaces

Preview of API reference website:
~~https://storage.googleapis.com/lidiz_static_api_doc/grpc_api_reference.tar.gz~~
https://storage.googleapis.com/lidiz_static_api_doc/grpc_api_reference_v2.tar.gz

@gnossen PTALA.


LibXML installation failed on Arch linux system.

Hi unfortunately, installing of LibXML failed for me.
My system:

uname -a
Linux linuxboxhome 5.9.11-arch2-1 #1 SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000 x86_64 GNU/Linux

Libxml2 was installed with
pacman -S libxml2
zef command and output:

zef install LibXML
===> Searching for: LibXML
===> Updating cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Updating p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Searching for missing dependencies: Method::Also
===> Building: LibXML:ver<0.5.13>:authcpan:WARRINGD
[LibXML] src/domXPath.c: In function ‘domUnreferenceNodeSet’:
[LibXML] src/domXPath.c:388:23: warning: passing argument 2 of ‘xmlHashFree’ from incompatible pointer type >[-Wincompatible-pointer-types]
[LibXML]   388 |     xmlHashFree(hash, _domNodeSetDeallocator);
[LibXML]       |                       ^~~~~~~~~~~~~~~~~~~~~~
[LibXML]       |                       |
[LibXML]       |                       void (*)(void *, unsigned char )
[LibXML] In file included from src/domXPath.c:10:
[LibXML] /usr/include/libxml2/libxml/hash.h:113:26: note: expected ‘xmlHashDeallocator’ {aka ‘void ()(void *, const unsigned char )’} but argument is of type ‘void ()(void *, unsigned char *)’
[LibXML]   113 |       xmlHashDeallocator f);
[LibXML]       |       ~~~~~~~~~~~~~~~~~~~^
===> Building [OK] for LibXML:ver<0.5.13>:authcpan:WARRINGD
===> Testing: Method::Also:ver<0.0.5>:authcpan:ELIZABETH
===> Testing [OK] for Method::Also:ver<0.0.5>:authcpan:ELIZABETH
===> Testing: LibXML:ver<0.5.13>:authcpan:WARRINGD
[LibXML] # Running libxml2 version: 2.09.10 (module 0.5.13)
[LibXML] Native call expected argument 3 with CStruct representation, but got a P6opaque (Scalar)
[LibXML]   in method domInsertBefore at /home/wolf/.zef/store/LibXML-0.5.13.tar.gz/LibXML-0.5.13/.precomp> /9E716920394ADD07B5F95FCE4853BC2D91E0256B/0E/0E564D4A8FA7D04F9652FE88A765EF9CF5BAF289 line 1
[LibXML]   in method insertBefore at /home/wolf/.zef/store/LibXML-0.5.13.tar.gz/LibXML-0.5.13/lib/LibXML/Raw/DOM/Node.rakumod (LibXML::Raw::DOM::Node) line 133
[LibXML]   in method insertBefore at /home/wolf/.zef/store/LibXML-0.5.13.tar.gz/LibXML-0.5.13/lib/LibXML/Node.rakumod (LibXML::Node) line 499
[LibXML]   in block  at t/04node.t line 174
[LibXML]   in block  at t/04node.t line 18
[LibXML] # You planned 201 tests, but ran 70
===> Testing [FAIL]: LibXML:ver<0.5.13>:authcpan:WARRINGD
Aborting due to test failure: LibXML:ver<0.5.13>:authcpan:WARRINGD (use --force-test to override)
zef install LibXML  274.31s user 13.66s system 196% cpu 2:26.32 total

I hope that helps

Oops didn't regress last release properly. Seeing that error when run against Rakudo 2019.11

@wbiker,
I only tested last release against Rakudo 2012.12 and broke tests on Rakudo versions.
Please retry with LibXML 0.5.14, uploaded to CPAN which should pass on Rakudo 2019.11 onwards.

Ups, forget to mention my Raku version 2020.09.
Anyways, with your updated version 0.5.14 tests and installation have worked!
Thank you!


Whiskers

Blocked on a bunch of other stuff happening, like whiskers 2.1.1, ideally https://github.com/catppuccin/toolbox/pull/223, and on #22 (since I based this on the most recent version of the code that I have).
Also need README updates.

whiskers 2.2 has been released 👍

Thanks pigeon


Stricter simulator specifications validation

Currently the validation seems to allow extra keys at any point in the schema. While this flexibility may be helpful for us as developers, I think this could give the community the false impression that BioSimulators can use such keys.

[x] We need to make the validation stricter. The one part of the schema would come remain more flexible is the biosimulators field. I believe this is addressed in #1421.
[x] If you want to allow the community to contribute additional information that is opaque to the BioSimulators schema/tools, there could be a specific field for such information e.g., annotation. This field should be optional and the type of its value should be any. This is roughly how SBML handles extra user-specific data. I don't think we have a need for this now.
[x] the update endpoint (PUT /simulators/{}/{}) currently ignores the simulator and version parameters. These should be removed or validated that they match the id and version in the specification (body of the PUT). This is ok as is. As is, this allows renaming of simulators or their versions.

done in #1435


Upgrade to Hibernate ORM 6.2.7.Final

I had to change one of the test because now Hibernate ORM throw an exception if an associated entity has  null version (before it was treated as a transient entity).
I've added a fetch before removing the entity.
@gavinking, do you think this is acceptable or should we recognize the  use case and  do something smarter?
Basically, before the user was able to delete the entity without fetching it.
(this is the change that makes life a bit harder for us: https://github.com/hibernate/hibernate-orm/commit/1653023a080604ad1be1bde379802f62af8d6bf6#diff-8404725a304ff77d25bf88d040cc8285d82fe35d4381a7fe684d7c26624281fbR3886)
@Sanne, maybe you are interested?

So in principle that change was not supposed to have affected entities with initialized ids. (I reviewed this.)

Ok, I will check why the version is null in that particular case

@DavideD I don't follow what is going on here at all. I don't even see where there are detached entities in that test.
But what is supposed to happen here is that that error should occur only if the detached entity has an initialized id but an uninitialized version.
If that's not what's happening, then there's a bug somewhere (in ORM core, or in reactive).

But what is supposed to happen here is that that error should occur only if the detached entity has an initialized id but an uninitialized version.

This is what's happening, there's an id but not a version (it's null before the fetch).
I'm not sure if this is an error in ORM.
OK, I will have a better look and close the PR for now, Thanks for checking


Drop Ruby 2.4/2.5/2.6 & GCG: Add faraday-retry dep

cherry-picked from https://github.com/voxpupuli/beaker-puppet/pull/216.


Environment variable with config lookup paths

The same way that we have the variable IGN_GUI_PLUGIN_PATH to lookup paths to plugins, it would be convenient to have a IGN_GUI_CONFIG_PATH variable for paths containing config files.
This is convenient for downstream packages that install their own configs and want to refer to them by their paths relative to the install location.
Desired behavior

For example, a package may install a few different configs in this directory structure:
install/share/package_name/gui/
        ├── first_person.config
        └── plotting.config

Then set IGN_GUI_CONFIG_PATH=install/share/package_name/gui/ through CMake magic.
And finally, load the configs with just this, instead of passing the full path:
ign gui --config plotting.config
or for Gazebo, for example:
ign gazebo world.sdf --gui-config plotting.config
Alternatives considered

Not sure, I think the environment variable pattern is common in Ignition already.
Implementation suggestion

I'd start by looking up how IGN_GUI_PLUGIN_PATH is implemented and port some of that to how the config files are found.

Duplicate of #337


Disable drag up when snapIndex = 1

I have an issue about the dragEnabled.
It's my BottomSheet:

I want to disable drag up when snapIndex = 1 (means when BottomSheet is expanded. But it still can drag down.
I tried to set dragEnabled in onPanResponderMove but it's not working.

Can anyone help me, thank you so much!

Same issue for me.

1 upvote, it's there any solution pros?


Only configure Sendfile for public asset requests from Asset Manager

Previously we were setting the X-Sendfile-Type & X-Accel-Mapping request headers in all requests proxied from Nginx to the Rails app. However, these headers only need to be set for the /media/* (Mainstream) and /government/uploads/* (Whitehall) URL paths, because these are the only routes which ever make use of the Sendfile behaviour.
In the not too distant future, we're planning to change the Rails app to proxy all these public asset requests to S3, like public Mainstream asset requests already are in production. At this point, it will be possible to remove both this new Nginx location block and the related internal location block.
My initial motivation for doing this was to solve a problem with alphagov/asset-manager#267 in which the Rails app proxies public asset requests to fake S3 URLs served by the Rails app. Having the Sendfile-related headers set for the latter requests was problematic for serving the fake S3 URLs.
Note that I have introduced a bit of duplication in the new Nginx location block (in the proxy_pass statement). I did try referencing the existing named location block @app, but I couldn't get this to work. However, given that the amount of duplication is minimal, there is already duplication like this in the Nginx config, and the location block should be going away in the not too distant future, I'm happy to leave it like this.

@chrislo:
Thanks for reviewing.

A small thing - the #267 in the PR / commit message auto-links to the wrong issue (I think it should link to alphagov/asset-manager#267) in the GH interface.

You are correct. I will correct the commit note and force-push as well as updating the PR description.

I've checked that this change has been automatically applied to integration and I checked that I can request an existing asset both served from NFS and proxied to S3:
Asset served from NFS via Nginx
deploy@integration-backend-1:/var/apps/asset-manager$ curl -s -v "https://assets-origin.integration.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to assets-origin.integration.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* [... SSL handshake ...]
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> User-Agent: curl/7.35.0
> Host: assets-origin.integration.publishing.service.gov.uk
> Accept: */*
>
< HTTP/1.1 200 OK
* Server nginx is not blacklisted
< Accept-Ranges: bytes
< Access-Control-Allow-Headers: origin, authorization
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=86400, public
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Content-Length: 212880
< Content-Type: image/jpeg
< Date: Mon, 23 Oct 2017 13:41:33 GMT
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: NFS
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Server: nginx
< Strict-Transport-Security: max-age=31536000
< X-Frame-Options: DENY
<
{ [data not shown]
* Closing connection 0
* SSLv3, TLS alert, Client hello (1):
} [data not shown]

Asset proxied to S3 NFS via Nginx
deploy@integration-backend-1:/var/apps/asset-manager$ curl -s -v "https://assets-origin.integration.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg?proxy_to_s3_via_nginx=true" >/dev/null
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to assets-origin.integration.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* [... SSL handshake ...]
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg?proxy_to_s3_via_nginx=true HTTP/1.1
> User-Agent: curl/7.35.0
> Host: assets-origin.integration.publishing.service.gov.uk
> Accept: */*
>
< HTTP/1.1 200 OK
* Server nginx is not blacklisted
< Accept-Ranges: bytes
< Access-Control-Allow-Headers: origin, authorization
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=86400, public
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Content-Length: 212880
< Content-Type: image/jpeg
< Date: Mon, 23 Oct 2017 13:42:36 GMT
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: S3
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Server: nginx
< Strict-Transport-Security: max-age=31536000
< X-Frame-Options: DENY
< x-amz-meta-md5-hexdigest: 1d80d9959949837e1204bf5d8730d607
<
{ [data not shown]
* Closing connection 0
* SSLv3, TLS alert, Client hello (1):
} [data not shown]

Both of these look as if they are working OK.

release_19505 (which includes this change) was deployed to staging at ~15:30 today and will've been applied by ~16:00. I made a request for an asset on staging before and after the change as follows and all appears to be well.
Before change
$ curl -s -v "https://assets-origin.staging.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.staging.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.staging.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.staging.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Access-Control-Allow-Headers: origin, authorization
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=86400, public
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Content-Length: 212880
< Content-Type: image/jpeg
< Date: Mon, 23 Oct 2017 14:18:33 GMT
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: NFS
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Server: nginx
< Strict-Transport-Security: max-age=31536000
< X-Frame-Options: DENY
<
{ [15793 bytes data]
* Closing connection 0

After change
$ curl -s -v "https://assets-origin.staging.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.staging.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.staging.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.staging.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Access-Control-Allow-Headers: origin, authorization
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=86400, public
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Content-Length: 212880
< Content-Type: image/jpeg
< Date: Mon, 23 Oct 2017 15:08:29 GMT
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: NFS
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Server: nginx
< Strict-Transport-Security: max-age=31536000
< X-Frame-Options: DENY
<
{ [15793 bytes data]
* Closing connection 0

The tests on staging are the most useful checks that nothing has gone awry, because I don't think there's currently a way to make a public request for an asset on production and have it served from NFS via Nginx, because the app is configured to proxy all Mainstream assets to S3 and there are no existing Whitehall assets (and I don't really want to create a dummy one just for testing).


fix combodate not updating value if the combobox is not changed

fix issue #679

@ckosloski this PR looks good for me, what do you think?

Looks good to me

@chiu0602 thank you for the PR

My pleasure


Find pods with high restart count

Identifying pods (and ancestors) with high restart counts/churn would be useful for consumers and help eliminate wasted resources - this often occurs with forgotten experiments, broken apps, and suboptimal job behavior (e.g. uncontrollable restart behavior with non-zero exits).

Great idea !


MSON aligned parameter parser trips up when inline description contains round brackets

When an inline description of an MSON aligned parameter is used that contains round brackets () the parser seems to trip up and says the whole block is unrecognised.

Problematic syntax
+ Parameters
    + query (string) - This is a (short) inline description

Working alternatives
+ Parameters
    + query - This is a (short) inline description

+ Parameters
    + query (string)
        This is a (short) inline description

Can you try the following:
+ Parameters
    + query: sample (string) - This is a (short) inline description

That also works @pksunkara.

@kylef The problem is that the default is old parameter style. Since the following parameter is also valid old style paramter, it will default to old style parameter and try to parse it which is giving the error.
+ query (string) - This is a (short) inline description

Since the following parameter is also valid old style parameter

But this isn't valid with the old syntax because it throws an error?

Yes. So, we need to add the option of trying to parse with the other style if the recognised style throws error.

Actually, the issue here is in trying to recognise the parameter syntax style. Instead of trying to match brackets, this line directly goes to the last closing bracket. And when the next non-empty character is not a description delimiter, the parameter doesn't get recognised as a whole.


Homebrewery Save/Application Error

Error: Service Unavailable
Error: Service Unavailable
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:71831:19)
    at Request.Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1764:20)
    at XMLHttpRequest.xhr.onreadystatechange (https://homebrewery.naturalcrit.com/homebrew/bundle.js:72140:10)
{
  "status": 503,
  "method": "PUT",
  "url": "/api/update/3Xc1p0vHE0tf"
}

The site had an outage for a couple of minutes right around that time. It should be working for you now. Closing, but can be reopened if it's still not working for you.


wasm-parser: should typed select parse with result arity ≠ 1?

In the webassembly specification select with any number of result types is allowed by the binary representation, and is rejected in validation rather than the binary encoding.
wasmparser::VisitOperator instead models this kind of instruction as visit_typed_select with a single result argument, and therefore is forced to reject this encoding earlier, while decoding the binary representation:
https://github.com/bytecodealliance/wasm-tools/blob/b6233ed48f1d5b7c4adfa5656e426d739a08c0fa/crates/wasmparser/src/binary_reader.rs#L785-L794
In particular https://github.com/WebAssembly/spec/commit/ef01de5ef4e7d5cc772110af2e30cc4fb722784a has added tests that do successfully parse (and, I think, validate? Not sure.) which triggers this condition in wasmparser.
Should wasmparser pass this test? Should we allow decoding (and encoding) typed selects with result arity ≠ 1?

Nope, parsing the text actually works okay (or at least wast does an okay job at it).
The way I have this set up is that I take wast::Module or whatever call encode on it and then throw the bytes at wasmparser. wasmparser is what fails to handle these 2 specific functions.
  (func (result i32) unreachable select (result i32) (result))
  (func (result i32) unreachable select (result i32) (result) select)

I haven’t looked into this but I believe in either case the first of the selects ends up being encoded as 0x1C 0x00 (that is, a typed_select with 0 result types) and then the if condition in the parsing code fails.
I should actually look into what makes the interpreter stomach these functions fine. I’m still not sure whether this passes the interpreter’s validator (and if so – whether than has anything to do with the unreachable) or if it just so happens that the interpreter does not validate this code at all for some reason. I’ll get back to this some time soon.

You can inspect a bit with wasm-tools dump like so:
$ wasm-tools dump <<< "(func (result i32) unreachable select (result i32) (result))"
  0x0 | 00 61 73 6d | version 1 (Module)
      | 01 00 00 00
  0x8 | 01 05       | type section
  0xa | 01          | 1 count
  0xb | 60 00 01 7f | [type 0] Func(FuncType { params: [], returns: [I32] })
  0xf | 03 02       | func section
 0x11 | 01          | 1 count
 0x12 | 00          | [func 0] type 0
 0x13 | 0a 07       | code section
 0x15 | 01          | 1 count
============== func 0 ====================
 0x16 | 05          | size of function
 0x17 | 00          | 0 local blocks
 0x18 | 00          | unreachable
 0x19 | 1c 00       | ??
 0x1b | 0b          | end

so you're right it's popping out as 0x1c 0x00 which might be a bug in the AST-to-binary translation since that should probably be 1 with the i32 result type.


Expand route parts to account for URL escaping and special characters

@kdeenanauth thanks for this fix.
Can we add an additional test case for this?
Also, the Karma tests were failing due to an unrelated issue which I fixed in https://github.com/go-humble/router/pull/11. Would you mind rebasing off master? Then I'll run the Karma tests using the branch for this PR and if they pass, I'll merge it :)

@albrow I ran into the same issue. I changed the pattern to be ([^/]*), which seems to work fine. If you're interested, I'm happy to add a test and do a PR.

@kdeenanauth I believe https://github.com/go-humble/router/pull/13 (now merged) addresses this problem and includes some tests. I'm closing this PR.
If you feel the issue was not addressed, let me know.


Add some new/fixed metrics

Changes proposed in this PR

Add a metric on fetch-job-map time
Add a metric on /list API response size
Add a metric on /list API time to fetch all job maps

Why are we making these changes?

Better track what is going on. Try to explain the slow p95 lookup time for /list API queries as being from large responses.

Should we performance test this before we merge it?

My mistake, I had misread part of the change.


Create OpenStack module to support create/delete/update network segments

Proposal: Create OpenStack module to support create/delete/update network segments
Author: Javier Diaz <@jdiaz9>
Date: 2018-MM-DD

Status: New
Proposal type: New OpenStack module

Motivation
A relatively new OpenStack feature known as routed provider networks requires network segments be created and tied to subnets within the same network.
Routed provider networks is quickly becoming a necessary implementation in large enterprise grade deployments where different racks/pods of compute nodes need to be added to the cloud.
A reference to routed provider networks: https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html
Problems
What problems exist that this proposal will solve?

As it stands, there is no Ansible OpenStack module to assist with this. The way around this is to pass environment variables and use command. For example:

- name: create network segment for {{ network.name }}
  command: "openstack network segment create --physical-network {{ network.name }} --network-type flat --network {{ network.name }} {{ network.name }}-segment-1"

Solution proposal

Create a new module similar to the os_network and os_subnet modules that accomplishes the same functionality provided in the openstack network segment {create, delete, list, set, show} cli.

Dependencies (optional)

Requires python-openstackcli 3.14.2.

Testing (optional)
Deploy an OpenStack cloud, create network, create segments.

Proposals are for far-reaching changes in Ansible. This should be a simple feature request in the ansible/ansible repo.

Thanks, will move to ansible/ansible. Will close.


Unable to authenticate Hangouts

Home Assistant release with the issue:
0.86.3, 0.84.5, 0.82.0, 0.81.0, 0.80.3
Last working Home Assistant release (if known):
Never
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io VMDK image
Component/platform:
Hangouts
Description of problem:
Unable to authenticate.
Using G Suite account, No 2 Factor, Have logged in and used hangouts with the account, Have tried over four weeks leaving days in between each attempt.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
hangouts:
  intents:
    ColorLight:
      sentences:
        - Change the lights to [the color] {color}

Traceback (if applicable):
2018-10-23 10:35:07 INFO (SyncWorker_0) [hangups.auth] Authenticating with refresh token
2018-10-23 10:35:07 INFO (SyncWorker_0) [hangups.auth] Failed to authenticate using refresh token: Refresh token not found
2018-10-23 10:35:07 INFO (SyncWorker_0) [hangups.auth] Authenticating with credentials
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Submitting form on page 'https://accounts.google.com/ServiceLogin'
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Page contains forms: ['gaia_loginform']
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Page contains inputs: [None, None, None, None, None, None, None, None, None, 'profile-information', 'session-state', None, '_utf8', 'bgresponse', 'Email', 'Passwd-hidden', 'next']
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Submitting form on page 'https://accounts.google.com/signin/v1/lookup'
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Page contains forms: ['gaia_loginform']
2018-10-23 10:35:08 INFO (SyncWorker_0) [hangups.auth] Page contains inputs: [None, None, None, None, None, None, None, None, None, None, 'profile-information', 'session-state', '_utf8', 'bgresponse', 'Email-hidden', 'Passwd', 'signIn', None]

Additional information:

Same thing for me. I've tried using both a normal Google Gmail account, as well as a GSuite account. No 2 factor authentication on either account. Tried multiple times over a given day, tried waiting several days, and up to a week. Issue still persists. Same errors as the issue reported here.
Tried on 0.80.1, 0.80.2 and 0.80.3, issue continued. Updated to 0.81 and tested, issue persits. Running Hass.io on a Raspberry Pi 3. I'm located in the USA.

Same thing for me

No success in authenticating on 0.81 for me as well.

Same thing for me. Version 0.81.0. I think there is some authentication issue in the login procedure.

I'm a new user and I don't know very well the bug procedures.... Shoud we submit any info and or notice to the developers? Is it enough this thread forum?

Same issue for me too.  I just upgraded to version 0.82.0 and it's still broken.  I've tried three different Google accounts, some with two-factor by text, some with an app password, and one with "less secure accounts" enabled.  In all cases I get the "Invalid Login" error.  I've also tried resetting the captcha link at google and still no luck.

Out of interest, have any of you got Google maps device tracker working?

@sads2000 good question; I hadn't tried that before.  Just tried to set up Google Maps device tracking with my new account that has two-factor authentication on but am using an app password.  Upon restarting, get the error:
Error setting up platform google_maps
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/components/device_tracker/__init__.py", line 184, in async_setup_platform
    disc_info)
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/device_tracker/google_maps.py", line 46, in setup_scanner
    scanner = GoogleMapsScanner(hass, config, see)
  File "/usr/src/app/homeassistant/components/device_tracker/google_maps.py", line 65, in __init__
    hass.config.path(CREDENTIALS_FILE))
  File "/usr/local/lib/python3.6/site-packages/locationsharinglib/locationsharinglib.py", line 386, in __init__
    cookies_file=cookies_file)
  File "/usr/local/lib/python3.6/site-packages/locationsharinglib/locationsharinglib.py", line 210, in __init__
    if cookies_file and self._validate_cookie(cookies_file):
  File "/usr/local/lib/python3.6/site-packages/locationsharinglib/locationsharinglib.py", line 237, in _validate_cookie
    raise InvalidCookies(message)
locationsharinglib.locationsharinglibexceptions.InvalidCookies: The cookies provided do not provide a valid session.Please authenticate normally and save a valid session again

I delete the cookie and restart and get
Could not open pickle file, either file does not exist or no read access.

Error setting up platform google_maps
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/components/device_tracker/__init__.py", line 184, in async_setup_platform
    disc_info)
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/device_tracker/google_maps.py", line 46, in setup_scanner
    scanner = GoogleMapsScanner(hass, config, see)
  File "/usr/src/app/homeassistant/components/device_tracker/google_maps.py", line 66, in __init__
    self._update_info()
  File "/usr/src/app/homeassistant/components/device_tracker/google_maps.py", line 78, in _update_info
    for person in self.service.get_all_people():
  File "/usr/local/lib/python3.6/site-packages/locationsharinglib/locationsharinglib.py", line 459, in get_all_people
    people = self.get_shared_people() + [self.get_authenticated_person()]
  File "/usr/local/lib/python3.6/site-packages/locationsharinglib/locationsharinglib.py", line 420, in get_shared_people
    for info in output[0]:
TypeError: 'NoneType' object is not iterable

Restart again and I'm back to the first error. Nothing shows up in my "recently used devices" and I've tried clearing the captcha.

This seems to be related to:
https://github.com/costastf/locationsharinglib/issues/42
at least for Google Maps.  Anybody have an idea if there might be the same issues for Hangouts?

This seems to be related to:
costastf/locationsharinglib#42
at least for Google Maps. Anybody have an idea if there might be the same issues for Hangouts?

Hi I'm using the google maps integration, which was broken, and fixed as per the issue you quoted. I think the issue was because of changes to Google's login form. However the Hangouts integration has never worked for me, possibly the same issue.

So using the hangups library directly, without any code modifications, works for you, @ferdinandovivacqua? Because I just installed hangups in a clean/new virtualenv and can't get it to work, either.  Just posted an issue over there: https://github.com/tdryer/hangups/issues/438

Okay, so I made a bit of progress.  I was able to use https://gist.github.com/tdryer/b4d4b5944ac22e3b2f3a9dda53e03e87 to manually generate a refresh token using the procedure here https://github.com/tdryer/hangups/issues/350#issuecomment-323553771.  However, now that I have that token, I don't know what to do with it?  Can I just place that file somewhere in home assistant?  I'm running home-assistant in docker, so it would be great if I could just map/mount a file somewhere ...

Okay, so I made a bit of progress. I was able to use https://gist.github.com/tdryer/b4d4b5944ac22e3b2f3a9dda53e03e87 to manually generate a refresh token using the procedure here tdryer/hangups#350 (comment). However, now that I have that token, I don't know what to do with it? Can I just place that file somewhere in home assistant? I'm running home-assistant in docker, so it would be great if I could just map/mount a file somewhere ...

I've installed the hangups library and followed the indications to get the token (a little bit tricky by the way). Then, I've created an entry in the config.yaml with a shell command like "python3 /home/.... " and I start the script "send message.py" with the right argument. See here https://community.home-assistant.io/t/notifications-google-hangouts/22259/5
However, I don't use hassio or docker, I've installed home assistant in a complete OS (opensuse)

Great work being so proactive and reporting back to the thread. Sorry I can't be any further help. Watching the posts with interest

So for somebody who has this working, could you tell me where the refresh_token file is placed on the file system?  I now have a token from the manual method, but have no idea where to put it.

Usually in the cache folder
Il giorno gio 15 nov 2018, 05:44 Scott Roberts<EMAIL_ADDRESS>ha scritto:

So for somebody who has this working, could you tell me where the
refresh_token file is placed on the file system? I now have a token from
the manual method, but have no idea where to put it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/17705#issuecomment-438915785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AqjlcDN4ZuhgdGZWiktL2uqBaEwVnB2lks5uvPFGgaJpZM4X0c52
.

@saroberts: This details the location and fornat - https://github.com/home-assistant/home-assistant/issues/16249
I'm using Hass.io (docker) on my pi3 so I'm not able to navigate to the path specified and modify the files, unfortunately..

@Tim-GitHub  I'm in the same boat, I've jumped through all the hoops to get the refresh_token.txt file from hangups in a standalone install, but since I'm using hass.io, I don't have any way to stick that file where it needs to go.
Is it possible we could get the HA Hangouts component updated to give us the same "manual login" option workaround that's being used to generate this file in Hangups? If the dialog to log in would let me just paste an oauth_code instead of username/password, it seems like that should be sufficient to build the refresh_token.txt and save it where it needs to go on the file system...

Okay, well thank you all for the help with this.  I finally got it figured out.  I was largely able to follow the suggestion by @Tim-GitHub at https://github.com/home-assistant/home-assistant/issues/16249#issuecomment-430641355.  The only different for me is that I'm using Home Assistant in Docker, so the location to edit is /usr/local/lib/python3.6/site-packages/hangouts/auth.py.  I can't wait for this to be fixed correctly in HA.

@ferdinandovivacqua I don't appear to have a /.cache/ directory available when SSHing into my Hass.io instance (via the SSH add-on). Any chance you could verify the location you previously used in your Hass.io environment before you switched to OpenSUSE?
@saroberts Glad to hear you got it working in your environment! I know Hass.io is running in a docker environment as well, but apparently I do not have a /usr/local/lib/python3.6/ directory either (also looking via SSH add-on).

Did you try looking in /usr/lib/..., and not the "local" variant?

@saroberts Glad to hear you got it working in your environment! I know Hass.io is running in a docker environment as well, but apparently I do not have a /usr/local/lib/python3.6/ directory either (also looking via SSH add-on).

@ferdinandovivacqua I don't appear to have a /.cache/ directory available when SSHing into my Hass.io instance (via the SSH add-on). Any chance you could verify the location you previously used in your Hass.io environment before you switched to OpenSUSE?
@saroberts Glad to hear you got it working in your environment! I know Hass.io is running in a docker environment as well, but apparently I do not have a /usr/local/lib/python3.6/ directory either (also looking via SSH add-on).

Unfortunately I don't have hassio anymore... I remember it was in a cache directory... can you search for it?

To clarify, the Hass.io I am running is the one based on a Docker container within a ResinOS host. The one from here: https://www.home-assistant.io/hassio/installation/
To SSH in I am using the SSH-Addon (https://www.home-assistant.io/addons/ssh/). By design Hass.io's SSH access is severely limited. That said there must be a way to access the core.config_entries or /hangouts/auth.py  paths as mentioned above. This documentation seems to indicate a way to SSH into the container to get more control: https://developers.home-assistant.io/docs/en/hassio_debugging.html
@ferdinandovivacqua Is that how you SSH'd into your Hass.io instance? Or did you just use the SSH-Addon directly? Maybe that is the step I am missing.
I attempted to run a find / -name for both core.config_entries and auth.py through the SSH-Addon but with no luck.

I'm running hass.io, and using Configurator, I am able to navigate to /usr/local/lib/python3.6/site-packages/ , however there is no /hangouts/ directory there. I've never successfully signed in to Hangouts through the hass.io interface, so perhaps that's why I'm missing this directory?

As said by virtualducttape, I used the configurator to navigate in the file system. Anyway, as I said above, I didin't follow your procedure, so I didn't change the auth.py. I installed the hangout library in the hassio and then I called by a shell command the python "send_message.py". Unfortunately, I wasn't able to make permanent this change, and after reboot of the raspberry I had to reinstall it. That's why I turned to a complete OS.
Little offtopic: I replaced also the raspberry... I discovered, together with many many people, that SD card of raspberry tend to be damaged... I moved to a complete pc.

Okay, using Configurator to browse the file structure instead of the SSH Add-on seems to have gotten me further. Same as @virtualducttape I can now see the site-packages directory in Configurator now, but no Hangouts directory. Tried both local/lib and just lib directories.
@saroberts did you have to create the directory?

I'm having the same issue setting up Hangouts from within the UI. I'm using a dedicated Google account that I previously used for Maps device tracking with no issue, but it won't let me log in at all. Simply doesn't want to know. 0.86.3 on HassOS 2.8

Same here with v0.87.1.
I had to fetch token manually, then add proper section to core.config_entries and restart HA then.

So this issue seems to stem from the way hangups (the library handling interaction with google hangouts) operates. They previously depended on the google authentication form being designed in a particular way . As an example the use an ID to select the form element within which they can input the supplied email address.
Problem is it seems Google does not used this fixed id any longer. Users of hangups also noticed this.
Good news is the authors of library added (in a new version) some way to handle this case by allowing manual tokens. So it's kind of an automatic way to handle what @rufik did.
I am working on a PR that would allow for providing the token via the interface. I have a crude implementation which gets me in, but it needs some fine-tuning to be production ready.

Could someone paste how core.config_entries should be for HA 0.90.1? I have upgraded hangups manually to 0.4.9 and manual login works but I have no idea how to get it work with HA...

I think it's better to wait for https://github.com/home-assistant/home-assistant/pull/22158 to be merged and new HA version released.


Tab menu navigation fixes (minor)

Corrected the order of items in the tab menu

@DanilNezhdanov To avoid conflicts I suggest to sync your fork with upstream after previous PR was merged.


Does not work with EF.Core 3. if you don't explicitly add a reference to Microsoft.EntityFrameworkCore.InMemory 3

Using Entity Framework Core 3.1.5, if I add LazyEntityGraph.EntityFrameworkCore to my project, it pulls Microsoft.EntityFrameworkCore.InMemory 2.0.0, which is not compatible with 3.1.* (Probablaly 3.0 too).
It crashes on the following code, of LazyEntityGraph.EntityFrameworkCore\ModelMetadataGenerator.cs with an exception that says "Method 'get_Info' in type InMemoryOptionsExtension not implemented"
 var options = new DbContextOptionsBuilder<TContext>()
                .UseInMemoryDatabase(databaseName: "App=EntityFrameworkCore")
                .Options;

Work-around is to explicitly add a reference to Microsoft.EntityFrameworkCore.InMemory (installing the nuget package) to the matching version (3.1.5, in my case).
While I'm not sure how this can be fixed in the code/builds/packages themselves, I think it should at least be documented on the Wiki, the Front-page or the Getting Stated.

@nlz242 Thanks for reporting this. The Info method is unfortunately a breaking change in EFCore 3.0:
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/breaking-changes#extension-infometadata-has-been-removed-from-idbcontextoptionsextension
I've been attempting to support EFCore 2.0 and 3.0 (or 2.1 and 3.1 since those are the LTS releases) from the same code base, but may be more trouble than it's worth. It's a shame, because the in memory database isn't used for any sort of storage, just to satisfy the configuration's requirement for a database provider. Some kind of conditional dependency would solve it, but those only depend on target frameworks, not versions of other packages.
In any case, glad you have a workaround for now, and I'll look at switching the dependency to EFCore 3.1 pretty soon I think.

Whats the current best way to solve this two years on?
We're now up to EFCore 6 and 7 and I don't feel my dotNet skills are up to maintaining a fork of a library like this, so I'd really prefer a new release with updates to support newer versions of Entity Framework Core.


Add all configuration files for Checkstyle into a single file collection

Checkstyle.configDir does not need to exist for Checkstyle to work, but
Gradle's up-to-date checks require an InputDirectory to exist.
Instead of using Checkstyle.configDir and Checkstyle.configFile as two
separate inputs, model all configuration files for Checkstyle as a
single file collection.

Fixes #16837
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


MvcTagHelpers functional tests - Part 2

Hi @dougbu
I covered the following scenarios in this PR.

A few <input/> tag helpers in a partial view invoked (@Html.PartialAsync()) in a loop within a @for inside an using @Html.BeginForm() block.
A custom template e.g. EditorTemplates/MyType.cshtml containing a mix of <input/>, <select/>, and various input HTML helpers invoked (@Html.Editor[For]()) in a loop within a @for inside an using @Html.BeginForm() block.
<select/> tag helpers with an using @Html.BeginForm() block
HTML helpers in the  tag helper

@dougbu please review this PR.

see if you can reuse existing model classes in new actions; web site is getting complicated.  for example, might have existing Customer class derive from Person (adding the Key property) and use Person for properties named Employee.

:watch:

@dougbu I updated per your comments. Please review this once more..

:shipit:


Fix path to JAVA_HOME

The path set as the JAVA_HOME environment variable does not exist.
cf deviantony/docker-elk#123

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks for this, indeed this is a left over from the transition from the Alpine base to the CentOS:7 base. It obviously happened because we were lacking tests for it!
I will merge this, add some tests for JAVA_HOME, backport to 5.4 and repush the image.


Added support for customization of HttpTracing

with this change you can define beans that will get added / set to the HttpTracing bean
fixes gh-886

Codecov Report

Merging #888 into master will increase coverage by 0.08%.
The diff coverage is 82.6%.

@@             Coverage Diff              @@
##             master     #888      +/-   ##
============================================
+ Coverage     72.16%   72.24%   +0.08%
- Complexity      640      644       +4
============================================
  Files           122      123       +1
  Lines          2766     2803      +37
  Branches        274      280       +6
============================================
+ Hits           1996     2025      +29
- Misses          588      595       +7
- Partials        182      183       +1

Impacted Files
Coverage Δ
Complexity Δ

...uth/instrument/web/SleuthHttpLegacyProperties.java
75% <75%> (ø)
2 <2> (?)

...uth/instrument/web/TraceHttpAutoConfiguration.java
84.09% <83.33%> (-15.91%)
5 <4> (+2)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e33d6e...d1d6993. Read the comment docs.

Added a commit which is mostly just polish. I do think we'll eventually get a request to not use the sleuth sampling pattern, but then again, this can also be done by overriding the pattern. So basically sounds good to me.

Fixed via https://github.com/spring-cloud/spring-cloud-sleuth/commit/375f244279265281c8fe91894522e5641ebcb7cb


Fix double-transition bug

Fixes #26451
By applying the transition: CSS property only to classes that are
active during sliding, we avoid an unnecessary, non-zero-time
animation that although mostly invisible, does interfere with e.g.
z-index based parallax carousels (see
https://codepen.io/domq/pen/ZoJrQZ)

@andreasgalante I'm sorry that the slide animation is not working for you; could you please let me know the steps you took for trying it out? Here is what I did try:

npm i
npm test (I did get failures, but they are unrelated to my change afaict)
opened js/tests/visual/carousel.html in browser — everything seems OK

Sorry, you are right it is working when I open js/tests/visual/carousel.html directly.
But when I run the docs npm run docs-serve it's not working for me on  http://localhost:9001/docs/4.1/components/carousel/
It might be just me, but just wanted to make sure.

@andresgalante: unless you run npm run dist or js the dist files used by the docs are the old ones.

Thanks @andresgalante for the review. Just to be sure, is the defect you are witnessing the same as in the gif below? If so, I fixed it and rebased onto today's v4-dev, kindly take another look.

I.e. no smooth transition at http://localhost:9001/docs/4.1/components/carousel/, as opposed to the online docs (https://getbootstrap.com/docs/4.1/components/carousel/) which work as expected:

I am sorry @domq it was my build 😞

oh! I just read your last comment, thanks for fixing it.


Feature/apmi 2308 nsurl connection

Implemented code of NSURLConnection Instrumentation.

Implemented swiftlint

Implemented swiftlint

Remove status from endconnectionspan.
Worked on testcase, its working.


tmp folder content not deleted if pdf generation failed

Hi
Thank you for publishing this fantastic tool!
I have noted one thing: If the LaTeX pdf-generation fails (e.g. errors in the template), the temporary report folder inside /tmp does not get deleted.
Not a huge issue, but thought you might want to know.

Thanks for brining this up.
I think this was by design, so that I could inspect the contents of the tmp folder to try to debug the errors that happened. I  agree it might be better for it to be deleted, but I don't plan to do any work on it now.


[RFC] State management

@sakshambhatt assigned to you!

I am half way done with the RFC. Do we have a wiki page or notion where I can put it?

I am half way done with the RFC. Do we have a wiki page or notion where I can put it?

put here itself

RFC no: 1 Start Date: 13th July 2022
State management in RDS RN mobile app
Table of contents

List of approvers
Abstract (what is this about?)
Proposed solutions
UI & UX
Architecture changes
Library dependencies
Security concerns
Testing & rollout

List of approvers:

Ankush Dharkar
Shreya Mishra

Abstract (what is this about?):
About managing all state effectively in the React Native app, in such a manner that performance and DX are good without it needing to be over-engineered.
What is state?
Data that can mutate over time and needs to be stored in app. There are two kinds of state, server cache (data being stored in DB but also being stored in UI for better UX) and UI state (data which is stored and used only in the UI, theme, isLoading, isConfirmModalOpen, etc.).
Proposed solutions:
Argument 1:

No need for external state management. Memoized useContext + React-Query for the win!
reference: Kent c Dodds blog
UI state problem? Lift State up -> Component composition -> Context  (Don't put all providers at global level, put them where they are needed).
Server cache: React Query or SWR.
Since Remix has arrived, Kent is promoting Remix, which can not be used with mobile app.
Pros: No need for external library. Since there is a process to be followed for solving the state problem, there is less chance that people will put everything in global state which can happen when external library is used.
Cons: Bad DX, lots of boilerplate, chances of error, component can't subscribe to subset of state (partially solved by using multiple ContextProviders and wrapping only the components which need them).
This can go wrong if the state changes too often (live price graph) reference: Dominik React Query maintainer

Argument 2:

useContext for Dependency Injection but not for state value propogation reference.
When to not use Context.
Basically, useContext can be used for Theme, AuthContext, etc. reference. But for state which might be updated frequently and, or if a component only wants to subscribe to a subset of the state, then probably go with Redux or Zustand. reference
Redux tried to useContext in v6 for state value propogation and it caused performance issues. Now, they are only using useContext for passing a static copy of state. reference
UI state problem? Lift state up -> Component composition -> Context if the state is not changing as much (loggedInUserData, theme) else go with Redux or zustand.
Pros: Less chances of error, less chances of going wrong, better DX.
Cons: Possibility of putting everything in global store when not needed, learning redux/ zustand.

Handling server cache (more research TBD):
Options:

React Query: For component scoped server cache and for global as well if zustand is used.
SWR: Similar to React query but minimal.
Custom hooks which do the same thing: DIY.
Redux thunk/ sagas/ RTK query: if redux is used for server cache that is supposed to goto global store.

Problems to solve:

In either case, if the server cache is actually maintained as cache in the app. Then we will need to also maintain when any particular data becomes stale and how to fetch it.
We may also face a scenario where fetching data between render might trigger another render. Or the scenario where in future we use suspense along with above data fetching and caching solutions.

UI & UX:
There won't be any changes in the UI. UX however, will be consistently good due to lower chance of performance issues.
Architecture changes:
Whatever option is selected must be enforced by maintainers and reviewers in order to maintain consistency and sanity. Also, new developers must be introduced to the particular pattern we decide to follow.

For the fist solution multiple ContextProviders will be created and wrapped around colocated and composite components.
For the second solution, there will be ContextProviders for value that seldom changes, and either selectors (redux) or useStore hooks in case of Zustand.
For both the solutions, all the data fetching will be done via hooks (useQuery-ReactQuery, useSWR-SWR, useCustomQuery-DIY hook), and not via useEffect + useState in the component.

@ankushdharkar @shreya-mishra, did you have a chance to look at the RFC? If you find it to be exhaustive pertaining to the issue, then might we go ahead and have a discussion with some other members and start executing?

@sakshambhatt let's discuss it at @10pm today if you are available.

@ankushdharkar , what will be the next steps for this issue?

approach 3:
make our own external store and link it using useSyncExternalStore ?

Use Jotai as the state management library to handle UI state. It can be a good solution when we start integrating different functionalities (modules) like goals, members site, status site as it allows us to create atoms that can be specific to each module & if we want to keep our state within our component tree.
Sharing a link from Jotai's official site comparing Jotai and Zustand as they can be very similar when compared from the outside.
https://jotai.org/docs/basics/comparison

Approach 4
Let's start with the Redux saga and implement the other management library and just compare which one is better, as RDS is all about learning, implementing, breaking, and rebuilding things.

How would we measure and compare the performances of these different approaches?

How would we measure and compare the performances of these different approaches?

how about testing the following metrics?

Bundle Size.
Memory usage.

Redux team has been advising against Sagas generally...
https://twitter.com/acemarke/status/1618630292520177668


[VIP-Travel] Create a New Travel Page and Terms and Conditions Modal (NewDot)

Details

Implementation of the main New Travel Page and the Terms and Conditions Modal for NewDot.
Fixed Issues

$ https://github.com/Expensify/App/issues/37102
$ https://github.com/Expensify/App/issues/37103
Tests

Make sure you are using an account with the travel beta enabled or in the Permissions.ts file set the canUseAllBetas function to always return true.
Press the + sign to go into the menu and then go into Book travel.
In the newly displayed modal / page press the Book travel button to go further into the flow.
On the Terms & Conditions page press the checkbox to accept and proceed with the flow by pressing the Continue button.
In the network tab check that a correct data package AcceptSpontanaTerms has been sent as a resolution of this flow.

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

Offline tests

QA Steps

[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 verified the translation was requested/reviewed 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.js 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] 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/Expensify/App/assets/88325488/7b86dddb-bcda-4653-a7ed-848767cfd436

Android: mWeb Chrome
https://github.com/Expensify/App/assets/88325488/455b91f6-594e-416f-a1a0-cfb1139d2f6c

iOS: Native
https://github.com/Expensify/App/assets/88325488/9a17246d-4810-429c-b00f-9ae1321311c7

iOS: mWeb Safari
https://github.com/Expensify/App/assets/88325488/fdde5173-ac80-40b7-af05-270cc44b3e5a

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/88325488/7ee5e8ab-d518-4810-a8f9-02343cbf67c2

MacOS: Desktop
https://github.com/Expensify/App/assets/88325488/2ccff230-7288-40b1-b0d7-5514aad404f5

Info for engineers from the expert agency Software Mansion, please hold off the review until I fix all the merge issues with main.

@cdOut and @smelaa - so we had a bit of a rollercoaster discussion on the ToS, but we do still require the modal for accepting Terms, so that's great.
However, our marketing team have a few copy points: cc @jamesdeanexpensify

In Global Create, can we update it to Book travel (instead of Book Travel) to match the casing of the rest of the options?
In the "My trips" section, can we update it to:

Book and manage your trips
Use Expensify Travel to get the best travel offers and manage your business expenses in one place.
Save money on your bookings
Get realtime updates and alerts
[Button] Book travel

One last question in Slack too: https://expensify.slack.com/archives/C05S5EV2JTX/p1712789189082939?thread_ts=1712595510.349369&cid=C05S5EV2JTX

On iOS, the bottom button feels awfully close to the home/drag bar. Do we have the proper SafeSpace below the button there?

The illustration looks like it doesn't have much padding either:

I believe the height of that card illustration area should be 260px and it should have about 28px padding top and bottom. But we could round up to 32 or 20

Bump on these requested changes @cdOut

@dubielzyk-expensify @shawnborton Could you send me this illustration with exact dimensions in .lottie format on Slack?

The illustration looks like it doesn't have much padding either:
I believe the height of that card illustration area should be 260px and it should have about 28px padding top and bottom. But we could round up to 32 or 20

The illustration looks like it doesn't have much padding either:
I believe the height of that card illustration area should be 260px and it should have about 28px padding top and bottom. But we could round up to 32 or 20

@dubielzyk-expensify @shawnborton Could you send me on Slack this illustration in .lottie format with exact dimensions?

It should behave the same as on other pages in RHP with a button at the bottom of the screen. Does this button have a different style on pages like "Assign a Task" or "Save the World > I Know a Teacher"?

@WojtekBoman check out the Save button on the Display name page - notice how there is a bit more space below the button?

@shawnborton @dubielzyk-expensify UI Issues have been fixed :) Could you check if it looks ok now?

Will fire up a test build for us, but let me know if you have updated screenshots in the original comment as well!

Will fire up a test build for us, but let me know if you have updated screenshots in the original comment as well!

I can't update the description of this PR because I'm not the author :(

Bummer, but feel free to just make a new comment with the updated screenshots at least!

What's the best way to test this using the links above? I added myself to the spotnanaTravel beta but I'm not seeing the Book Travel option show up. Any ideas @twisterdotcom?

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

I got an error when building Android/Native, so I haven't attached screenshots for this platform

@shawnborton you gotta wait for the beta cache to flush before your account is added. I do see it for<EMAIL_ADDRESS>

Are these links correct?

On oldDot the terms go to https://use.expensify.com/travelterms, so we should use that.
Looking at it now - should we link "terms & conditions" twice? Or maybe we only need to link it at the bottom with the checkbox, as we've done on oldDot:

I tried web, desktop and Android and those were my only comments.

Hmm I still can't seem to get the Book travel option to show up in my global create:

But the screenshots above look good to me.

Hello everyone 👋
I've created a new PR because i can't add commits to this one. I've applied the suggestions above.
Please review when you can - https://github.com/Expensify/App/pull/41493


Node.js and Docker Build Resources

User Story
Developers want to be able to easily build their own Node.js applications from dacrane (e.g., by simply specifying the programming language and build file).
Acceptance Criteria
dacrane.yaml
import: https://raw.githubusercontent.com/SIOS-Technology-Inc/dacrane/main/module/docker-npm.yaml
name: api
modules:
- name: api
  module: docker-npm
  argument:
    iamge: api
    tag: v1

/module/docker-npm.yaml
name: docker-npm
parameter:
  type: object
  required: ["image"]
  properties:
    node_base_iamge_tag:
      title: Docker Image Tag
      description: >
        This is docker image tag name. https://hub.docker.com/_/node/
      type: string
      default: latest
    src_files:
      title: Source Code File Path
      description:
      type: string
      default: "**/*.js"
    package_json:
      title: package.json File Path
      description: package.json File Path
      type: string
      default: "./package.json"
    package_json_lock:
      title: package-lock.json File Path
      description: package-lock.json File Path
      type: string
      default: "./package-lock.json"
    build_command:
      title: Build Commnd
      description:  This command is used to install or transpile dependent modules.
      type: array
      items: { type: string }
      default: ["npm", "ci"]
    start_command:
      title: Start Command
      description: This command is used to start the Node.js program.
      type: array
      items: { type: string }
      default: ["npm", "start" ]
    image:
      title: Image Name
      description:  The name of the image to be built.
      type: string
    tag:
      title: Image Tag
      description:  The tag of the image to be built.
      type: string
      default: latest
    env:
      title: Environment
      description:  Environment variables to be set at build time.
      type: object
      patternProperties: { ".*": { type: string } }
      default: {}
modules:
- name: dockerfile
  module: resource/file
  argument:
    filename: ./Dockerfile
    contents: >
      # write
- name: image
  module: resource/docker-local-image
  argument:
    dockerfile: ...
    image: ...
    tag: ...

implemented.


Add social icons

Solves https://github.com/lingonsaft/hacktoberfest/issues/835
Changes

Linked font awesome library in index.html
Added social icon in footer
Added css in index.css

Screenshot

@richie-south I'm stuck resolving conflicts. Can you help me here?

Great! :)