fix: update add leading zero to delete digit before decimal

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/27029
PROPOSAL: https://github.com/Expensify/App/issues/27029#issuecomment-1711826542
Tests

[ ] Verify that no errors appear in the JS console
Navigate to request money amount form
Add a amount with decimal eg. 1.34, Verify user can delete 1 in 1.34 and amount becomes 0.34

Note-  You wont be able to delete 0.
Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console
Navigate to request money amount form
Add a amount with decimal eg. 1.34, Verify user can delete 1 in 1.34 and amount becomes 0.34

Note-  You wont be able to delete 0.
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] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If 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/104348397/f6a9b827-89b5-4e7d-b259-2f039f42a8dd

Mobile Web - Chrome

Mobile Web - Safari
https://github.com/Expensify/App/assets/104348397/7e8508c9-79cb-4bb3-b2eb-1840ff6bf3f7

Desktop
https://github.com/Expensify/App/assets/104348397/761fe0b0-36f2-42d3-90d4-d9f7b21da035

iOS
https://github.com/Expensify/App/assets/104348397/b580ae41-a1b7-4db0-893f-76a7acc4294b

Android
https://github.com/Expensify/App/assets/104348397/46596148-6bac-4ea2-94c5-877bfbdabc4b

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (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] 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[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] 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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/28352309/8a30817b-3efc-41ac-bca9-0220d4174775

Mobile Web - Chrome
https://github.com/Expensify/App/assets/28352309/6463fffd-8f4a-4ed1-9601-a328d19c153f

Mobile Web - Safari
https://github.com/Expensify/App/assets/28352309/abac6ee9-088c-4f9e-8709-a63de8c95147

Desktop
https://github.com/Expensify/App/assets/28352309/0e3eb8bd-e15a-46d4-a8bf-51f04cf7fda0

iOS
https://github.com/Expensify/App/assets/28352309/748d3fd9-6594-4de5-8f22-23b769420c80

Android
https://github.com/Expensify/App/assets/28352309/1c645db0-0813-45b4-8fd5-82768db315eb

: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/MonilBhavsar in version: 1.3.80-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.80-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.81-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


LuneOS Support

Another potential target for Universal Components is LuneOS who also have their own set of QML Components (https://github.com/webOS-ports/luneos-components) based off QtQuick.Controls.
Might be a good idea to flag this project to some LuneOS developers to help get mobile Qt developers to support their platform

Another potential target for Universal Components is LuneOS who also have their own set of QML Components (https://github.com/webOS-ports/luneos-components) based off QtQuick.Controls.

Being based on Controls could help a lot - Silica using its own inventions in that are similar but still considerably different is serious pain in the ass in some cases. :)

Might be a good idea to flag this project to some LuneOS developers to help get mobile Qt developers to support their platform

Definitely! But I'm afraid I don't really know them and would probably not know who to reach out. But I guess something like little advertising on a mailing list could be a good start.
BTW, and idea what devices support LuneOS ? I still have the HP TouchPad, but as I'm currently using it for testing UC & modRana on Android I can't really do a full reflash if that is required.

Devices are here: http://www.webos-ports.org/wiki/Devices
Looks like the HP Touchpad is among them, but im not sure if you can do a dualboot or otherwise keep your android install intact without doing a full backup and restore

I spoke to some of the guys in #webos-ports and it seems like its maybe a bit premature for such things, and they allow the use of QtQuick.Controls anyway so its not really a net gain.
But they're aware of the project now, so maybe sometime in the future

I spoke to some of the guys in #webos-ports and it seems like its maybe a bit premature for such things, and they allow the use of QtQuick.Controls anyway so its not really a net gain.

But they're aware of the project now, so maybe sometime in the future

Yeah, that looks like the best solution for now. :)


Consider using either TLS endpoints or local endpoints but not both

Initially, TLS endpoints started as a secure option for local endpoints (so fully encrypted connection even between local proxy - like nginx) that can be exposed (because of encryption and shared, static port). It seems unnecessarily complex to have wormhole listen on both TLS and dynamic ports opened for each session (so right now always 2 endpoints for each session).
@doodles526 I think we should make it either/or. I know we talked about having a support for both initially, but that constraint is gone. We could just make UseSharedPortForwarding turn off local endpoints. Thoughts?

Yeah, I agree on that front. Using both at the same time was put there by me mostly as a way to make sure you all could easily transitiong existing connections. If that change is finished on your end I think having one or the ether is a solid decision


42605: Data Region Export to Text Redirects to Login

Rationale
This PR addresses Issue 42605 by switching the URL generation from new URL(absolute) to new URL(relative, base) for the text export options. This utilizes the recently introduced JspBase.jsURL() to generate JS for a URLHelper.
Changes

Switch JspBase.jsURL() to use new URL(relative, base) alternative constructor.
Update all current usages of new URL() in platform to use JspBase.jsURL().

👍


TODO: Async storage

Add asynchronous storage of queues (async json, aiosqlite or redis???) for high performance

StorageManager  interface implemented. Json storage now asynchronous. Maybe will replace with aiosqllite


Cross compiling failed

I am trying to compile k3s with cross compiling from centos to raspberry pi with command:
GOOS=linux GOARCH=arm go build -o k3s
But I got the error:
vendor/github.com/google/cadvisor/accelerators/nvidia.go:29:2: build constraints exclude all Go files in /home/user/mygo/src/github.com/rancher/k3s/vendor/github.com/mindprince/gonvml
I tried go version 1.11 and 1.11.4.

This might be due to the fact that github.com/mindprince/gonvml is CGO. When cross compiling does CGO work?

Yes, CGO works. Thank you!


Upload to the AppStore

test discord-bot

https://github.com/nwjs/nw.js/wiki/Mac-App-Store-(MAS)-Submission-Guideline#first-steps


Publishing prql-java to maven central

Hi there! Any plan to publish the official Java lib with cross-compile native binaries to maven central? It would be fun to add it into a JDBC driver, so that user can issue PRQL in addition to SQL in popular database client like DBeaver/DataGrip :)
I noticed https://repo1.maven.org/maven2/io/github/doki23/prql-java/0.0.3/, but unfortunately it does not have native binary for mac. Apart from that, the Java package should be changed to org.prqllang, right?
cc: @doki23

The java lib is incomplete now. If you want to use it immediately, you can build it local.

Thanks @doki23. Understood prql-java and dialect support are still at early stage. What I'm trying to do is a fast prototype hoping to increase usage and get more feedback for future development. I'll try to create a new artifact later next month, if there's no plan to release the official Java lib.

I would also like to use PRQL from DBeaver and commented a bit on that in a thread on Discord: https://discord.com/channels/936728116712316989/1066475896581660773/1067781287009591398
A JDBC driver to enable this would be huge! @zhicwu If you want to take a stab at it, I'm sure the team will offer you as much support as we can!

Thanks @snth, good to know it might be of use :) A DBeaver plugin would be great, but it's just one database client, right? Perhaps it's better to create prql-jdbc as a wrapper of all other JDBC drivers using a slightly different connection string(e.g. jdbc:prql:mysql://localhost instead of jdbc:mysql://localhost).
Anyway, the rough idea I have in mind at this point is:

wait patiently for my new laptop :p
get a working prql-java - perhaps repack it under com.clickhouse:org.prqllang first
enhance ClickHouse Java client and JDBC driver to use prql-java(just compiling PRQL to SQL using clickhouse dialect)
test the driver in DBeaver and release
submit an annoying issue in DBeaver repo asking for PRQL syntax highlighting and autocompletion ;)
wait for complaints...

Jokes aside, I think it's critical to publish prql-java to maven central first to unblock development in all Java applications. It should be fairly easy to implement prql-jdbc(as a submodule of prql-java) to bring PRQL to all JDBC-based database clients including DBeaver and DataGrip. I'd love to create a PR for this.

@zhicwu your proposal for a prql-jdbc driver sounds great and the proposed connection string format jdbc:prql:mysql://localhost too.
Looking forward to seeing what you come up with!

Great! So I forked the repo, did some search, and thought this over. I'm going to create 2 or 3 PRs one by one for each of the changes shown below. Please review and let me know if there's any concern or better idea.

Rewrite prql-java
a. use org.prqllang as group id and package name for consistency
b. make prql-java a multi-module project, with below directory structure
prql-java                       # parent project of 3 modules: prql-api, prql-jdbc, and prql-parer
 |--- prql-api                  # provides API for PRQL compiling and maybe transformation later
        |--- src
               |--- main
                      |--- java
                      |--- rust # just trying to follow standard maven directory structure
 |--- prql-jdbc                 # JDBC wrapper to enable PRQL support
 |--- prql-parser               # less important for now
 |--- examples                  # and remove prql-java-demo?

