Update test_cli.py

fixes #

Checklist:

[ ] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[ ] Add or update relevant docs, in the docs folder and in code.
[ ] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[ ] Add .. versionchanged:: entries in any relevant code docs.
[ ] Run pre-commit hooks and fix any issues.
[ ] Run pytest and tox, no tests failed.

Please submit a single pull request for related changes. I'm going to close this, please move the changes to #4917.


Web - Unread line stays for a second even after message is deleted

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any chat and send a message
Now go offline
Mark message unread and delete it
Observe the unread line stays for few seconds

Expected Result:
The unread line should be removed with the message.
Actual Result:
The unread line is not removed with the message.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/c1324921-9d33-4e27-a97a-ea84f8de7407
https://github.com/Expensify/App/assets/93399543/12ff0b7a-2050-47e5-9f2b-e0d0497498bc
Expensify/Expensify Issue URL:
Issue reported by: @Krishna2323
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693388486410679
View all open jobs on GitHub

Proposal
Please state again the problem we are trying to solve in this issue.
Unread line stays for a second even after message is deleted.
What is the cause of this issue?
We check message is unread or not as below.
https://github.com/Expensify/App/blob/cb98bec57e43cdfbeb356b342054a53e47e59758/src/pages/home/report/ReportActionsList.js#L230-L231
But we does not check message is pending delete.
What changes do you think we should make to solve the problem?
We can check message is pending delete or not in ReportActionsList.isMessageUnread.
-   return Boolean(message && lastReadTime && message.created && lastReadTime < message.created);
+   return Boolean(message && message.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE && lastReadTime && message.created && lastReadTime < message.created);

What alternative solutions have you investigated? (Optional)
None.

This is a super edge case that I don't really think it's worth fixing but checking internally to what others think.

We decided to close this as we are looking for more mainline/important bug reports at this time.


Other *hax

BArowserhax is patched on a lot of firmware...

What?

If you are between versions 10.6.0 and 10.7.0, you can find instructions for using ninjhax (requires Cubic Ninja) here, or instructions for using oot3dhax (requires Ocarina of Time 3D and either a powersaves or another 3DS which has the HomeBrew Launcher) here. Browserhax and menuhax were patched with 10.6.0 and will no longer work.

I think that's already covered.

Yeah sorry


Replace fake client with envtest in tests

There are some cases where the fake client doesn't reflect the behaviour of a real API server. This bug contains one example: https://github.com/cryostatio/cryostat-operator/issues/447#issuecomment-1242491587. We already spin up envtest as part of our test suite, we just don't use it. This is closer to a real API server than the fake client represents. We should switch to using it.

The Kubebuilder book has some good examples of testing controllers with envtest: https://book.kubebuilder.io/cronjob-tutorial/writing-tests.html


vapoursynth-editor: init at R19

Motivation for this change
VapourSynth isn't very useful standalone without an editor.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

thanks !


Finish ldtoken implementation for types

There's a partial implementation of the ldtoken instruction for types, which loads the RuntimeTypeHandle for a type in ImportLdToken, but it's missing logic to get an eeTypePtr for the type. Look for the // todo: this doesn't work because we don't have the eetypeptr pushed. How do we get the eetypeptr? comment.

Fixed in #4872


slack_pulsar returner

I've been testing Pulsar with other returners, and I'd like to see a slack_pulsar.py returner. Sending returns through Slack currently doesn't include minion information, meaning it's impossible to identify the source. Example:
id: None
function: None
function args: None
jid: None
return: {'change': 'IN_MODIFY',
 'checksum': '434728a410a78f56fc1b5899c3593436e61ab0c731e9072d95e96db290205e53',
 'checksum_type': 'sha256',
 'name': 'h4x0r.pl',
 'path': '/usr/local/bin/h4x0r.pl',
 'stats': {'atime':<PHONE_NUMBER>.6502364,
           'ctime':<PHONE_NUMBER>.031237,
           'gid': 0,
           'group': 'root',
           'inode': 18096,
           'mode': '0644',
           'mtime':<PHONE_NUMBER>.031237,
           'size': 8,
           'target': '/usr/local/bin/h4x0r.pl',
           'type': 'file',
           'uid': 0,
           'user': 'root'},
 'tag': '/usr/local/bin'}

This should be really simple to modify the existing returner to add this information. It will also be a good opportunity to drop some of the empty fields that pulsar doesn't provide, to clean up the output.

I think we're ready to close this.


Fix Razer Chroma support

List any issues that this PR fixes: #1570
This pull request proposes the following changes:

Adds a new razer layer that enables support for chroma enabled games
Fixes Dispose not getting called on Layer/LayerHandler when removing the layer or switching the layer type (required to cleanup threads created by the razer layer)
Adds AppDataDirectory and LogsDirectory constants
Adds RazerManager to Global
Rearranges "Devices and Wrappers" tab in settings to include razer chroma
Fixes settings control overflowing outside the bottom of the window
Fixes NPE hiding original json errors when deserializing profiles
Fixes default profile being created twice when an exception occurs during profile deserialization

To Do:

[x] Add support for allow_wrappers_in_background option (not needed)
[x] Make it easier to install the correct sdk
[x] Debug logging
[x] Ability to dump raw data to a file
[x] Move razer manager to global
[x] Add razer panel to settings

Known issues:

Needs testing from users
Very rarely requires you to alt-tab to desktop and back to the game to enable lighting (game issue?) (reported on one game only)

Custom build to test: https://ci.appveyor.com/project/antonpup/aurora/builds/26793401/artifacts
SDK version support: v3.5.6
If you have the wrong SDK version you can either use synapse to upgrade or use the download button in the razer layer. If installing manually make sure to stop all razer services first.

The default profiles for at least overwatch should be changed to have a chroma layer instead of the old wrapper one.

Unfortunately the Corsair RGB fans stopped working in 0.6.4b again :/

I did not change anything with corsair so it must have been broken by some other pr merged to dev branch.
You should create a new issue about this, or find existing one.


What about some Android prefs and testing? huh! :)

Is someone testing this on android? I have no android devices.  I don't understand how people can do it.
Hardening a mobile browser is futile anyway with all the built-in tracking.

From the user.js: "* FF version: 51 (DESKTOP)". This was primarily based on widows desktop users.

Addon to try on Android: https://addons.mozilla.org/En-us/firefox/addon/fake-location/
Geo Test: http://html5demos.com/geo

https://github.com/nylira/prism-break/issues/1608#issuecomment-262653552

Closing this - if and when we come across a useful android-specific pref, then we sill simply denote it as android only. In 2+ years, I have yet to come across any.

@bogachenko I don't know what that says. If you have any specific Android prefs that you think might be useful, open a new issue.

@Thorin-Oakenpants No .. this is just a screenshot, as proof, or something.
I gave the file rights and everything works.


Seems incompatible with graphql-ruby's new runtime

Edit: see my next comment for the fix and subsequent problem/observation.

Howdy! Thanks a bunch for forking this into the future. I expect once I get it working it'll be a huge lifesaver.
I'm running into a wee problem where it's as if the preloading is not doing anything. I have a pretty minimal reproduction as I'm just playing around with a new Rails app.

rails <IP_ADDRESS>
graphql 1.10.5
graphql-batch 0.4.2
graphql-preload Envek/graphql-preload@5040f7851bca3ce1044f8171b8301a2784720505

Schema
class ExampleSchema < GraphQL::Schema
  use GraphQL::Batch
  enable_preloading

  mutation(Types::MutationType)
  query(Types::QueryType)

  # Opt in to the new runtime (default in future graphql-ruby versions)
  use GraphQL::Execution::Interpreter
  use GraphQL::Analysis::AST

  # Add built-in connections for pagination
  use GraphQL::Pagination::Connections
end

Models
class Author < ApplicationRecord
  has_many :posts
end

class Post < ApplicationRecord
  belongs_to :author
end

Types
module Types
  class AuthorType < Types::BaseObject
    field :name, String, null: false
    field :posts, [PostType], null: false, preload: :posts
    #                                      ^^^^^^^^^^^^^^^
  end

  class PostType < Types::BaseObject
    field :title, String, null: true
    field :author, AuthorType, null: true
    field :author_id, ID, null: false
    field :body, String, null: true
    field :title, String, null: true
  end
end

Query type
module Types
  class QueryType < Types::BaseObject
    field :authors, [AuthorType], null: true
    def authors
      Author.all
    end
  end
end

However, making the following query succeeds, but still leads to a bunch of N+1s:
{
  authors {
    name

    posts {
      title
    }
  }
}

Is there anything I might be missing? I tried to bring it perfectly in line with the test cases in this repo, and went over the README a few times.

Oh you know what, commenting out these suspicious lines in the schema fixed the issue:
class CmsSchema < GraphQL::Schema
  # Efficient queries
  use GraphQL::Batch
  enable_preloading

  mutation(Types::MutationType)
  query(Types::QueryType)

  # Opt in to the new runtime (default in future graphql-ruby versions)
- use GraphQL::Execution::Interpreter
- use GraphQL::Analysis::AST
+ # use GraphQL::Execution::Interpreter
+ # use GraphQL::Analysis::AST

  # Add built-in connections for pagination
  use GraphQL::Pagination::Connections
end

I suppose that means this gem won't be compatible in the next graphql major release. I'll leave the issue open in case you want to take action on this.

Yes, unfortunately it is not compatible with Interpreter runtime yet. And tests shows that.
Hovewer, there is a year-old pull request to the upstream that adds support for it: https://github.com/ConsultingMD/graphql-preload/pull/25
I will try to pull it into my fork in the nearest future (may be this week, may be next).

yeah correct,, i got same result,, would happy if you can continue this amazing work 😄

I tried to merge https://github.com/ConsultingMD/graphql-preload/pull/25 to my fork, but without success yet. Branches diverged too much, it will require some time and effort to refresh it.


Provide a way to sort tasks in custom order instead of alphabetically

Currently there is no way to provide a custom task ordering logic. However this can be easily achieved by making the description a JSON and introducing an order field in it which can be used to sort the items.
FYI @jdshkolnik

We could definitely use the new JSON to define order although it'll be limited and a bit unintuitive in the cases where a single template applies to more than one filter. Example:
You have 4 templates, TaskA, TaskB, TaskC, TaskD.
For PBIs, you want them to appear like this:

TaskD
TaskB
TaskC

For a custom story-level item, you want:

TaskA
TaskB
TaskD

