fix "Android - Keyboard doesn't open automatically while verifying contact method

Details

android delay autofocus in verify contact method
fix shouldDelayFocus logic in MagicCodeInput component

Fixed Issues
$ https://github.com/Expensify/App/issues/21415
PROPOSAL: https://github.com/Expensify/App/issues/21415#issuecomment-1604488773
Tests
Same as QA step

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

Offline tests
Same as QA step
QA Steps

Login any account
Go to Settings > Profile > Contact method
Add new contact method
Now click the recently added contact method to verify
Verify that magic code input is focused automatically and keyboard shows

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

PR Author Checklist

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

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

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

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

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

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

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/108292595/1fc60fdc-5d5c-45e2-91e1-7c8ba4d094d3
login:
https://github.com/Expensify/App/assets/108292595/2d11b7c8-77cf-4f5f-b77b-f5b5905580ed

Mobile Web - Chrome
https://github.com/Expensify/App/assets/108292595/35b94e1e-393e-4209-bd95-3d68524ad48c
login:
https://github.com/Expensify/App/assets/108292595/a7d31355-1bfa-4c7a-8d6d-1a6d343b89aa

Mobile Web - Safari
https://github.com/Expensify/App/assets/108292595/280994fe-fd85-4f82-a76a-99cc9aa89231
login:
https://github.com/Expensify/App/assets/108292595/a42a7a6b-5e51-4a73-9890-a9f7908bdaec

Desktop
https://github.com/Expensify/App/assets/108292595/11b351f0-a912-4e64-b808-6ade860f1757

iOS
https://github.com/Expensify/App/assets/108292595/570e4e47-6de7-4951-bd30-ebac7d709baf
login:
https://github.com/Expensify/App/assets/108292595/c315b049-d2de-453e-9549-333945056e43

Android
https://github.com/Expensify/App/assets/108292595/a40a1b8c-6c5e-48ec-b2c9-98a9ba8b2dc7
login:
https://github.com/Expensify/App/assets/108292595/a5d05ac5-34f8-4507-89d3-6cce185350bf

@situchan The following case does not seem to work: https://github.com/Expensify/App/assets/30054992/6f0c974a-c66f-494a-8942-b43eb0554156

I don't see any other pages which auto-focus and show keyboard after reload on mChrome.
i.e. login magic code input, new room, new chat/group

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/techievivek in version: 1.3.38-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.38-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


fix h2 protocol abnormal  case when SETTINGS_HEADER_TABLE_SIZE set to zero

What problem does this PR solve?
when use h2:grpc protocol pass nginx,  if nginx not support dynamic HPACK,  it will set SETTINGS_HEADER_TABLE_SIZE value to 0，now brpc not address this case.
https://trac.nginx.org/nginx/ticket/1538
rfc reference: https://datatracker.ietf.org/doc/html/rfc9113 4.3.1
Issue Number:
https://github.com/apache/brpc/issues/2286
https://github.com/apache/brpc/issues/2176
Problem Summary:
ignore a h2 protocol param set case
What is changed and the side effects?
Changed:
add a if check when encode h2 header
Side effects:

Performance effects(性能影响):
It hardly makes a difference

Breaking backward compatibility(向后兼容性):
completely compatible

Check List:

Please make sure your changes are compilable(请确保你的更改可以通过编译).
When providing us with a new feature, it is best to add related tests(如果你向我们增加一个新的功能, 请添加相关测试).
Please follow Contributor Covenant Code of Conduct.(请遵循贡献者准则).

Put it another way because of dynamic table size limitation, HTTP/2.0 uses dynamic tables to store the most recently used request header fields for compression and reuse. If the dynamic table reaches a size limit, the new request Header Field is sent using the Literal Header Field without Indexing encoding to avoid overflows.

https://datatracker.ietf.org/doc/html/rfc7541#section-4.2 about Maximum Table Size

LGTM


Fix type annotations for get_axis_num (GH 9822)

Explicitly annotate that a single str argument leads to an int return, overriding the match against Iterable.

[x] Closes #9822
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst

I haven't added tests since I didn't spot any existing tests of type annotations, but let me know if I missed them.

Hmm, seems mypy isn't liking that in CI, although it didn't complain when I used it to verify my MCVE. I'll investigate and re-open when I've figured out why.

Ok, the mypy error is explained in more detail here. The problem is that when passing a variable that's statically known to be Iterable[str], you get back either str or tuple[str, ...] depending on the run-time type. Thus, to be technically correct, one should annotate the return type in this case to be str | tuple[str, ...]. However, that's not very pragmatic, because for most practical uses, the argument type will be known more specifically (e.g. list[str] or tuple[str]), and so you know you're getting back a tuple.
So I've done the pragmatic thing and just suppressed the mypy error. The documentation linked above says

Note that in cases where you ignore the overlapping overload error, mypy will usually still infer the types you expect at callsites.

Would it not be enough to reverse the order of the existing overloads?
Or will that mess up tuples (which are hashable)?

I haven't tested it, but I assume you'd run into that problem.

Thanks a lot for the contribution @bmerry !
Would it be possible to add a test function which uses these? If the test function is annotated with def test_foo() -> None, then mypy will check it. That way we can test that this fixes the issue, and other can try improving it (like the swapping overload order above) and we can be confident it won't regress.

Thanks a lot for the contribution @bmerry !
Would it be possible to add a test function which uses these? If the test function is annotated with def test_foo() -> None, then mypy will check it. That way we can test that this fixes the issue, and other can try improving it (like the swapping overload order above) and we can be confident it won't regress.

If I have time I'll give it a go, but to be honest I'm not sure I will. The test itself should be fairly easy to write, but setting up a test environment will have a learning curve since I've not used conda before and I don't want to risk it getting into a fight with pyenv over my PYTHON_PATH.

Yeah that's fair. Being able to make small contributions is important, and I think this is a good enough win that it's worth merging.
If you manage to set up an environment feel free to add a test to immortalize your contribution! (and I use pip to avoid the overhead, you might find it easier...)

and I use pip to avoid the overhead, you might find it easier...

That sounds good. What arguments are you passing to pip to install all the right dependencies?

pip install .[dev] works!

Try pip install -e .[dev] if you intend to develop xarray and not just use it.


Sb profile plots

The SB profile plots are added to plotter.py: Plotter.plot_sb_profile(...).
Tested with test_nnls.py, the last 2 lines of that script create the sb_profile.png file in the plots directory. Very large scatter in this example (NGC6270), let's discuss... ;-)
Closes #351.

The example is not chosen optimally ;-) it is our test galaxy NGC6278 which is non-circular and since I used circular R the scatter is enormous.
While we have the position angle in DYNAMITE, we currently do not have the ellipticity (or a and b of the projected "symmetry ellipse"). One solution would be to leave it to the user to provide an and b (e.g., in arcsecs), another approach to calculate it based on the 2d surface brightness. What do you think?


add Nil var for nice comparisons

I would like to merge this pull request, but I need you to make some changes.
I should note, that var block you've chosen for this declaration is slightly incorrect. As comment states, it contains predefined UUID namespaces.
Also Nil UUID should be created as simple as UUID{}.


Feature request: Adding a new GraphQL mutation updateMany

Problem
Currently no way to perform batch update operations.
Suggested solution
Adding a new GraphQL mutation updateMany, so that we can do the below:
mutation {
    updateManyPosts(
        where: { title: "FOO" }
        data: { title: "Foo" }
    ) {
        count
    }
}

Additional context

Should leverage the existing Prisma updateMany.
Affected Prisma-AppSync parts: Generator + Generator templates + Client + Tests + Docs (Tip: Have a look at deleteMany operation as an example).
Might require some change in one of Prisma-AppSync dependency used to merge AppSync schemas: appsync-schema-converter.

Implemented in 1.0.0-beta.58.2.


Allow non incremental PKs