c. change APIs to something like below:
String prql = "...";
String sql = org.prqllang.PrqlApi.getInstance().toSql(prql);
String json = org.prqllang.PrqlApi.getInstance().toJson(prql);

// enforce to use JNI
sql = org.prqllang.PrqlApi.getJniInstance().toSql(prql);
// enforce to use CLI(including docker/podman)
json = org.prqllang.PrqlApi.getCliInstance().toJson(prql);

d. load native library in below order, with consideration of prql-api might be repacked in a shaded jar

java.library.path(same as LIBPATH)
/META-INF/natvies/<os>/<lib> inside prql-jar.jar
~/.prql/<lib>

e. fall back to prql-compiler CLI and docker/podman when native library is not available(or failed to load)
f. workflow for publishing the artifact to maven central - start with separate workflow and then update existing ones?
g. examples to show to use it

Add prql-jdbc
a. a simple JDBC wrapper(focusing on JDBC 4.2) with mappings for all supported dialects
b. some integration tests to cover some databases(e.g. h2, sqlite, clickhouse, mysql, and postgresql etc.)
c. examples

Add prql-parser
a. a Congo(aka. JavaCC 21) grammar file similar to prql-compiler/src/parser/prql.pest - it can be used to generate parser for C# and Python as well
b. some unit tests - would be great to reuse the same cases for rust implemetation
c. examples

It's not complex but I do need some time to complete all the work, and I didn't mention documentation at all ;) Besides, I know nothing about rust, so I'll simply reuse what we have here to build the JNI lib and get them packed in prql-api.jar.
Lastly, please help with below items in order to publish the artifacts to maven central:

Create GPG key(for signing artifacts) and send key to keyserver.ubuntu.com
Sign up two accounts(one for yourself and the other for CI) on https://issues.sonatype.org
Create a ticket like OSSRH-73453 applying new group id org.prqllang and access for specific accounts(e.g. yourself and the CI account) - you'd better add TXT as in the example to prove that you're owner of prql-lang.org
Define repository secrets: GPG_PRIVATE_KEY, GPG_PASSPHRASE, SONATYPE_USER, SONATYPE_PASSWD

Will start with prql-java rewrite if we're all good with above. We can discuss details on Discord if needed.

This sound awesome @zhicwu !
I have very little Java experience, so I these comments won't be that insightful unfortunately. But others should feel free to comment as ever.
A couple of small questions:

String sql = org.prqllang.PrqlApi.getInstance().toSql(prql);

We have changed our API slightly to use compile here; so would be great if we could use the same names in prql-java. Here's the python impl as a comparison: https://github.com/PRQL/prql/blob/1fdd322579db07805cfb882ced37883fceb52c6c/prql-python/python/tests/test_all.py#L36

e. fall back to prql-compiler CLI and docker/podman when native library is not available(or failed to load)

Is this standard in Java? Generally I would have imagined this might give confusing error messages, and having no fallback would be OK. But again, if this is standard in java then great.

2. Add prql-jdbc

Would this mean that someone could use prql-jdbc as a JDBC library, and get back data? So the JDBC library does the PRQL-to-SQL compilation? That would be very cool. My understanding is that JDBC is more used for OLTP than OLAP (which is more of PRQL's focus), but this would still be useful / v nice to abstract that interface away.

3. a. a Congo(aka. JavaCC 21) grammar file similar to prql-compiler/src/parser/prql.pest - it can be used to generate parser for C# and Python as well

I couldn't find anything online about Congo grammars. What would the goal of this be? For syntax highlighting?

Besides, I know nothing about rust, so I'll simply reuse what we have here to build the JNI lib and get them packed in prql-api.jar.

We're very happy to help on the rust side!

Lastly, please help with below items in order to publish the artifacts to maven central:

For sure, let me know when you're ready and I'll make some keys...

use org.prqllang as group id

Great. Not sure how it standardizes around punctuation. The website is prql-lang.org with a -.

Thanks for the feedback!

We have changed our API slightly to use compile here; so would be great if we could use the same names in prql-java.

Sure, will do the same in Java for consistency.

Is this standard in Java? Generally I would have imagined this might give confusing error messages, and having no fallback would be OK.

It's not a standard. The idea is to try harder to make it work even when JNI library is missing or not working(incompatible with the installed lib for instance). PrqlApi.getJniInstance().compile(...) won't have the fallback and will throw an exception instead. Let's take it as low priority - I'll add an option or so to disable the fallback by default.

Would this mean that someone could use prql-jdbc as a JDBC library, and get back data? So the JDBC library does the PRQL-to-SQL compilation?

Yes, a JDBC driver for PRQL so that all JDBC-based database clients understand PRQL. The JDBC library is a wrapper of existing JDBC drivers. It takes PRQL as input, call above method for PRQL-to-SQL compilation, and then pass the SQL to the actual JDBC driver for execution.

I couldn't find anything online about Congo grammars. What would the goal of this be? For syntax highlighting?

Sorry I was talking about https://github.com/congo-cc/congo-parser-generator (migrating from https://github.com/javacc21/javacc21). It will be a parser generating AST, so it would be overkill for syntax highlighting etc. I take that as an approach of learning PRQL grammar, but I hope to do more with that for client-side optimization in the future, for example enhanced grammar for queries across multiple datasources etc. Probably worthy of a separate issue for discussion.

For sure, let me know when you're ready and I'll make some keys...

Thanks. I think you may start to make the keys, apply access and maven group id on sonatype, and setup repository secrets whenever you have time :)

Not sure how it standardizes around punctuation. The website is prql-lang.org with a -.

Unfortunately Java does not support - in package name and so does maven group id. Unicode like \u0335 can be used but it's really confusing. Personally, I think org.prql is better but it's not aligned with the domain name.

Sounds great! I have a question: If the grammar is updated, whether it means we need snyc it with the Java parser?

That all sounds great.
From the perspective of the project here's a quick take on each of the items — but also do what you want to do:

it would be most helpful to have the Java library available and published
I'm can't immediately visualize what the project would gain from a Congo grammar — we already have lots of grammars because tools use different ones for syntax highlighting https://prql-lang.org/book/internals/syntax-highlighting.html (but of course you're welcome to do it as a side-project / maybe there are areas where it would be helpful)

It would be a huge amount of work to rebuild the whole compiler in Java, I would not recommend that as a side project...

The JDBC driver is a great idea

Unfortunately Java does not support - in package name and so does maven group id.