It's obviously impossible to assign a single order to each task template that would work. I think if someone wants the above case they'd have to make duplicates of the task templates for each variation.
The ordering logic should look for the order number and then secondary sort on title in ascending alphabetical. What do you think, @figueiredorui?


Handling arguments with empty default

Arguments (both required and optional) with empty string as default value are rendered like this:

name=
Argument with empty default

Equal sign without anything after is confusing, would be better the leave out = or to show python empty string, like name=''.
Adding a new directive :showemptydefault: would be nice, so that empty defaults are shown only if the directive is given.

In the develop branch the whole name='' thing is done away with, since I've found that users find this incredibly confusing. Instead, it's be more like:

option
help message

name
Argument with empty default. Default = ""


Feature/add rabbit specific code

This pull request introduces the bulk of the RabbitMQ specific sdx code to this new package. This is not feature complete yet - it specifically needs more unit testing - but getting eyes on at this point would be a good idea.
Significant changes from the existing implementations are that the classes now act as real package classes, with no dependencies on settings.py, and that individual services can now pass a processor function to the MessageConsumer class.

 (8) Create standalone rabbit library - Python


New RHDP team member access

cant find @hararora123 via LDAP

https://source.redhat.com/departments/it/it-information-security/wiki/details_about_rover_github_information_security_and_scanning

sorry didn't see the tag on mobile until after I hit merge


Call Recording

Any method or plugin to initiate call recording functionality in flutter?

This can be considered as a Feature Request.

this plugin developed to notify user about the incoming call and related events. the Recording feature can be implemented only on the app side


[admin] (Typo) Fix note syntax

Docs Build status updates of commit d21b144:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-comments.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


NEXT-16508 - Fixed entity exists and not validators work correctly with composite constraints.

1. Why is this change necessary?
To allow entity exists and not exists validators to be used in combination with composite constraints like Symfony's All constraint.
For more information, see: https://issues.shopware.com/issues/NEXT-16508
2. What does this change do, exactly?
Fixes https://issues.shopware.com/issues/NEXT-16508
3. Describe each step to reproduce the issue or behaviour.
See https://issues.shopware.com/issues/NEXT-16508
4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-16508
5. Checklist

[X] I have written tests and verified that they fail without my change
[X] I have squashed any insignificant commits
[X] I have created a changelog file with all necessary information about my changes
[X] I have written or adjusted the documentation according to my changes
[X] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-16566
Please use this issue to track the state of your pull request.

Hi,I've just set your PR to “Scheduled”.
This means our initial screening is passed.
Your PR will now be reviewed and tested before being put trough our internal extended testsuite and review process.
We will keep you informed wether something has to be done by you or when the PR is merged : )
If you have any questions feel free to ask.

@Dominik28111 Shall I rebase the latest trunk into it because I think the cypress tests have been fixed there or can I ignored this?

@AndreasA This is not what is described in the ticket and what you have fixed or?
Because actually it is described there "Hey if you have several entity exists, then the criteria is cloned again and again and then it does not work"... and you check here only whether entity exists works if the entities are there and once if not.

@Dominik28111
Hi,
no it fixes exactly what I described. Maybe my description was not good enough though.
I fixed the EntityExistsValidator and EntityNotExistsValidator to be capable to be used in combination with Symfony's composite validators like "All" which this does.
In the EntityExistsValidator test, I check if multiple entity IDs exist by using Symfony's "All" constraint and an array of IDs.
...

  new All(
                [
                    'constraints' => [
                        new EntityExists(
                            ['context' => $context, 'entity' => LocaleDefinition::ENTITY_NAME]
                        ),
                    ],
                ]
            )

...
        $violations = $validator->getViolations(['ids' => [$id1, $id2]], $definition);