This pull requests adds a new feature to allow non autoincremental primary keys.
I've created a new annotation field in entc.Annotation type, of type *bool, given that it can be ommited (and it should behave differently according to each particular scenario (PKs vs normal columns).
I've also pondered about using a typed value, since using a bool ptr forces to create additional variables to reference:
incrementalDisabled := false
return []ent.Field{
  field.Int("something").Annotations(entsql.Annotation{
    Incremental: &incrementalDisabled,
  }),

With typed values it looked better, but i've opted for the bool ptr because devs could make broken-state types if not.. Like this:
const (
	// incrementalUndefined delegates the incremental property of this column to the internals of the module
	// applying the value that best fits the given scenario
	incrementalUndefined Incremental = iota
	// IncrementalEnabled enables the incremental property of a column
	IncrementalEnabled
	// IncrementalDisabled disables the incremental property of a column
	IncrementalDisabled
)
type Incremental uint8

func BrokenIncrementalValue() {
  b := Incremental(6)
}

Also, looked kinda weird given that it's a flag at the end of the day. And the auto-complete features knows it's an underlying uint, so it autocompletes as follows:
a := entc.Annotation{
  Incremental: 0,
}

The patch request contains nothing else besides that and tests. I tried giving support also to non-PK columns that wish to be autoincremental, but I don't have enough time to support each of the dialects own caveats (eg. Mysql needing to declare autoincremental columns as keys, or sqlite not supporting them).

Thanks for your contribution @saantiaguilera! I'll review this later today/tomorrow morning.

Thanks for your contribution @saantiaguilera! It's appreciated.


Syncmetallb031024

Sync to the upstream

/retest-required

@fedepaol AFAIU

the old ipi-ovn test are green just the job is not finishing

72/72 test passed

[36mINFO[2024-10-04T13:10:26Z] Ran for 4h5m39s
ERRO[2024-10-04T13:10:26Z] Some steps failed:
ERRO[2024-10-04T13:10:26Z]
  * could not run steps: execution cancelled
INFO[2024-10-04T13:10:26Z] Reporting job state 'failed' with reason 'executing_graph:interrupted'
{"component":"entrypoint","file":"sigs.k8s.io/prow/pkg/entrypoint/run.go:264","func":"sigs.k8s.io/prow/pkg/entrypoint.gracefullyTerminate","level":"error","msg":"Process gracefully exited before 1h0m0s grace period","severity":"error","time":"2024-10-04T13:10:26Z"}

The frrk8s-cno fails, should I retry, debug, overwrite? what do you think?
Thanks

/retest

/test metallb-e2e-metal-frrk8s

/retest-required

/retest-required

@fedepaol  the frrk8s-cno fails, should we overwrite? or try to fix it? Thanks

@fedepaol the frrk8s-cno fails, should we overwrite? or try to fix it? Thanks

is it failing because of frrk8s + cno?

/override ci/prow/metallb-e2e-metal-frrk8s-cno

/lgtm
/approve


Update query-by-date-or-current-iteration.md

Team context should be with backslash

@chcomley
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


RC bugs

[ ] pasting lbry.tv url in search fails with 404: https://lbry.tv/@ScottCBusiness:4/Lbry-Content:e
[ ] pasting @LBRY-Español#842e1e953dee991fffd2fa12c677043e7aed94c0 in URL bar removes the @, and fails to find the channel.
[ ] fix sign in + sync bug with fresh account (Jessop knows)
[ ] force lbry.tv to always sync on (bug caused my wallet to set sync to false, now I can't sync. Should not happen, but should be an easy change? If not, disregard.
[ ] force start videos in non-muted state on Desktop if there's no previous muted state (confirmed on fresh install)

Hey, lbryio/lbry-desktop#4759 should fix the first one... explanation in the comments. Looking at the 2nd one now.


Add bindings for GInitiable / GAsyncInitiable

Bindings are there but calling/checking on construction is still awkward because of the library boundary. CC @jf2048

I think the best we could do is call g_type_interfaces and do some string comparisons on the type name before calling g_object_new, but that's not really appealing

Yeah and dlsym() the g_initable_get_type() from the current process. That's the best I came up with so far too :)

A little bit better would be:

Use Type::qname instead to do quark comparisons
Error from Object::new, Object::with_type immediately if the interface is detected
Require use of other constructors Initable::new, Initable::with_type, AsyncInitable::new etc for those classes


touchstart event does not contain proper values in changedTouches property on android devices

Are you requesting a feature or reporting a bug?
bug
What is the current behavior?
It is not adding touches into event.changedTouches array. it is always empty
What is the expected behavior?
Should contain touches in event.changedTouches array as i does in non-testcafe environment
How would you reproduce the current behavior (if this is a bug)?
call t.click method on element with onTouchStart handler and check the changedTouches property
Provide the test code and the tested page URL (if applicable)
Tested page URL:
it is an Angular code to simplify the example:
Test code

onTouchStart(e:TouchEvent) {
    this.xyz = e.changedTouches.length; //In real application it is 1, in testcafe it is 0
}

<button id="test" (touchstart)="onTouchStart($event)">test</button>
{{xyz}}

Specify your

operating system: Android (Chrome)
testcafe version: 0.22.0
node.js version: 8.9.4

Hi @Bamyan, sorry for the delayed response! The changedTouches property must be emulated on Android devices, we have a unit test for it: testcafe-hammerhead/test/client/fixtures/sandbox/event/event-simulator-test.js. Could you please provide an example page where the problem can be reproduced?

I will close the issue because no activity has been encountered for a long time.
Feel free to reopen the issue if the problem persists and you can provide an example to reproduce it.

Hi. @miherlosev @AndreyBelym , Sorry for the Late Reply, you can see the problem with the following test on example page.
fixture `click on checkbox`
    .page(`https://v6.material.angular.io/components/checkbox/overview`);

test('Should click on checkbox', async () => {
    await t.click(Selector('mat-checkbox'));
});

ERROR:
Uncaught TypeError: Cannot read property 'clientX' of undefined

Hi. @miherlosev @AndreyBelym , Sorry for the Late Reply, you can see the problem with the following test on example page.
fixture `click on checkbox`
    .page(`https://v6.material.angular.io/components/checkbox/overview`);

test('Should click on checkbox', async () => {
    await t.click(Selector('mat-checkbox'));
});

ERROR:
Uncaught TypeError: Cannot read property 'clientX' of undefined

I've tried to reproduce the problem with<EMAIL_ADDRESS>and TestCafe works fine.
Try to run tests with the latest TestCafe version (testcafe@0.22.1-alpha.3).
If the problem persists, please specify the Google Chrome version in which you run your tests.

Thank for your detailed report. I've reproduced the problem.

It can be reproduced with our Drag functional tests & Chrome 70. The latest Chrome version on BrowserStack is 68, that's why we haven't discovered this before.

Hi, any updates on this? @AndreyBelym

The issue occurs in a core testcafe-hammerhead module. It is fixed, but it will be available after a new version of testcafe-hammerhead is published and used in testcafe. If you want to test the fix, you can pull the latest testcafe-hammerhead branch and add it to your project manually.

Fixed in the<EMAIL_ADDRESS>


Pub get in current master

So I just cloned the current master (just git clone https://github.com/flutter/flutter), and running pub get in the flutter package yields :
Because flutter depends on flutter_goldens from sdk which depends on test_api 0.4.16, test_api 0.4.16 is required.
So, because flutter depends on test_api 0.4.18, version solving failed.

What gives ?

Ah, in the pubspec I see "flutter update-packages --force-upgrade".


Disable test_sequential_rnn_cells

https://github.com/apache/incubator-mxnet/issues/18291

Also disable https://github.com/apache/incubator-mxnet/issues/16848 still flaky despite reruns


Man-in-the-middle test on switch

I extracted a switch client certificate and private key of an old version model, and wanted to use it to perform a man-in-the-middle test on my new version switch, but it failed.The old version of the certificate could not pass the certificate verification of the new version of the machine.
Do you know if the built-in root certificate of the switch is issued by a different CA than the client certificate of the switch?

I'm not sure if I understand you correctly. Are you trying to use the client certificate as a CA? That is definitely not going to work.
The Switch doesn't have a single built-in root certificate. Most certificates of Nintendo are issued by Nintendo CA - G3 or Nintendo Class 2 CA - G3, but Nintendo also has servers whose certificates are issued by Amazon or Google. The Switch accepts any of them.
It does not accept certificates that are issued by the client certificate though because:

The client certificate does not have the CA flag set so it cannot act as a CA.
The client certificate is issued by NintendoNXCA2Prod1, which is not one of the root certificates that are trusted by the Switch.

There is no way to do a man-in-the-middle without SSL patches, even if you own an old Switch.

Thanks a lot, that's exactly what I was looking for,It seems that the
man-in-the-middle test can only be performed on the switch version with a
chip vulnerability.
Yannik Marchand @.***> 于2023年4月16日周日 21:11写道：

I'm not sure if I understand you correctly. Are you trying to use the
client certificate as a CA? That is definitely not going to work.
The Switch doesn't have a single built-in root certificate. Most
certificates of Nintendo are issued by Nintendo CA - G3 or Nintendo Class
2 CA - G3, but Nintendo also has servers whose certificates are issued by
Amazon or Google. The Switch accepts any of them.
It does not accept certificates that are issued by the client certificate
though because:

The client certificate does not have the CA flag set so it cannot
act as a CA.
The client certificate is issued by NintendoNXCA2Prod1, which is
not one of the root certificates that are trusted by the Switch.

There is no way to do a man-in-the-middle without SSL patches
https://github.com/misson20000/exefs_patches, even if you own an old
Switch.
—
Reply to this email directly, view it on GitHub
https://github.com/kinnay/NintendoClients/issues/103#issuecomment-1510378079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWVWM5NKUTEH4XHELJVLZMTXBPVX5ANCNFSM6AAAAAAXACBR4A
.
You are receiving this because you authored the thread.Message ID:
@.***>


Wildcard Certificate Issue

I have an ssl clickhouse server that is running on a wildcard certificate.
Unfortunately when I connect to the database using ssl with ssl mode 'strict', I get the below error message: -
Host name 'name.example.com' does not match the certificate subject provided by the peer (CN=*.example.com, OU=Domain Control Validated)
It seems that part of the verification process is checking if the host name is equal to the CN name, without taking into consideration the wildcard within the certificate.

This seems to be similar to https://github.com/yandex/clickhouse-jdbc/issues/336. I managed to get it to work by downgrading the version to 0.1.50


Rename import names to new repo

Currently import names are github.com/osbkit/ due to the change to the kubernetes repo we should change this to github.com/kubernetes-sigs/ for all imports and makefiles to match the current repo.
If no objections I can begin the process and submit a PR for this.

Thanks for taking care of this!
/close


US_1.17 Details button 🍪3

As
user of the workshop portal
I want to
have a large button in its own column to open the event details page
in order to
increase the usability
Tasks
Acceptance criteria

There is a details action button in the right column

The id column is not visible.

gone because of UI US


Invalid input: 'tls' is a required property

I'm trying to configure Syslog Service Integration, but it fails with the following error:

Error: 400: {"errors":[{"message":"Invalid 'user_config': Invalid input: 'tls' is a required property","status":400}],"message":"Invalid 'user_config': Invalid input: 'tls' is a required property"} -

Detailed error:

2023-04-27T13:12:23.007+0800 [ERROR] provider.terraform-provider-aiven_v4.2.1: Response contains error diagnostic: diagnostic_detail= diagnostic_severity=ERROR diagnostic_summary="400: {"errors":[{"message":"Invalid 'user_config': Invalid input: 'tls' is a required property","status":400}],"message":"Invalid 'user_config': Invalid input: 'tls' is a required property"} - " tf_proto_version=6.3 tf_req_id=f867248f-5bab-036f-ddaa-01fa3e4f5e5d tf_resource_type=aiven_service_integration_endpoint @caller=github.com/hashicorp/terraform-plugin-go@v0.15.0/tfprotov6/internal/diag/diagnostics.go:55 @module=sdk.proto tf_provider_addr=registry.terraform.io/aiven/aiven tf_rpc=ApplyResourceChange timestamp=2023-04-27T13:12:23.007+0800

Resource configuration:
resource "aiven_service_integration_endpoint" "rsyslog" {
  project       = "my-aiven-project"
  endpoint_name = "rsyslog-server"
  endpoint_type = "rsyslog"
  rsyslog_user_config {
    server = "syslogserver.domain.com"
    port   = 5142
    tls    = false
    format = "rfc5424"
  }
}

tf and provider version:
terraform --version
Terraform v1.3.9
on darwin_arm64
+ provider registry.terraform.io/aiven/aiven v4.2.1

Manual creation via web interface or API call works correctly:
# curl --request POST \
  --url https://api.aiven.io/v1/project/my-aiven-project/integration_endpoint \
  --header 'Authorization: Bearer TOKEN' \
  --header 'content-type: application/json' \
  --data '{"endpoint_type":"rsyslog","endpoint_name":"rsyslog-server","user_config":{"format":"rfc5424","port":5142,"server":"syslogserver.domain.com","tls":false}}'

# {"message":"created","service_integration_endpoint":{"endpoint_config":{},"endpoint_id":"endpoint-id","endpoint_name":"rsyslog-server","endpoint_type":"rsyslog","user_config":{"format":"rfc5424","port":5142,"server":"syslogserver.domain.com","tls":false}}}%

It works fine if I'm trying to create a resource with tls = true. In the case of changing tls = true to tls = false after resource creation, the API call fails with the following error:

Error: 400: {"errors":[{"message":"Invalid 'user_config': Invalid input: 'server' is a required property","status":400}],"message":"Invalid 'user_config': Invalid input: 'server' is a required property"} -
But 'server' is defined.

It seems this issue is closely related to the following one: https://github.com/aiven/terraform-provider-aiven/issues/1028

hey, @m0ps! 👋
thanks for reporting this, I'll take a look and will get back to you shortly

The issue with this resource is also reproduced when you are trying to change any service_integration_endpoint configuration parameter from the rsyslog_user_config block.

hey! 👋
thank you for your follow-up on this matter, I'm taking a look :)

hey, @m0ps! 👋
I investigated this and prepared a PR!
#1154 is supposed to address this issue

hey, @m0ps! 👋
this has now been merged, we will create a release soon 😄


Raster category readme updates 2

Second batch of readme updates for the Raster category.

thanks @JonLavi ! could you take another look please?


Docker

He creado un script que lanza la aplicación en un docker y permite conectarte desde la dirección localhost:8080 en tu navegador.
No estaba seguro si vale con esto o es necesario un dockerfile.

I develop a script which deploy the app on a container. It allows you to connect via localhost:8080.
I wasn't sure if it was enough or it's needed a dockerfile.

So shall i delete the script and let the command in the description.md?

I just tested the script:
$ docker run --expose=8080 --network="host" --rm -u gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle gradle bootRun
Unable to find image 'gradle:latest' locally
latest: Pulling from library/gradle
35807b77a593: Already exists

.... lots of info and debug lines ....

2021-09-18 09:49:36.733 DEBUG 185 --- [           main] o.s.b.a.ApplicationAvailabilityBean      : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC

Next I run:
$ http localhost:8080

http: error: ConnectionError: HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x105ff5a60>: Failed to establish a new connection: [Errno 61] Connection refused')) while doing a GET request to URL: http://localhost:8080/

Did you tested your script? There is something key missing in your command.
Some changes requested. Don't close this PR.

I tested the script with the browser now i just try it with curl and i get the next output:
curl localhost:8080

<!DOCTYPE html>

    <title>Hello world</title>
    <link href="/webjars/bootstrap/5.1.0/css/bootstrap.min.css"
          rel="stylesheet"
          crossorigin="anonymous">

My first Web App

Hola estudiante

I will ad from which directory is needed to run the commad. Must be at the same where gradlew is.

PR accepted after fixing it. If you want to obtain the :gift: improve the work of #4; please check https://spring.io/guides/topicals/spring-boot-docker and go further than #4.

Perfect, i will try it


✨ Remove unused pull secret configuration

Description
Fixes #944
Proper pull secret plumbing is expected to happen as part of #1015.
Reviewer Checklist

[ ] API Go Documentation
[ ] Tests: Unit Tests (and E2E Tests, if appropriate)
[ ] Comprehensive Commit Messages
[ ] Links to related GitHub Issue(s)

/assign @joelanford


Add rake task migration to generate empty files

This PR adds rake tasks:generate command to generate migration task files under lib/tasks/migrations folder

Looks good to me!

@zaccari Can you please merge this and publish a new release? Thanks!

Looks good to me!

@zaccari Can you please merge this and publish a new release? Thanks!


alternatives

the start of a small library for composable alternatives, with a choice between
multiple events is done atomically.

I'm closing that is as #159 provides a more comprehensive implementation.  Thank you for the PR!  The discussions we had on the topic were very useful as I hadn't realized how close Computations are to CML events and while implementing something CML like was on my mind, I probably would have delayed such work much further.


Fix container name

I can't pull
bgruening/galaxy-exome-seq-training

but there is
bgruening/galaxy-training-exome-seq

Thanks!


[KYUUBI #1972] Fix flaky test: SchedulerPoolSuite: Scheduler pool

Why are the changes needed?

close #1972
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #1982 (2d83b24) into master (67d1c5d) will increase coverage by 0.07%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1982      +/-   ##
============================================
+ Coverage     60.43%   60.50%   +0.07%
  Complexity       69       69
============================================
  Files           305      305
  Lines         14860    14860
  Branches       1921     1921
============================================
+ Hits           8980     8991      +11
+ Misses         5110     5102       -8
+ Partials        770      767       -3

Impacted Files
Coverage Δ

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
96.41% <0.00%> (+0.14%)
:arrow_up:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
84.40% <0.00%> (+0.91%)
:arrow_up:

...ache/kyuubi/operation/KyuubiOperationManager.scala
95.00% <0.00%> (+2.50%)
:arrow_up:

.../org/apache/kyuubi/operation/KyuubiOperation.scala
65.33% <0.00%> (+2.66%)
:arrow_up:

...org/apache/kyuubi/operation/ExecuteStatement.scala
87.64% <0.00%> (+6.74%)
:arrow_up:

Continue to review full report at Codecov.

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

the failed test is irrelevant
- statement stats for engine tab *** FAILED ***

1 session(s) are online, did not contain "0 session(s) are online," (EngineTabSuite.scala:125)

thanks, merging to master


Dark mode revamp

Resolves #307 - Full redesign of the website and new design system

TODOS:

[ ] Update the screenshot utility
[ ] Check .btn usage
[ ] Check padding
[ ] Extract reusable utils


Celery crashes  after updating to v4 using python 3.7

File "/home/ec2-user/anaconda3/lib/python3.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name     module = imp(module_name, package=package, **kwargs)   File "/home/ec2-user/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 1006, in _gcd_import   File "<frozen importlib._bootstrap>", line 983, in _find_and_load   File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked   File "<frozen importlib._bootstrap>", line 677, in _load_unlocked   File "<frozen importlib._bootstrap_external>", line 724, in exec_module   File "<frozen importlib._bootstrap_external>", line 860, in get_code   File "<frozen importlib._bootstrap_external>", line 791, in source_to_code   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed   File "/home/ec2-user/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py", line 22     from . import async, base                       ^ SyntaxError: invalid syntax Loading environment file local.env Loading environment file local.env celery beat v4.2.1 (windowlicker) is starting. __    -    ... __   -        _ LocalTime -> 2019-02-28 14:57:05 Configuration ->     . broker -> redis://<IP_ADDRESS>:6379/1     . loader -> celery.loaders.app.AppLoader     . scheduler -> celery.beat.PersistentScheduler     . db -> celerybeat-schedule     . logfile -> [stderr]@%INFO     . maxinterval -> 5.00 minutes (300s)
Is this a python ver issue?

Yes, the problem is the python version. 3.7 is not ready for production. Need to stay with 3.6 due to compatibility issues.

Hi Abelardo,
The issue seems to be with async called from redis.py which is a keyword in python, once I change that to something else e.g. asynchronous and update all occurrences to the new name, it works.
I will of course go through and check the rest of the system to check there are no other version errors and get back.
Thanks,
Radhika

Hi Radhika.
The async keyword was introduced in Python 3.5, which means that this problem seems to point to a mix of Python versions. Make sure that when you run Celery it uses Python 3.6.
Regards.


ReferenceError: ts is not defined on no-indexed-access-on-enums rule

Description
The rule no-indexed-access-on-enums rule gives the following error when linter is executed:
ReferenceError: ts is not defined
Occurred while linting C:\mb\0\frontend\cds-15\cds-library\projects\cds-library\src\lib\components\date-period-picker\date-period-picker-selection\date-period-picker-selection.service.ts:69
Rule: "criteo/no-indexed-access-on-enums" at MemberExpression (C:\mb\0\frontend\cds-15\node_modules\eslint-plugin-criteo\lib\rules\no-indexed-access-on-enums.js:37:13)

Environment

Node 16.20.2
Angular 15.2.10
Eslint 8.52.0
eslint-plugin-criteo 4.12.0

Current Behaviour
The following code causes a true positive:
const options: number[] = [1,2,3];
for (let i = 0; i < this.options.length; i++) {
  const option = options[i]; // trigger the no-indexed-access-on-enums rule
}

Expected Behaviour
The upper code should not trigger the no-indexed-access-on-enums rule since options is an array and not an enum.

cc @adamperea @ConnorUllmann

@sdedieu You can downgrade to v4.11.1 until a fix, v4.12.0 only introduces this new rule

The rule is disabled in v4.13.0


[$500] Workspace-Long press Subscriptions/Cards not showing copy to clipboard

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

Version Number: 1.4.37
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
Expensify/Expensify Issue URL:
**Issue reported by:**Applause-Internal Team
Slack conversation:
Action Performed:

Go to https://staging.new.expensify.com/
Tap profile icon
Long press "Go to expensify classic"
Note "copy URL to clipboard" shown below
Go to Workspace settings
Long press "Subscriptions"
Long press " Cards & domains"

Expected Result:
Across the app, the behavior must be same. Long pressing "Go to expensify classic" shows "copy URL to clipboard".Similarly, it must show "copy URL to clipboard" when user long press "Subscriptions" & " Cards & domains".
Actual Result:
Long pressing "Go to expensify classic" shows "copy URL to clipboard" but long pressing "Subscriptions" & " Cards & domains" is not showing "copy URL to clipboard"
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/a0e9bbfb-ea71-4ced-9a91-7229344aebd1

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a0cdfa2f6dd2a940
Upwork Job ID:<PHONE_NUMBER>428862976
Last Price Increase: 2024-02-07

We think that this bug might be related to #vip-vsb
CC @quinthar

Proposal
Please re-state the problem that we are trying to solve in this issue.
Long pressing the subscription/cards menu doesn't show the copy to clipboard context menu.
What is the root cause of that problem?
It will show if we pass the link attribute.
https://github.com/Expensify/App/blob/f6ba751301d6a6f4e5faa092e615d49fb02d2746/src/components/MenuItemList.tsx#L47
We already define it here
https://github.com/Expensify/App/blob/f6ba751301d6a6f4e5faa092e615d49fb02d2746/src/pages/home/sidebar/AllSettingsScreen.tsx#L63
https://github.com/Expensify/App/blob/f6ba751301d6a6f4e5faa092e615d49fb02d2746/src/pages/home/sidebar/AllSettingsScreen.tsx#L75
But we forget to pass it to the array map here
https://github.com/Expensify/App/blob/f6ba751301d6a6f4e5faa092e615d49fb02d2746/src/pages/home/sidebar/AllSettingsScreen.tsx#L78-L91
What changes do you think we should make in order to solve the problem?

Pass the link attribute to the array map
link: item.link,

The proposal from @bernhardoj looks good to me!
Also, I would like to propose additional improvements on the link change with Link.buildOldDotURL() so it will show properly.

🎀 👀 🎀 C+ reviewed!

Proposal looks good, assigning @bernhardoj

Also, I would like to propose additional improvements on the link change with Link.buildOldDotURL() so it will show properly.

👍

PR is ready
cc: @mollfpr

Summarizing payment on this issue:
Contributor+: @mollfpr $500, please request on Newdot
Contributor: @bernhardoj $500, paid via Upwork

@mollfpr could you please complete the BZ checklist?

[@mollfpr] The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/33280

[@mollfpr] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/33280/files#r1496316367

[@mollfpr] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

The regression step should be enough.

[@mollfpr] Determine if we should create a regression test for this bug.
[@mollfpr] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Open all settings page (the wrench icon)
Right-click (web/desktop) or long-press (iOS/Android/mWeb) the subscriptions and cards menu
Verify a copy to clipboard menu shows and works correctly
👍 or 👎

Thanks! I made a few changes to the testing steps:

I separated Subscriptions from Cards & Domains into different steps
In step 3, I used the exact menu copy (Copy URL to clipboard)
In step 3, I clarified what the correct behavior is (ie. it should bring you to the corresponding settings page in OldDot).

We're good to close this one, thanks again!

$500 approved for @mollfpr based on summary above.


WIZ_TIMENOTIFY disconnect in Release mode.

Server doesn't allow user to send unhandled packets in Release mode,
since the Client sends WIZ_TIMENOTIFY packet periodically, we have to
allow it in Server side.

This issue was moved to ApexKO/OpenKO#31


The web container does not run when stackblitz starts

Describe the bug
The web container does not run - just says "Booting web container"
Link to the blitz that caused the error
https://stackblitz.com/edit/angular-ruhrzp?file=src%2Fapp%2Fproduct-list%2Fproduct-list.component.html
Steps to reproduce
Open first tu

Open first tutorial
https://angular.io/start

At "The preview pane updates to display the name of each product in the list.
" nothing is displayed
I would say more but this editor has issues too.  the arrow keys do not work as expected, typing is in the wrong direction, etc.
Expected behavior
Should display in preview pa ne
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
For the first paragraph of a tutorial, not good
Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 103
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 72671640,
  "usedJSHeapSize": 66308528,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = e40b17327b4f777f5dccacbb86b346b09cdd4176

Additional context
Not sure what else to sayI did ot run on my local machine but that is the only way to submit- by checknig the checkbox

Now the error shown is - ┌ [2/4] 🚚  Fetching dependencies
│ info pruneDeps Excluding 14 dependencies. For more information use --verbose.
└ 𐄂 Failed
HttpError: Failed to fetch dependencies:

<EMAIL_ADDRESS>

:wave: Thanks for the report. When I try to run this project, I get the following errors:
Error: src/app/product-list/product-list.component.html:20:2 - error TS2739: Type '{ id: number; name: string; price: number; description: string; }[]' is missing the following properties from type 'Product': id, name, price, description

20 [product]="products"
    ~~~~~~~

  src/app/product-list/product-list.component.ts:7:16
    7   templateUrl: './product-list.component.html',

These errors are not related to WebContainer, as they're also shown when running the project locally.
If you are running into another issue, could you point to a reproduction we can look at?

:wave: We're closing this due to inactivity. Please, feel free to open a new one if you're still encountering any errors.


Hoist common methods of game in intellisense

Currently, writing "game:" and then pressing tab will autocomplete game:Clone().
Hoist :GetService() to be the top result in the list, it's self-explanatory.

Also, hide footgun results altogether.
ie: AncestryChanged, :GetActor(), :Clone(), :Destroy(), :FindFirstAncestor(), etc

You're probably interested in the editor.suggestSelection setting. There are lots of other settings that control how suggestions are presented to you as well. There can probably be some new settings for what suggestions are included, but a lot of the suggestion settings are controlled by the editor, not the LSP.


Document API Umbrella integration options

We need to know options for integrating our development with the API Umbrella components. Document the integration options along with pros/cons for each.

There is a discussion on the API Umbrella issue queue that may be a good starting point.

I have created an issue on the API Umbrella tracker specifically related to this task.


Root pom references multiple maven plugins with milestone versions

Releaser now fails with milestone versions, but for 2020.0.2 build was released before that fix happened.
Either we need to change them or add a way so release can ignore those.
https://github.com/spring-cloud/spring-cloud-build/blob/6a702ea4441eb76faf9559198eae5e40f642737b/pom.xml#L69
and
https://github.com/spring-cloud/spring-cloud-build/blob/6a702ea4441eb76faf9559198eae5e40f642737b/pom.xml#L75

I think that we should add some comment that would be checked in the same line. Sth like
<maven-surefire-report-plugin.version>3.0.0-M5</maven-surefire-report-plugin.version><!-- @releaser:off -->

yeah, the maven plugins don't matter.

Releaser code updated - https://github.com/spring-cloud/spring-cloud-release-tools/commit/4b6c8b375cd28ac992ebcd1dd23d9fb7ef8ee741


Restore derived metrics using new metrics

traffic_manager used to manage some derived metrics (metrics calculated from other metrics).  This code was removed with traffic_manager.  This PR restores that functionality and the removed metrics.

https://github.com/apache/trafficserver/blob/9.2.x/mgmt/DerivativeMetrics.cc

Cherry-picked to v10.0.x


add docbuilder skeleton

This PR removes the old docs (from nbdev) and adds the shiny docbuilder docs.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Memoization broke first edited file

This diff:
* d9bc6d0 (TMP5) memoize get_bufline (by Zefei Xuan 2 weeks ago)
Seems to have broken the experience where you open up vim, and then do :e someExistingFile.txt. The file doesn't show up in the statusline. It acts as if it's an empty/non-listed/non-named file.
Can you confirm?

My entire Config:
" This must be set in the gvimrc (also doing it here)
let g:wintabs_display='statusline'
set hidden
let g:wintabs_autoclose=2
let g:wintabs_autoclose_vim=1
let g:wintabs_autoclose_vimtab=1
let g:wintabs_switchbuf='useopen,usetab'
let g:wintabs_ui_active_higroup = 'TabLineSel'

" TODO: Enable toggling of "patched fonts" at startup.

" If doing some custom rendered GUI use a not-actually space.
" let intertabSpace= ' '
let intertabSpace= ' '
let activeWinTabChar = '|'
" This must be different to distinguish.
let activeWinTabChar = '▎'
" This must be different to distinguish.

"           
" MacVim has broken double wide glyphs.
if has("gui_macvim") && has("gui_running")
  let g:wintabs_ui_buffer_name_format=' %t '
  let activeVimTabChar = '▍'
  " let activeVimTabChar = '▍'
else
  let g:wintabs_ui_buffer_name_format='  %t '
  let activeVimTabChar = '▍'
  " let activeVimTabChar = '▍'
endif

let g:wintabs_ui_sep_leftmost=intertabSpace
let g:wintabs_ui_sep_inbetween=intertabSpace
let g:wintabs_ui_active_left=activeVimTabChar
let g:wintabs_ui_active_right=intertabSpace
let g:wintabs_ui_sep_rightmost=intertabSpace
let g:wintabs_ui_modified=' ◎'
let g:wintabs_ignored_filetypes=[]
" Annotating the active vimtab makes it always available for detection
let g:wintabs_ui_active_vimtab_left=activeVimTabChar
let g:wintabs_ui_active_vimtab_right=intertabSpace

let g:wintabs_ui_arrow_left='«'
let g:wintabs_ui_arrow_right='»'

Will take a look and hopefully fix it soon.

Should be fixed now.


chore: update stats and add/remove logos

cc @brantlymillegan
some sites are no more and removed them, I tested the sites from 3 different regions on BrowserStack (Prague, SF, Singapore, +India)


TabControl adding Tabitem from ViewModel

I am trying to add a new TabItem from a ViewModel but I can't find an example anywhere. The only thing I came across was a Pull Request which was closed and never used.
Currently I have whats below. Every tab has the same instance of MainControlView. What am I doing wrong?
public ObservableCollection<TabItem> Tabs
        {
            get => _tabs;
            set => this.RaiseAndSetIfChanged(ref _tabs, value);
        }

Tabs.Add(new TabItem() { Header = "New Enviroment", Content = new MainControlViewModel(), Width = 240 });

<TabControl TabStripPlacement="Left"
                Margin="0,15,0,0"
                Grid.RowSpan="2"
                Grid.ColumnSpan="2"
                Items="{Binding Tabs}">
      <TabControl.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding $parent.Content.Login.Header}"/>
        </DataTemplate>
      </TabControl.ItemTemplate>
      <TabControl.ContentTemplate>
        <DataTemplate DataType="{x:Type vms:MainControlViewModel}">
            <views:MainControlView />
        </DataTemplate>
      </TabControl.ContentTemplate>
    </TabControl>

Please have a look at these:
https://github.com/AvaloniaUI/Avalonia/blob/master/samples/ControlCatalog/Pages/TabControlPage.xaml#L57
https://github.com/AvaloniaUI/Avalonia/blob/master/samples/ControlCatalog/Pages/TabControlPage.xaml.cs#L21

The mentioned example should solve the issue


Getting this error while starting example

λ yarn start
yarn run v1.12.3
warning package.json: No license field
$ parcel index.html
Server running at http://localhost:1234
braintree-web-drop-in-react\example\index.js: Cannot resolve dependency '.\dist' at braintree-web-drop-in-react\example\dist'
at braintree-web-drop-in-react\example\node_modules\browser-resolve\node_modules\resolve\lib\async.js:46:17
at process (braintree-web-drop-in-react\example\node_modules\browser-resolve\node_modules\resolve\lib\async.js:17
3:43)
×  loadedAssets is not iterable
at Bundler.bundle (braintree-web-drop-in-react\example\node_modules\parcel-bundler\src\Bundler.js:179:61)
at process._tickCallback (internal/process/next_tick.js:68:7)

Do yarn build in the root directory because running the example. You're missing the output directory (dist) which gets created when yarn build is ran


VPA - Vertical Line Position Absolute

Implement: https://vt100.net/docs/vt510-rm/VPA.html
Needed by tmux' clear screen(ctrl+L) action.

Oopsi, already implemented


Problem with integration since 0.3.1

Hi,
I didn't use integration since last winter (march this year, or so..) Everything worked OK then...
I saw that integration was updated to 0.4.9 but in my case, it wont work as it should be...
For example, it shows that heat is always ON (status "HEAT"), but it isn't (Stove is OFF mode)
Temperature readings are fine, but status is wrong.... So, I can't turn stove ON or OFF
I rolled back to 0.31 (and tried almost every version till latest beta 0.5.1) and it works now as it should be.
Stove is AlfaPlam Commo 21, Customer_code: 862148, rocognized as "ALFA_IDRO"
Here are diagnostic log attached, may be helpful
config_entry-aguaiot-01J9NCE0NAW56ZJYH58B79QMYH.json

I am matching pellet stove status on the translation labels provided by the vendor api. Because the numerical states differ in meaning across different vendors. Unfortunately it seems AlfaPlam made a translation error where the English label for "OFF" is actually "START". That is why the integration thinks the stove is on. I am not sure how to fix this yet without impacting others. Let me think about it.

Great work Vinsent..It works now
Thanks for quick fix.
I hope that it will work in all future updates...


docker /etc/sysconfig/docker restart failed

I restart successful in home computer,but restart failed in company
[root@localhost ~]# vi /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
EnvironmentFile=-/etc/sysconfig/docker
ExecStart=/usr/bin/dockerd daemon $DOCKER_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

[root@localhost ~]# vi /etc/sysconfig/docker
DOCKER_OPTS=" --label name=docker_server_1 -H tcp://<IP_ADDRESS>:2375 -H unix:///var/run/docker.sock"

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

[root@localhost ~]# systemctl status docker.service
鈼?[0m docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2016-11-14 14:33:42 CST; 5s ago
     Docs: https://docs.docker.com
  Process: 6579 ExecStart=/usr/bin/dockerd daemon $DOCKER_OPTS (code=exited, status=1/FAILURE)
 Main PID: 6579 (code=exited, status=1/FAILURE)

Nov 14 14:33:42 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
Nov 14 14:33:42 localhost.localdomain dockerd[6579]: /usr/bin/dockerd: "/usr/bin/dockerd" requires 0 arguments.
Nov 14 14:33:42 localhost.localdomain dockerd[6579]: Usage:        dockerd [OPTIONS]
Nov 14 14:33:42 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Nov 14 14:33:42 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Nov 14 14:33:42 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Nov 14 14:33:42 localhost.localdomain systemd[1]: docker.service failed.
[root@localhost ~]#

ExecStart=/usr/bin/dockerd daemon $DOCKER_OPTS

dockerd daemon --> dockerd

@AkihiroSuda why change the config?

https://github.com/docker/docker/blob/master/docs/deprecated.md#docker-daemon-subcommand
docker daemon was replaced by dockerd, not dockerd daemon

@AkihiroSuda Thanks a lot

Looks like this question is answered


Consensus protocol upgrade to access account permission authorities

Background
It is useful to some contracts to be able to check the existence of a permission and, assuming it exists, get the actual authority of that permission. For example, this can help a permission management contract that allows controlled modifications to a user's permissions according to some on-chain policy. Or it can be used by an asserter contract to assert the old authority of a permission so that the permission modification policy can be moved off-chain to user applications that do not necessarily trust the full nodes they need to communicate with to get blockchain state such as the original permission authority.
Consensus upgrade feature
The goal of this consensus protocol upgrade feature is to allow any contract to read the permission objects (particularly the authority) of any account.
A new consensus protocol upgrade feature will be added to trigger the changes described in this consensus upgrade proposal. The actual digest for the feature understood at the blockchain level is to be determined. For the purposes of this proposal the codename GET_PERMISSION will be used to stand-in for whatever the feature identifier will actually end up being.
New intrinsic get_permission_lower_bound
A new intrinsic int32_t get_permission_lower_bound( const account_name& account, const permission_name& permission, array_ptr<char> buffer, size_t buffer_size ) should be added to the authorization_api. The C intrinsic for the WebAssembly side would have a signature such as int32_t get_permission_lower_bound( capi_name account, capi_name permission, char* buffer, uint32_t buffer_size ).
The idea is for contracts to be able to use this intrinsic to check for the existence of a particular permission, and if it exists, get the relevant information. A contract can do so by providing the name of the permission (permission) within the specific account (account) that it is interested in searching for.
The system will instead try to find a permission of the specified account that has the smallest permission name value among the set of permissions of the account that have names with a value no smaller than the value of the provided permission (i.e. a lower bound search). If there is no such set, then the intrinsic will return -1, otherwise it will return the size (in bytes) of the serialized data representing the found (lower bound) permission.
The returned serialized data is a record of type eosio::permission_record (defined below) packed according to the regular compactly packed serialization rules done by the EOSLIB_SERIALIZE macro. The definition of eosio::permission_record and the other new types it depends on is provided below:
struct key_weight {
   eosio::public_key  key;
   uint16_t           weight;
};

struct permission_level_weight {
   permission_level  permission;
   uint16_t          weight;
};

struct wait_weight {
   uint32_t           wait_sec;
   uint16_t           weight;
};

struct authority {
   uint32_t                              threshold = 0;
   std::vector<key_weight>               keys;
   std::vector<permission_level_weight>  accounts;
   std::vector<wait_weight>              waits;
};

struct permission_record {
   name       permission;
   name       parent_permission;
   time_point last_updated;
   authority  auth;
};

If a contract wants to find an exact match, it must parse the returned serialized data enough to verify the permission name of the returned permission matches the permission name provided to the intrinsic. Because of how the permission_record is serialized, it is sufficient to simply check the first 8 bytes of the serialized data (representing the permission field of the permission_record type) and compare it to the permission argument provided to the intrinsic. The intrinsic makes it convenient for the caller to specify only the first N bytes of the serialized record to be copied into the contract's WebAssembly memory (which can improve performance compared to copying the whole thing in when only the first few bytes are relevant). The system will copy in at most buffer_size bytes of the serialized data into buffer even if buffer_size is smaller than the actual size of the full serialized data.
This enables the eosiolib to include a C++ wrapper over the intrinsic to provide an exact lookup of a particular permission as follows:
std::optional<eosio::permission_record> get_permission( eosio::name account, eosio::name permission )
{
   constexpr size_t max_stack_buffer_size = 512;

   eosio::name found_permission;

   int32_t data_size = ::get_permission_lower_bound( account.value, permission.value, static_cast<char*>( &found_permission.value ), sizeof(found_permission.value) );

   if( data_size < 0 || permission != found_permission ) return {};

   char* buffer = reinterpret_cast<char*>( max_stack_buffer_size < data_size ? malloc(data_size) : alloca(data_size) );

   int32_t data_size2 = ::get_permission_lower_bound( account.value, permission.value, buffer, static_cast<uint32_t>(data_size) );
   eosio::check( data_size == data_size2, "different result from second call to get_permission_lower_bound" );

   eosio::permission_record result;
   eosio::datastream<const char*> ds(buffer, data_size);
   ds >> result;

   if( max_stack_buffer_size < data_size ) {
      free( buffer );
   }

   return result;
}

The implementation of the intrinsic can be optimized for buffer_size values of 0 and 8 to avoid actually doing any serialization of a permission_record type. It can calculate the size of what the serialized data would be by using fc::raw::pack_size to quickly compute the size of auth.to_authority() (where auth is the authority in the permission_object), or better yet add a method shared_authority::serialized_size to do a faster calculation of the serialized size that does not require conversion to an authority type. If buffer_size == 0 it would just return this calculated size rather than doing any actual serialization. If buffer_size == 8 it would simply copy the name field of the permission_object to buffer prior to returning the calculated size as before.
By enabling the raw intrinsic to be a lower bound search rather than an exact match, it also enables contract authors to write their contracts to iterate through all the permissions of an account if they so choose. A C++ wrapper function like eosio::get_permission defined above hides from the contract developer all of the complexity associated with implementing an exact lookup given only the lower bound intrinsic. Furthermore, implementing the intrinsic as a lower bound search as described above adds negligible overhead (if any at all) compared to an intrinsic designed to only do exact lookups.
Contracts should only be able to link with this intrinsic after GET_PERMISSION activation.

this would be very useful!

In order to focus our efforts on issues that are currently creating difficulty for the community we are closing tickets that were created prior to the EOSIO 2.0 release.  If you believe this issue is still relevant please feel free to reopen it or create a new one.  Thank you for your continued support of EOSIO!


properly handle incoming STOP_SENDING frames

This implements resetting a stream's send-side, as well as sending a
RESET_STREAM frame, upon receipt of STOP_SENDING from the peer.
By resetting a stream, all of its already buffered data is dropped, and
no more writes are permitted.
In order to signal to the application that a stream was "stopped" and
reset, the stream is marked as writable upon receipt of the STOP_SENDING
frame, but when calling stream_send() as well as stream_capacity() a
new error, StreamStopped will be returned.
Returning the error from the stream_capacity() is required to make
sure the application is notified in cases where the method is called to
check whether any capacity is available before calling stream_send()
(like we do in the HTTP/3 code), and the target stream is blocked (so
stream_send() isn't called at all).
The StreamStopped error carries the raw error code sent as part of the
STOP_SENDING frame, so that an application can treat the error case
differently depending on the meaning of the code.
Currently the error is turned into a TransportError at the HTTP/3
layer. In the future we can better translate this into an appropriate
HTTP/3 error.

This depends on https://github.com/cloudflare/quiche/pull/769 due to the new error.

Rebased and squashed the review commit.


Ship sensible defaults for number of pages prerendered on build

Build time will roughly equal the build time per page multiplied by the number pages to render. This will make build times quite long with large sets of data. So we should ship a reasonable default to keep build times within a reasonable timeframe.

what is a reasonable build time we should aim for?
what should we consider the average render time of a page to be?

Answer these questions should tell us how many pages we want to prerender in the build stage.

https://github.com/acquia/next-acms/pull/32 is already changing the default behavior for this. The proposed solution there is that by default, none of node pages are generated on build time. This makes sure that the default value shouldn't run into scalability issues with any number of nodes on build time. This also seems to make sense with the revalidation time we are using at the moment which is just 60 seconds.
We are planning to add wiki page to document how app developers could achieve generating static pages for nodes. In the end, it will be the app developers responsibility to decide how they want their app to be build and cached.

I don't like that change. Its made building from paths more complicated. I would've prefered we kept getPathsFromContext as the return value and passed a limit of paths or some way of prioritising those paths and then set the limit to 0.
Though I don't think I agree that we should build zero pages on build time either. That seems like a sensible feature so that, at the very least, your most popular pages don't tank on a release.
Where did that decision get made?

At the moment, most of this is due to https://github.com/acquia/next-acms/issues/17. Because of that, we reduced the default revalidate time temporarily to 60 seconds to provide an experience more in par with sites already utilizing cache tags based cache invalidation.
Given that the revalidate time is just 60 seconds, it doesn't seem good use of resources to pre-build all of the paths on build time which within realistic parameters could easily take over 60 seconds.
Another argument in favor of removing this was that we wanted to create default experience that would be able to run on sites of any size. Many sites have thousands of nodes and this would essentially create builds that could take ages to run without much for them to gain with the current setup. For example, building 5000 nodes would take over 2h to build.

Its made building from paths more complicated.
I'm not sure I fully follow what's the complexity this is creating. I'm wondering if there's a specific example that you could give where you think the current setup is more complicated?

I would've prefered we kept getPathsFromContext as the return value and passed a limit of paths or some way of prioritising those paths and then set the limit to 0.
I agree that something like this would make a lot of sense! However, it's something that at the moment would be the responsibility of the developers implementing the app since it's hard for us to predict what is the logic they'd like to deploy here. We could totally simply limit the maximum number of the pages, but without some sort of prioritization, it would not make a lot of sense.

Where did that decision get made?
This was discussed on one of our team stand ups. On a hindsight, we should have opened an issue for this to at least document the rationale.

Discussed this with @fiasco on Slack. We agreed that instead of simply turning this feature off for all sites, we should try to setup some steps that would allow small sites to continue benefit from this. We could for example check the total number of nodes, and based on that decide what to do.
An alternative idea proposed by @fiasco was to also setup some pre-defined prioritization of which pages would get generated on build for large sites. We could for example generate static versions of all pages that are linked from the main menu.


Status codes wrong in v2.1.2?

Describe the bug
I've noticed that after updating to v2.1.2 some status codes are changed - normally at night my inverter went to "sleep" mode with status code "2" ["Sleeping (auto-shutdown) – Night mode"]. now night status is "5" ["Production (curtailed)"].
when operating at day it is ok - status "4" ["Inverter is ON and producing power"]
Expected behavior
I suppose that night mode should by status "4" as "sleeping", because inverter is indeed off, or am I missing something?
Home Assistant (please complete the following information):

Home Assistant Core Version: 2022.8.6
solaredge-modbus-multi Version: 2.1.2
inverter: SolarEdge SE7K

There have not been any changes to status codes since v1.0

There have not been any changes to status codes since v1.0

got it. so I guess it's something inverter-related then?
thanks,!


Dot in property key gives strange behaviour

I'm not able to use a dot in as the key of a (value) object within the Ractive template. While this works perfectely in JS, Ractive start to behave very strange.

Output
v1 Mayor release v1.1 a v1.1.1
Expected
v1 Mayor release v1.1 Minor release v1.1.1 Patch release
There is a jsfiddle :smile:

I strongly suggest mentioning this in the documentation.
And you need to do something with object iteration. It just breaks without any warning or message in the console.

Fixed in edge.


XXE Vulnerability in PHPExcel

XXE Vulnerability in PHPExcel

Has phpexcel to be mentioned, too?

Yes, the same security issue applies equally to both libraries.... both have been patched at the revisions/dates indicated in the respective pull requests


Add integration for actix_web

I tried to follow the contributing guidelines best I could but couldn't find anything about what to write for the Makefile.toml and release.toml files, so I was hoping that could be discussed here. Also, I figured I should wait until merging this before publishing the crate to crates.io, but if there's a different procedure for that as well, please let me know.
Also, with respect to #442, I have already implemented the functionality necessary to accept application/graphql content-typed requests.

Codecov Report

Merging #459 into master will decrease coverage by 0.01%.
The diff coverage is 85.87%.

@@            Coverage Diff             @@
##           master     #459      +/-   ##
==========================================
- Coverage   85.73%   85.71%   -0.02%
==========================================
  Files         111      112       +1
  Lines       15960    16227     +267
==========================================
+ Hits        13683    13909     +226
- Misses       2277     2318      +41

Impacted Files
Coverage Δ

juniper_actix_web/src/lib.rs
85.87% <85.87%> (ø)

juniper/src/integrations/serde.rs
57.35% <0%> (-2.21%)
:arrow_down:

juniper_warp/src/lib.rs
93.62% <0%> (-0.5%)
:arrow_down:

juniper_iron/src/lib.rs
72.98% <0%> (-0.16%)
:arrow_down:

juniper_codegen/src/lib.rs
2.17% <0%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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

couldn't find anything about what to write for the Makefile.toml

We don't need a Makefile.toml if no customizations are required. It works automatically.

I figured I should wait until merging this before publishing the crate to crates.io

If this is a official integration, the crate will have to be owned and published by us.

@ericmarkmartin thanks for working on this btw.
If you need help/advice anywhere just say so.

@theduke is this PR blocked on #461? Also, is it necessary that I test the graphiql and playground functions?

@theduke is there anything that needs to be fixed for this pr to be merged into the async-await branch?

This looks really useful, but am concerned it will become immediately obsolete as appears to be based on actix-web v1.0? v2.0 has since been released which is wholly based off std::future::Future/async/await. Haven't looked too closely at this PR but the migrations I have done have tended to significantly simplify the code.

@adwhit—I’m currently working on actix 2.0, but I’m not sure whether I should create a separate integration or not, as some integrations have taken this route while other have simply opted to replace theirs. Hence why this PR is still up.

Thanks again for the PR! I believe we landed actix 2.0 support. Do you want to still land 1.0 support? Is there anything missing from the current landed implementation that this has and should be ported there?

I don't see any reason to land 1.0 given the presence of 2.0, but I will definitely see if there's anything missing from the 2.0 integration (or in its tests) that can be taken from here. Closing.


Include Changelog

A new Changelog must be developed and integrated on DefiAnalytics

Version number should be also visible in the sidebar


Lambda request Context is not preserved

com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler.handleRequest(InputStream, OutputStream, Context) method receives Lambda Context as input, but the context is never passed to further processing.
Would be nice to include it in SpeechletRequestEnvelope.
Why it is so important?

The context gives you access to remaining time for the lambda function. You can use the time to set timeouts for HTTP calls to your custom back-end.
It gives you the AWS request ID that you can cross-reference with your CloudWatch logs.
It gives you access to Logger

Thanks for the feature request, we added this to our backlog.

Hi,
Just checking if there was any progress on this.
We need this feature for the use case when we might need to differentiate between a prod aliased lambda function and it's dev version.
Essentially, having access to the lambda functions ARN would enable us to tweak behaviours for dev and prod, within the same Lambda function, with different versions and aliases, without resorting to using environment variables.


Use aiokafka in rest proxy code

Related to https://github.com/aiven/karapace/issues/30. All that's needed is switching consumers with async consumers. Admin client can remain the same until there's an async one in sight
Edit:
As of 2.01 ( 40c557fe47e285638f3e7bf401a73df046d96ea4 ) the consumers and producers are using aiokafka. The missing piece is the admin interface. It is an open question if the admin interface is a priority for the aiokafka project https://github.com/aio-libs/aiokafka/issues/623 , https://github.com/aio-libs/aiokafka/issues/665#issuecomment-711068802 https://github.com/aio-libs/aiokafka/pull/639

Obsolete, the REST proxy uses confluent-kafka-python.


http_request_duration_seconds_count decreasing

Just calling the metrics endpoint different times I get decreased values for http_request_duration_seconds_count variable

It seems both values are increasing.

I  think same problem as this issue
https://github.com/trallnag/prometheus-fastapi-instrumentator/issues/50
check "prometheus_multiproc_dir" settings

I think same problem as this issue check "prometheus_multiproc_dir" settings #50
This steps resolve for me
step1. set "prometheus_multiproc_dir" environment variables that point any directory
step2. create a "prometheus_multiproc_dir" directory on application start (clean if already exists)

caution 1 "prometheus_multiproc_dir" must be a lower case caution 2 "prometheus_multiproc_dir" should be empty on application start

Thank you very much!


Support right and outer types of join for merge/join

merge performance needs to be improved. There are two major components to this:
1.) Joining on index where left_index=True and right_index=True
2.) Joining where left_on or right_on is set.
There are two different behaviors here, and each needs to be optimized separately.

For now we have broadcast algorithm when we divide left object into row partitions and apply them to right object converted to pandas. We cover left and inner types of join this way. In order to perform right type of join, I think, we need to implement broadcast algorithm when we divide right object into row partitions, convert left object to pandas and apply it to row partitions of right object. @devin-petersohn , are there any thoughts regarding this and outer type of join?

Outer join is more difficult with broadcast approach because each partition will outer join with the broadcast dataset if not implemented carefully. This can be resolved with a post processing filter, or by doing an inner join followed by a table union of the remaining rows.

@devin-petersohn , what do you mean by a post processing filter?

In a broadcast, the outer join on each partition will need to be filtered because different rows will match with different partitions.

Yes, I see. I thought you mean any specific filter.


fix(cli): exit 1 on ctrl+c

This seems to be the only option to enable both shortcuts and exiting vite running via npm-run-all with default options in one ctrl+c.
The bad part is that when running vite via yarn or pnpm, you get an extra error on exit:

When using npm-run-all, it logs: ERROR: "dev" exited with 1.
The other option is to not fix the issue. I suggested multiple way to "workaround" the issue: https://github.com/vitejs/vite/issues/11434#issuecomment-1367438576
For information, vitest is exiting is code 0 which is subject to the same issue (but probably people don't use vitest watch mode along other watch process)
Re: #11518 #11562

I want to know how to judge whether the vite is started by the JS API

@patak-dev Updated and tested. You get double "exit error 1" command when running npm-run-all with pnpm but I guess that's fine


Improve document tree experience

Browsing the documentation on the website can at times feel like you're delving into a jungle of unknown size. This PR improves the document tree menu, giving the user more information about which pages have subordinate pages, and generally making it a little bit prettier.

Before:
After:

Thank you for your contribution, it is an example of participation, it looks very good., very good work !

🔥 👏 ♥


⚠ TorrentLeech has degraded performance

In 59d6eea, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 5005 ms

Resolved: TorrentLeech performance has improved in 42d0670 after 8 minutes.


WIP: Rerender

Trying to understand autotools_clang_conda better (and check current state of CI).

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Reverted to core contributors

This PR reverts org membership to core maintainers only.

Terraform cloud seemingly has issues, ticket filed.


How do I contribute?

idk what's going on with npm, but no matter what, all of node_modules is changed when I run npm install, even on master branch

so this is a bit of an issue with github actions I'm afraid 😞  it's documented in their "how to work with github actions" but also very briefly in the auto-generated https://github.com/simplabs/ember-asset-size-action/blob/master/docs/contributors.md
essentially GitHub made the terrible decision to force you to commit all of your node_modules for people to use your action. It has been widely criticised and they said they might do something about it, but no word yet

This has been fixed in #43
Now we effectively bundle the code down to a single file (including all dependencies) and we verify that this dist file has been updated on a PR's CI so it doesn't go out of sync 👍


Error with ProcessedStatus

I was looking at the possibility of adding the get all update status route in #39 and have run into an issue. According to the documentation the response will look like:
[
  {
    "status": "processed",
    "updateId": 1,
    "type": {
      "name": "DocumentsAddition",
      "number": 4
    },
    "duration": 0.076980613,
    "enqueuedAt": "2019-12-07T21:16:09.623944Z",
    "processedAt": "2019-12-07T21:16:09.703509Z"
  }
]

but when I test I get an error ParseError(Error("missing field `duration`", line: 1, column: 325). This error seems to resolve and the response does include the duration and processedAt information if I do sleep(Duration::from_secs(1)); after adding documents.
I checked what response I get in the python clients test and the result in the test is:
[
    {
        'status': 'enqueued',
        'updateId': 0,
        'type': {
            'name': 'DocumentsAddition',
            'number': 30
        },
        'enqueuedAt': '2021-02-14T14:07:09.364505700Z'
    },
    {
        'status': 'enqueued',
        'updateId': 1,
        'type': {
             'name': 'DocumentsAddition',
             'number': 30
        },
        'enqueuedAt': '2021-02-14T14:07:09.373833600Z'
    }
]

Since Python is putting the information into a dictionary the tests passes, but if the end user is expecting the keys to be there and used, for example, result["duration"] instead of result.get("duration") this would error.
My guess is that in the documentation it is assuming that the documents will always be processed before checking the status, but this doesn't seem to be the case? If that is correct would updating ProcessedStatus to the following be appropriate?
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct ProcessedStatus {
    pub update_id: u64,
    #[serde(rename = "type")]
    pub update_type: UpdateType,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub error: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub duration: Option<f64>,        // in seconds
    pub enqueued_at: String,  // TODO deserialize to datatime
    #[serde(skip_serializing_if = "Option::is_none")]
    pub processed_at: Option<String>, // TODO deserialize to datatime
}

Also, if this is the case should the documentation be updated to note that these fields are optional in the response since it would affect all clients even if they don't error?

Hello @sanders41! Thanks for your detailed feedback! This is appreciable

Since Python is putting the information into a dictionary the tests passes, but if the end user is expecting the keys to be there and used, for example, result["duration"] instead of result.get("duration") this would error.

The python client is indeed one of the first clients created, so the test definitely misses some updates, like this one! Thanks for noticing it!

If that is correct would updating ProcessedStatus to the following be appropriate?

I think this would solve the issue 🙂

Also, if this is the case should the documentation be updated to note that these fields are optional in the response since it would affect all clients even if they don't error?

You are right, I've opened an issue in the docs repo! 🙂
https://github.com/meilisearch/documentation/issues/765


Change Kitsune Change Shape's name for added clarity

This change has two benefits.

make feature's name more clarity
Babele use "name" for searching translation. So it could fix this problem

Ops Sorry for that. I just really dont familiar with git but I'll google it.


e_newFixture flag not set after bodies are set to active

I noticed that in the file b2Body.cpp the e_newFixture flag is only set when fixtures are first created. I think it should also be set after CreateProxies is called in the method SetActive.
And in CreateFixture it is probably also only needed in the case where the body is active.

m_newContacts is set true when SetEnabled(true) is called


Allow timber_post_get_meta_pre filter to short circuit or alter Timber\Post::get_post_custom()

Is your feature request related to a problem? Please describe.
When dealing with large collections of items, sometimes the eager loading behaviour of Timber works against us and makes for heavy arrays that consume a lot of memory. We notice this particularly when the items we're querying for / working with have a lot of ACF flex content, as this really bulks out the meta.
It looks like there has already been an attempt to solve this in the get_post_custom() function, but the filter that runs has no opportunity to affect the behaviour beyond the callback, the get_post_custom() will be called anyway, all the time.
This is the "first" issue, and one that's much easier to deal with, then the "real" issue that I've actually had multiple times, which is the same thing on Terms, where the meta fetching and capabilities are very intertwined with ACF, rather than using the now widely available term_meta functions and using ACF if necessary.
Pull request for both inbound, this one is easy, and sets the pattern/tone for the next harder one related to terms.
Describe the solution you’d like
Some rough pseudo code below
/* Prevent eager loading of Post Meta */
add_filter( timber_post_get_meta_pre, function() { return false; } );

/* only eager load certain meta keys */

add_filter( 'timber_post_get_meta_pre', function($customs, $pid, $timberPost ) {
    $keys = [ 'key1', 'key2', 'key3' ];
    $customs = [];
    foreach( $keys as key ){
        $customs[ $key] = get_post_meta( $pid, $key );
    }
    return $customs;
}, 10 , 3 );

Describe alternatives you’ve considered
It's possible to filter the values returned to the import statment, but that's only after the data is fetched from the db, so this way aims to reduce the overhead of that on big queries / collections.
Additional context
unsure if should be implemented as timber_post_get_meta_pre or timber/post/meta/pre ?

Hey Alex!
There are quite a few changes coming for fetching meta values in 2.x. For timber_post_get_meta_pre, there’s a new filter in get_meta_values() called timber/post/pre_get_meta_values:
https://github.com/timber/timber/blob/ccefcb5cfa1abe2faaeac533104e229552c79ceb/lib/Post.php#L577-L607
But as I see, you’ll only want certain values to be excluded. We didn’t account for that yet and I think what you have is a good use case. We definitely care about performance and anything that makes it better is very welcome. So I’m eager to look at your pull requests 👍.

Thanks Lucas, PR is submitted, I totally forgot the check out what's in the 2.0 branch on this, as I mentioned this is more of an easy 'part 1' to the bigger 'part 2' which is improving term meta loading and eager-loading.

Closed by #2014

@aj-adl Can we expect the bigger «part 2» for the term meta loading and eager-loading, now that this pull request is merged? I’m curious for what you have in mind. 😉

@gchtr I've been catching up on 2.0 and it seems that it's been fixed in #2019  with Term::get_meta_values now mirroring the same functionality and using WordPress's built in term meta functions.
Our original issue was that in the 1.9.x branches, getting term meta relied on ACF (as setting term meta used to rely on ACF!), which meant that if we attached a flex content field or related terms / objects to a term then these would all get eager loaded by the ACF integration..
I could look at a PR back porting something, but honestly I'd rather help out with other 2.x things so it can be released sooner!

@aj-adl — I'd love to talk more about exactly that. Can you email me at<EMAIL_ADDRESS>I have some ideas ...


bleu_ref.py returns 0 when wrapper fails

Why does the call to BLEUReferenceImplWrapper return 0.0 when receiving incorrect output from the wrapper? Shouldn't it throw an error?
Also, why does it print and not log?

I made this decision because the evaluation used to crash on suspicious data. But we don't want to crash when the mteval script crashes, because it happens rarely and the rest of the evaluations still yield reasonable numbers. The evaluation itself should never interrupt the training process - the numbers that come out of it do not affect the training so it should not matter if they are sometimes broken.
You're welcome to fix the prints.

I think I would like to crash when the evaluation crashes. Or at least read in the log that something strange happened.

Btw. if there was code review or at least a pull request, this would have been revealed and discussed before we found that in certain conditions (e.g. on Travis), bleu_ref doesn't work at all, so this error-hiding behavior really isn't ideal.

who said that bleu_ref does not work?

Your tests says so #62.

But that is the reason why there are the tests, in the first place.. They check for this error and expose it.

It is not good when you run the experiment for weekend, and when you get back, you learn that it crashed after two hours on an error that had no chance to influence the training itself.

During training, every error that can be handled, should be handled. Crashes during training should be avoided at all costs.

Lastly, there is a pull request where you can adress this problem ( #63 ).

Test cannot catch certain errors, for example when the error is that you are masking errors, like here. Tests also don't catch unreadable code and other things that would be easier solved before adding that code to the codebase, not half a year later when they cause real problems.
I disagree. When you sustain the training at all costs, you might end up with weekend of useless, incorrect data and don't even know about it. Whenever there is an error, the program should fail. If you fear that your over-the-weekend experiment will fail, test your configuration on smaller data beforehand.
There was no pull request for bleu_ref.py, it was commited and pushed directly to master (af9e96f29f06b1bf352075bb0ea499a6fbfee5ba). The pull request you are referencing has nothing to do with this issue, except for my tangential note about bleu_ref.py not working on Travis, which as far as I can tell, is something in the Perl code, in no direct connection to the problems I have with bleu_ref.py.

As if models running with bugs without failing already wasn't one of the biggest challenges in machine learning...

Yeah, except the bleu computation is not a part of the model.

Well, it might be one day (we talked about training to BLEU) and I will not remember it forever that this module might behave strange without failing. And even when it isn't, I don't want to be wondering whether an evaluation module encountered an error without failing or my model is really that bad when all the scores are zero.

As I wrote earlier, the wrapper used to crash on suspicious circumstances. Now, it works. The suspicious circumstances are subject to the unit test. The exception handling serves but as a remnant of those cruel times. Do what you want, but do it already.

Now it "works" (#62) so there is no need to mask its errors so we should just re-raise them instead of returning 0. I don't have time for that now, so either fix it (it's your code after all) or leave this issue open until I get to it.

wont fix, bleu_ref is deprecated by 8d5112


UpgradeCommand and deno compile

We ship some cli binaries compiled using deno compile because it provides a convenient single executable to download and install. One downside of this approach is that apparently UpgradeCommand does not work because it assumes a deno runtime instead of a compiled deno environment.
e.g.
Deno.execPath(): /Users/xx/dev/mc/unipipe-service-broker/cli/bin/unipipe
  error: Unknown option "--allow-read". Did you mean option "--help"?

I'm not sure what the right answer is wrt. behavior. I'm thinking of using a somewhat simplified check like this right now
  const denoExecutable = Deno.execPath();
  const isRuntime = path.basename(denoExecutable) === "deno"; // simple and stupid, but avoids recursively invoking ourselves!

  if (!isRuntime) {
    const msg = `Upgrade is only supported when cli was installed via "deno install".`;
    program
      .command("upgrade")
      .description(msg)
      .action(() => {
        console.error(
          msg
          + `\nThis version at ${denoExecutable} appears to be a self-contained binary.\n`
          + `\nTry installing via:\n`
          + `\n\tdeno install https://raw.githubusercontent.com/meshcloud/unipipe-cli/v${VERSION}/unipipe/main.ts ${FLAGS}`

          );
        Deno.exit(1);
      });
  }

@c4spar Do you have plans to support it?

Yes i want to support this. I think we can adapt the GithubProvider to support downloading binaries uploaded on github. PR's are welcome.

The function needs to read the user OS type.
It should add a prefix to the filename of the binary depending on the OS.

We could do it the following:

Detect if the cli is a binary or a script.
Each provider should have a property which indicates if it supports binary and/or script updates.
If no registry is provided via cli option, use the first supported provider in the options array.
Get the github release for the requested version via github api and look for an asset which includes Deno.build.os and Deno.build.arch.
Download the binary and install it in the target location.
Try to auto detect the location of the binary and fallback to a provider location option.
Add a global option to the upgrade command to be able to override the provider location option.
Maybe add also a global environment variable to the upgrade command for the location which can be optionally enabled. The prefix of the env var should be also configurable.

My team has a solution we use for this feature, it is still a little rough around the edges but I can polish it up if it seems useful: https://github.com/polyseam/cliffy-provider-gh-releases

@JohannesRudolph Works great, I'll try it.

Support for private repositories with GH releases would also be a nice to have as well.

@andrewthauer would reading and using a token from a defined environment variable like GITHUB_TOKEN be enough?

Yep.
Even better would be using an approach similar to how homebrew does with their GitHub::API.credentials method. Try and resolve from gh cli, then git credential manager, followed my env vars GITHUB_TOKEN or GH_TOKEN.
Another possible option would be to use DENO_AUTH_TOKENS as well.

@andrewthauer I added basic private repo support, it just uses those env vars for now
https://github.com/polyseam/cliffy-provider-gh-releases/releases/tag/v0.3.0


feat(service/sqld): init sqld service

Someone should have run the tests locally ... 😅

I've fixed the +x