OK cool. I registered prqllang.org and redirected it (doesn't redirect correctly for a few hours though)

Thanks @doki23 and @max-sixty! Let's drop the crazy idea of having prql-parser in Java for now :)
To recap what we discussed:

I'll start with prql-java rewrite and publish prql-api to maven central
and then I'll add prql-jdbc so that we can issue PRQL in popular JDBC-based database clients

I have some work on hand to complete by this week. Will try to get back to this next week.

Yes, a JDBC driver for PRQL so that all JDBC-based database clients understand PRQL. The JDBC library is a wrapper of existing JDBC drivers. It takes PRQL as input, call above method for PRQL-to-SQL compilation, and then pass the SQL to the actual JDBC driver for execution.

This would be so huge! Can't wait to see this come to life!

OK, I lied. I implemented prql-jdbc first and I'm not going to submit two PRs but one :) Again, I'll get back to this next week.

If hyphens aren't allowed in the domain name on Maven maybe you could replace it with a underscore? Like org.prql_lang.

As discussed with @zhicwu :

@zhicwu can will open the Jira tickets at https://github.com/PRQL/prql/issues/1643#issuecomment-1410405137
When we're ready, I will validate the domain
@zhicwu can open an issue about changing the prql-lib API, so that in C# & Java, we don't have this 1024 byte limit on the return value. I will keep an eye on it (I don't know C well, so I'm not the best person to do it, but will help, and if really needed, I'll take up C again... :) )
@zhicwu will submit a PR for the java bindings, and move the JDBC code to another repo for the moment

This will let us merge his excellent code, so we can base further changes on that code. Hopefully @linux-china can offer feedback as the original author, and a consumer of prql-java.
Thank you @zhicwu !

Thanks @max-sixty. Please add dns TXT record for validation as requested at here.

If hyphens aren't allowed in the domain name on Maven maybe you could replace it with a underscore? Like org.prql_lang.

Thanks @vanillajonathan, let's use underscore then.

Thanks @max-sixty. Please add dns TXT record for validation as requested at here.

Done!

Hi, what is the current status of this?
I am really looking forward to DBeaver integration (https://github.com/PRQL/prql/issues/1643#issuecomment-1425996990).
Thanks.

@zhicwu let me know if you had any time to work on this — the code was already very close indeed!

Apologies for my delayed response. I've spent most of my spare time trying to close a release by tomorrow. I should be able to get back to this later next week.

You may now download the JDBC driver (e.g. jdbcx-driver-0.1.0.jar) from either Github Release or Maven Central, and follow instructions at here to use PRQL in DBeaver.

Great news!
I've tested it using DataGrip, and managed to connect to the database, but it was not compiling PRQL to SQL.

Thanks for trying it out! Just tried DataGrip, it works but not as smooth as on DBeaver. I use jdbcx:prql:ch://explorer@play.clickhouse.com:443?ssl=true for testing by the way. Will try more databases and enhance the driver later.

Ah I was using jdbcx:postgres:... instead of jdbcx:prql:postgres:....
Now it's working great. The introspection is not working (obviously), but otherwise, this is a great interface for testing out PRQL!

@zhicwu This is very exciting! Thank you very much for this! 🙏
I'm trying to use this with DBeaver on Windows but am having some issues:
I downloaded the jdbcx-driver-0.1.1.jar file and placed it in the ~\Downloads\JDBCX directory referenced below but I get the following error:

I don't actually have a working prqlc binary that's reachable from Windows since I usually do all that from WSL but I assume that I would get a different error for that?

Thanks for the feedback! Indeed there's issue on Windows, but it's been fixed in 0.1.2.
Judging from the error message, you need either put PostreSQL JDBC driver under C:\Users\Tobias\Downloads\JDBCX directory, or add it into classpath in DBeaver. JDBCX is just a wrapper, it relies on existing JDBC driver to query database.
As to prqlc, if you have rust installed in WSL, you can simply get that by issuing command cargo install prqlc. With that, you can set jdbcx.prql.cli.path to something like wsl -- /home/zhicwu/.cargo/bin/prqlc in DBeaver, so that JDBCX can use that to compile PRQL into SQL.

Hi all, I have found an easier way to set up this PRQL wrapper in DBeaver, by getting DBeaver to handle the driver download :) I will use the example of setting up PRQL with the Postgres JDBC driver.

Make sure that the prqlc command is installed on your system and note down its path.

In DBeaver, Database -> Driver Manager -> New

Name the driver whatever you like; I went for postgres-prql.

Class Name is io.github.jdbcx.WrappedDriver
URL template is jdbcx:prql:postgresql://{host}[:{port}][/{database}]. Replace postgresql with your desired database type if you are not setting up the driver for Postgres.

You may also want to Allow Empty Password.

Under Libraries tab, choose Add Artifact and paste in the JDBCX driver Maven dependency specification:
<!-- https://mvnrepository.com/artifact/io.github.jdbcx/jdbcx-driver -->
<dependency>
    <groupId>io.github.jdbcx</groupId>
    <artifactId>jdbcx-driver</artifactId>
    <version>RELEASE</version>
</dependency>

Click OK.

Repeat to add the Postgres driver.
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>RELEASE</version>
</dependency>

If you want a non-Postgres JDBC driver, you'll need to provide your desired driver's Maven specification instead. You can also freeze the versions if you like by replacing RELEASE with a version number (current versions are jdbcx-driver 0.1.4 and postgresql 42.6.0)
This puts the postgres driver on your classpath so you do not have to add it manually later.

Click Download/Update. DBeaver offers to download the drivers for you. Click Download.

Under Driver Properties tab, set:

jdbcx.prql.cli.path to your path to prqlc (depending on your system, it may be able to find it with just prqlc, but this was not the case for me)
jdbcx.prql.compile.target to postgres (or the appropriate prql target name for non-postgres)
You may want to also experiment with jdbcx.prql.compile.error. The default is ignore which will ignore PRQL compile errors and pass the query through untouched. This is useful because it will not break DBeaver's GUI for things like viewing data, creating and dropping tables and so on. The downside is that you will not get helpful error messages if you write malformed PRQL. Setting it to throw will instead cause queries to fail if they are not valid PRQL, but will prevent the use of the data viewer, table creation DDL, etc.
You may have to right-click and "Add New Property" if the default driver properties are not listed; while testing this, I found that they sometimes didn't show up (not sure why)

Create a new connection and choose your newly created postgres-prql driver.

At this point you should be able to enter host, post, database, username and password and connect as usual. Any queries you make through this connection will use PRQL!
Many things will still break: for example the interactive filtering, grouping pane, etc. But you can enter and run PRQL queries from the scripting window.


Cross-match with exoplanet host star database

This may constitute the largest database of exoplanet host star abundances ever constructed.
Cross-match against exoplanets.eu and if the sample is comparable/significant to Valenti & Fischer (2005), etc, then we should make mention of this in the abstract

With a conservative 3" cone, there are currently 35 matches in the exoplanet.org catalog, and 32 in the exoplanets.eu catalog.
This comparison isn't so useful anymore given the sample size. But our abundances will still be critically important for new planet-hunting missions (e.g., TESS). So we can stress that in the paper/abstract instead.


Support the use of client certificates

Description
When communicating with customers on-prem servers (e.g. BBS or GHES) it's possible they have configured them to require client certificates (we had at least one ticket from a BBS customer that was blocked from using bbs-exporter because it doesn't support client certificates).
We could add some extra args to support client certs in bbs2gh and gei. HttpClient already has support, we just need to do a bit extra configuration.

@dylan-smith I will have a look at this. Feel free to assign it to me :)


git sources vs 'error packfile does not match index'

since updating bundler a few weeks ago we see these random errors on ci on a fairly regular basis:
Updating git@github.com:foo/mocha.git
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
fatal: bad object 78b6170c61dcca17ad3cb05383aaf3c4dd60f748
error: github.com:zendesk/mocha.git did not send all necessary objects

Retrying git fetch --force --quiet --tags 'git@github.com:foo/mocha.git' "refs/heads/*:refs/heads/*" due to error (2/4): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags 'git@github.com:foo/mocha.git' "refs/heads/*:refs/heads/*"` in directory /home/travis/build/foo/foo/vendor/bundle/ruby/2.1.0/cache/bundler/git/mocha-88c3190f481167b157be201d24c768aafa197a8c has failed.

it seems like some git download failed but re-fetching it does not solve it, would it make sense to say something like "if a fetch failed, try a fresh clone since the repo might be broken" ?
any other idea how to avoid these errors or make them retry nicely ? (checking in bundle package --all would help ... but we don't want to do that ...)

Does reverting to an older Bundler make these problems go away? Is there a git command that fixes it? Is the only way to resolve it deleting the clone and trying again? Do you use Travis bundle caching, or are you cloning fresh copies of these git repos for each build? Since Bundler is literally just shelling out to git, doesn't it seem more likely that this is a disk problem or a network problem than a Bundler problem?
On Thu, Apr 23, 2015 at 8:41 PM, Michael Grosser<EMAIL_ADDRESS>wrote:

since updating bundler a few weeks ago we see these random errors on ci on a fairly regular basis:
Updating git@github.com:foo/mocha.git
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
error: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack does not match index
warning: packfile ./objects/pack/pack-a63a40f7f6a61ad1ee20d1d46642046057e5fc39.pack cannot be accessed
fatal: bad object 78b6170c61dcca17ad3cb05383aaf3c4dd60f748
error: github.com:zendesk/mocha.git did not send all necessary objects
Retrying git fetch --force --quiet --tags 'git@github.com:foo/mocha.git' "refs/heads/*:refs/heads/*" due to error (2/4): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags 'git@github.com:foo/mocha.git' "refs/heads/*:refs/heads/*"` in directory /home/travis/build/foo/foo/vendor/bundle/ruby/2.1.0/cache/bundler/git/mocha-88c3190f481167b157be201d24c768aafa197a8c has failed.