Without my change this will fail as previously the criteria object was not cloned which resulted in a query like this for "id2":
id = $id1 AND id = $id2 and that always failed and as I use All and not AtLeastOne or something like this it produces the wrong result.
if you now check for
        $violations = $validator->getViolations(['ids' => [$id1, $id2, `Uuid::randomHex(]],` $definition);

then it will still fail as the third ID does not exist as it is a new UUID.
Additionally, I fixed that EntityNotExistsValidator did not work at all. It was only true if no entities at all xisted for that table.
Furthermore, I added a limit to =1 so that if one were to use it like primary property active and true  it will not resolve all entities but just one as that is enough for existence (though it is an unlikely usecase but the change is helpful anyway).

@Dominik28111
But I can add an additional check like this to verify that scenario works too:
$validator->getViolations(['id' => $id1], $definition);
$validator->getViolations(['id' => $id2], $definition);

@Dominik28111 I have now added two more tests that also verify using the same constraint multiple times.

@Dominik28111 Let me know if this is fine now or if you need anything else ?

@Dominik28111 Sorry for one more comment but I added one more test that verifies that a provided criteria object is not modified.

@Dominik28111 I have improved the tests now to not require the DataValidator but use Symfony's validator directly that way an unnecessary layer for these tests is removed.

Thanks for your contribution. Your PR will be merged when the pipeline is green.

@Dominik28111 The pipeline is not green because the trunk pipeline isn't either: https://github.com/shopware/platform/runs/3281261644
The PHPUnit tests etc. are working. the cypress admin tests are failing but as mentioned those fail for the trunk too, when will those be fixed?

I'm sure @Dominik28111 is talking about our internal pipeline 😉

@mitelg @Dominik28111 Ah that makes more sense 😄


Fix procedure about configuring LMS #6273

Updated step 5 in “Creating a roster for your classroom” section of “Manage classrooms” to clarify that there are two options here and show the time-saving option first.

Why:
To clarify that there are two options in “Creating a roster for your classroom” section of “Manage classrooms” and show the time-saving option first.
Closes 6273

What's being changed:
Step 5 is now:

Choose whether to import a roster or create a roster manually.

To import a roster, upload a file containing the identifiers by clicking Upload a CSV or text file.
Otherwise, to create a roster manually, type your student identifiers.

Check off the following:

[x] I have reviewed my changes in staging (look for the deploy-to-heroku link in your pull request, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (eg. a "before and after video")

Build looks good, fixed the spacing to match the other text so ready for review tomorrow @emilyistoofunky 👍

🎉 Thanks for opening this PR @AlexandraMMR 🎉 I've triaged it for writer review!

Read is on format to permit further reference change.
On Mon, May 17, 2021, 10:32 PM Janice @.***> wrote:

🎉 Thanks for opening this PR @AlexandraMMR
https://github.com/AlexandraMMR 🎉 I've triaged it for writer review!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/6427#issuecomment-842777798, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATVUGRLFUDER57G4DZCUTDLTOHGUFANCNFSM444F3GUQ
.

Thanks for the help @AlexandraMMR! I just left a few small suggestions, which I'll apply now and then merge! ⚡

Thank you for the edits Laura ✨


Unable to setup skicka.config

I tried to setup skicka for the first time using the readme provided but ran into an error.

me too

same issue

I am using https://github.com/adityak74/google-drive-upload-git-action


[core] Update changelog dates for Core patch release

Packages impacted by this PR

All Core packages that have been migrated to ESM

API change check
API changes are not detected in this pull request.


Jellyseerr fails to fetch profiles when SSL is enabled and using certs signed by internal CA

Description
I recently set up Radarr and Sonarr to use SSL with a certificate signed by my internal CA. I installed the full CA chain (root and intermediate signing CA certs) on the LXC running Jellyseerr, but when I change the port/protocol of the services in Jellyseerr to use the SSL port, Jellyseerr errors out:
2024-11-02T18:38:44.135Z [error][Radarr]: [Radarr] Failed to retrieve profiles: fetch failed
If I run openssl s_client -connect <radarr:SSL port> -state -nbio 2>&1 | grep "^SSL" from the container running Jellyseerr it appears to connect and handshake successfully, so not sure why Jellyseerr isn't able to fetch the profiles.
Connection works as expected when using the non-SSL port to the same instance of Radarr or Sonarr.
Version
2.0.1
Steps to Reproduce

Configure SSL in Radarr/Sonarr and import full chain CA certificates to system running Jellyseerr
Add service to Jellyseerr using SSL port/protocol
Attempt to test connection

Screenshots
No response
Logs
No response
Platform
desktop
Device
PC
Operating System
Ubuntu 24.04.1
Browser
Firefox
Additional Context
No response
Code of Conduct

[X] I agree to follow Jellyseerr's Code of Conduct

In case anyone comes across this issue, this has been fixed by doing this:

i added Environment=NODE_EXTRA_CA_CERTS=[your CA certificate file path] with the path to the .crt in /usr/local/share/ca-certificates/ and it worked
in the service file

From @lordairivis on Discord


Migrate build targets @com_github_grpc_grpc//:grpc++_codegen_base and @com_github_grpc_grpc//:grpc++_codegen_base_src to @com_github_grpc_grpc//:grpc++ .  Replace include path for files depending on files in gRPC's grpcpp/impl/codegen directory to their corresponding ones in non-codegen directories. [PDPI] Optimize table entry sorting by eliminating two rounds of copies. [IR][p4info] Add PkgInfo to IrP4Info. Extend gRPC keepalive timeout from 4s to 20s.

PR Description :
Migrate build targets @com_github_grpc_grpc//:grpc++_codegen_base and @com_github_grpc_grpc//:grpc++_codegen_base_src to @com_github_grpc_grpc//:grpc++ .
Replace include path for files depending on files in gRPC's grpcpp/impl/codegen directory to their corresponding ones in non-codegen directories.
[PDPI] Optimize table entry sorting by eliminating two rounds of copies.
[IR][p4info] Add PkgInfo to IrP4Info.
Extend gRPC keepalive timeout from 4s to 20s.

Build Results :
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$ bazel build $BAZEL_BUILD_OPTS p4_pdpi/...
INFO: Analyzed 74 targets (0 packages loaded, 0 targets configured).
INFO: Found 74 targets...
INFO: Elapsed time: 4.782s, Critical Path: 4.33s
INFO: 3 processes: 1 internal, 2 linux-sandbox.
INFO: Build completed successfully, 3 total actions
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$ bazel build $BAZEL_BUILD_OPTS p4rt_app/...
INFO: Analyzed 95 targets (0 packages loaded, 0 targets configured).
INFO: Found 95 targets...
INFO: From Compiling p4rt_app/scripts/p4rt_hybridband_test_client.cc:
INFO: Elapsed time: 54.587s, Critical Path: 8.57s
INFO: 19 processes: 1 internal, 18 linux-sandbox.
INFO: Build completed successfully, 19 total actions
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$
UT Results :
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS p4_pdpi/...
INFO: Analyzed 74 targets (0 packages loaded, 0 targets configured).
INFO: Found 43 targets and 31 test targets...
INFO: Elapsed time: 1.596s, Critical Path: 0.36s
INFO: 15 processes: 24 linux-sandbox.
INFO: Build completed successfully, 15 total actions
//p4_pdpi/netaddr:ipv4_address_and_network_address_test         (cached) PASSED in 0.2s
//p4_pdpi/netaddr:ipv6_address_test                             (cached) PASSED in 0.2s
//p4_pdpi/netaddr:mac_address_test                              (cached) PASSED in 0.2s
//p4_pdpi/packetlib:packetlib_fuzzer_test                       (cached) PASSED in 15.3s
//p4_pdpi/packetlib:packetlib_test                              (cached) PASSED in 0.1s
//p4_pdpi/packetlib:packetlib_test_runner                       (cached) PASSED in 0.0s
//p4_pdpi/packetlib:packetlib_unit_test                         (cached) PASSED in 1.3s
//p4_pdpi/string_encodings:bit_string_test                      (cached) PASSED in 0.2s
//p4_pdpi/string_encodings:byte_string_test                     (cached) PASSED in 0.5s
//p4_pdpi/string_encodings:decimal_string_test                  (cached) PASSED in 0.2s
//p4_pdpi/string_encodings:decimal_string_test_runner           (cached) PASSED in 0.0s
//p4_pdpi/string_encodings:hex_string_test                      (cached) PASSED in 0.0s
//p4_pdpi/string_encodings:hex_string_test_runner               (cached) PASSED in 0.0s
//p4_pdpi/string_encodings:readable_byte_string_test            (cached) PASSED in 0.2s
//p4_pdpi/testing:main_pd_test                                  (cached) PASSED in 0.1s
//p4_pdpi/testing:mock_p4_runtime_server_test                   (cached) PASSED in 0.3s
//p4_pdpi/utils:annotation_parser_test                          (cached) PASSED in 0.2s
//p4_pdpi:ir_tools_test                                                  PASSED in 0.3s
//p4_pdpi/testing:helper_function_test                                   PASSED in 0.3s
//p4_pdpi/testing:info_test                                              PASSED in 0.1s
//p4_pdpi/testing:info_test_runner                                       PASSED in 0.0s
//p4_pdpi/testing:packet_io_test                                         PASSED in 0.1s
//p4_pdpi/testing:packet_io_test_runner                                  PASSED in 0.0s
//p4_pdpi/testing:rpc_test                                               PASSED in 0.1s
//p4_pdpi/testing:rpc_test_runner                                        PASSED in 0.1s
//p4_pdpi/testing:sequencing_test                                        PASSED in 0.1s
//p4_pdpi/testing:sequencing_test_runner                                 PASSED in 0.0s
//p4_pdpi/testing:table_entry_gunit_test                                 PASSED in 0.3s
//p4_pdpi/testing:table_entry_test                                       PASSED in 0.1s
//p4_pdpi/testing:table_entry_test_runner                                PASSED in 0.1s
//p4_pdpi/utils:ir_test                                                  PASSED in 0.3s
Executed 14 out of 31 tests: 31 tests pass.
INFO: Build completed successfully, 15 total actions
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS p4rt_app/...
INFO: Analyzed 95 targets (0 packages loaded, 0 targets configured).
INFO: Found 63 targets and 32 test targets...
INFO: Elapsed time: 25.899s, Critical Path: 5.02s
INFO: 29 processes: 1 internal, 15 linux-sandbox, 13 local.
INFO: Build completed successfully, 29 total actions
//p4rt_app/sonic:state_verification_test                        (cached) PASSED in 0.3s
//p4rt_app/sonic/adapters:fake_sonic_db_table_test              (cached) PASSED in 0.1s
//p4rt_app/tests/lib:app_db_entry_builder_test                  (cached) PASSED in 0.0s
//p4rt_app/utils:event_execution_time_monitor_test              (cached) PASSED in 0.2s
//p4rt_app/event_monitoring:app_state_db_port_table_event_test           PASSED in 0.5s
//p4rt_app/event_monitoring:config_db_node_cfg_table_event_test          PASSED in 0.5s
//p4rt_app/event_monitoring:config_db_port_table_event_test              PASSED in 0.5s
//p4rt_app/event_monitoring:state_verification_events_test               PASSED in 0.5s
//p4rt_app/p4runtime:ir_translation_test                                 PASSED in 0.4s
//p4rt_app/p4runtime:p4info_verification_schema_test                     PASSED in 0.4s
//p4rt_app/p4runtime:p4info_verification_test                            PASSED in 0.4s
//p4rt_app/p4runtime:packetio_helpers_test                               PASSED in 0.5s
//p4rt_app/sonic:app_db_acl_def_table_manager_test                       PASSED in 0.4s
//p4rt_app/sonic:app_db_manager_test                                     PASSED in 0.4s
//p4rt_app/sonic:app_db_to_pdpi_ir_translator_test                       PASSED in 0.4s
//p4rt_app/sonic:packetio_impl_test                                      PASSED in 0.3s
//p4rt_app/sonic:packetio_port_test                                      PASSED in 0.3s
//p4rt_app/sonic:response_handler_test                                   PASSED in 0.3s
//p4rt_app/tests:acl_table_test                                          PASSED in 0.8s
//p4rt_app/tests:action_set_test                                         PASSED in 0.7s
//p4rt_app/tests:api_access_test                                         PASSED in 0.6s
//p4rt_app/tests:arbitration_test                                        PASSED in 0.7s
//p4rt_app/tests:fixed_l3_tables_test                                    PASSED in 2.4s
//p4rt_app/tests:forwarding_pipeline_config_test                         PASSED in 3.3s
//p4rt_app/tests:grpc_behavior_test                                      PASSED in 5.0s
//p4rt_app/tests:p4_programs_test                                        PASSED in 1.1s
//p4rt_app/tests:packetio_test                                           PASSED in 3.3s
//p4rt_app/tests:port_name_and_id_test                                   PASSED in 0.9s
//p4rt_app/tests:response_path_test                                      PASSED in 1.5s
//p4rt_app/tests:role_test                                               PASSED in 0.7s
//p4rt_app/tests:state_verification_test                                 PASSED in 1.1s
//p4rt_app/utils:table_utility_test                                      PASSED in 0.4s
Executed 28 out of 32 tests: 32 tests pass.
INFO: Build completed successfully, 29 total actions
bibhuprasad@95f0faf36370:/sonic/src/sonic-p4rt/sonic-pins$

Co-authored-by: Srikishen Pondicherry Shanmugam<EMAIL_ADDRESS>

@bibhuprasad-hcl @rkavitha-hcl
Same failures as the prev PR in packetlib test, does this need a rebase to the new PR you opened ?


EPERM: operation not permitted

I have cloudinary setup in strapi and I have uploaded videos from strapi to the media library!
I'm using gatsby-source-strapi plugin to source data from strapi to gatsby.
And whenever I run gatsby develop I get the following EPERM: operation not permitted error :
C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\yoga-layout-prebuilt\yoga-layout\build\Release\nbind.js:53
throw ex;
^
Error: EPERM: operation not permitted, lstat 'C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend.cache\caches\gatsby-source-strapi\tmp-ce7537293d8d0c96b46991b53b1d5cc5.mp4'
at Object.lstatSync (fs.js:1077:3)
at Object.lstatSync (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\graceful-fs\polyfills.js:312:16)
at Object.rimrafSync (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\fs-extra\lib\remove\rimraf.js:237:18)
at WriteStream. (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\gatsby-core-utils\dist\fetch-remote-file.js:107:26)
at WriteStream.emit (events.js:327:22)
at finish (_stream_writable.js:657:10)
at finishMaybe (_stream_writable.js:644:9)
at _stream_writable.js:617:7
at WriteStream._final (internal/fs/streams.js:355:3)
at callFinal (_stream_writable.js:610:10)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -4048,
syscall: 'lstat',
code: 'EPERM',
path: 'C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\.cache\caches\gatsby-source-strapi\tmp-ce7537293d8d0c96b46991b53b1d5cc5.mp4'
}
I would love to get a work around for this!

I have cloudinary setup in strapi and I have uploaded videos from strapi to the media library! I'm using gatsby-source-strapi plugin to source data from strapi to gatsby. And whenever I run gatsby develop I get the following EPERM: operation not permitted error :
C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\yoga-layout-prebuilt\yoga-layout\build\Release\nbind.js:53 throw ex; ^
Error: EPERM: operation not permitted, lstat 'C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend.cache\caches\gatsby-source-strapi\tmp-ce7537293d8d0c96b46991b53b1d5cc5.mp4' at Object.lstatSync (fs.js:1077:3) at Object.lstatSync (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\graceful-fs\polyfills.js:312:16) at Object.rimrafSync (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\fs-extra\lib\remove\rimraf.js:237:18) at WriteStream. (C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend\node_modules\gatsby-core-utils\dist\fetch-remote-file.js:107:26) at WriteStream.emit (events.js:327:22) at finish (_stream_writable.js:657:10) at finishMaybe (_stream_writable.js:644:9) at _stream_writable.js:617:7 at WriteStream._final (internal/fs/streams.js:355:3) at callFinal (_stream_writable.js:610:10) at processTicksAndRejections (internal/process/task_queues.js:80:21) { errno: -4048, syscall: 'lstat', code: 'EPERM', path: 'C:\Users\Asus\VSCodeProjects\fiverr-projects\goldenwave-frontend.cache\caches\gatsby-source-strapi\tmp-ce7537293d8d0c96b46991b53b1d5cc5.mp4' }
I would love to get a work around for this!

Hey Did you find any solution for this😥?
I tried many solutions but didn't work.

I am having the same issue after upgrading gatsby-source-strapi from 0.0.12 to 1.0.3. Gatsby clean does, reinstalling node modules does not fix my issue.

I am having the same issue after upgrading gatsby-source-strapi from 0.0.12 to 1.0.2. Gatsby clean does, reinstalling node modules does not fix my issue.

Due to this issue, I have deleted all the images and trued few images at a time and sometimes it's working I don't understand what is the issue. (Probably with uploader)

I am having the same issue- Gatsby clean does nothing, reinstalling node modules does nothing, this is incredibly frustrating- looking for any help please

I ended up installing WSL (windows subsystem for linux). Using WSL you can run linux in windows without installing separate OS.
You have to install nodeJS into the WSL.
I have cloned repo in linux and now it's working without any issue.
I think this issue happening only in windows.
Still if you face this issue in any other OS then you can try to tweak these variables
https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-filesystem#troubleshooting

Im am facing same issue


Character Encoding Issue

Not sure if this issue has to do with this package, or with the API itself (if not related to this package, please let me know and I will delete this issue from here).
But basically, all characters with tildes are being omitted.
For example, some Spanish words like "canción" are returning as "cancin".

It works for me:
$client = OpenAI::client('****');

$response = $client->chat()->create([
    'model' => 'gpt-3.5-turbo',
    'messages' => [
        ['role' => 'user', 'content' => 'Translate to spanish: "song"'],
    ],
]);

dd($response->toArray());

// output
array:6 [
  "id" => "chatcmpl-7KCInnSn7CuzFDOOnBW5azJuWqIA9"
  "object" => "chat.completion"
  "created" =><PHONE_NUMBER>
  "model" => "gpt-3.5-turbo-0301"
  "choices" => array:1 [
    0 => array:3 [
      "index" => 0
      "message" => array:2 [
        "role" => "assistant"
        "content" => "canción" // <------- SEE HERE
      ]
      "finish_reason" => "stop"
    ]
  ]
  "usage" => array:3 [
    "prompt_tokens" => 15
    "completion_tokens" => 3
    "total_tokens" => 18
  ]
]


Get other metadata with GetSession

Hello,
It would be interesting to be able to retrieve additional fields with getsession such as a fullname, email, ...
If possible, please let me know the procedure.
Best regard

Hi,
what do you exactly mean with getsession? Do you mean the data you get from the /_session endpoint?

Yes that's it.
Because I don't see how to retrieve the information of the connected account in another way
The GET and POST on _session does not return any custom fields from _users

You can store your user data in special documents. Then you can get your needed informations from that. For more information you can look here.


[Feature request] Add Items model definition

https://minecraft.wiki/w/Items_model_definition

Any news on this?

Any news on this?

@yusshu working on it in silence when they have time last i talked to them


Using interface as a field causes codegen error.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v16.15.1
Amplify CLI Version
12.0.1
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
I initially had a failure when running amplify push, the cloudformation stack was stuck in update rollback state, so i resolved by manually continuing the rollback.
Describe the bug
When running amplify codegen models i receive an error
"Unknown type Cuisine for field items. Did you forget to add the @model directive"
In the time i've spent debugging I can see the issue is coming from using Cuisine as a field within another type, see example snippet below:
interface Cuisine {
  id: ID!
  name: String!
  type: ItemType
  cuisineColor: String
  locations: [Float]
  allRatings: [Int]
  rating: Float
}

type GlobalCuisine implements Cuisine
  @model
  @auth(rules: [{allow: public}])
  @searchable {
...
}

type ContinentCuisine implements Cuisine
  @model
  @auth(rules: [{allow: public}])
  @searchable {
...
}

type CountryCuisine implements Cuisine
  @model
  @auth(rules: [{allow: public}])
  @searchable {
...
}

type Query {
  searchCuisines(input: CuisineSearchInput): CuisinesConnection
}

type CuisinesConnection {
  items: [Cuisine]
  total: Int
  nextToken: String
}

Expected behavior
Would have expected this to compile correctly as it was previously working.
Reproduction steps
How can this bug be reproduced?

Run amplify codegen models
See error logged and no models file generated.

Will running the exact steps below in an empty directory create an Amplify project that demonstrates the bug behavior?
I believe this likely to be an individual issue within my environment but may be helpful if others encounter a similar issue
Screenshots can be provided in the issue body below.

Project Identifier
33607ffacefa5dabac82046c3bfc9645
Log output

# Put your logs below this line

Unknown type Cuisine for field items. Did you forget to add the @model directive
Error: Unknown type Cuisine for field items. Did you forget to add the @model directive
    at AppSyncModelJavascriptVisitor.getNativeType (/snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-visitor.js:218:19)
    at AppSyncModelJavascriptVisitor.getNativeType (/snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-typescript-visitor.js:227:32)
    at /snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-typescript-visitor.js:132:63
    at Array.forEach (<anonymous>)
    at AppSyncModelJavascriptVisitor.generateModelDeclaration (/snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-typescript-visitor.js:130:25)
    at /snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-javascript-visitor.js:24:38
    at Array.map (<anonymous>)
    at AppSyncModelJavascriptVisitor.generate (/snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/visitors/appsync-javascript-visitor.js:24:18)
    at Object.plugin (/snapshot/repo/build/node_modules/@aws-amplify/appsync-modelgen-plugin/lib/plugin.js:55:24)
    at /snapshot/repo/build/node_modules/@graphql-codegen/core/cjs/execute-plugin.js:36:54
    at /snapshot/repo/build/node_modules/@graphql-codegen/core/node_modules/@graphql-codegen/plugin-helpers/cjs/profiler.js:7:49

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

interface and union are not currently supported by Amplify Codegen.

interface and union are not currently supported by Amplify Codegen.

Thanks for clarifying. Curious why i was able to previously run the command successfully with the same schema?

I'm not sure as to why it worked previously. The behavior of interface and union can be unpredictable because we do not test the functionality between releases.


Add tr locale (Turkish)

If you add tr language (Turkish) i can help with translation! Thx!

Please do an updated pull request from the latest version.


pin setuptools and wheel versions to working point-in-time

We encountered a breaking change by going with latest setuptools in our CI.  This commit pins the version of setuptools to the last known functioning version.
We should take this approach or the approach in #1321, and close the other.

Closing this in favor of a less reactive approach, now that we're past CI issues


Allow style blocks to inherit/honor parent components style blocks unless explicitly overriden

Is your feature request related to a problem? Please describe.
When creating view components that inherit from other components, the style blocks do not respect inheritance. Currently, if a child component defines a style block, it completely overwrites the parent's styles rather than just overriding specific variants. This makes it difficult to create component hierarchies where child components only need to modify certain styles while keeping others from their parent.
For example, given:
class TextField::Component < ViewComponent::Base
  style do
    variants do
      size do
        sm { %w(h-8) }
        md { %w(h-10) }
        lg { %w(h-12) }
      end
      state do
        disabled { %w(opacity-50) }
      end
    end
  end
end

class TextArea::Component < TextField::Component
  style do
    variants do
      size do
        lg { %w(h-32) } # Only want to override lg
      end
    end
  end
end

Currently, TextArea loses the sm, md size variants and all state variants from TextField, when ideally it should only override the lg size variant.
Describe the solution you'd like
Style blocks should follow inheritance patterns where child components:

Inherit all parent variants by default
Can selectively override specific variants without losing others
Maintain parent base styles unless explicitly overridden

So in the example above, TextArea would:

Keep TextField's sm and md size variants
Override just the lg size variant
Keep all state variants
Maintain any base styles

This would make it much easier to create component hierarchies with consistent styling and selective overrides.
Describe alternatives you've considered

Manually copying parent styles to child components - leads to duplication and maintenance issues
Using mixins or shared style configurations - less intuitive than inheritance and requires extra setup

We support inheritance as an ability to extend the variants set (see these tests).
So, in you case TextArea component still has the state variants, but size variants are overwritten, yes.
And that's intentional. Because we don't know the end user intention: do you want to override the variants? Extend them?
I agree that duplicating is no fun.
I think, what would work is making it possible to define the strategy for inheritance:
style do
  # could be extend (current), merge (deep merge), override (start from scratch)
  variants(inherit: :merge) do
      size do
        lg { %w(h-32) } # Only want to override lg
      end
    end
end

And, of course, we can add a default configuration:
class ApplicationComponent
  self.styles_inheritance = :merge
end

WDYT?

Hey @palkan, I'm not quite sure these tests are covering all cases,
checkout this pr https://github.com/palkan/view_component-contrib/pull/49
https://github.com/palkan/view_component-contrib/blob/1a1ecc6c91c4caf46ce0b12376523389c2fb9e29/test/cases/style_variants_test.rb#L65-L107
Per your comment, I would expect SubComponent to still have access to theme and disabled variants, but that's not what's happening, matter of fact I believe it even lost the base.

I agree that duplicating is no fun.
I think, what would work is making it possible to define the strategy for inheritance:

Really like this idea, happy to start porting the monkey patch I have for this which basically implements deep merge

I would expect SubComponent to still have access to theme and disabled variants, but that's not what's happening.

I see. Thanks for the test. Yeah, that's what I would expect, too (though haven't used inheritance with style variants myself).

I see. Thanks for the test. Yeah, that's what I would expect, too (though haven't used inheritance with style variants myself).