it seems like some git download failed but re-fetching it does not solve it, would it make sense to say something like "if a fetch failed, try a fresh clone since the repo might be broken" ?
any other idea how to avoid these errors or make them retry nicely ? (checking in bundle package --all would help ... but we don't want to do that ...)
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/3589

It's definitely not a pure bundler issue, maybe github started acting weird at that time or the error catch/retry strategy of bundler failed ... I implemented a hack that will remove all pack files on error ... I'll report back with the findings ...

I don't think it has anything to do with bundler. see Problems with corrupt git repo and this script; they may be useful.

Here is our current solution after trying 3 different approaches ...
basically what it does is replace the pointless retries with doing clean checkouts
if ENV["TRAVIS"]
  # try fixing corrupt pack errors https://github.com/bundler/bundler/issues/3589
  # and 'You appear to have cloned an empty repository'
  # errors we saw so far originate in copy_to and checkout
  # - git fetch --force --quiet --tags # copy_to
  # - git reset --hard # copy_to
  # - git clone --no-checkout --quiet # checkout
  # just wrapping copy_to/checkout does not work since the retries already produces
  # so much output that travis stops, so we attack from inside of the git_retry ... good times
  require 'bundler/source/git/git_proxy'
  Bundler::Source::Git::GitProxy.prepend(Module.new do
    def copy_to(destination, *args)
      with_hard_retry(destination) { super }
    end

    def checkout
      with_hard_retry { super }
    end

    def with_hard_retry(destination=nil)
      Thread.current[:bundler_hard_retry] = true
      yield
    rescue Bundler::Source::Git::GitCommandError
      retried ||= :no
      raise if retried == :yes
      retried = :yes

      puts "Git error detected, trying hard retry"

      FileUtils.rm_rf(path) && checkout # clean checkout of source dir
      FileUtils.rm_rf(destination) if destination # trigger clean copy when retrying copy_to

      retry
    ensure
      Thread.current[:bundler_hard_retry] = nil
    end

    def git_retry(*args)
      if Thread.current[:bundler_hard_retry]
        git(*args)
      else
        super
      end
    end
  end)
end

Closing this as a non-bundler issue. Anyone that feels we could improve the retry mechanism feel free to open a PR and reference this issue. Thanks :)


Change Run By Line button to next arrow when running

14:45 of video log
I was confused as to how to go to the next line in run by line mode. I would've liked the run by line icon to change to the next line arrow like in the debug toolbar

Slow due to screensharing

Mistakenly closed

I don't think we should reuse that button, because it is doing something different. Would rather just get people used to clicking the special RBL button to do RBL. Also, we are about to add a "continue" button which is the continue icon from the debug toolbar and don't want to get confused with that.


camel-quarkus-integration-test-js-dsl should unpack its resources to target rather than src

or otherwise the Platform CI complains about uncommited changes in:
generated-platform-project/quarkus-camel/integration-tests/camel-quarkus-integration-test-js-dsl/src/main/resources/module.mjs

Let's solve it otherwise.


Loader feature

Description
Added a Loader on the Landing page which will appear while the data is being fetched.
Fixes #37
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

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

A screenshot or a video would be better.

Here you go.


Validate GH action only on PR

What this PR does / why we need it:
It seems { github.base_ref } value does not work for push event.
It is enough to validate when PR is sent so this patch drops the push.
Which issue(s) this PR fixes:
NONE - just a clean up.
Does this PR needs for other branches:
/cherry-pick release-v1.10
Does this PR (patch) needs to update/drop in the future?:
NOE

/cherry-pick release-v1.10

/cherry-pick release-v1.9


Document ?recursive

Another question for you dragon: what do you think the behaviour should be here? Is it reasonable to require ?recursive to be part of the MAC, or should we allow you to choose to do ?recursive if you hold the MAC for that more general path fragment? I think maybe we should not put ?recursive in the MAC, but we should weigh the pros and cons.

Documentation is fine, though at this point you may want to add a note about the channel being sent too.


FIX: adding state change after repay loan

Fixes liquidateLoanFull reverting due to _repayLoan changing bid state
Adds to the tests to prove that this was an issue and to prove that this change fixes the issue

fix for Sherlock audit from PR #66


v4.1 Card Navigation bg-color, but tag bg-color is white

set the card bg-light , but the tag bg-color still is white, how to change the tag bg-color ?
https://getbootstrap.com/docs/4.1/components/card/#navigation

        Active

        Test

    test

Hi @yannakos,
You can change the $nav-tabs-link-active-bg in scss.

thankyou for your reply
but i don't know how to change in scss
can i override it by my own css ?
i don't know which css is controlling the active tag bg-color
can you share the css ?

You're probably just loading the default bootstrap.css, but it's also possible to build your own customised version with scss. If you don't use scss, you can override it with the following css:
.card.bg-light .nav-tabs .nav-link.active {
  background-color: #f8f9fa;
}


MatMenu inside loop

MatMenu carrying last instance for all the listitems in foreach loop

Potentially you need to save to temp variable in foreach.
https://blazorfiddle.com/s/czzvzdqb

we want MatMenu inside the foreach loop

Answered on StackOverflow

Unfortunately this StackOverflow solution doesn't seem to work correctly. If you refresh the underlying data the MatMenu references are lost for some reason. Any workaround for this?
Example BlazorFiddle


synchronize schema spec

What
APM agent json schema automatic sync
Why
Changeset

Codecov Report

Merging #1755 (fa92e41) into master (d7de9d2) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1755      +/-   ##
============================================
- Coverage     61.13%   61.12%   -0.01%
- Complexity     3607     3608       +1
============================================
  Files           402      402
  Lines         18294    18294
  Branches       2509     2509
============================================
- Hits          11184    11183       -1
- Misses         6323     6325       +2
+ Partials        787      786       -1

Impacted Files
Coverage Δ
Complexity Δ

...tic/apm/agent/report/ssl/TLSFallbackSSLSocket.java
39.13% <0.00%> (-2.18%)
20.00% <0.00%> (ø%)

...ic/apm/agent/profiler/collections/LongHashSet.java
16.66% <0.00%> (+0.79%)
12.00% <0.00%> (+1.00%)

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 d7de9d2...fa92e41. Read the comment docs.

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1755 opened

Start Time: 2021-04-12T09:58:41.460+0000

Duration: 52 min 31 sec

Commit: fa92e412cacfb2dd0d7c774f1d0aae8ef4da7a4f

Test stats :test_tube:

Test
Results

Failed
0

Passed
1982

Skipped
19

Total
2001

Trends :test_tube:

:green_heart: Flaky test report
Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
0

Passed
1982

Skipped
19

Total
2001


LIIKUNTA-488 | fix(venue-graphql-proxy): handle null TPREK unit gracefully, expose more fields, refactor for type safety

Description
fix(venue-graphql-proxy): handle null TPREK unit gracefully
instead of crashing on null TPREK unit return empty data
refs LIIKUNTA-488 (the bug)
refs LIIKUNTA-542, LIIKUNTA-543 (instances of LIIKUNTA-488)
feat(venue-graphql-proxy): expose more fields from TPREK unit endpoint
add fields:

organizationId <- org_id
departmentId <- dept_id
providerType <- provider_type
addressPostalFull <- address_postal_full_(fi|sv|en)
shortDescription <- short_description_(fi|sv|en)
displayedServiceOwner <- displayed_service_owner_(fi|sv|en)
displayedServiceOwnerType <- displayed_service_owner_type

also:

make translating fields more type safe by using dependent types in
formTranslationObject function
fix types in general

refs LIIKUNTA-488
refactor(venue-graphql-proxy): refactor Venue resolvers & Hauki support

add type safety to Venue resolvers by ensuring on type level that
Venue has a resolver for each TranslatedVenueDetails property
change from haukiEnabled to isHaukiEnabled

probably this didn't work previously
NOTE: Looks like Hauki support may be incomplete or partly broken

refs LIIKUNTA-488
Issues
Closes
LIIKUNTA-488
LIIKUNTA-542
LIIKUNTA-543
Related
Testing
Automated tests
Manual testing
Screenshots
Additional notes

VENUE GRAPHQL PROXY is deployed to platta: https://venue-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

VENUE GRAPHQL PROXY is deployed to platta: https://venue-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

Codecov Report

Merging #419 (f4db3ea) into main (1df050b) will increase coverage by 0.66%.
Report is 4 commits behind head on main.
The diff coverage is 25.00%.

@@           Coverage Diff            @@
##            main    #419      +/-   ##
========================================
+ Coverage   9.09%   9.75%   +0.66%
========================================
  Files         25      25
  Lines        396     410      +14
  Branches     113     116       +3
========================================
+ Hits          36      40       +4
- Misses       355     365      +10
  Partials       5       5

Files Changed
Coverage Δ