Took a look at the code variants function is implemented as a complete replace rn:
def variants(&block)
  @variants = VariantBuilder.new(true).build(&block)
end

Following your suggestion the following implementation could viable
class StyleVariants
  def variants(strategy: Config.styles_inheritance, &block)
    result = build_variants(&block)
    # @variants is still the value of the parent component variants here,
    # so we can dup it before overriding it
    @variants =<EMAIL_ADDRESS>result, strategy: strategy)
  end

  private

  def build_variants(&block)
    ViewComponentContrib::StyleVariants::VariantBuilder.new(true).build(&block)
  end

  def handle_variant_merge(current_variants, result, strategy: :merge)
    case strategy
    when :override
      result
    when :merge
      result.each_with_object(current_variants) do |(group, new_variants), merged|
        merged[group] = merge_group(merged[group], new_variants)
      end
    when :extend
      current_variants.merge(result) do |_, current_group, new_group|
        merge_group(current_group, new_group, extend: true)
      end
    end
  end

  def merge_group(current_group, new_group, extend: false)
    return new_group unless current_group.is_a?(Hash) && new_group.is_a?(Hash)

    if extend
      current_group.reject { |k| new_group.key?(k) }.merge(new_group)
    else
      current_group.merge(new_group)
    end
  end
end

# Usage:
#   variants(strategy: :override) { |v| ... }
#   variants(strategy: :merge) { |v| ... }
#   variants(strategy: :extend) { |v| ... }

The code looks good. The only thing that worth looking at is where we need a deep dup for the parent's @variants (I guess so); given that we're in the Rails/ActiveSupport context, the #deep_dup is available.
Similarly, I think, we can use #deep_merge for the merge strategy.


Testimonial images stretched

The images for the testimonials are 46x46, but are displaying at 45x50, making them appear vertically stretched.

I just fixed it, thanks for the tip!


Unable to replay GLSL program stages that are linked using multiple shaders per stage

Description
First, Thank you for such great application.
When replaying a capture, I am unable to view resulting mesh after VS stage if the VS stage consists of multiple GLSL shaders. It seems that the problem is that RenderDoc fails to create a separate program for a shader without main().
In my OpenGL application, I am using a custom framework which provides me with #include implementation. In this manner, I am able to share common GLSL code such as per fragment fog computation or clipping by user defined clip planes. When I designed the framework, I decided to split GLSL definitions and declarations as I had problems with re-definitions (sorry, I can't remember the specific issue). This design results into GLSL programs that consist of common shaders and per-stage main shaders. This design seems to be not suppored by RenderDoc.
Repro steps
The issue can be reproduced when performing a capture from the attached application.
Steps:

Run RenderDoc UI and set parameters according to the attached settings.
Launch the setup.
Take capture using F12.
Replay the capture in RenderDoc and see Mesh Output -> VS Output.
No VS Output should be shown.

Environment

RenderDoc builds: v1.1 and 03c2507a254a22a020c7cfc54e840452cac3c6e6 own local build (VS 2017).
Operating system: Windows 10
API: OpenGL

Attachments
cv1.zip
cv1.dist.zip
Debug.cap.txt
I use debug build of JVM in Debug.cap but you can use any Java 8 SE JVM. Similarly, the debug parameters in the command line arguments can be omitted.

Thanks for the comprehensive report! This is a duplicate of #657 though so I'm going to close it.

Sure. I am sorry, I skimmed through the open issues in order to find a possible duplicate but I missed it.


[SPARK-5061][SQL] SQLContext: overload createParquetFile

Overload taking a StructType instead of TypeTag

Can one of the admins verify this patch?

cc @marmbrus
Btw @alexbaretta, when/if this PR gets merged into the codebase, your full name (not just your GitHub username) will be used as the author, so there's no need to put your name in the PR title.

@nchammas Thanks for the tip. I am obviously a newbie here, so I greatly value feedback.

ok to test

The implementation here looks reasonable.  @alexbaretta can you elaborate on what your use case is?  We are doing a clean-up of the API and I was actually wondering if we should remove these methods that just create parquet metadata files.
Also please change the PR title to [SPARK-5061][SQL] SQLContext: overload createParquetFile
/cc @rxin

Test build #25365 has started for   PR 3957 at commit bea3f33.

This patch merges cleanly.

@marmbrus
Michael,
I did not realize the title could be changed. Thanks for pointing it out.
Regarding the use case: I have large, unwieldy CSV files from a data vendor. Each comes with a machine readable schema file. In my code I parse the schema files and construct StructType objects describing the rows of the CSV file. Correspondingly, I create a SchemaRDD from the CSV files by parsing them according to the schema. I then want to save these SchemaRDDs to parquet for faster processing. The createParquetFile method allows me to create an empty parquet directory in HDFS which I register as SparkSQL table.  Works quite well actually, speeding up the computation of univariate statistics from tens of minutes on a 256 core cluster down to less than ten seconds.

Test build #25365 has finished for   PR 3957 at commit bea3f33.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25365/
Test PASSed.

Thanks for the info, sounds like an interesting use case.  Would just calling saveAsParquetFile on the  SchemaRDD also work for you?

Hmmm... I guess it would. Thanks for pointing it out.

If that works, maybe we can close this for now?

Let's close this issue to keep the queue clean, pending any new discussion.

Yes, I guess it could work, although I haven't been able to try it yet. Let me close this.


Create a timeline

Add a list of all your activities, achievements, work experience. Add as much info as you can remember. In case you don’t have working experience tell about your pet-projects or student projects. Don’t be shy :)

I have several projects related to Game, Web Application and Machine Learning


Extracting full details (eg. pixel positions) for the detected face features using Vision API

How to extract the details like pixel positions of the detected features while using Vision API.
I think the details should be in 'faces' :
SparseArray faces = faceDetector.detect(frame);
Thanks for Help

See the photo-demo sample for an example.  First, the detector needs to be setup for detecting facial landmarks:
https://github.com/googlesamples/android-vision/blob/master/visionSamples/photo-demo/app/src/main/java/com/google/android/gms/samples/vision/face/photo/PhotoViewerActivity.java#L63
Detected facial features are returned as Landmark objects, which have an associated pixel position:
https://github.com/googlesamples/android-vision/blob/master/visionSamples/photo-demo/app/src/main/java/com/google/android/gms/samples/vision/face/photo/FaceView.java#L96

Thanks. That helped.
But how can I identify which pixels correspond to what (whether its the eyes/lip-regions/nose etc)?

Solved it using inbuilt functions that provide the pixel details like:
Landmark.BOTTOM_MOUTH; etc
Thanks


Gazelle deletes grpc dependencies if put mock in a go_library. Possible output mock file in directory instead of bazel-in?

go_library(
    name = "server",
    srcs = [
        "server.go",
        ":hello_go_mock",
    ],
    importpath = "depot/codelab/hello/server",
    visibility = ["//visibility:public"],
    deps = [
        "//codelab/proto/hello",
        "@com_github_golang_mock//gomock",
        "@org_golang_google_grpc//:go_default_library",
    ],
)

gomock(
    name = "hello_go_mock",
    out = "hello_mock.go",
    interfaces = [
        "HelloClient",
        "HelloServer",
    ],
    library = "//codelab/proto/hello",
    package = "server",
)

other package needs this mock so I put it in go_library
However after bazel run //:gazelle
go_library(
    name = "server",
    srcs = [
        "server.go",
        ":hello_go_mock",
    ],
    importpath = "depot/codelab/hello/server",
    visibility = ["//visibility:public"],
    deps = ["//codelab/proto/hello"],
)

gomock(
...
)

deps are gone and tests will fail
I have to put # gazelle: ignore in the BUILD file that contains gomock()
Any option to generate file in the directory instead of bazel-bin?

Hm, I wonder if there's a way for bazel_gomock to convince gazelle to leave this alone without special casing. Generating a file to go into source hasn't, in the past, been the Bazel Go Way.


buddy-data: Remove unused get_my_user_status function.

As of 297379029ddf1c93, the data for the current user's buddy list row no longer uses the '(unavailable)' or '(you)' text generated by buddy_data.get_my_user_status. This commit removes the function and related frontend tests.
Remaining instances of my_user_status in the codebase are related to the CSS rule in right_sidebar.css, which is still relevant.
Prep commit for transitioning from 'unavailable' user status feature to 'invisible mode' user presence feature.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @laurynmm!


[Suggestion] use bcrypt by default as encoder

Currently, the MessageDigestEncoder is used by default (with its default config). I suggest switching to Bcrypt in Silex 2 (This cannot be done in 1.3 as it would break existing apps relying on the default config)

:+1:

:+1:

:+1:

Anyone willing to work on that one? Should be easy enough.

password_hash(): Use of the 'salt' option to password_hash is deprecated
Yep, that break existing apps, but not only because the hash algorithm changes.
Providing a salt to password_hash is now deprecated since early released version 7.0.4 of PHP.

@alcalyn just return null as salt for your user, instead of forcing the Symfony class to use your own salt.
and for an existing app, you can still configure the encoder explicitly to keep the old one


Fixes installation woes on fedora

Small changes to environment.yaml fix a few recurring installation problems:

Looser opencv-python dependency: error - "Text" missing from cv2 submodule -- we were installing older version
"pybullet" versioned installation was breaking mamba env create routine which left the env in partial state
Added sophuspy which was not getting installed anywhere (and is also confusing as another package by the name of "sophus" exists but is not the library we need)

If anyone can 2x check that this installation still works on Ubuntu as well as Fedora, that'd be great before we merge this. @KavitShah1998 @tusharsangam

This PR works! Tested.


Adds the function app setup

Will highlight the important stuff inline now

Hi @orta
Another good thing that you can integrate this Function App to help even more this automatization is integrate with the Azure tracking using the Azure Boards Here

There's an example

HERE


osdctl cluster resize infra support for OCM external ID

The user input clusterId does not need to be fed into utils.GetHiveCluster which only works with the internal OCM ID. Since we already retrieve the cluster, we can just convert user input into the internal OCM ID and use that.
Removing references to prereqs/follow ups as the SOP is being rewritten such that these checks are no longer necessary https://github.com/openshift/ops-sop/pull/2697

OSD-15273

/lgtm


Remove the roles and permissions section, that only applies to resale

@bjswoboda, 👍 ?

Correct @jim-phillips . I actually brought this to Guillermo's attention so this is a good edit.

Hey @bjswoboda, could you please review and explicitly approve the changes to follow the process before merging? Thanks!

@gsanchezu I am taking @bjswoboda's comment as approval.  He's not so good with the formal processes in github ;)


Can't use ForeignObject>>#copy to copy objects that have no 'copy' member

list := Polyglot eval: 'ruby' string: '[]'.
copy := list copy

This throws an Error (Foreign object does not understand "copy"), because ForeignObject>>#copy calls ForeignObject>>#'_dispatch:arguments:ifFail:' with "copy" as member, which the ruby list does not have.

Thanks for the report! What's the expected behavior? If Ruby lists don't implement copy, a debugger seems reasonable.

Well, since ForeignObject offers a copy and deepCopy method respectively, it would be optimal to receive adequate (shallow) copies or deep copies of these ForeignObjects.
If there is no way to copy/deepCopy those objects language independently and the methods are only meant as a short cut to invoking "copy" members, the debugger is fine. It then reduces to raising awareness that the programmer himself needs to worry about how to copy these objects (e.g. finding the correct members).

BTW: Ruby lists can be copied with #dup or #clone.


unbreak build

percent_decode, percent_encode, and DEFAULT_ENCODE_SET were moved to the percent_encoding module in https://github.com/servo/rust-url/commit/54b97f14bd24eacf2e9eaa089d9ee5be7fd2aa1c

Thanks!


Update 105-polynomial-regression-tfjs.md

My polynomial regression version with n-degree polynomial interface.

yay, thank you!


handle mipmaps and array layers