...venue-graphql-proxy/src/resolvers/VenueResolver.ts
0.00% <0.00%> (ø)

...y/src/resolvers/enrichers/VenueOntologyEnricher.ts
0.00% <0.00%> (ø)

...resolvers/integrations/VenueResolverIntegration.ts
0.00% <ø> (ø)

...solvers/integrations/VenueServiceMapIntegration.ts
0.00% <0.00%> (ø)

...-graphql-proxy/src/resolvers/venueQueryResolver.ts
0.00% <ø> (ø)

proxies/venue-graphql-proxy/src/utils/utils.ts
40.47% <23.07%> (+1.00%)
:arrow_up:

...roxies/venue-graphql-proxy/src/config/AppConfig.ts
29.41% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

VENUE GRAPHQL PROXY is deployed to platta: https://venue-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

VENUE GRAPHQL PROXY is deployed to platta: https://venue-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

Hobbies-Helsinki branch is deployed to platta: https://harrastukset-pr419.dev.hel.ninja :rocket::rocket::rocket:

Events-Helsinki branch is deployed to platta: https://tapahtumat-pr419.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://harrastukset-pr419.dev.hel.ninja :laughing::tada::tada::tada:

Sports-Helsinki branch is deployed to platta: https://liikunta-pr419.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://tapahtumat-pr419.dev.hel.ninja :laughing::tada::tada::tada:

TestCafe result is success for https://liikunta-pr419.dev.hel.ninja :laughing::tada::tada::tada:

EVENTS GRAPHQL PROXY is deployed to platta: https://events-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

VENUE GRAPHQL PROXY is deployed to platta: https://venue-graphql-proxy-pr419.dev.hel.ninja :rocket::rocket::rocket:

As these changes were approved and this PR's base branch LIIKUNTA-548-fix-clean's changes were approved with the Subset type and its SubsetTests compile time tests in typescript.utils.ts file I feel that merging this into main after rebasing on main and having moved the Subset and its tests into this PR does not need re-review anymore.


Update scalamock to 5.1.0

Updates org.scalamock:scalamock from 5.0.0 to 5.1.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalamock", artifactId = "scalamock" } ]

labels: test-library-update, semver-minor

Codecov Report

Merging #165 (6101d94) into master (50e1504) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #165   +/-   ##
=======================================
  Coverage   57.83%   57.83%
=======================================
  Files          20       20
  Lines         287      287
  Branches        4        4
=======================================
  Hits          166      166
  Misses        121      121

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 50e1504...6101d94. Read the comment docs.


Create log directory if it doesn't exist for the spatial output (#1863)

cherry-picks https://github.com/spatialos/UnrealGDK/pull/1863

I just tested this in a local deployment of Starter Project.


Migrate from dep to Golang 1.11 Modules