Games often store surface parameters and tiled data in a similar way. Tiling or untiling the surface in a single call will be substantially less error prone than setting up a loop manually. This will require more testing to see how many games can actually take advantage of this. Smash 4 and Xenoblade X both store similar data for mipmap offsets and parameters. Many texture formats also use the gx2 enum values directly.
https://pastebin.com/DCrP1w9x
https://mk8.tockdom.com/wiki/GTX\GSH_(File_Format)

One approach to simplify the API is to define a Gx2Surface type based on the type defined in the wiki or in gx2 documentation. The base mip and mipmap data should use slices to avoid copies. https://github.com/devkitPro/wut/blob/c4368c78223c983684744f0f77fa7f071669ccaa/include/gx2/surface.h#L22
let surface = wiiu_swizzle::Gx2Surface {
    ...
};
let deswizzled = surface.deswizzled()?;


Pet watchdog is being triggered from timer interrupt, a potential issue

While Navigating in code we noticed that
// Pet the watchdog" is being triggered in "static void high_priority_task(void *arg) {

(which is in-turn a function call form timer interrupt).
If
static void background_loop() {

hangs for any reason, watchdog will never restart the controller board.

@subhashr2 can you please provide more detail?

@asmodai27 thoughts on this?

As per the comment in main.cpp, "static void high_priority_task(void *arg) {"  function is being called from timer interrupt &
// Pet the watchdog
Hal.watchdog_handler(); is being called in this function.
If by any chance background_loop hangs at some code location, timer interrupt will never hang as it is being triggered from interrupt handler.
Our intention for watchdog is to reset the controller if code hangs some where (this functionality will not be achieved if watchdog is pet from timer interrupt)

Exactly what @subhashr2 said.
We do need a way to check that neither the background loop nor the high priority task are stuck.
Right now the controller itself only checks that the high priority task runs, and resets itself in case of a failure.
I think there is a plan for the RPi to detect an irresponsive controller, which is caused by the controller being stuck in either the high priority task or the background loop, but I am not sure whether it is already implemented, or that the RPi has any means of resetting the STM32.
AFAICT, the high priority task being stuck is less likely, as it has no unbounded loop to hang in, but can cause more damage: while the background loop being stuck would "only" cut out communication with the RPi (making it impossible to change the settings and see the sensor readings), a hanging high priority task would cause erratic behaviour from the actuators in addition to preventing communication to the RPi.


fix(t8s-cluster/workload-cluster): add pre-upgrade to missing resources

Yes, i can approve this, but i would also like to know what this is doing


Add Miva Open University

University's official website URL
Page for long-term course
Domain proof url

@philipto Sorry I'm doing this, I noticed my pull request has been skipped for others for over 24 hours now. Please can I get a reason for that so I can make any necessary corrections, if you don't mind? Thank you.

@IkemNwodo Thank you for your patience while waiting for a review and processing your request. Pull request merged.


improve set load id in signal handler

Proposed changes
Set load id in thread-local signal handler. It will be printed to be.out when deadly signal happens.
It will help debugging load related issues.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


[WFRP4e System] WFRP4e Tables in popout

The old "WFRP4e Tables" button is still available in the popout and it throws an error when usedFrom: Fneuch#5019wfrp4e: 5.0.3wfrp4e-archives1: 2.3.0wfrp4e-core: 2.3.2wfrp4e-eis: 2.2.1wfrp4e-rnhd: 2.3.1wfrp4e-starter-set: 2.2.1wfrp4e-ua1: 2.2.1

Taken some screenshot...

And they are still visible:


fix: prevent the form from being re-fetched on every data value change

fixes TECH-1410

I think the overall approach is good, but wonder if it should just be refetchOnReconnect: false? It seems like the query will be blocked from refreshing if the context is invalid by enabled: isValidSelection and then I don't know if there's an advantage to only refreshing when we come online and there are no outstanding mutations (that is, if we do not refresh when there are outstanding mutations, why do we refresh when there are no outstanding mutations)?

I think the overall approach is good, but wonder if it should just be refetchOnReconnect: false? It seems like the query will be blocked from refreshing if the context is invalid by enabled: isValidSelection and then I don't know if there's an advantage to only refreshing when we come online and there are no outstanding mutations (that is, if we do not refresh when there are outstanding mutations, why do we refresh when there are no outstanding mutations)?

It could well be that using a static false value would be just as good. At least the for the form values. The condition has been put there by @KaiVandivier for a specific reason:

when offline a lot of request are queued and by default they’d all be fired in parallel when coming online. And for this particular request that can cause issues, because the GET won’t include the POSted values yet. So then the local cache will be overridden by the stale values

But even if there are no pending mutations and a GET does happen, I don't think the form values are actually updated based on the response of this request, because these now live in the RFF form state. However, we also have to deal with other types of data like comments, follow-up and min/max values. So in theory, if comment is added by another user and the app comes back online, without having any pending mutations, the new comment should be usable in the app.
While writing the above, I started to realise this is quite complex behaviour, and quite unpredictable, because there are various scenarios in which we have slightly different behaviour. Perhaps to keep things fairly easy to reason about it would make more sense to just use false.
Using false or using () => activeMutations === 0 && isValidSelection for refetchOnReconnect are both fine with me.

This does not guarantee that the update to the cache will be sent after mutations. In fact, it always sends a GET-request to /dataValues before mutations, when going offline -> online.
I'm pretty sure this will cause data-anomalies. Yes, the "mutations" will not be affected, and update the data on the server - but now you're in a sitatuins where your client cache and server data are conflicting. You will could for instance add a comment offline -> go online -> data is refetched, comment is reset to server -> mutation is sent and updated -> comment is still showing old value since no /dataValues request will update this after mutations.
I think we should prevent fetching of data as long as there are outstanding mutations.


Support for Trigger filters

Hi!
In some scenarios it would have been handy and practical to be able to specify a filter for a Trigger. The filter could have been passed on to the Feed creating the Trigger. And then the trigger fires only if the filter condition(s) is satisfied.
In a scenario I am having now, I do many concurrent (bulk) upcerts to a Cloudant ddatabase. My OpenWhisk changes feed fires the Trigger for every single upcert. The Trigger calls an Action for every upcert, and in the Action, I do the filtering on certain value(s) of the received document / payload.
Being able to specify the filtering on the Trigger itself, would make the Action simpler, and also one could create many Triggers (with different filters), all calling the same Action. In my scenario, I have to create a new Action (and Rule associating the Action with the Trigger) for every different filter I want to have.
With best regards
-jo2

Maybe the CouchDB / Cloudant Design filter function for change feed can be utilized to specify desired filter function. Filter function can also take query parameter(s), which makes it easier to do more dynamic filtering "on demand"...
Filter functions
https://docs.cloudant.com/design_documents.html#filter-functions
Query parameters:
https://docs.cloudant.com/cloudant_query.html#query-parameters
Filter function with query parameter:
GET /$DATABASE/_changes?filter=$DESIGN_ID/$FILTER_FUNCTION&status=new
Filter function described in CouchDB The Definitive Guide
http://guide.couchdb.org/draft/notifications.html
CouchDB on filter functions with query parameter sample:
http://couchdb.readthedocs.io/en/latest/couchapp/ddocs.html#filterfun
So e.g. when creating OpenWhisk trigger, a "filter" parameter could specify the filter function:
wsk -v trigger create myTrigger --feed /org_space/cloudantPackage/changes --param dbname mydb --param includeDoc true --params filter mailbox/by_status&status=new

Ou, that looks very promising. Many thanks for digging that out @tverilytt . We should definitly look into integrating that.

@johnsolm @dubeejw move to cloudant package repo?

@rabbah yeah.  I could see this being a must have for very large databases.  moving it to open.

closing this issue as a duplicate of: https://github.com/openwhisk/openwhisk-package-cloudant/issues/55

@rabbah please close this one.  I don't seem to be able to do that.  I also wanted to label it as a duplicate...


[FEAT] integrate th-ch/youtube-music API server

Is your feature request related to a problem?

while MPRIS causing https://github.com/waylyrics/waylyrics/issues/178 and th-ch/youtube-music causing https://github.com/waylyrics/waylyrics/issues/117

Describe the solution you'd like

by integrating th-ch/youtube-music API server, this might solve the problem for th-ch/youtube-music user

Describe alternatives you've considered

N/A

Additional context

the API docs from th-ch/youtube-music /swagger, but this will be fixed in the next release

youtube-music 用超长正则提取这些信息 偶尔会错得离谱..
不过还是可以作为可选功能带上


Homography to get birds eye view of lane.

A Homography is a transformation ( a 3×3 matrix ) that maps the points in one image to the corresponding points in the other image. Figure 1 : Two images of a 3D plane ( top of the book ) are related by a Homography.

Hello @akshitagupta15june, please assign this issue to me, I want to work on it.

Hello @akshitagupta15june, please assign this issue to me, I want to work on it.

Ok assigning it to u @hritik5102

Ok assigning it to u @hritik5102


Add files via upload

What does the program do ?

In what programming language it is written?

This pull request do not contains files in specific folders. Please fix it and reopen


Steam is not running while Steam is running in Wine

Wine version 3.17

Get a Virtual Machine and Install both Steam and SAM. You do not need your games to be installed.
Wine is still incomplete.


Yaml is converting date examples to datetime objects (not compatible with json serializer)

Hi, I'm working with version 0.5.0a2
I have an api.yaml spec with parameter examples for a date field. I'm getting the following error:
$ openapi-spec-validator api.yaml
Object of type date is not JSON serializable
In handlers/file.py:
from yaml import load
from openapi_spec_validator.handlers.compat import SafeLoader
The error is triggered in handlers/file.py:FileObjectHandler.call where it runs:
json.loads(json.dumps(load(f, self.loader)))
This is because yaml.load is identifying my date examples and creating datetime objects from them and then json is failing to convert them back to strings.
To get around it I hacked the compat file so Yaml ignored dates as described in: https://stackoverflow.com/questions/34667108/ignore-dates-and-times-while-parsing-yaml

I have found another workaround for this.
Instead of:
      examples:
        shortDate:
          summary: Short Date Format YYYY-MM-DD
          value: 1985-04-12

I do:
examples:
shortDate:
summary: Short Date Format YYYY-MM-DD
value: '1985-04-12'
Adding the quotes around the value force a string and doesn't get converted to a date.

Same here issue still exists in 0.5.1 is there any other ticket to track this issue


Tuning4neovim

Hi,
Seeing vim specific instructions in plug.vim did confuse me.
This pull request is an attempt to get less vim noise for neovim users.

Sorry, I do not like this approach.

@junegunn How about the bootstrap code in my previous message? Would you accept a PR with that?

I can update the wiki page, but I don't want to present the code upfront in the README page, because some people will recognize it as necessary boilerplate code when it's just optional. Also, both Vim and Neovim users on Windows platform will complain that the code doesn't run on their system, unless we provide code for 4 different sets of paths. I'd like to keep README page as short as possible.

sure, no problem


v2:bug(menuToggle) menuToggle not work in toolbar

Short description of the problem:
Using the directive menuToggle doesn't work like expected its always shown the menu button. No matter is the first page in the navigation stack or not.
What behavior are you expecting?
Akording  to the MenuToggle/#usage docs. The menuToggle should also work in the toolbar.
Steps to reproduce:

generate a new page
add toolbar with a menuToggle button
push this page as second element to the navigation stack

<ion-header>
  <ion-toolbar primary>
    <button menuToggle>
        <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>
      Ionic 2
    </ion-title>
  </ion-toolbar>
</ion-header>

Which Ionic Version? 2.0.0-beta.10
Plunker that shows an example of your issue
http://plnkr.co/edit/ftMgqk2BfzbCysDItJgs?p=preview
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.2.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.0.0-beta.30
Ionic App Lib Version: 2.0.0-beta.16
OS: Distributor ID: Debian Description: Debian GNU/Linux 8.5 (jessie)
Node Version: v5.12.0

The menuToggle directive can be added to any button, so when we say it works we mean it can be clicked to toggle the menu from anywhere in the content, toolbar or navbar. It will only hide on subpages when it is placed inside of a ion-navbar. The beginning of the menuToggle docs explains this:

The menuToggle directive can be placed on any button to toggle a menu open or closed. If it is added to the NavBar of a page, the button will only appear when the page it's in is currently a root page. See the Menu Navigation Bar Behavior docs for more information.

Which links to this further description: http://ionicframework.com/docs/v2/api/components/menu/Menu/#navigation-bar-behavior
Thanks!

I was facing the same issue and ended up here from a Google search. I would say this is a very common issue for people who haven't gone deeper into the docs, so for those who would not take the time to go through the docs here's the answer to how to change that behaviour:
add persistent="true" to the <ion-menu> element being used.
More about it on the docs linked above.

use click function instead of menuToggle
<button ion-button icon-only start (click)="openSideMenu()">

openSideMenu() {
this.menuCtrl.enable(true)
this.menuCtrl.toggle();
}
disable menu before you push to new page
this.menuCtrl.enable(false)

I applied same code.
TypeError: _co.openSideMenu is not a function
at Object.eval [as handleEvent] (ng:///AppModule/UserPage.ngfactory.js:164:31)
at handleEvent (http://localhost:8100/build/vendor.js:13963:155)
at callWithDebugContext (http://localhost:8100/build/vendor.js:15472:42)
at Object.debugHandleEvent [as handleEvent] (http://localhost:8100/build/vendor.js:15059:12)
at dispatchEvent (http://localhost:8100/build/vendor.js:10378:25)
at http://localhost:8100/build/vendor.js:11003:38
at HTMLButtonElement. (http://localhost:8100/build/vendor.js:39320:53)
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660)
at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5125:33)
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581)


Consider stopping the use of CRA

Create React App (CRA) seems to be deprecated.

https://github.com/facebook/create-react-app/issues/13072
https://dev.to/ag2byte/create-react-app-is-officially-dead-h7o

It shouldn't impact our development soon, because we use it only at the last stage of building a Hawtio app and @hawtio/react is built with tsup. It only affects the app test package in this project, and downsteam it should affect the way we bundle the hawtio-next console in the hawtio standalone project, and custom plugins that are built with hawtio-next.
But let's consider switching from CRA to some other framework in the mid term. Options include:

Eject CRA and use Webpack directly
Migrate to other framework like Vite or Next.js

Heavily into creating simple test apps for kubernetes on oauth in hawtio-online so can experiment with vite in them.

Used the oauth test app in hawtio-online to protoype a pure-webpack build configuration, thus dropping craco and react-scripts.

Used the oauth test app in hawtio-online to protoype a pure-webpack build configuration, thus dropping craco and react-scripts.

So you ejected CRA instead of trying Vite or something else?  Did you have any problem with using Vite?  Just out of curiosity.

No. Actually, it didn't occur to me to try Vite or NextJS until I was halfway through. I'd already gone the pure-webpack route in my own project based on kaoto-ui so copied that process. I have the kubernete-api-app to convert from CRA as well so I can try that with Vite and see if its 'easier'.

@tadayosi
Had a first look at migrating kubernetes-api-app to vite and this was the result:
https://github.com/hawtio/hawtio-online/issues/147
Appreciate if you have more experience of vite, could you have a look as I have probably overlooked something or made some newbie errors.

Maybe not related, but I found interesting discussion about module-federation impact when using shared modules<EMAIL_ADDRESS>


Parameter in IHtmlHelper.TextBox() has an inconsistent parameter name

Problem introduced in 8eb6327 which was (of course) intended to "Make HTML helper parameter names consistent".
The IHtmlHelper.TextBox() method has the following signature
IHtmlContent TextBox(string current, object value, string format, object htmlAttributes);

All other methods in the IHtmlHelper interface use expression for parameters with the same purpose as current.  TextBox() extensions in HtmlHelperInputExtensions also have expression parameters. IHtmlHelper.TextBox() is the only oddball.
Can we take the slight breaking change to fix this sooner than 2.0?

We can fix in 2.0.0.

643653806


RFC: simplify bird, bird6, confd stack by using gobgp

Currently, calico-node is running bird, bird6 and confd for BGP advertisement/configuration.
We can simplify this stack by using GoBGP.
GoBGP is a BGP implementation in golang and it can be used as a native golang library.
Combined with etcd client library, we can develop a minimal and efficient daemon for calico-node.
This daemon reads/watches information stored in etcd, dynamically configures BGP, advertises allocated prefixes, inject received prefixes into kernel.
Current rough implementation
https://github.com/ishidawataru/calico-containers/tree/gobgp
https://github.com/ishidawataru/calico-bgp-daemon
Initial global/neighbor/prefix configuration at startup and dynamic prefix advertisement
are implemented.
If calico community thinks this is a good idea, I can continue working on this.

@ishidawataru: This is very interesting work that I think is well worth continuing.  I was discussing with @djosborne and he's going to have a look at the rough implementation to see if any advice or suggestions or other help, plus he is a good person to help with general shepherding.
I think one thing it would be good for us to do is create a to do list of what we think would need to be done to take this from the rough implementation to something we could ship to users.  Perhaps with some intermediate milestones like having a public demo or similar.

@lxpollitt Thanks for the positive feedback. I'll wait for @djosborne's review.
I agree with you on having a todo list. Having a public demo also sounds good.
As for a todo list, can I edit here to create one? I'll list what feature is now lacking compared with BIRD+confd implementation.

You could always use the github task list feature (https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments) either in this issue or in a followup PR?

@ishidawataru Woo! I'm a huge fan of this move, and wanted to share my thoughts on it -

This work greatly simplifies the backend architecture of calico-node. Much less components in play here, which is great
Because of the first point, this also makes running uncontainerized Calico (directly on a host) much easier. I wrote the fairly complicated guide on running dockerless Calico which quickly gathered dust as it wasn't easy to have folks strapping multiple applications together. Through the work you've done here, those instructions could be replaced with just "download the calico binary and run it". Beautiful.
You've done this work at an interesting time, as we are working on a go implementation of libcalico and calicoctl and calico-cni as well. So though there's a lot of work in progress regarding golang right now, this fits in just fine.

My only uncertainty surrounding the future of this work is how Go's BGP library stacks up against BIRD. BIRD BGP is a pretty mature and accepted open source BGP stack. We chose it as it supports all the features we know we need, and the features we might need one day as well. Additionally, we've forked bird to add ipip support. I think the future of this work hinges on whether or not go-bgp can prove resilient and meet our needs as well.
So all that being said, I think the best way to allow this concept to mature is to structure it so that it's an opt-in feature in the master code path. Ideally we'd add the ability for a user to launch it using something like calicoctl node --experimental-go which would switch to this new backend instead of the traditional. That way we can allow it to mature at its own pace while still including the work in master. However, after digging into our startup processes, determining where that code split should happen isn't obvious to me right now. It may turn out to be complicated enough that we'd want to do a complete removal as you've implemented. In that case, this should go on its own branch / repository.
I'm going to take some more time to think through where this should live. Once that's sorted, we can open a PR and take a closer look at the implementation. Excited for the future of this work!

@djosborne I understand your concern. As a GoBGP developer, if you have any question about GoBGP, I'm happy to answer that.
About the stability, we are already running GoBGP in a production network and have no problem so far.
About the feature, could you tell me what kind of BGP feature you need ?
As for IPIP support in forked BIRD, it seems you've only modified the code related to kernel injection and not touched BGP protocol itself. Am I right?
If so, since GoBGP itself doesn't support kernel injection, we have to implement it in the new daemon including IPIP support ( see
https://github.com/ishidawataru/calico-bgp-daemon/blob/master/main.go#L235-L263 )

Ideally we'd add the ability for a user to launch it using something like calicoctl node --experimental-go which would switch to this new backend instead of the traditional.

How about simply using --image option of calicoctl ?
We can push golang calico node image to dockerhub, and choose the image when we want to try golang implementation.

@ishidawataru My concerns about resiliency weren't meant to question the stability of GoBGP, more that I'm hesitant to wipe out bird completely while we still have legacy customers who aren't expecting such a massive change. Instead, let's aim to merge this alongside the existing backend options in master.
I spoke with a few team members about the IPIP changes we've made to BIRD, but let's not worry about that implementation detail until we cross that bridge.
So let's focus on the infrastructure layout so we can get a base version merged to master soon. I've contimplated building a unique calico/node-gobgp image from your code so that, as you've suggested, we can run calicoctl node --node-image=calico/node-gobgp to run it. But I don't like the idea of maintaining two separate node images. Instead, can you refactor your branch to introduce the new service files and binaries alongside the existing ones, then add logic to choose which services to load in rc.local based on some $CALICO_GOBGP environment variable set at startup?

@djosborne done. please take a look.
https://github.com/ishidawataru/calico-containers/tree/dev
What do you think about moving calico-bgp-daemon repo under projectcalico?

@ishidawataru Looking good.
I think calico-bgp-daemon belongs here in calico-containers for now. It's a small enough piece that I don't want to have to maintain its own release schedule quite yet. Its long term home might be its own repo, or maybe as a library in Felix.
Let's try the following:

put its source in calico_node/calico-bgp-daemon/
add a makefile step: make calico_node/bin/calico-bgp-daemon. Could just go build, but ideally it'd use the go docker image to do a dockerized build.
add that step as a dependency for make node_image.
add a step in node_image/Dockerfile that adds the binary in.

Thoughts?

@djosborne done.
PTAL https://github.com/ishidawataru/calico-containers/tree/dev

@ishidawataru Build images & containers are useful when there's a lot of dependencies, but I managed to modify the makefile step to instasll deps and build in one shot using the official golang image.
 calico_node/bin/bgp-calico-daemon:
   -mkdir -p calico_node/bin/
   docker run \
   -v `pwd`/calico_node/calico-bgp-daemon:/go/src/github.com/projectcalico/calico-bgp-daemon \
   -v `pwd`/calico_node/bin:/calico_node/bin \
   golang:1.7 sh -c \
   'cd /go/src/github.com/projectcalico/calico-bgp-daemon/ && go get -v . && go build -o /calico_node/bin/calico-bgp-daemon .'

Can you update your Makefile to be the same? Then let's open this PR up and take a closer look at the code.

@djosborne Sure. done.
https://github.com/ishidawataru/calico-containers/tree/dev

@ishidawataru Looking good. Go ahead and open the PR for this.

@djosborne Thanks for your review. Just opened a PR


Newer release available antlr4_runtimes: 4.9.3 (current: 4.7.2)

Package Name<EMAIL_ADDRESS>Current Version: 4.7.2@2018-12-18
Available Version: 4.9.3@2021-11-06 18:14:42+00:00
Upstream releases: https://github.com/antlr/antlr4/releases

New version is available for this package
New Version: 4.7.2@2021-11-06
Upstream releases: https://github.com/antlr/antlr4/releases
New Issue Link: https://github.com/phlax/envoy/issues/94


calcified mitral valve child terms

Add new child terms of calcified mitral valve MP:0006121
calcified mitral valve cusp
DEF: pathologic deposition of calcium salts in one or both cusps (leaflets) of the mitral valve
SYN: calcified mitral valve cusps
SYN: mitral valve cusp calcification
SYN: calcified mitral valve leaflet
SYN: calcified mitral valve leaflets
SYN: mitral cusp calcification
SYN: mitral leaflet calcification
SYN: mitral valve leaflet calcification
SYN: calcified bicuspid valve cusp
SYN: calcified bicuspid valve leaflet
calcified mitral valve annulus
DEF: pathologic deposition of calcium salts in the mitral valve annulus
SYN: calcified mitral valve anulus
SYN: mitral annular calcification
SYN: mitral annulus calcification
SYN: mitral valve annulus calcification
SYN: bicuspid valve annulus calcification
SYN: bicuspid valve anulus calcification
Annotation from J:102218

Add new child terms:
calcified mitral valve cusp MP:0031520
calcified mitral valve annulus MP:0031521


cmd/gofmt: indenting of multi-line case list is confusing

What version of Go are you using (go version)?

$ go version
go version go1.17 linux/amd64

What did you do?
I pass this file to gofmt:
package main

import "fmt"
import "math/rand"

func main() {
r := rand.Intn(5)
switch r {
case 0:
fmt.Println("It's zero!")
case 1,
2:
fmt.Println("It's one or two!")
default:
fmt.Println("It's something else")
}
}

What did you see?
package main

import "fmt"
import "math/rand"

func main() {
	r := rand.Intn(5)
	switch r {
	case 0:
		fmt.Println("It's zero!")
	case 1,
		2:
		fmt.Println("It's one or two!")
	default:
		fmt.Println("It's something else")
	}
}

Notice how the case list of case 1,2 blends into the case's code.
What did you expect?
I can think of two options:

Add two indentation levels when starting the second line of the multi-line case list, and remove one indentation level when entering the case

package main

import "fmt"
import "math/rand"

func main() {
	r := rand.Intn(5)
	switch r {
	case 0:
		fmt.Println("It's zero!")
	case 1,
			2:
		fmt.Println("It's one or two!")
	default:
		fmt.Println("It's something else")
	}
}

Align with the first case of the case list

package main

import "fmt"
import "math/rand"

func main() {
    r := rand.Intn(5)
    switch r {
    case 0:
        fmt.Println("It's zero!")
    case 1,
         2:
        fmt.Println("It's one or two!")
    default:
        fmt.Println("It's something else")
    }
}

I don't know the logic of gofmt. This might be the same issue as #48064. Sorry to double submit if this is the case.


proxy: fixes for liburing support

Starting out by linking liburing's timeouts, which are hrtimers and shouldn't be infinitely scalable. I did some quick tests and it doesn't seem to be impacting performance at ~300krps, which is fine for a first pass.
This PR will track a few more changes:

[x] all timeouts for liburing mode (note: double check connect timeouts?)
[x] periodic timeout updater in uring mode (sigh)
restructure uring mode to avoid sqe/cqe starvation at high loads - making this a separate branch once I do more experiments/research.

uring vs non-uring in a basic mctester loadtest shows about 10% throughput improvement. haven't checked latency yet.
once I do general write combining I'll add uring support for writes, which should hopefully give a higher overall improvement as everything is batched at that point.

out in 1.6.13


Add clickable box for boxes that should have feedback when clicked

@keybase/react-hackers
New Component!
This handles the case where we want something that changes colors on hovers and provides feedback on click (ripple animation).
We'll probably want to use this in many more places.
The goal is to make it a drop in replacement for Box

:+1:

retest this please


Its not random, I am aware of the issue and know a possible solution, will work on it asap.

Fixed it.


[OOB mbed-os-5.4] Post binary hook not run on make for target MTS_MDOT_F411RE

Description
Target: MTS_MDOT_F411RE
Toolchain: export make_gcc_arm
mbed-os version: 5.4 OOB
Error: Does not run application
Details
Correctly runs post binary hook:
mbed compile -t GCC_ARM -m MTS_MDOT_F411RE
Does not run post binary hook and therefore will not run the application:
mbed export -i make_gcc_arm
make

cc @mfiore02 @theotherjimmy

This is a know limitation of all of the exporters. None of them can run post-binary hooks.

@mray19027 Yeah, it's a mess. We (MultiTech) don't recommend exporting for the mDot or Dragonfly because the bootloader complicates the issue. Instead, we suggest configuring your IDE/makefile to invoke mbed-cli to compile the application. Then you don't need to worry about any of this.
Last time I took a look at the mbed exporter, there wasn't a way to export pre-build or post-build processes & extra files required by those processes. ( @theotherjimmy confirmed this as I was typing ) That's the main reason things are the way they are now. It would also be a lot for our small team to maintain - we simply don't have the bandwidth.
You can see how the mbed-cli tools handle the post-build process for the mDot below. The snippet is from mbed-os/tools/targets.py in mbed-os-5.3.6.
class MTSCode(object):
    """Generic MTS code"""
    @staticmethod
    def _combine_bins_helper(target_name, binf):
        """combine bins with the bootloader for a particular target"""
        loader = os.path.join(TOOLS_BOOTLOADERS, target_name, "bootloader.bin")
        target = binf + ".tmp"
        if not os.path.exists(loader):
            print "Can't find bootloader binary: " + loader
            return
        outbin = open(target, 'w+b')
        part = open(loader, 'rb')
        data = part.read()
        outbin.write(data)
        outbin.write('\xFF' * (64*1024 - len(data)))
        part.close()
        part = open(binf, 'rb')
        data = part.read()
        outbin.write(data)
        part.close()
        outbin.seek(0, 0)
        data = outbin.read()
        outbin.seek(0, 1)
        crc = struct.pack('<I', binascii.crc32(data) & 0xFFFFFFFF)
        outbin.write(crc)
        outbin.close()
        os.remove(binf)
        os.rename(target, binf)

    @staticmethod
    def combine_bins_mts_dot(t_self, resources, elf, binf):
        """A hook for the MTS MDOT"""
        MTSCode._combine_bins_helper("MTS_MDOT_F411RE", binf)

    @staticmethod
    def combine_bins_mts_dragonfly(t_self, resources, elf, binf):
        """A hoof for the MTS Dragonfly"""
        MTSCode._combine_bins_helper("MTS_DRAGONFLY_F411RE", binf)

We basically do the following:

write the bootloader binary to the "final binary"
write 0xFF padding up to 64kB
write the application binary (starts at a 64kB offset as specified in the linker file)
compute a crc32 checksum of the application binary
write the checksum

The checksum is for our bootloader to verify the new application integrity before it is flashed.

@mfiore02 Is this documented as known-issue (present on the platform page?). Exporting should be disabled for this platform then, as not supported with a given reason.
Thanks for the detailed information.
cc @MarceloSalazar (to be aware of this limitations and we shall state that in our OOB)

@0xc0170 It definitely could be more clearly documented on our platform page. I will take care of that.
I agree that exporting should be disabled so these kinds of issues are avoided. Please let me know what disabling the exporter looks like and I'll be happy to make a PR.

@0xc0170 I added a warning to our platform page recommending against exporting. Should have done that a lot sooner.

I agree that exporting should be disabled so these kinds of issues are avoided. Please let me know what disabling the exporter looks like and I'll be happy to make a PR.

@theotherjimmy can you please help?

I can create a list of "working" post-build steps. These are "working" in the sense that the exporters either flash at an offset (and the target has a soft-device) or they know about the soft-device and can merge it. After that, I would disable exports for all not-supported post-build scripts. This should get you what you want.

https://github.com/ARMmbed/mbed-os/pull/3875

@0xc0170 @mray19027 @mfiore02  The aforementioned PR should resolve this issue by preventing export for targets we know will fail via post-binary hooks.

LGTM! Thanks @theotherjimmy!

I'm quite happy with the implementation, actually. So yeah LGTM!

Since 5.4.1, this export wont be allowed.


Set global text variable when setText called

This allows getText() without any specified player to correct retrieve the npc's text. Currently, if you set the text for all players, and then retrieve it without specifying a player, it will return an empty list.

Yes, something I forgot to add myself. Thanks for the PR! :)
Merging!


Create updated readme for mapping workflow

Done https://github.com/mapbox/osm-navigation-map/blob/gh-pages/MAPPING.md
cc @manoharuss