[ Going off this conversation: https://macadmins.slack.com/archives/CCDDKMQ8K/p1553880610004400 ]
This PR will deprecate the use of deps in lieu of Modules introduced in Golang 1.11. It also amends the Makefile to remove the go get statementsas well as introducesgomodcheck` (thanks to @groob).
I'm only about 60% certain that this is entirely correct, but figured I'd take a whack at it anyway. Happy Friday.

go mod removes our need for the vendor directory. Let's remove that directory.
Commit 6bf0c25 fixes this.

There is no go.sum. Running go mod tidy should create one.
Commit 245ae0f checks this one off.

Add export GO111MODULE=on to the make file so mod won't fail by default.
Done and done with commit 67ac586.

It looks like AppVeyor is failing because of this bug that affects Go 1.11.3 or earlier. They have Go 1.12 planned for the Appveyor images soon ("2-4 weeks" on March 5th).

The changes look good to me and I was able to successfully lint, build, and test on my machine.
Thanks again @ChefAustin!!


fix: MD027/no-multiple-space-blockquote

Multiple spaces after blockquote symbol
Find: \]\n( *)>
Replace: ]\n$1>
Filter: *.md
Some manual cleanup afterwards

@nschonni : Thanks for your contribution! The author, @gewarren, has been notified to review your proposed change.

@gewarren - Would you review the proposed changes? Thank you.

@JasonCard We've had a number of far-reaching whitespace improvement PRs (like this one) coming through our repo. Does this pose any issues for localization?

@gewarren Thank you for checking. Removing white space will not affect loc, so no worries. The update of removed white spaces before strings will be reflected automatically and translations will be recycled as is.


remove unused provider

what
I removed the template provider
why
It is not used anywhere and the provider itself is  deprecated and without a darwin arm64 release, making it unusable for new macbook users.

Looks like tests have stalled in a queued status.
Do you mind running the following ?
make init
make pr/auto-format

/test all

@mikkelam our CI got stuck. Can you do the following and then push to trigger it again?
git commit --allow-empty -m "Trigger CI"
git push

Thanks!

/test all


Expose default namespace object.

This also supports diagnostic utilities that inspect the global namespace. This also makes it convenient to write consistent code that is parameterized on a namespace, but that still functions with the global namespace. Additionally, not exposing the global namespace encourages writing codes that refers to it only implicitly, which is more painful to refactor later.
In those use cases, the alternative to library users is something brittle like:
from blinker import signal

namespace = signal.im_self

For additional discussion, see the original PR #23

This is too old to merge cleanly, but the idea makes sense, so I've done it in the current code in #145.


Ignore re2 import, remove sqrl-text-functions/web

Problem
sqrl-text-functions/web exists to work around an re2 import issue.
Solution
I fixed the import in the browser by adding re2: false to config.resolve.alias in our nextjs config file. While I was at it I also tidied up a few loose types.
Result
We can import stuff from sqrl-text-functions and npm run build and npm run dev work without issue.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 60.987%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/sqrl-text-functions/src/InProcessPatternService.ts
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
15434

Relevant Lines:
23737

💛  - Coveralls

That said it's still useful to have a version of the sqrl-text-functions that doesn't depend on re2? maybe?

I like the config option route that you’re using here. I think we should be able to clean it up a bit more so the webpack override isn’t necessary. I’ll fool around with it a bit in the near future.


Consolidate variables located throughout the scripts.

Variables such as version numbering need to be consolidated into a single location in order to avoid confusion when updating them. Going to include the CheckPackage function while consolidating things as well.

Software versions and branch names are now located in the file ~/adsb-feeder/bash/variables.sh with commit 327bff4722e4cc10f81f3d2d9a3ab7fd246059cc.

Things look okay for the most part on the cleanup branch. Did run into /home/dan/adsb-feeder/bash/portal/install.sh: line 60: CheckPackage: command not found setting up the portal.

Actually testing things out now. Just committed a fix for that.

Test okay here...

Merged with pull request #55.


Dark Theme and button

Your website looks pretty good, but it will look awesome if we add dark theme and make some changes with button.
Also if we click on features it's not scrolling down to that part.
I can fix all this, assign me.

@raviikushh sure, it's done.

The changes that has been made are -

Added the dark theme to the whole page
made changes in the navbar by using buttons and hover effect
made changes in the download cards using flex wrap and hover effects
By clicking on the feature in the navbar it will smoothly scroll down to feature part
made few changes in the footer too


Intelligent term references and formatting

In ISO documents, terms used in definitions within the T&D section are required to be "italicized" and "referenced".
e.g.

In this example, the term "duration", "seconds" and "leap second" are terms defined within this document's T&D, and therefore require the above formatting treatment. In the definition/notes, only the first occurrence of the term will receive this treatment -- the second and subsequent occurrences will be just treated normally.
Currently in Metanorma, we use this code to generate the output:
[[term-minute]]
===== minute

_duration_ (<<term-duration>>) of 60 _seconds_ (<<term-second>>)

NOTE: See also <<ISO80000-3>>.

NOTE: The duration of a minute is 60 seconds except if modified by the insertion or deletion of a _leap second_ (<<term-leap-second>>)

However, this practice has proven mechanical, time-consuming and error prone for the human (and the editor). (painful for me)
This issue is to investigate the possibility of doing something like this:
===== minute

term:[duration] of 60 term:[seconds,second]

NOTE: See also <<ISO80000-3>>.

NOTE: The duration of a minute is 60 seconds except if modified by the insertion or deletion of a term:[leap second]

Or even fully automatic like this:
===== minute

duration of 60 seconds

NOTE: See also <<ISO80000-3>>.

NOTE: The duration of a minute is 60 seconds except if modified by the insertion or deletion of a leap second

Frankly it seems difficult to make it all automatic because with terms like "leap second" we could be matching "leap second" or just "second", there are also pluralities to consider "seconds" vs "second".
I'm happy enough to have some human-input, but the less of that the better.

At least, we know that every term clause will need to be referenced (i.e. we don't need to manually write [[term-xxx]]), so it would be already a good step up to automatically create these term-xxx references.

As you correctly said, autodetecting terms is error-prone enough that it should not be done.
The semi-automated input is intriguing; it is feasible, but will probably require postprocessing.

The steps here are:

In cleanup(), early on in the process: go through all //term instances, and if their ID is a GUID, replace it with "term-#{term.text}" If that anchor is already in use, keep suffixing numbers to the ID until it is unique in the document.
Define a macro: "term:[X,Y]", with the second argument optional (defaults to identical to the first argument).
Expand it to Y (<termxref>X</termxref>)
In cleanup(), after we have made up all the IDs for terms, create a lookup table of terms to their anchors:

docxml.xpath("//term").each do |x|
  p = x.at("./preferred")
  termlookup[p.text] = x["id"]
end

And then globally replace all <termxref>X</termxref> with <xref target="#{termlookup[X]}"/>

Please discuss with me before starting. I will want to keep cleanup() tidy...

Are we going to replace whitespaces and deal with capitalization changes in the anchors? i.e. term "X Y Z" => anchor "term-x-y-z"?

Merged, thank you! Please also add documentation to https://github.com/metanorma/metanorma.com/blob/master/author/iso/topics/markup.adoc , as a new clause under "Terms and Definitions": say that all terms have automatically assigned ID consisting of "term-" + term text, and what the macro does, with two or three examples.

Oh, you forgot to replace spaces and caps. Doing that now, include that in documentation.

And this please: https://github.com/metanorma/metanorma-iso/issues/368

This is to be done in https://github.com/metanorma/metanorma-iso/pull/369 now.

@opoudjis @ronaldtse can i close it now?

@w00lf let's close this. Thanks!


Weird CompletionList matching - matches package before type

When writing Unit as the type, the completion list suggests Units.Character before Units.Unit.

This issue doesn't seem to be present in the current development branch. Closing.


strapi-plugin-comments

Introducing community plugin created recently.
By submitting this pull request, I promise that:

[x] I have read the contribution guidelines thoroughly.
[x] I ensure my submission follows each and every point.

Wow this plugin is so cool!
I just gave a try and it's working super well!

Nice to hear it @lauriejim :) As a part of client project, I would like to add couple more features to it.

@derrickmehaffy may I ask for an approval?


Unable to find widget during build

We are using this widget in one of our projects but mendix is unable to detect the widget from the widgets folder and throws an error unable to find widget default.DropDownDatePicker. Please help.

We are on 9.6.6

If you make a copy of the deployment package and rename the file extension from .mda to .zip, then you should be able to open up the deployment package and view its contents.
Inside the deployment package, do you see a directory \web\widgets\dropdowndatepicker?

Thanks for pointing that out. For some reason, the widget was not getting committed to the deployment package. When I manually uploaded it there it build successfully.


Make it possible to update a story.

Coverage decreased (-0.73%) when pulling 741eb419080f9a1477c7680bd8dce9262c7fdbb1 on wulffeld:master into 5b0af8072107405e5a3500bd4d957dd8d4201632 on dashofcode:master.

@wulffeld I took some of you ideas here and added them to code I already had in progress. Please see latest for how to update stories.

@forest Great! Sorry, I didn't get to this this myself.


Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)

Can not find installed glew library when doing CMake configure
    cmake -DCMAKE_TOOLCHAIN_FILE=C:/workspace/vcpkg/scripts/buildsystems/vcpkg.cmake

Environment

OS: Win10 Pro 64bit
Compiler: VS2017
CMake: 3.15

To Reproduce
Steps to reproduce the behavior:

./vcpkg install glew

CMakeLists.txt
 find_package(OpenGL REQUIRED)
 find_package(GLEW REQUIRED)
 target_link_libraries(myApp ${OPENGL_LIBRARY} GLEW::GLEW)

Related post https://www.reddit.com/r/cpp_questions/comments/8zuhkx/trying_to_working_with_vcpkg_and_glew/

Related to issue https://github.com/microsoft/vcpkg/issues/7519.

@linuxaged, PR#7519 merged, please get vcpkg latest source and rebuild glew and try again.

Add list(APPEND CMAKE_PREFIX_PATH "C:/workspace/vcpkg/packages/glew_x64-windows") before find_package


Remove ContainerGroup#old_container_project_id

We use deleted_on to represent a record that is deleted. We moved over to using archived (deleted_on) from old_container_project_id
see also:

f6fe2513486
https://github.com/ManageIQ/manageiq/pull/16302
https://github.com/ManageIQ/manageiq-schema/pull/696

update:

namespaced ContainerManager

update:

changed container specs to link container projects to container ems (was pointing container project to vmware)


Add homebrew formula

Would be cool if the ohdear cli could be installed directly via homebrew for make it easier for non-php developers to use it.

Feel free to PR installation instructions for the brew version to the readme of this package 👍

Just went to PR it to the core repository, looks like it doesn't have enough stars, etc. on GitHub to be in the main repo. Oh well, I'll PR install instructions later.

How many stars would it need?

Oh so not only stars, it also need watchers and forks 🤔

I could try to get us to 75 stars. I'll tweet about it later today 🤞

https://github.com/Homebrew/homebrew-core/pull/102775 has been merged! GitHub Pages is just built a deployment and it's now live at https://formulae.brew.sh/formula/ohdear-cli 🤘🏻 🥳 I've added install instructions to the README, and this issue can now be closed. 👍🏻

I tried it, but maybe I'm too early?

Try a brew update? 🤔

Should have tried that before 🙂
Added a note on this in the readme.


Sema: Avoid emitting fixit to prefix import with @preconcurrency in swiftinterfaces

Remarks like the following were being emitted when compiling modules from their interfaces:
remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Preconcurrency'

This is a nuisance for clients of the module since they cannot influence whether this diagnostic is emitted.
Resolves rdar://105711934

@swift-ci please test

@swift-ci please test Linux

@swift-ci please test Linux

@swift-ci please test Linux

https://github.com/apple/swift-integration-tests/pull/110
@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test macOS


Draft: Quester Behavior

Allow Androids to work, have jobs etc.
TODO:

[ ] Implement missing features (this will be elaborated upon when I have time)
[ ] Release quests
[ ] Get rid of the BehaviorEffect class (I am not sure about the role of :interact found in the Ruby code)

Continued in #59


Fix CMake paths Linux/static build

CMake installs the python files in <installation_dir>/lib/python2.7.
But in file: src/appleseed.studio/python/pythoninterpreter.cpp they are expected to be in <installation_dir>/lib/python (see "Compute path" code).
As a result when starting appleseed.studio they can't be found and the following warnings appear:
Python's site-packages directory does not exist.
appleseed Python module's directory does not exist.
as well as errors for not properly imported modules in Python console.
Changed the paths in CMake to match the paths in pythoninterpreter.cpp.

Thanks for the PR @hikiko! Much appreciated.

Thanks for the PR @hikiko! Much appreciated.


databricks: OL kills SparkContext on databricks platform

Failing scenario
Following Spark script:
df = spark.createDataFrame([
    {'a': 1, 'b': 2},
    {'a': 3, 'b': 4}
])
df.write.mode("overwrite").saveAsTable("default.temp")

kills Spark context with an error log:
22/07/21 11:30:09 ERROR Utils: uncaught error in thread spark-listener-group-shared, stopping SparkContext
java.lang.NoClassDefFoundError: org/apache/spark/sql/catalyst/plans/logical/CreateV2Table

Problems
There are two problems here:

An error in apply method should not break the whole Spark job no matter what the cause is.
Databricks platform, by a great chance, replaces & modifies Spark plan's classes which are no longer accessible in our code although they exist in Spark's source code on github.

@pawel-big-lebowski what Databricks Runtime was this occurring on?  Databricks Runtime 10.4?


THRIFT-3546: Remove global namespace objects from nodejs generated code

Modified the node.js code generator to not generate namespace object by default, as using require() is the idiomatic way to reference classes contained in other modules for node, instead of relying on a object heirarchy existing in the global namespace.
This change makes the generated code work under Javascript's "use strict" mode.
In case others are relying on the existing behavior, I added a ":with_ns" flag to the compiler that enables the current behavior for backwards compatibility.

at quick run through patch looks ok to me, @Jens-G @RandyAbernethy can either of you please review also


read from stream with blocks?!

Hi. I'm trying to read from a stream because downloading the whole file is not really optimal.
This is what i came up with but it doesn't work.
import io
from urllib.request import urlopen
import soundfile as sf

url = "http://tinyurl.com/shepard-risset"
read_from_stream = urlopen(url)
chunk_size = 1024
while True:
    chunk = read_from_stream.read(chunk_size)
    if not chunk:
        break
    read_bytes = io.BytesIO(chunk)
    blocks, samplerate = sf.blocks(read_bytes, blocksize=chunk_size)

I'm getting an error:
raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace'))
RuntimeError: Error opening <_io.BytesIO object at 0x7fee4b4c8950>: Supported file format but file is malformed.

What am i doing wrong?
Sorry, python noob here, don't know where to ask.

If you have an object that behaves like a stream, you can pass it to soundfile directly. In your case, you should be able to open read_from_stream with soundfile directly, with no need for the while True loop.

If you have an object that behaves like a stream, you can pass it to soundfile directly. In your case, you should be able to open read_from_stream with soundfile directly, with no need for the while True loop.


chore: Change live demo domain to cymbal.dev

Changes the abm-pos.com domain to cymbal.dev:

point-of-sale.retail.cymbal.dev
im.point-of-sale.retail.cymbal.dev
staging.point-of-sale.retail.cymbal.dev
staging.im.point-of-sale.retail.cymbal.dev

How to test? Verify that these links work as intended:

https://point-of-sale.retail.cymbal.dev/
https://staging.point-of-sale.retail.cymbal.dev/

Checks all passed:

The failure is due to unrelated https://github.com/GoogleCloudPlatform/point-of-sale/issues/102


pcl: 1.10.1 -> 1.11.0

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pcl/versions.
meta.description for pcl is: "Open project for 2D/3D image and point cloud processing"
meta.homepage for pcl is: "http://pointclouds.org/"
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.11.0 with grep in /nix/store/lby33dsja66liy3kjfyksmb1ckfgzwn3-pcl-1.11.0

directory tree listing: https://gist.github.com/f6c9f1686b37f4c5c91a61911d289bd0

du listing: https://gist.github.com/58f58412224b158724729c5668a6cdcc

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
pcl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lby33dsja66liy3kjfyksmb1ckfgzwn3-pcl-1.11.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pcl https://github.com/r-ryantm/nixpkgs/archive/c1cb5fee24c15a6ee7e0d315e4e5fde8ddb7b7c6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lby33dsja66liy3kjfyksmb1ckfgzwn3-pcl-1.11.0
ls -la /nix/store/lby33dsja66liy3kjfyksmb1ckfgzwn3-pcl-1.11.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:
- pcl

Maintainer pings
cc @viric for testing.

Changelog looks good, bot shows all dependees build.


Convert css-class as Node's build-in attribute

I just wondering is it possible to parse css-class, something looks like .<css-class>, as Node's build-in attribute, so that can be used while Node's rendering?
For example, I have a source markdown text like:
#.alert.primary Header with css-class

and expecting convert to:

Header with css-class

Keynotes:

position: right after basic nodes' symbol
start char: \dot
end char: \space

@sunnymix, this would require a custom parser to handle it in general. I would guess that it will affect parsing of quite a few elements. For example headings by default require a space after #, there is an option to not require a space for headings. For other elements it may require modifying the block parser syntax for the element.
For headings it would only need to allow headings without a space after # by setting:

Parser.HEADING_NO_ATX_SPACE : default false allow headers without a space between # and the header text if true

and implementing a custom node renderer that parses the heading text for a class prefix.


Structured format for grader replies

We should decide on a format for replies from a grader to the frontend that is a bit more structured than the current pair {0,1} × string.
In particular it should have support for partial successes (typically, when someone proved some of the lemmas and left some unfinished, we want to display "Partial success 3/5" instead of just "Error"). As far as I understand, this is currently implemented in the Isabelle case but in an ad-hoc way.
Here's a first proposal. The grader output would be a json dictionnary of the following format:
{ "checks" : [
    { "name" : "lemma1", "result" : "ok" },
    { "name" : "lemma2", "result" : "ok_with_axioms" },
    { "name" : "lemma3", "result" : "error" },
    ...
  ],
  "log" : "<grader log here (including possible error messages)>"
}

The checks field should list the checks run by the grader (typically, there could be one check per lemma; but if a grader backend does not support fine grained checking, it would simply return a list with a single check element for the whole document). For each check the result is either "ok" (everything went fine), "ok_with_axioms" (the check passes but the proof uses unexpected axioms / has been admitted), or "error" (typechecking error or whatnot).
To keep things simple, all the error reporting and grader messages simply go in the free form "log" field which should simply be displayed to the user by the frontend.
Wrt partial successes and allow_sorry, this format has the nice property that allow_sorry does not need to be passed to the grader! The frontend can decide in a prover-agnostic way how to interpret the "ok_with_axioms" results: failure if allow_sorry is false, and I imagine partial success otherwise.
What do you think?

I agree to the design of the "checks" field, also I like the allow_sorry-agnostic idea.
We need to model failing submissions! Examples are the following:

ill-formated submissions -> lead to an error during proof checking,
some proof tactics takes too long or loops, [in order to avoid DoS attacks] we need to have some timeout on the proof checking phase
Internal Error (something strange happend, conflicting versions?, ...)
others ...?

maybe we need an extra field (e.g. "result") which is either "passed", or "failed X", with X being either "Ill-formated (line number)", "Timeout", "Internal-Error"
then we need a set of informative Error Messages that can be displayed to the users/contestants.

Indeed we should add something to accound for submissions that fail to even parse/typecheck/etc. As a first step, I think the simplest option is to have a result field, and leave all the error reporting messages in the log.
The json format would then be:
{ "result" : "ok"/"error",
  "checks" : [
    { "name" : "lemma1", "result" : "ok" },
    { "name" : "lemma2", "result" : "ok_with_axioms" },
    { "name" : "lemma3", "result" : "error" },
    ...
  ],
  "log" : "<grader log here (including possible error messages)>"
}

I think this would be already good to have, and then we can think of how to structure the error messages a bit more. But already having them displayed to the user should do most of the job.

for the error I propose
{ "result" : "ok"/"error",
  "checks" : [  ... ],
  "log" : "<grader log here (including possible error messages)>",
  "error" : [  { "where": "Check.thy" , "what": "syntax error" } , ... ],
}

Mhh, with respect to the Coq backend, it would be easier to have each check include a message; and then the global log would include the remaining messages for the global submission (e.g. it couldn't compile/parse error/ -- in which case no checks can be run).
{ "result" : "ok"/"error",
  "checks" : [
    { "name" : "lemma1", "result" : "ok", "message" : "OK" },
    { "name" : "lemma2", "result" : "ok_with_axioms", "message" : "Uses forbidden axiom foobar" },
    { "name" : "lemma3", "result" : "error", "message" : "type mismatch ..." },
    ...
  ],
  "log" : "<grader log here (error messages here are for the global submission, eg parse error)>"
}

Would that work for the isabelle backend?

So Armael and me discussed the format and came to the following conclusion.
The idea is to do as much as possible of the logic in the backend and only present polished lists of pairs to the frontend, which then can have a uniform display routine.
{ "result" : "ok"/"error",
  "checks" : [
    { "name" : "lemma1", "result" : "ok" },
    { "name" : "lemma2", "result" : "ok_with_axioms" },
    { "name" : "lemma3", "result" : "error" },
    ...
  ],
    "messages" : [  { "where": "Check.thy" , "what": "syntax error" } , ... ],
  "log" : "anything"
}

possible values for the outer "result": {"ok", "error"}

"ok" signals, that checking the submission went well
"error" signals, that checking the submission failed, then there should be some error messages in the "messages" list

possible values for the "result" in "checks": {"ok", "ok_with_axioms", "error"}

"ok" says, the lemma was proven without an oracle
"ok_with_axioms" says, that the lemma was proven but used an oracle
"error" says, there was an error when checking for that specific "check"

the idea is, that the grading process should be independent from whether or not we allow sorry for a task. Only the frontend then decides (with the allow_sorry flag) how to compute (partial) points. In that way, one can also later change the flag.
-> issue: can we then remove passing on the allow_sorry flag from the backends?
"log" can contain anything, maybe we display the full string as a toggle at the end of the submission display


Update solver logic to update more consistently and respect scale

Overview
Changing the solverUpdate methodology to always apply the update from working to goal, regardless of solver. This allows for those creating new solvers to ignore the update process in favor of simply updating the goal position/rotation/scale. Also, by guaranteeing that these are called, maintainScale becomes a functional variable again
Also some minor documentation updates.

/azp run mrtk_pr

@gejohnst , @wiwei , do we think this is ready for commit?

@gejohnst I would like to complete this PR, could you please resolve the comment I had above regarding the public smoothing field, per the MRTK coding guidelines?

/azp run mrtk_pr

/azp run mrtk_pr

/azp run mrtk_pr

/azp run mrtk_pr

/azp run mrtk_pr

/azp run mrtk_docs


Made changes on Blog page

I updated the Categories section to redirect to Google search when clicked and added a new post to the blog session.

It wouldn't need to work like that because we're working on a design a for specific pages for that to display related articles


Update server documentation: auto import/exports caveats

❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Add additional context on what is auto imported/exported from ./server so that future developers know the caveats of auto import/export

I see builds failing in CI/CD when I change casing from ./server/models/models.model.ts to ./server/Models/models.model.ts
Please let me know if this shouldn't be the case.
📝 Checklist

[x] I have updated the documentation accordingly.

I'm not sure this is needed. We already have this explanation: https://nuxt.com/docs/guide/directory-structure/server#server-utilities.
Maybe we could add another sentence to make it clearer?

I updated the example & also added another interesting thing I discovered.
https://s5.gifyu.com/images/SRHNy.gif
Type suggestions work when a file exports an additional const. Not sure if this is the expected behavior but it caught me off guard and threw me off.

@danielroe please let me know if I've been unclear. I'll be more than happy to update to land this.
My thinking:

Auto import/export is awesome but isn't defined from what I've found so far.
Type definitions in one repo for both front and backend solves a big problem but not getting autocomplete/suggestions due to a missing const export seems strange to me.

Please correct me if I'm wrong. I'm hoping to save future users time wondering why they're not getting them(type suggestions) and their local auto imports work but fail in CI/CD.
I'm on "nuxt": "^3.8.0", in case that makes a difference.

I think type imports failing in CI is likely due to a failure to run nuxi prepare which generates the tsconfig.json.
We should specify that files in server/utils/ are scanned for auto-imports, here.

Marking as draft just to help me triage PRs better... Feel free to unmark whenever you're ready for me to have a look.

I think as written, these aren't suggestions we'd want to make.

casing of models/Models shouldn't make a difference to nuxt as we don't do anything special with that directory. But if you are importing from it, you will encounter issues when developing on a case-insensitive OS when you then build in CI. But this isn't related to auto imports.
As for auto-import of types, this isn't yet supported. Likely this is working for you by accident and we wouldn't want to document the current solution.

Thank you for taking the time to create the PR however, and please do feel free to create another one any time ❤


feat: Add a flushAll() method that will flush all the inflight request and make sure all responses returned

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕

That's a design detail, a choice of either make flush wait or append wait.
For now, let's keep it simple by asking append wait. In the final
operation, user has to make sure flush is called last.
On Sat, Aug 15, 2020 at 9:51 AM weizhengli1992<EMAIL_ADDRESS>wrote:

@weizhengli1992 commented on this pull request.
In
google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriter.java
https://github.com/googleapis/java-bigquerystorage/pull/492#discussion_r471013472
:

@@ -265,6 +273,28 @@ public Boolean expired() {
return outstandingAppend.appendResult;
}

/**

This is the general flush method for asynchronise append operation. When you have outstanding

append requests, calling flush will make sure all outstanding append requests completed and

successful. Otherwise there will be an exception thrown.

@throws Exception

*/
public void flushAll() throws Exception {
writeAllOutstanding();
synchronized (messagesWaiter) {

I had this discussion with Bigang previously and we decided to keep allow
user to append instead of block. Just wait for all pending stream before
the time user call FlushAll() but keep accepting new requests. (Flush all
will not wait for new requests).
Do you think this make sense to this case as well?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googleapis/java-bigquerystorage/pull/492#discussion_r471013472,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHGYVETCS7BHII7DNPCA3R3SA24HJANCNFSM4P74BZSQ
.

--
Thanks.
Yiru


European vat api

Codecov Report
Base: 0.00% // Head: 0.00% // No change to project coverage :thumbsup:

Coverage data is based on head (4f47c40) compared to base (71dec20).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##              main     #11   +/-   ##
=======================================
  Coverage     0.00%   0.00%
- Complexity      54      55    +1
=======================================
  Files            7       8    +1
  Lines          133     135    +2
=======================================
- Misses         133     135    +2

Flag
Coverage Δ

unit-test
0.00% <0.00%> (ø)

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

Impacted Files
Coverage Δ

src/Api/EuropeanVat.php
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


verify: dev-pipeline passes with nightly artifacts of 11.4

This reverts commit 61c965c09420968b9cfc7bbd9d1206be9f11d764.

@phhung-axonivy the ivy-core 'dev' release contains now the fix, to run old projects PMVs ... therefore v4 pipelines now pass without any downgrades. :partying_face:


[docs] Add code snippet to the Backdrop's example section

this is the js file that I added from the MUI doc example and here are two things that we solve:

changing color: '#fff'(line41) to background: "#333333e6" since setting color won't do anything in the backdrop but setting background color will actually change backdrop color.

handleToggle(line33) doesn't need to be a toggle since it's not togglable!  when the backdrop opens there is no access by clicking it so it basically can only open the dialog in this case it's better to write it this way:

handleOpen = () => {
setOpen(true)
};

at the same time even if we don't change the function it still has some problems you shouldn't change the state value directly so it has the be like this :
 const handleToggle = () => {
    setOpen(value => !value);
  };

Signed-off-by: alireza<EMAIL_ADDRESS>

[x] I have followed (at least) the PR section of the contributing guide.

please read the comment first the changes in the repo are here only to help you to see the example from the doc since it's not shown here.

changing color: '#fff'(line41) to background: "#333333e6" since setting color won't do anything in the backdrop but setting background color will actually change backdrop color.

I believe that the color is to show the circular progress:

Sounds good to me if you want to add background to the demo since it is a pretty common customization.

handleToggle(line33) doesn't need to be a toggle since it's not togglable! when the backdrop opens there is no access by clicking it so it basically can only open the dialog in this case it's better to write it this way:

I am good with your proposal. This is a simple demo, setOpen(true) is enough.

@siriwatknp I moved the new demo code to where it belongs, and took the opportunity to do some light copy editing on the page as well. I think it's ready to go now!


Add Basque translation

Codecov Report

Merging #84 (e9d9418) into main (37bb2a8) will decrease coverage by 1.61%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #84      +/-   ##
==========================================
- Coverage   99.19%   97.57%   -1.62%
==========================================
  Files           9        9
  Lines         741      741
==========================================
- Hits          735      723      -12
- Misses          6       18      +12

Flag
Coverage Δ

macos-latest
?

ubuntu-latest
97.57% <ø> (ø)

windows-latest
?

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

Impacted Files
Coverage Δ

tests/test_i18n.py
88.57% <0.00%> (-11.43%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Eskerrik asko!


Name stable-wallets-extension

Shouldn't this repo be called stable-wallets-extension?

Well, this is @arcbtc who created it. Also Inside LNBits the name is pegging.


Feature/idg less mutable

Modify all the domain types to use C#9 record syntax.
Also, make things immutable where possible, and enable nullable reference types.

Wrong target branch! Closing.


SQL blog updates for 3/30/2020

SQL blog updates for 3/30/2020

Docs Build status updates of commit 9858e1b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

documentation/blog/MS-SQLINTBLOGLP/3bee54f8-e71d-4d4a-a6eb-5d97eb55ada6.md
:white_check_mark:Succeeded

documentation/blog/MS-SQLINTBLOGLP/960dafbf-77be-4783-bd24-35b65513cbe0.md
:white_check_mark:Succeeded

documentation/blog/MS-SQLINTBLOGLP/b43d30db-4143-4e76-9ef6-d54736572fa5.md
:white_check_mark:Succeeded

documentation/blog/MS-SQLINTBLOGLP/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix: core token adjustments

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] If applicable, have a visual design approval

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] clarity.design website / infrastructure changes
[ ] Other... Please describe:

What is the new behavior?
Minor token adjustments/corrections

spacing for inline alert
add missing white/black color token and update internal references

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

I think making the commit message more concrete will be helpful.
Something similar to fix: core token adjustments of black and white colors ?