[$250] Taxes - App crashes when visiting transaction thread with invalid tax rate on a fresh session

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

Version Number: 1.4.60-8
Reproducible in staging?: Y
Reproducible in production?: N
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:
Precondition:

Admin and employee are in the same Collect workspace.
The Collect workspace has several tax rates.

[Employee] Create manual request with a tax rate in workspace chat.
[Admin] On Old Dot, delete the tax rate selected in Step 3.
[Employee] Go to Settings > About > Troubleshoot > Clear cache and restart > Reset and refresh (relogin can also be done).
[Employee] Navigate to the transaction thread with invalid tax rate.

Expected Result:
App should not crash.
Actual Result:
App crashes.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/1379bb26-ad96-4409-a37d-5141d4c3240a
Bug6438754_1712289000497!staging.new.expensify.com-1712288865325.txt

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

Upwork Job URL: https://www.upwork.com/jobs/~01bfd8b2886cedb8f1
Upwork Job ID:<PHONE_NUMBER>760666624
Last Price Increase: 2024-04-05

@strepanier03 I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

We think this issue might be related to the #collect project.

Production
https://github.com/Expensify/App/assets/115492554/4992224d-61a9-42cb-9681-d0878d8e8d59

Proposal
Please re-state the problem that we are trying to solve in this issue.
App crashes.
What is the root cause of that problem?
In here, we don't check if taxRates is defined or not before trying to get the name.
What changes do you think we should make in order to solve the problem?

In here, if taxRates is undefined, early return undefined/empty.
What alternative solutions did you explore? (Optional)
NA

Looks different to me @getusha

Proposal
Please re-state the problem that we are trying to solve in this issue.
Taxes - App crashes when visiting transaction thread with invalid tax rate on a fresh session
What is the root cause of that problem?
Here, here and here we do not get the name optionally
What changes do you think we should make in order to solve the problem?
Use ?.name instead
What alternative solutions did you explore? (Optional)

@MonilBhavsar Just checking if you're working on this directly or will select a contributor to quickly fix it?
Since I see you self-assigned but the issue still has Help Wanted label, so conflicting signals.

I had a look at both proposals and it misses some places where fix needs to be applied. So I am now working on this, given this is a deploy blocker. Thanks for the proposal though!

@MonilBhavsar I think we can handle the some places where fix needs to be applied part in the PR (assuming you're saying the solution looks correct but missing the permalinks to every place where the issue happens)

There're other places where tax rate name is accessed unsafely like this too, and should be fixed similarly.

sorry, the proposal differed a lot from expected solution and since deploy blockers are very high priority issues, we would prefer complete proposals, so we could ship it as soon as possible without much back and forth during PR reviews.

Issue is fixed on staging!
Recording! https://drive.google.com/file/d/18ArPPsMyXBqOxaPYctpKX_W59uu9-mzr/view?usp=sharing

@shubham1206agra - Please finish up the checklist when you have a chance and I'll finish up on my end once you do. Thanks!

I'm fairly certain PR reviews that don't require a lot of changes or testing should be $250, even prior to the price change that went into effect on April 6th.

Thanks for the checklist @shahinyan11- I've paid out the contract and closed it in Upwork. Thanks again!


German umlauts (ä,ö,ü,ß)

Support for german umlauts
I'm using PHPStorm 8.0.3 with gfm-plugin for editing GFM.
Issue
When writing markdown containing german umlauts (ä,ö,ü,ß) in PHPStorm, saving it and close the file tab than reopen the file again and click on GFM Preview  the umlauts aren't formatted well (instead the mystic question mark icon is shown).
I've found out that forcing the file encoding to UTF in PHPStorm fixes this issue as long as the file tab is open. If I close the file this change is lost and the question mark icons show up again.

It's a myth to me 'cause I always save files in UTF-8 and the plain markdown is so.

Reproduce Issue
This issue is easy to reproduce (indeed you need PHPStorm with gfm-plugin):

Create a new *.md file in PHP Storm
Paste this markdown in file: Everything is fine as long we don't use german umlauts (ä,ö,ü,ß). and save it
Click on Gfm Preview and you'll see the file rendered fine (with german umlauts)
Reopen (close and open) the file
Now you can see the german umlauts are replaced by the question marks

Temporary fix
When opening a Markdown file with german umlauts force the file encoding to UTF-8 (or whatever supports umlauts aswell). This will fix it as long the file is open.

Have problems with reproducing the issue. Can you please provide information about OS you use?

I've the following environment

Windows 7 (x64) with .NET 4.5
PhpStorm 8.0.3 with gfm-plugin 0.1.4

Additionaly I'm using Git (this is where the *.md files come from).

Note that this bug also appears for local stored files (without Git)!

My Intention
Intentionally I would say this bug lies in the way gfm-plugin renders the resulting HTML-File (per in-browser). Maybe the Browser is not configured to use an encoding which supports german umlauts ?
Another possibillity that crossed my mind is related to the file transfer.
As far as I understood the plugin transfers the file (MD) to the GFM-Parser which sends back the result (HTML). Maybe here is some encoding missing / not configured for german umlauts ?
Hope this can Help. Elsethen I'll try to provide a container which reproduces this error.

Thanks for quick response!
I'll ask you to help me narrow the problem. I believe that the problem probably lays in c implementation of   GFM-Parser. Can you please try to disable offline markdown parsing(it will enable parsing via GitHub API) and try to reproduce the problem?

Disabling offline generation doesn't change anything (except an I/O Exception I received first time I opened *.md after forcing online generation - following times it ran without exceptions).
I noticed that even just changing the content of a 'broken' *.md file and then preview it (without forcing the encoding of file) resolves the bug. But same thing - if I close the file and reopen it the umlauts aren't encoded again.
I think the best hint we have is that *the bug only appears when opening an .md file but doesn't as long as it's updated at least once and kept open.
So this bug seems to be related with any kind of initialization / caching to me.

:+1:

Should be fixed in v0.1.9

It is not or it is back.
I'm running on 0.1.14 and if I type my Name it renders as
 with offline generation.
If I either switch to online generation or set -Dfile.encoding=UTF-8 in the custom IDEA VM options, it renders correctly.


onRowClosed/onRowDidClose not called if fully closed by user

Describe the bug
The functions for onRowClosed and onRowDidClose do not get called if the user fully swipes back to position 0 and disableRightSwipe is true. The issue is in line https://github.com/jemise111/react-native-swipe-list-view/blob/master/components/SwipeRow.js#L314 . Since this is commented out in master only a release with this commented out code that fixed #387 is missing to fix this, too.
To Reproduce
1 : Add a function for onRowDidClose
2 : swipe left one item (open the right button)
3 : Manual reset to fully close the item so that no animation happens
4 : As a result the function for onRowDidClose does not get called.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: iOS
RNSLV Version: 2.1.3
RN Version: 0.61.5

@benzman81 that's my bad! I didn't realize I never released it.
This code should be released in v2.2.0. If this is still an issue there please re-open, thanks!


⚠ Samsung has degraded performance

In c97c0f5, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3013 ms

Resolved: Samsung performance has improved in 230f81a.


introduces 60ms+ slowdown on ember-cli boot

various requires should likely be made lazily/on-demand
the node module time-require can be of help

Will look into this tonight

#35 addresses this as much as possible.


run travis builds on osx also

If you are interested, this will run the travis builds on osx also. It uses script to allocate a pty so that tests that rely on the existence of a tty can have one.

Looks good.


Null safety

Please can you migrate to null safety

I made a version and put it here:
https://github.com/bradintheusa/custom_timer


Error setting up cluster - 'Could not download chart: no cached repo found'

When running 'farmvibes-ai.sh setup', I consistently receive the following error. This started happening within the last week.
I've checked the '/home/azureuser/.cache/helm/repository/' directory, and it does exist, but is empty.
I've also rerun bash ./resources/vm/setup_farmvibes_ai_vm.sh, but the error still hasn't resolved.
module.kubernetes.kubernetes_namespace.kubernetesdaprnamespace: Creating...
module.kubernetes.kubernetes_persistent_volume.user_storage_pv: Creating...
module.kubernetes.kubernetes_namespace.kubernetesdaprnamespace: Creation complete after 0s [id=dapr-system]
module.kubernetes.kubernetes_persistent_volume.user_storage_pv: Creation complete after 1s [id=user-storage-pv]
module.kubernetes.kubernetes_persistent_volume_claim.user_storage_pvc: Creating...
module.kubernetes.kubernetes_persistent_volume_claim.user_storage_pvc: Creation complete after 0s [id=default/user-storage-pvc]
module.kubernetes.helm_release.redis: Creating...
module.kubernetes.helm_release.dapr: Creating...
module.kubernetes.helm_release.rabbitmq: Creating...
╷
│ Error: could not download chart: no cached repo found. (try 'helm repo update'): open /home/azureuser/.cache/helm/repository/bitnami-index.yaml: no such file or directory
│
│   with module.kubernetes.helm_release.dapr,
│   on modules/kubernetes/dapr.tf line 7, in resource "helm_release" "dapr":
│    7: resource "helm_release" "dapr" {
│
╵
╷
│ Error: could not download chart: no cached repo found. (try 'helm repo update'): open /home/azureuser/.cache/helm/repository/bitnami-index.yaml: no such file or directory
│
│   with module.kubernetes.helm_release.rabbitmq,
│   on modules/kubernetes/rabbitmq.tf line 1, in resource "helm_release" "rabbitmq":
│    1: resource "helm_release" "rabbitmq" {
│
╵
╷
│ Error: could not download chart: no cached repo found. (try 'helm repo update'): open /home/azureuser/.cache/helm/repository/bitnami-index.yaml: no such file or directory
│
│   with module.kubernetes.helm_release.redis,
│   on modules/kubernetes/redis.tf line 1, in resource "helm_release" "redis":
│    1: resource "helm_release" "redis" {
│
╵
Error from server (NotFound): deployments.apps "terravibes-rest-api" not found
Error from server (NotFound): deployments.apps "terravibes-rest-api" not found
Error from server (NotFound): deployments.apps "terravibes-orchestrator" not found
Error from server (NotFound): deployments.apps "terravibes-orchestrator" not found
Error from server (NotFound): deployments.apps "terravibes-cache" not found
Error from server (NotFound): deployments.apps "terravibes-cache" not found
Error from server (NotFound): deployments.apps "terravibes-worker" not found
Error from server (NotFound): deployments.apps "terravibes-worker" not found

Hi, @NicholasBerryman. We haven't seen this issue internally when setting up the cluster. It seems that helm failed to download bitnami. Could you try running:
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo update

and then try to setup the cluster again?
BTW, we have made a new release today. Please, make sure to git pull the new changes before setting up the cluster again.

That seems to have worked. Thanks for the help!
Of note, I had to run a snap install helm first (I would've thought that was installed with the setup_farmvibes_ai_vm.sh script?)


(WIP) Update NVTabular to use Shape from Merlin Core

Depends on https://github.com/NVIDIA-Merlin/core/pull/195

The tests won't pass on this until after changes get merged to Core and Models (since some of the examples depend on the synthetic data generator.)


i18n in html

https://gohugo.io/functions/lang/translate/
many functions for localization is in system, but I need only date-time property format and months name. Meybe add simple 'lang' value in _readme.md or similar place?

Hi!

If I'm undestand corectly, he want a options to setup different specific language things: date, separator, name of months. Not inside markdown but what system generated.
When Your browser setup french language it first search a french version of web page. And show date in french on blog post.

Ahh, okay that makes sense.  I think this might be possible, will try to prioritize this shortly.
Here is our markdown parser that extract frontmatter data if anyone is feeling ambitious to provide this functionality:

https://github.com/picosh/pico/blob/main/shared/mdparser.go
https://github.com/picosh/pico/blob/main/prose/api.go#L323

yes exactly ;-)
for example in _readme.md add
lang: pl_PL
and change the 404 message
https://randomwork.prose.sh/buy1 "Post not found" to polish version "Nie odnaleziono wpisu"

Alright, I've deployed some changes that will hopefully help.  First, I changed all dates to format: 2006-02-26.  Further, users are able to upload a _404.md to provide their own text for not found posts.
Please let me know if this is not sufficient since I'd to make international support a priority -- within reason.


Should include declaration maps and original ts source in npm compat

Would be helpful if the NPM compat layer still included the original ts and declaration maps so that "go to definition" in vscode worked properly.
I'm open to trying to implement. But this is here to track discussion now 😄

Yes - this is something that we'd like to do for sure. Just have not gotten around to it yet.


About pimax 4k

Hello, i know Pimax 4k not supported, but i have one and wanna try one thing, but don't know how to.
Seeing this, say about using in Windows, Oculus Dk2 driver, and work fine.
I think, if use OpenHMD with same configuration of Dk2, maybe work fine, but i don't know how make this, anyone help to try that?

I could look into it, but it won't be pretty, I could try forcing OpenHMD to treat a Pimax as if it was a Oculus since Pimax basically acts like it. Would be best if someone who actually knows whats up would pitch in

I understand that something specific to Pimax would be better, but if it works like Oculus, even if it's missing some feature, it's better than just not working.
If I can make the code that identifies as Oculus available I do the tests and inform if it is working well.

I actually implemented a driver a year or 2 ago, but i was stuck on reporting imu messages, which i could look into again.
Its a native pimax 4k driver, using it in 'Oculus mode' will not work since their sdk is spoofing messages and does the conversion.
I will upload a new rebase to a branch, so you guys can test it and see if we can work the last quirks out :)

Sorry for a dumb question, but would adding a Pimax 4k driver also mean that it would show up as a display device? I guess the headset is waiting for some command before it does show up

Sorry for a dumb question, but would adding a Pimax 4k driver also mean that it would show up as a display device? I guess the headset is waiting for some command before it does show up

You are using with nvidia driver?
If use, change in /usr/share/X11/xorg.conf.d/10-nvidia.conf
Just add:
Option "AllowHMD" "yes"

Oh, yes, I am. That's it? Thanks! It's so hard to find to any reference on how to get these things working.

Oh, yes, I am. That's it? Thanks! It's so hard to find to any reference on how to get these things working.

It's all on the wiki!
https://github.com/OpenHMD/OpenHMD/wiki/Extended-Mode Article on using extended mode
https://github.com/OpenHMD/OpenHMD/wiki/Xorg for the Xorg settings

Well, I never knew I had to look for Xorg settings. I'm really new to all this VR on Linux stuff, but my bad for not going through the wiki properly. :)

any news?

https://github.com/pdaxrom/pimax4k-headtracker
I put the initial test sources there to get the tracking data from pimax 4k. Unlike the Occulus Rift DK2, it uses command 17 to initiate traffic. Also, it looks like the traffic is using Euler encoding (like vrtek). I have added pcap file from windows machine and screenshots from disassembled windows driver (pvr_server.exe) that decodes data from USB.

In the source I see
#define DEVICE_ID					0x0483
#define DEVICE_HMD					0x5750
lsusb shows me
Bus 003 Device 002: ID 0483:0021 STMicroelectronics Rift P1
Does that mean mine has a different USB ID?
Should I try changing 0x5750 to 0x0021 and rebuilding?

lsusb shows me
Bus 003 Device 002: ID 0483:0021 STMicroelectronics Rift P1

yes, the same for me

I did some tweaking to an old branch in this repo, together with your resources and some of my own captures. I got the Pimax 4k somewhat working with OpenHMD.
https://github.com/OpenHMD/OpenHMD/pull/350


Aliases do not support index file import

Hi using version 1.3.0, I faces a problem in the bundler trying to use aliases.
If I have an alias defined as
 "@analytics": ["app/src/analytics"],
And I try to access the "app/src/analytics/index.ts" file than I use
import "@analytics" which fails.
I solved the problem hacking into tools-node:
Here is the diff that solved my problem:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index b3229d4..a9254c9 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -46,12 +46,12 @@ function parsePackageRef(r) {
         // The separator must start from position >= 2 to ensure that it is '@'
         // and at least one other character. Further, the separator must have
         // at least 1 character following it, before the end of the string.
-        if (indexSeparator < 2 || indexSeparator + 2 >= r.length) {
+        if (indexSeparator >= 0 && indexSeparator < 2 || indexSeparator + 2 >= r.length) {
             throw new Error(`Invalid package reference: "${r}"`);
         }
         return {
             scope: r.substring(0, indexSeparator),
-            name: r.substring(indexSeparator + 1),
+            name: indexSeparator >= 0 ? r.substring(indexSeparator + 1) : 'index',
         };
     }
     if (!r) {

This issue body was partially generated by patch-package.

Thanks for reporting this, @matthieuMay. I've submitted a PR. Could you take a look and verify that it works in your project?

Thanks for reporting this, @matthieuMay. I've submitted a PR. Could you take a look and verify that it works in your project?

Thanks to you
It works great in my project


fix: Failed switch hls video

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Test A m3u8 <-> m3u8
[x] Test B mp4 <-> mp4
[x] Test B mp4 <-> m3u8

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
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

@ambar


Saved passwords are not displayed but are still presented

I have both K-9 Mail and Keepass2Android installed. After entering the Account Settings...Fetching mail...Incoming Server settings but not changing anything, I pressed the back button. At this point Keepass2Android offered to save my password. If I accept, the password is transferred into Keepass2Android to save.
The interface of K-9 Mail on the settings screen only shows dots in the password field. Also, the password may not be highlighted and copied using the normal Android interface. So, I assume that the intent is to not expose saved passwords.
Security bug: The password is exposed.
I do not think this is a problem with Keepass2Android since the purpose of that software as a password manager is to save passwords from other applications. Though, I would not expect it to be able to fetch previously entered passwords.
Expected behavior
Nothing. The password should not be exposed unless it is being freshly entered.
Actual behavior
The previously saved password was found by Keepass2Android.
Steps to reproduce

Ensure that Keepass2Android (or potentially other password managers) are installed and properly configured
Enter a K-9 server settings page that has a previously saved password
Press the back button

Environment
K-9 Mail version: 5.600
Android version: 8.0.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP
Keepass2Android version: 1.05d

This is not a security issue. The password is only "exposed" to apps you have given special permission to extract passwords from other apps.
However, we can probably improve the experience with autofill services. See https://developer.android.com/guide/topics/text/autofill-optimize


Change default DBSCAN implementation to FDBSCAN-DenseBox

In most situations, it is faster than FDBSCAN.

retest this please

One build failed with "out of disk space", otherwise is fine.


Limit action-alias to chat channels/users.

A simple way to provide access control to chat commands would be to allow channel and/or user limits in the alias script.

Thanks for the report / feature request.
RBAC for ChatOps is indeed on our roadmap for this year, but we don't have an ETA for it yet.
Only listening for commands on a single channel could be a good short-term workaround since it should be easy to implement. I will discuss it with others and see how this fits into our roadmap, maybe we can do that first and deprecate this functionality once full blown RBAC for ChatOps is available.

@kami where would the logic for this feature go?  Can you please point me to the file(s) so I can take a look?  Thanks!

I thought I'd get the ball rolling on this feature.
https://github.com/pixelrebel/st2/commit/1a557a546ccae30d872ee8dd71ac865209c78837
I have it working in Slack at the moment.  Now you can enter an optional action alias property:
channels:
  - "channelname1"
  - "mychannel2"

Please let me know what you think. :)

Fixed an oopsie:
https://github.com/pixelrebel/st2/commit/b8f0a476dfb04249d371c3f81e4496ca2d4c4dff

The PR is solid, but I'm -1 on merging it, and there are two main reasons behind the decision:

Ideally, you need to provide a way for people to see which commands are available for them and where. Hubot's !help is a standard plugin which doesn't allow for channel/user separation, so we also need to fork and rewrite it before this change is good from the UX standpoint.

We're likely launching the development process for ChatOps RBAC in 4–5 weeks (that's a plan, not a promise :stuck_out_tongue:). Since I'm not sure that's how the limitation will be implemented, and not sure that's what the property will be named, we may have to deprecate this change later, and deprecating something ~two months after it's been introduced isn't a good thing.

There's also a debate about aliases ideally being more generic than that, but we'll set it aside for now.
To summarize, I really appreciate the work, and I'll gladly point people asking about this feature towards your branch, but we won't merge until we're sure that's how we want to tackle this and until we have a better !help story.

@emedvedev I certainly can respect your opinion.  And I understand how this could potentially conflict with RBAC.  As for issues with !help dialogues, it is possible to just concat the allowed channels to the action alias description. I know it's a cheap fix, but in my opinion, hubot's help is pretty broken and useless anyway.  I find myself having to implement man pages (even for simple commands) in chat so users can see some examples.  People learn best from examples.   Hubot's one-line help dialogue just doesn't cut it.
Implementing RBAC for chatops is going to be very tricky, first thing that comes to mind, is how do you resolve st2 users with chat users?  My guess is that each role will need a token placed into a hubot config somewhere. Secondly, this implementation will also have to contend with the !help issue.
Personally, I'm at a point where convincing my team to manage infrastructure through chat requires some sort of rudimentary access control just to sell a proof of concept.  I couldn't move forward with st2 without adding the feature.  We currently have access control with our hubot scripts, so moving our command through st2 removes this functionality and makes it a deal-killer.
I'm actually surprised more folks haven't asked for this.  For me, it seems like channel limitation is a feature that elegantly complements more complex RBAC.  I'm personally hoping that st2 embraces some of the concepts @michaelansel evangelizes.  For example, allowing a subordinate to issue a command, but requiring in-chat approval from a superior before the command is accepted and executed.  That's some complex enterprise-level features, but the community version also needs a basic lock on the door.
I understand your trepidation, but please consider a way to provide rudimentary segregation of chatops commands for the community version of st2.  I didn't make a formal PR because I figured RBAC implementation may require an update to the action alias model.  It's worth waiting to see in which direction that goes before hacking this into the model, but I think st2 is going to need both RBAC and also a 'free' implementation.  Without access control, chatops is just a fun novelty that can't be embraced by operations teams.

@pixelrebel I agree with you. Help, auth implementation, confirmation and access tuning are all valid concerns, and while RBAC is an Enterprise-only feature, we won't leave Community users without means to control their ChatOps executions, of course. People are asking for this quite regularly, and we're doing our best to deliver the access control features as soon as possible. It will still take time, but it's very high on our priority list (and in our roadmap as well).
As far as in-chat approval goes, I remember @emptywee making some interesting developments using workflows and the KV store, and I also played with it a bit in st2-release: https://github.com/emedvedev/st2-release/tree/master/actions/workflows (although my requirement was getting approval from any other team member). That's not ideal, but if no approval is a deal breaker and you have an immediate need, you can look into it.

I'm also interested in this feature, being able to limit some commands to certain channels (and have additional user control) would be really useful. For instance we don't want sales spinning up lab VM's....
I'll look forward to what you guys produce :-D Shout if you want someone to help test it out.

@jjm: we definitely will!
Honestly, if you want to dig into the source code a little and need this feature yesterday, the easiest solution in terms of both time and complexity (although certainly not elegance) would be to insert a whitelist/blacklist of aliases/channels/users in hubot-stackstorm. Unfortunately, that would only give access control to people who have access to the bot files or the docker container (also it's just plain ugly), but it's probably the fastest way to achieve what you want without a lot of hacking into StackStorm source code.

If I need to do per user limiting before you deliver sometime before you get there. I'll follow some of the examples and create an has_user_privs action in our pack against and drop it into the required workflows.

That would be a cleaner option, yes. :)

@jjm Your welcome to try out my solution which allows you to add a channels parameter in your action alias (see above usage example).  You just need to replace 3 files in 2 python modules (st2common, st2api).


Necessary references to retrieve AST from script files (fsx)

According to the docs, in order to get the AST from a F# script file, we must use FSharpChecker.GetProjectOptionsFromScript first. This method adds many references by default to the project options (see image) and there's been reports that these references fail in some machines (see https://github.com/fsprojects/Fable/issues/35). I've tried removing these "core" references and the AST can still be retrieved. So te question is: is it safe to remove these references when we only want to retrieve the AST? And also, is there an easy way to distinguish core references from custom ones? (those set explicitly by the user with #r "...")

I have closed the issue in Fable as it's probably better to update F# in the failing machines that messing around with the script references, so this is not necessary any longer.

Note unfortunately this applies to the final application too see https://github.com/fsprojects/Fable/issues/58. I think the final application should work without F# installed.

That would be ideal, yes. But probably we need to wait unit there's a CoreCLR version of the compiler services.


[v4 beta-12]: perf: Build process is drastically slower

Bug Report
Ionic Info (before upgrade)
Ionic:

   ionic (Ionic CLI)             : 4.2.1 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.0-beta.11
   @angular-devkit/build-angular : 0.8.5
   @angular-devkit/schematics    : 0.8.5
   @angular/cli                  : 6.2.5
   @ionic/angular-toolkit        : 1.0.0

System:

   NodeJS : v9.11.2 (/usr/local/lib/node_modules/node/bin/node)
   npm    : 6.1.0
   OS     : macOS

Ionic Info (after upgrade)
Ionic:

   ionic (Ionic CLI)             : 4.2.1 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.0-beta.12
   @angular-devkit/build-angular : 0.8.5
   @angular-devkit/schematics    : 0.8.5
   @angular/cli                  : 6.2.5
   @ionic/angular-toolkit        : 1.0.0

System:

   NodeJS : v9.11.2 (/usr/local/lib/node_modules/node/bin/node)
   npm    : 6.1.0
   OS     : macOS

Describe the Bug
After upgrading from beta 11 to beta 12, I noticed a big difference in compile time.
Before (4.0.0-beta.11):
[ng] ℹ ｢wdm｣: Compiling...
[ng]
[ng] Date: 2018-10-16T11:58:26.944Z - Hash: 100fa7e4d25e03303631 - Time: 8463ms
[ng] 173 unchanged chunks
[ng] chunk {tabs-tabs-module} tabs-tabs-module.js, tabs-tabs-module.js.map (tabs-tabs-module) 25.9 kB  [rendered]
[ng] ℹ ｢wdm｣: Compiled successfully.
After (4.0.0-beta.12):
[ng] ℹ ｢wdm｣: Compiling...
[ng]
[ng] Date: 2018-10-16T12:04:02.336Z - Hash: 9a0c1949d63b849a7238 - Time: 74036ms
[ng] 173 unchanged chunks
[ng] chunk {tabs-tabs-module} tabs-tabs-module.js, tabs-tabs-module.js.map (tabs-tabs-module) 25.9 kB  [rendered]
[ng] ℹ ｢wdm｣: Compiled successfully.
It's only an incremental change (color from light to dark in one of the components), but it almost takes as long as the initial compile duration.
Steps to Reproduce
Steps to reproduce the behavior:

ionic start myApp tabs --type=angular
ionic serve
wait for the first build
make a small change (i.e. tabs.page.html  to )
check the complication time
downgrade "@ionic/angular": "4.0.0-beta.12" to "@ionic/angular": "4.0.0-beta.11"
repeat steps 2-5

Related Code
Starter project & my custom project
Expected Behavior
Similar build performance as before (at least not x10 times slower)
Additional Context
None

Update to Node 10 is right. Compiling time from 79s to 7s.

Duplicate of https://github.com/ionic-team/ionic/issues/15800 or https://github.com/ionic-team/ionic/issues/15644


Sustainability Journal  Line - Extensibility for Default Dimensions

Summary
This PR adds similiar methods and events as already available in other Journal Line Tables
Work Item(s)
Fixes #26273
Fixes AB#525140

@pri-kise, could you maybe pull from origin main to the CI pass? We had some issues which should be resolved if you update your branch.
@haoranpb has a few things he'd like to discuss with you - but I'll let him drive that 🙂

@JesperSchulz I've updated my PR form the upstream/main branch.
Hopefully CI pass now.


Can't train since 14th January due to introduction of "checkpointinfo" in SD/Automatic1111

There have been some changes merged into SD / Automatic1111 that throws an error when trying to train my model in Dreambooth.
I will try to go back the needed amount of commits locally to work around this, but thought I'd bring this to your attention.
Error:

I also commented it here in one of the recent Automatic1111 commits:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/beeec2b59833abe7ab6f90bdf99c65796a10bca0#commitcomment-96205955

For anyone with the same problem, I added my temporal fix / workaround to a related reddit thread with the same problem:
https://www.reddit.com/r/StableDiffusion/comments/10c5ouk/comment/j4hdl1z/?utm_source=share&utm_medium=web2x&context=3
If anyone knows when this is fixed on the dreambooth extension side, feel free to let me know here.
I will stay on the older commit for now as I don't want to break a running system again.


pong on closed connection error

I keep seeing this error:
/home/deploy/node_modules/ws/lib/WebSocket.js:153
  if (this.readyState != WebSocket.OPEN) throw new Error('not opened');
                                         ^
Error: not opened
    at WebSocket.pong (/home/deploy/node_modules/ws/lib/WebSocket.js:153:48)
    at Receiver.<anonymous> (/home/deploy/node_modules/ws/lib/WebSocket.js:539:10)
    at Receiver.emit (events.js:70:17)
    at Receiver.<anonymous> (/home/deploy/node_modules/ws/lib/Receiver.js:523:12)
    at /home/deploy/node_modules/ws/lib/Receiver.js:518:31
    at Receiver.expectData (/home/deploy/node_modules/ws/lib/Receiver.js:129:5)
    at Receiver.<anonymous> (/home/deploy/node_modules/ws/lib/Receiver.js:517:14)
    at Receiver.<anonymous> (/home/deploy/node_modules/ws/lib/Receiver.js:500:30)
    at Receiver.<anonymous> (/home/deploy/node_modules/ws/lib/Receiver.js:193:19)
    at Receiver.add (/home/deploy/node_modules/ws/lib/Receiver.js:93:24)

Do you happen to have a ping on an interval?

@einaros, No, my code doesn't call either ping or pong.

Rater rude of the server to ping you and then disconnect. But point taken, I'll mask the error from automated pongs.

I think the connection was closed on my side.


Having two features fail to run

I have a two features and if i do run
node ./node_modules/selenium-cucumber-js/index.js
I get
node_modules/selenium-cucumber-js/runtime/world.js:177 The previously configured ChromeDriver service is still running. You must shut it down before you may adjust its configuration.
Expected
One test ends another start

This could be related to chrome driver version.

Solved with my own driver.. maybe it will help to someone .. not a selenium expert
'use strict';

/**
 * Creates a Selenium WebDriver using Chrome as the browser
 * @returns {ThenableWebDriver} selenium web driver
 */

let service;

module.exports = function() {
	const webdriver = require('selenium-webdriver');
	const chrome = require('selenium-webdriver/chrome');
	const path = require('chromedriver').path;

	if (service === undefined) {
		service = new chrome.ServiceBuilder(path).build();
		chrome.setDefaultService(service);
	}

	const driver = new webdriver.Builder()
		.withCapabilities({
			browserName: 'chrome',
			javascriptEnabled: true,
			path
		})
		.build();

	return driver;
};

Hi @rudovjan, please can you give the latest version a try?

Hi @john-doherty , you mean latest version of your selenium-cucumber-js with using your default chrome? Or latest chromedriver?

Yes, the latest version of selenium-cucumber-js

@john-doherty
Just some information, I get the same error using the cucumber/cucumber-js library which I know this library uses. Anytime I have more than one scenario in a feature file.
@rudovjan Thanks for the fix.


Dependabot not working

Bug Report
We do have a .github/dependabot.yml but it doesn't seem to actually be working.
We need to follow up and attempt to get this working so we can automatically capture CVE bumps that we can consume.
Expected Behavior
See dependabot PRs opened.

This was fixed in: https://github.com/vmware-tanzu/community-edition/pull/3371


Selectin for the SQLModels relations

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the SQLModel documentation, with the integrated search.
[X] I already searched in Google "How to X in SQLModel" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to SQLModel but to Pydantic.
[X] I already checked if it is not related to SQLModel but to SQLAlchemy.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
class Team(SQLModel):
    id: int = Field(default=None, primary_key=True)
    heroes: List["Hero"] = Relationship(back_populates="team", sa_relationship_kwargs={"lazy": "selectin"})

class Hero(SQLModel):
    name: str

    team_id: Optional[int] = Field(default=None, foreign_key="team.id")
    team: Optional[Team] = Relationship(back_populates="incidents")

app = FastAPI()

@app.get("/teams/", response_model=List[Team])
def get_teams() -> List[Team]:
    with Session(engine) as session:
        return session.exec(select(Team)).all()

desired_output = [
    {
        "id": 1,
        "heroes": [
            {"name": "Batman"},
            {"name": "Superman"}
        ]
    }
]

Description
When returning a list of Teams the Relationship fields are not covered in the output. I believe the response is using pydantic.main.BaseModel.json() to get the data (and there it will only cover non-Relationship fields).
It would be great if there was an option to also return the Relationship fields especially if {"lazy": "selectin"} was enabled for the relation.
It's an easy workaround to walk the objects and return the complete data as json in the endpoint, but since we already have the models that is not very satisfying (also because the response_model for openapi will not be easily achievable).
Did I miss an option to enable having the Relationship attributes in the response, or is that something that could be worked on?
I would also be happy to contribute but would need a pointer on where to start.
Operating System
Linux
Operating System Details
No response
SQLModel Version
0.0.7
Python Version
3.10.4
Additional Context
No response

First off, if you haven't already, I suggest reading this section of the docs. It addresses the issue of infinite recursion (among other things) that can easily happen, if you don't think carefully about what data you actually want to get.
Second, I assume you forgot to copy the table=True in your example models. Without those, you can't use the models for any database queries.
The cyclic dilemma
There are already quite a few issues around this topic of including relationships in such a way. I haven't looked deeply into the code for this yet. But as I understand it, it is not at all clear, how exactly you should tackle the problem of cyclical relationship graphs. Not that there aren't any theoretical solutions. It seems to be more of a question of what a "sensible" approach may look like. In the end, it would have to be up to the user to decide, when exactly to stop walking along the relationship graph.
The most straightforward solution, and the one used right now is to simply avoid the issue altogether and force the user to e.g. set up his own response models (not tables) with the desired nesting of sub-models. (See the section "What Data to Include" on the aforementioned docs page.)
Be explicit yourself
So I would suggest closely following the advice about model inheritance from the docs for now. That means for your desired output:
from typing import List, Optional

from fastapi import FastAPI, Depends
from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select

class TeamBase(SQLModel):
    name: str = Field(index=True)
    ...

class Team(TeamBase, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    heroes: List["Hero"] = Relationship(back_populates="team")

class TeamRead(TeamBase):
    id: int

class HeroBase(SQLModel):
    name: str = Field(index=True)
    ...
    team_id: Optional[int] = Field(default=None, foreign_key="team.id")

class Hero(HeroBase, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    team: Optional[Team] = Relationship(back_populates="heroes")

class HeroRead(HeroBase):
    id: int

class TeamReadWithHeroes(TeamRead):
    heroes: List[HeroRead] = []

app = FastAPI()

sqlite_url = "sqlite:///test.db"
engine = create_engine(sqlite_url, echo=True)

def create_db_and_tables():
    SQLModel.metadata.create_all(engine)

def get_session():
    with Session(engine) as session:
        yield session

@app.on_event("startup")
def on_startup():
    create_db_and_tables()

@app.get("/teams/", response_model=List[TeamReadWithHeroes])
def get_teams(*, session: Session = Depends(get_session)) -> List[Team]:
    return session.exec(select(Team)).all()

Under the hood, FastAPI will basically call the TeamReadWithHeroes.from_orm() method on each Team instance returned by the database query. This will populate the heroes field on that model and give you the desired result:
[
  {
    "name": "theteam",
    "id": 1,
    "heroes": [
      {
        "name": "foo",
        "team_id": 1,
        "id": 1
      },
      {
        "name": "bar",
        "team_id": 1,
        "id": 2
      }
    ]
  }
]

Thanks for the elaborate reply!
table=True is indeed missing sorry for that mistake.
Cyclic Dilemma
I've read the documentation regarding the issue, it would be up to the implementation whether that is an issue or not. It would only be one if the table design is accordingly.
Regarding the Suggestion
The suggested code would in my case duplicate every single model with the exact same attributes, in which case it would probably be smarter to work with sqlalchemy and pydantic only.
Thanks for the explanation and hopefully there will be a possibility in the future to directly decide upon whether to include the relations or not.

Yeah @busykoala how does it duplicate, when with the inheritance you get reuse? I'm using this pattern quite happily.
class TeamReadWithHeroes(TeamRead):
    heroes: List[HeroRead] = []

As a workaround, I played around a bit and the below code was the outcome. The SQLModel class could provide something similar (implemented a bit cleaner) to walk the objects. Also, this way an additional counter variable would make it easy to stop infinite recursion if that was desired.
The below code only walks relations that have lazy selectin enabled like Relationship(back_populates="team", sa_relationship_kwargs={"lazy": "selectin"}), if not enabled the relations will be skipped.
I've provided an example serializer to show how that could be customized if needed as well.
# --------------------------------------------------------------------
# serializers.py
# --------------------------------------------------------------------
from datetime import datetime

serializers = {
    datetime: lambda x: x.isoformat()
}

# --------------------------------------------------------------------
# sqlmodel_walk.py
# --------------------------------------------------------------------
from typing import Any
from typing import Dict
from typing import List
from typing import Union

from sqlmodel import SQLModel

class SQLModelWalk:
    def __init__(self, models: Union[List[SQLModel], SQLModel], serializers: Union[Dict[Any, Any], None] = None):
        self.serializers = serializers if serializers else {}
        self.data: Union[List, Dict] = self._add_current(models, [] if isinstance(models, List) else {})

    def _add_current(self, models: Union[List[SQLModel], SQLModel], parent: Union[List, Dict]) -> Union[List, Dict]:
        # handle list of objects
        if isinstance(models, List) and isinstance(parent, List):
            parent.extend([self._add_current(obj, {}) for obj in models])
            return parent
        # handle single objects
        keys = [attr for attr in vars(models).keys() if "_sa_instance_state" not in attr]
        for key in keys:
            current_attr = getattr(models, key)
            if isinstance(current_attr, List):
                current_attr = [self._add_current(obj, {}) for obj in current_attr]
            if isinstance(current_attr, SQLModel):
                current_attr = self._add_current(current_attr, {})
            if isinstance(current_attr, tuple(self.serializers.keys())):
                current_attr = self._serialize_types(current_attr)
            if not isinstance(parent, Dict):
                raise Exception("Walk error (parent is not a dict).")
            parent[key] = current_attr
        return parent

    def _serialize_types(self, field: Any) -> str:
        serializer = self.serializers.get(type(field))
        if not serializer:
            raise Exception("No matching serializer found for data.")
        serialized_data = serializer(field)
        if not isinstance(serialized_data, str):
            raise Exception("Serializer not converting to string.")
        return serialized_data

I'm probably forgetting about many things, but that might be a start anyways.

Does anyone have the models separated in different files?
When I separate the Hero from the Team in two different files I get an error.
File "/home/xpolo/dev/python/fastapi-test/.env/lib/python3.10/site-packages/fastapi/utils.py", line 35, in get_model_definitions
    m_schema, m_definitions, m_nested_models = model_process_schema(
  File "pydantic/schema.py", line 580, in pydantic.schema.model_process_schema
  File "pydantic/schema.py", line 621, in pydantic.schema.model_type_schema
  File "pydantic/schema.py", line 254, in pydantic.schema.field_schema
  File "pydantic/schema.py", line 461, in pydantic.schema.field_type_schema
  File "pydantic/schema.py", line 847, in pydantic.schema.field_singleton_schema
  File "pydantic/schema.py", line 698, in pydantic.schema.field_singleton_sub_fields_schema
  File "pydantic/schema.py", line 526, in pydantic.schema.field_type_schema
  File "pydantic/schema.py", line 921, in pydantic.schema.field_singleton_schema
  File "/usr/lib/python3.10/abc.py", line 123, in __subclasscheck__
    return _abc_subclasscheck(cls, subclass)
TypeError: issubclass() arg 1 must be a class

In one file all is running ok, but not with separated files.
All is running OK with separated files, without the HeroReadWithTeam / TeamReadWithHeroes
Note: I'm using TYPE_CHECKING with imports.


ponyc: 0.5.1 -> 0.6.0

Motivation for this change
Update to latest ponyc release

Update to using llvm 3.9 for ponyc builds as it should resolve a Skylake cpu issue. See #19457 and ponylang/ponyc#1176. cc @NeQuissimus

Things done

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

[ ] NixOS
[x] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

LLVM 3.9 has the same issue for me. LLVM 3.7 works, though. I am unsure whether you want to use 3.7 or 3.9, if it works for most people...


slow performance : char_size is called several times per plugin's operation ( i guess like 4 times )

Expected behavior
store char size after each plugin operation, to eleminate need to append temporary cursor 4 times.
Actual behavior
char_size is called 4 times per one plugin's operation (ex: resize, command output.. etc) on screen resulting in appending temp span cursor (4x per plugin on screen)  to body ( which slows performance, say you have many terminals on screen)
also when numChar/numRows manually defined would be great to not call native methods ( get_num_chars / get_num_rows ) at all

the function is executed only on resize and calculation in resize are not executed when the options numChar/numRows are set.
The improvement will be in next version

In version 1.5.0


Add the new commit count and git hash to the version

Motivation
When someone is running on a git branch, sometimes it's hard to tell which version they branched off.
Solution
Add the following info to the version in the panic, ticket template, and sentry report metadata:

the number of commits since the last git tag
the git commit hash (a bit repetitive, but it matches the "git semver" format)

The code in this pull request has:

[x] Documentation Comments
[x] Acceptance Tests

Manual Test Output
Cause a port/database conflict panic:
zebrad start 2> /dev/null &
zebrad start
killall zebrad

Metadata:
version: 1.0.0-alpha.1+332.g3a992dd
branch: vergen-git-tag-count-hash
git commit: 3a992dd
commit timestamp: 2021-04-20T07:09:02+00:00
target triple: x86_64-unknown-linux-gnu
Zcash network: Mainnet

Review
This useful debugging feature can be reviewed by anyone at any time.
Related Issues
Adds commits to PR #2037
Follow Up Work
Use the target triple even if there is no .git directory, needs rustyhorde/vergen#64

I want to squash this one to get rid of the tiny commits and buggy commits.


Expose gRPC Authority in ConnectionOptions

What was changed:

Exposed the gRPC authority as a connection option.
Why?

gRPC Authority is used for routing in certain scenarios. This is a safe change as gRPC enforces that authority can only be overridden in insecure mode.
Checklist

Closes issue:

N/A.

How was this tested:

Integration and unit tests.

Any docs updates needed?

N/A.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Arash Fallah seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Reimplemented in #409.


Feat/added menu item details activity

Pull Request: Menu Item Detail Activity Implementation
Overview
This pull request implements the Menu Item Detail Activity in our Android application. This activity displays detailed information about a selected menu item, including an image, name, description, and an "Add to Basket" button.
Changes Made

Created MenuItemDetailActivity:

This activity is responsible for displaying the details of a selected menu item.
Utilizes a toolbar for navigation and back functionality.

User Interface:

Added an ImageView to display the dish's image using Glide for image loading.
Added TextViews for displaying the dish name and description.
Added a Button labeled "Add to basket" for adding the item to the user's basket.

Navigation:

Implemented navigation from the menu to the detail activity.
Added back navigation functionality using the toolbar.

Data Handling:

Retrieved the MenuItem object passed via intent to populate the UI elements.
Implemented a click listener for the "Add to Basket" button, logging the action (to be expanded with actual basket logic in future updates).

Screenshots

Future Work

Implement the functionality to add the selected menu item to the user's basket.


Math methods chapter

Quintin gave you some useful notes on math methods that are pretty elementary and should be easy to add. These could either be included in a new chapter at the beginning, parts could be added to existing math chapters, or they could just be added to the special topics in mathematics section.
If you add it as a new chapter at the beginning, you may consider to move parts of the special topics in math chapter to it.

i think the approach i've instead decided to take is just to add results as i need them


Brand text on mobile homepage

As expected, just on the homepage, we would like to have the brand title "Prossima PA" and claim "Le opportunità per..." shown just below the mobile header on white background.

Expected behavior: use innovazione.gov.it mobile header behavior as a reference.

fix su develop

closed by #137


Feature/typing loader

adds a loader that appears when text is changed - until the results finished loading.
The loader can be customized via renderTypingLoader property. and can be disabled\enabled via enableTypingLoader property.
example:
https://user-images.githubusercontent.com/62435004/116207581-b4ef5600-a748-11eb-81a2-880a103b6672.mp4

any ideas on when this is getting merged?

@Sheharyar566
a similar PR got merged #736

Isn't that PR still under review?

Whats going on with this pls

It seems that neither this PR nor #736 got merged. reopening in case anyone would like to use this


Table data in redux

Closes #2103

[Q] How does performance compare? Looks good to go otherwise.

I'm not seeing any difference. It's pretty much just a drop in replacement since the whole thing changes when the data changes. Like I said I'll follow up to try to limit the changes to only what changes. That could help with really big project, but that is not something we will notice otherwise.


Turn on password for PR previews

I have turn on the password on amplify hosting for my dev environment/url, but when a new PR gets created that PR doesn't have a password and I can't apply it globally because then prod would also be protected with password, how can I restrict the access for PRs as well?

Hi @afern247 👋 , thanks for raising this!
You can enable access control or password protection on a per branch level by turning off the option to apply a global password.

To apply a username and password to an individual branch, turn off Apply a global password. For the branch that you want to set a unique username and password for, choose Restricted-password required for Access setting and enter a username and password.

Documentation: https://docs.aws.amazon.com/amplify/latest/userguide/access-control.html

Hi @Jay2113 , please check my question again above:

I can't apply it globally because then prod would also be protected with password, how can I restrict the access for PRs as well?

This is for Amplify Hosting preview on feature branches.

Hi @afern247
Your question probably relates to the following feature request.
[Feature request] Support default password protection for all new branches #280
There is no direct feature as you are asking for, but you can solve it in the following ways.

currently there isn't an easy way to do so. A workaround would be to have 2 Amplify Console apps connected to the same repo - first app is your production app. 2nd app has all your other branches and you can set a global password for all the connected branches.
https://github.com/aws-amplify/amplify-hosting/issues/280#issuecomment-561871146

That's not scalable, that involves maintaining 2 separate entities with the same level of architecture.
I'm looking for a solution for 1 app only.


Bots goes offline on Slack; unable to restart

The bot appears to have gone offline line - but is still showing a green status indicator on BeepBoop; is there any way to trigger to a restart?
Does the bot monitor for Slack disconnects - and attempt to reconnect?

Might be your instance since it works for me now. I don't think there is a way to restart it but you might try removing and adding it back to your team a try. I'd contact BeepBoop on this regard.

I've dropped BeepBoop a tweet.
Does the bot monitor for Slack API disconnects? The last time I wrote a bot in Node.js for Slack, their API randomly dropping out after a while was an issue.


Fix broken link to portable PDB reader

The link below was broken:

The portable format is open source…

Looks like the new home is https://github.com/dotnet/symreader-portable so this PR fixes the link to point there instead.

Thanks


Duplicate operations in basic operations

In the division impls we promote the LHS to the next biggest integer type (e.g uint32_t -> uint64_t) and then shrink it back down to return it in a struct that then gets passed ot the decimal constructor: https://github.com/cppalliance/decimal/blob/develop/include/boost/decimal/detail/div_impl.hpp#L80. We can remove all of the shrinking back down steps since the decimal constructor is already designed to handle big integer types. This may or may not apply to dec128 since I don't think the uint256_t case is handled in the constructor since that is only for internal usage.

This actually seems to apply to all the basic operations. Adding a task list since dec32 and 64 are trivial but 128 would need extra operators added to uint256_t. Would it be better to just shrink instead of performing additional operations with the uint256_t? Only time will tell.


Add a Food Ordering Website

Describe the project you want to add with tech stack
It is a website where you can order your food from nearest outlets in your area. Tech Stack used in this is only HTML and CSS.

Please assign this issue to me.
Thank you.

Hello @kshitizvardhan ... welcome to Metaverse !!!!!🙏🎉

Please go through contributing.md


feat: improve pnpm sorting

https://github.com/keithamus/sort-package-json/pull/313 added the ability to deeply sort a pnpm object in package.json. This PR improves pnpm sorting in the following ways:

groups similar fields together
sorts pnpm.overrides entries with the same package name using semver rather than alphabetically

Example:
Before this change:
"pnpm": {
  "overrides": {
      "<EMAIL_ADDRESS>"3.10.3",
      "<EMAIL_ADDRESS>"3.7.0"
  }
}

After this change:
"pnpm": {
  "overrides": {
      "<EMAIL_ADDRESS>"3.7.0",
      "<EMAIL_ADDRESS>"3.10.3"
  }
}

@samsternatretool what do you think?

@keithamus LGTM from me! @westrik is on my team at Retool and he noticed some subtlety when it comes to sorting pnpm overrides after we merged my original change.

Some failing tests in Node 12 because of Array#at. Will need to use an alternative or polyfill.

Some failing tests in Node 12 because of Array#at. Will need to use an alternative or polyfill.

updated with alternative


Invalid json in v0.6.1-alpha-13

Hi there,
I just started using frodo and am attempting to parse the results.  I found that something like jq or python3 -m json.tool cannot work with the results because it seems like frodo returns invalid json?
frodo returns something like this:
{
cookieName: 'iPlanetDirectoryPro',
sessionToken: 'd1YTtjb6hh-w7XzsBrAiDQNgsL0.123456ACMDIAAlNLABxNR2M4N0FlVG00RHRhTVlVZjZjMTZuOG5KWms9AAR0eXBlAANDVFMAAlMxAAIwMQ..',
bearerToken: '123456jOZly1uGF0JKtvSL32q20'
}
Which doesn't lint
What DOES lint and is properly handled by json tools is a result with double quotes around everything, like this:
{
"cookieName": "iPlanetDirectoryPro",
"sessionToken": "d1YTtjb6hh-w7XzsBrAiDQNgsL0.123456ACMDIAAlNLABxNR2M4N0FlVG00RHRhTVlVZjZjMTZuOG5KWms9AAR0eXBlAANDVFMAAlMxAAIwMQ..",
"bearerToken": "123456jOZly1uGF0JKtvSL32q20"
}
Hoping you can update frodo to use the double-quotes around the keys and values so that we have proper json?

It should be fixed now. I haven't created a new binary release though. Are you running the binary version or just from source?

Thank you for the quick fix.  I was running from downloaded binary.  If it's not a huge build then I'll check out how to make it tomorrow; though binaries are preferred.

Thank you.  I just attempted to run the latest binary and it throws errors?

Our binary build was broken but is fixed now. We published alpha 16, which seems to be solid. Please give that a try unless you are all set using the npm install.

Yep! I'm in good shape!  Thank you!


Mourner Clue

Add text for cryptic mourner clue "stop crying!" to include a message telling players to bring mourner gear

Don't close this issue until a solution is merged. :)

I made a pull request with the solution


Implement successful / unsuccessful notification of deployments

Bug report

[ ] I’ve read and understood the Contributing guidelines and have done my best effort to follow them.
[ ] I’ve read and agree to the Code of Conduct.
[ ] I’ve searched for any related issues and avoided creating a duplicate issue.

What happened

What I expected to happen

Reproducing

Website URL:
Browser:
Operating system:

Steps to reproduce:

Attachments

@adamzerella I am closing this as github integration in slack is doing this. Happy to re open if you want something else.


Create Thread 'directory' schema support

I'm not certain the exact implementation, if it is as wide-open as IPFS dirs or if there is any scoping, but it would be very useful for a few use-cases coming up.

/ref https://github.com/textileio/meta/issues/15


Update README for newer versions of gitui

Thanks for the themes! The default one is atrocious..
Be that as it may, it appears that gitui now supports changing the default theme by editing ~/.config/gitui/theme.ron. I didn't see the changes until I restarted gitui.

Yeah! I ran the commands below and it worked fine without alias and editing my rc file.
git clone https://github.com/catppuccin/gitui
cd gitui/theme
cp mocha.ron ~/.config/gitui/theme.ron

Closed in https://github.com/catppuccin/gitui/commit/05ba5fb1430b9ede001d88102f167cd6cb09f26b, thanks for raising!


Add Version comperator for Github dependencies;

Solution for #970 - Can't resolve npm GitHub URLs  and  #88 - add Version comperators for Github
I added a new module group called Comperators which in near future could include various implementations of comperators required for ProjectdependencyService.outdated?.
The Comperators::Github works basically like this:

it tries to fetch a commit_date by repo_ref
it'll compare the commit_date with the release_date of the latest release.

This PR also updates PackageParser with support for Github dependencies as specified by this documentation here - https://docs.npmjs.com/files/package.json#github-urls. Which can be thought demo use case.
For this functionality a parser need to

mark dep[:version_requested] = 'GITHUB'
extract values for dep[:repo_fullname] and dep[:repo_ref] fields
calling the function needs a valid Github Token.

My idea is that for paying customer you could smt similar:
parser = PackageParser.new
auth_token = GithubUpdater.fetch_token_for project
parser.parse_content('json document', auth_token)

For not paying customer, you could still pass on token=nil, which will make it to ignore checking Github dependencies;
NB! this PR doesn't handle git://github.com/x/y version labels for PackageParser, neither adds supports to any other Parsers - those should be separate tasks as this PR is already too huge;

@timgluz Quiet a big PR. I added some comments. If they are resolved I have to check out that PR on my localhost and run some tests. But I like the idea to have certain parsers only for paying customers :-)


Expose SKMask Class

I'm requesting API support for SKMask struct and SKBitmap::InstallMaskPixels.
The SKMask struct allows for a lightweight method for handling alpha masks.

PR's submitted for support (https://github.com/mono/SkiaSharp/pull/221, https://github.com/mono/skia/pull/46)

@Tylerflick I made a small change to the SKMask. Because a struct is not so great with native objects (the GC will not dispose the struct, as it doesn't have a finalizer), I updated the type to not automatically create/dispose the image. The type now just holds a plain IntPtr. I added a Create method that will copy the bytes into an unmanaged memory location. The user will also have to manually destroy the memory.
Basically, instead of new SKMask(bytes), which called AllocImage(), you need to use SKMask.Create(bytes). Then, you need to call mask.FreeImage() to release the memory.
This is also good for managed interop which has no need to free the memory:
fixed (void* ptr = bytes) {
    mask = new SKMask(ptr, ...);
}

If you want the nice dispose pattern with using blocks, you can make use of SKAutoMaskFreeImage (I copied the logic from the C++ code):
var mask = new SKMask(ptr, ...);
using (new SKAutoMaskFreeImage(mask.Image)) {
    // do stuff
}

Again, you won't use the using statement if you are using interop with the fixed block as you don't need to free memory - the GC will get to it.

Thanks for doing this. I was having a bit of trouble figuring out how to handle that native buffer.


Make sure we use precise lat/lon in the model

Description
The lat/lon in the database are rounded up to 2 decimals.
This might be because the data we have is ultimately from the provider's API, and it is anonymized.
Accuracy in the model could be improved (how much?) if we had the real lat/lon.
TODO

Do experiments to see if it actually changes anything to the model's accuracy
If the difference is big enough, then we should find a way to get the real lat/lon

Acceptance criteria

We understand the impact of precision of lat/on
Open further tickets if it seems worth to get more precise lat/lon

Reason for closing? This has not been done :)


access kerberized data

system：windwos10
Configure Java access to Trino.

trino-go-client config.

The Java side can connect to Trino, but the Go client prompts an error.
go client error :
[04-24|11:36:23] error querying the database: trino: Error login to KDC: [Root cause: KDC_Error] KDC_Error: AS Exchange Error: kerberos error response from KDC: KRB Error: (6) KDC_ERR_C_PRINCIPAL_UNKNOWN Client not found in Kerberos database - CLIENT_NOT_FOUND

In the Java client, KerberosRemoteServiceName is required. What does he pass in the Go client?

krb5.conf Is
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmin.log

[libdefaults]
 default_realm = HADOOP.QIYI.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 kdc_timeout = 2000
 forwardable = true
 allow_weak_crypto=true

[realms]
 HADOOP.QIYI.COM = {
  kdc = kdc.qiyi.domain
  kdc = kdc0.qiyi.domain
  kdc = kdc1.qiyi.domain
  kdc = kdc2.qiyi.domain
  kdc = kdc3.qiyi.domain
 }

I just checked that this is implemented in the presto-go-driver: https://github.com/prestodb/presto-go-client/commit/c52a52637959a37fa694ba4aab7b3a79501f24bb

I checked and didn't see the relevant part in the file you mentioned.
Can you help me find out what the error is?
[04-24|11:36:23] error querying the database: trino: Error login to KDC: [Root cause: KDC_Error] KDC_Error: AS Exchange Error: kerberos error response from KDC: KRB Error: (6) KDC_ERR_C_PRINCIPAL_UNKNOWN Client not found in Kerberos database - CLIENT_NOT_FOUND

Sorry, I thought we don't support Kerberos yet, but we do. Unfortunately, there are no integration tests here for it.
From the errors you included, it looks like the principal is not being found in the KDC. Is the krb5.conf you included same for the server and the client? I'm not sure if the paths in the logging section would work on a Windows host, but I'd check those for additional errors.
As for the missing KerberosRemoteServiceName parameter, this driver uses a hard-coded value of trino. But if this would be causing issues, the error would be different, as this is used after logging in and when making an HTTP request.

I don't think we configure logging in the Kerberos library used, and it might ignore the logging section in krb5.conf.

Would it be possible to check the KDC logs for some additional context to find differences between the Go and Java drivers?

krb5.conf should be loaded, because if my Realm is filled in incorrectly, there will be another error.
KerberosRemoteServiceName Where can I modify.

See the second argument when calling err = c.kerberosClient.SetSPNEGOHeader(req, "trino/"+req.URL.Hostname()) here: https://github.com/trinodb/trino-go-client/blob/master/trino/trino.go#L458


Clunky and ambiguous naming of wrapped templated classes

A quick fix might be to rename them to remove any ambiguity, e.g.,
FloatParticles -> Float32Particles
ShortParticles -> Uint16Particles
But ideally we want an interface / base class Particles which can hold data of different types. The same goes for converter and pixeldata.

On the above, did you ever try having a more generic base class, then using an interface with .astype(), and then auto datatype detection?
As currently this results in the code being prone to seg faults when you forget to manage your types.
Especially since its not super transparent in the conversion step.

This is largely being solved by #52 ?

Not really.. It makes conversion easier, but doesn't touch the class names. In answer to your previous post:

On the above, did you ever try having a more generic base class, then using an interface with .astype(), and then auto datatype detection?

This is possible, and fairly simple to implement as a python class. However, we would need another layer of wrapping around the library calls so that the ParticleData object is passed in instead of the parent class. This could be pretty neat, but requires some refactoring.
Perhaps the cleanest solution would be to just use numpy arrays, and initialize ParticleData objects internally that borrow the underlying data (similar to what we do with PixelData).


Detailed permission control required

This is only one permission node rpgitem currently.
Add more nodes so that we can have detailed permission control.

Added command permissions in commit c7ed446ad99e728f64894435c07c5d4ab00635ba. The way they now work is that a player requires one of the following three permissions to use a command:
rpgitem - the main permission node for the plugin
rpgitem.command - the permission node for all commands
rpgitem.command.[commandname]
For the nodes, I was unsure whether to use an * for them or not, but seeing as the one present right now did not use one, I left it out.
For further permissions: I saw that items already have a way of having permissions attached, although I think that reworking those to use the format rpgitem.item.[itemname] would be a better way of handling such permissions, but I'll wait on your input on that :)
Beyond that, do you have any more areas where you would like to have more permission control added?


workers.error.log & workers.access.log not being created/written

It appears that the event bind is failing circa /plugins/logger.js:135
I can confirm that the 'worker' event does indeed happen, and that it is bindable.
It appears that the bind is happening long after the 'worker' event has already been emitted, resulting in the function never being called.
This was tested on node v0.4.7, v0.4.12 and cluster v0.7.6 and v0.7.7.
This also can be shown using /examples/logger.js.

This appears to have been introduced in commit a3fb1eca49462125f2b36ada3bbe15639170d5e7 in v0.7.0
My feeling is that the callback for creating the directory is delaying 'worker' event bind and causing the issue. We have a race condition between the server starting workers and the directory being created.

IMHO it's duplicate of #169.

Ah yes. It is. You are correct.


CCF workflow optimized for horizontal channel rotation

Added the function to rotate horizontal channels, and optimized the CCF workflow.
Edited how the number of slices is calculated during FFT

you can use a simple if statement to check and provide the right operation.
Xiaotao
On Nov 14, 2024 at 15:59 -0500, Haoyu Li @.***>, wrote:

@saltyfishwoods commented on this pull request.
In seisgo/noise.py:

                   #exclude some channels in the exclude_chan list.

                   if comp in exclude_chan:

                       print(comp+" is in the exclude_chan list. Skip it!")

                       continue

+#assemble FFT with given asdf file name
+def assemble_fft(raw_data,win_len,step,freqmin=None,freqmax=None,
It is tricky to call assemble_raw() inside assemble_fft() because the input variables are very different.
To accommodate those who have the older version, I can print an instruction if input raw_data is not a dictionary.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


Upload first beta to play store

and sort out signing keys

Completed. However there was an issue with the signing keys and they had to be reset. No further uploads can be tested till the 5.1.2024


Leverage recent build-in multi-tenancy support in Hibernate

https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/MultiTenancyStrategy.java
I'm not sure when Grails will be updated with the latest version of Hibernate..

This is still not implemented for single db (discriminator) in Hibernate.
https://hibernate.atlassian.net/browse/HHH-6054
https://hibernate.atlassian.net/browse/HHH-5697


Return exit code from linux build script

LGTM

@digitalinfinity this was the failing part on master right?

LGTM


Unable to find FirebaseCppApp-6_6_0

Please fill in the following fields:
Unity editor version:2019.1.9
Firebase Unity SDK version: 6.6.0
Firebase plugins in use (Auth, Database, etc.): Dynamic links
Additional SDKs you are using (Facebook, AdMob, etc.): Nothing
Platform you are using the Unity editor on (Mac, Windows, or Linux): Mac
Platform you are targeting (iOS, Android, and/or desktop): Android
Scripting Runtime (Mono, and/or IL2CPP):IL2CPP
Please describe the issue here:
When i build it on IL2CPP I got Errors
these are the logs:-
2019-11-25 11:06:54.035 22692-22719/? E/Unity: Unable to find FirebaseCppApp-6_6_0
2019-11-25 11:06:54.105 22692-22719/? E/Unity: DllNotFoundException: Unable to load DLL 'FirebaseCppApp-6_6_0': The specified module could not be found.
at Firebase.AppUtilPINVOKE+SWIGExceptionHelper.SWIGRegisterExceptionCallbacks_AppUtil (Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate applicationDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate arithmeticDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate divideByZeroDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate indexOutOfRangeDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate invalidCastDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate invalidOperationDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate ioDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate nullReferenceDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate outOfMemoryDelegate, Firebase.AppUtilPINVOKE+SWIGExceptionHelper+ExceptionDelegate overflowDelegate,
2019-11-25 11:06:54.151 22692-22721/? E/Unity: DllNotFoundException: Unable to load DLL 'FirebaseCppApp-6_6_0': The specified module could not be found.
at Firebase.AppUtilPINVOKE.SetLogFunction (Firebase.LogUtil+LogMessageDelegate jarg1) [0x00000] in <00000000000000000000000000000000>:0
at Firebase.AppUtil.SetLogFunction (Firebase.LogUtil+LogMessageDelegate arg0) [0x00000] in <00000000000000000000000000000000>:0
at Firebase.LogUtil.Finalize () [0x00000] in <00000000000000000000000000000000>:0
System.UnhandledExceptionEventHandler:Invoke(Object, UnhandledExceptionEventArgs)
and the second log which i get in the loop is:-
2019-11-25 11:06:55.192 22692-22719/? E/Unity: DllNotFoundException: Unable to load DLL 'FirebaseCppApp-6_6_0': The specified module could not be found.
at Firebase.AppUtilPINVOKE.PollCallbacks () [0x00000] in <00000000000000000000000000000000>:0
at Firebase.AppUtil.PollCallbacks () [0x00000] in <00000000000000000000000000000000>:0
at Firebase.Platform.FirebaseHandler.Update () [0x00000] in <00000000000000000000000000000000>:0
Please answer the following, if applicable:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
What's the issue repro rate? (eg 100%, 1/5 etc)

Does this only happen with IL2CPP? Are you trying to build this in an existing project or are you testing with the quickstart project?

I trying to build it in my existing project, and yes this is happening in IL2CPP, in Mono it works fine

just resolve it, change the scripting to IL2CPP and check both  arm7 and arm64, then force resolve it will solve the issue :)


jsx syntax cannot recognize global component correctly in *.vue file

I want to use jsx syntax in vue script, but it can not render global component, is this a bug or I am in a wrong way?
version:
"dependencies": {
"element-plus": "^1.0.1-beta.23",
"vue": "^3.0.5"
},
"devDependencies": {
"@vitejs/plugin-vue": "^1.0.4",
"@vitejs/plugin-vue-jsx": "^1.0.1",
"@vue/babel-plugin-jsx": "^1.0.0",
"@vue/compiler-sfc": "^3.0.5",
"@vuedx/typecheck": "^0.4.1",
"@vuedx/typescript-plugin-vue": "^0.4.1",
"sass": "^1.32.2",
"typescript": "^4.1.3",
"vite": "^2.0.0-beta.12"
}
App.vue
<template>

  <el-tag>Hello</el-tag>

  <CustomRender :render="render1" />

  <CustomRender :render="render2" />
</template>

Render.jsx
import { h } from 'vue'

const CustomRender = (props) => {
  if (props.render) {
    return props.render() || Empty
  } else {
    return Empty
  }
}

export default CustomRender;

resolveComponent('el-tag')

resolveComponent('el-tag')

resolveComponent('el-tag')

it did no use
in /main.js I have already register entire element-ui components

resolveComponent('el-tag')

it did no use
in /main.js I have already register entire element-ui components

now it works!!!
package.json
{
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview"
  },
  "dependencies": {
    "element-plus": "^1.0.2-beta.46",
    "vue": "^3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.2.3",
    "@vitejs/plugin-vue-jsx": "^1.1.5",
    "@vue/compiler-sfc": "^3.0.5",
    "vite": "^2.3.5"
  }
}

For those of us that don't want to upgrade to vite, it would be nice if this package recognized global components.


What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area build
What this PR does / why we need it:
Enable a GOEXPERIMENT flag that will be part of next go1.22 release.
See https://go.dev/blog/loopvar-preview.

While at it, fix once again the flaky kernel urls test for ubuntu.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: dwindsor, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,dwindsor]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Sometimes getting an error on shut down of windows 10

ℹ Computer information
All latest versions:

PowerToys version:
PowerToy Utility:
Running PowerToys as Admin: Not usre?
Windows build number: [run "winver"]

📝 Provide detailed reproduction steps (if any)

…In event viewer after shutting down and restarting
…I get the following error been logged: Application pop-up: SystemResourceNotifyWindow: PowerLauncher.exe - Application Error : The exception unknown software exception (0xe0434352) occurred in the application at location 0x00007FFA210F3E49.
… Meaning that sometimes when I shut down I get a pop up error message.

✔ Expected result
What is the expected result of the above steps?
When I shut down to not get any warning messages that are usually more relative to the main OS.
❌ Actual result
What is the actual result of the above steps?
Windows 10 gives a warning / error message on shutdown relating to powertoys.
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form
Not possible

The problem is tracked in https://github.com/microsoft/PowerToys/issues/7834
A fix will be available in the next release.


Changes Pi-hole graphs from stacked bar to line

Description:
Currently, Pi-hole sensors don't specific any units of measurement; as a result, their graphs show up as stacked bar charts:

Given that all Pi-hole sensors are numeric in nature, it would be better to provide units and, as a result, get line graphs instead:

This PR assigns units of measurement to each sensor that the Pi-hole platform produces.
Related issue (if applicable): N/A
Pull request in home-assistant.github.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
sensor:
  - platform: pi_hole
    host: <IP_ADDRESS>
    monitored_conditions:
      - ads_blocked_today
      - ads_percentage_today
      - dns_queries_today
      - domains_being_blocked
      - queries_cached
      - queries_forwarded
      - unique_clients
      - unique_domains

Checklist:
If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

@fabaff: Not necessarily – even though the chart only grows in a positive direction, the delta between two points may be useful (i.e., I may be able to more easily visualize a rapid spike in DNS queries). Regardless, it's more useful than the existing gradient. 😄


in-floor valve and blinds support

depends on: https://github.com/inverse/python-iolite-client/pull/220

Interesting when I was testing this locally the other day it was working - let me have another think :thinking:

@inverse thank you for taking the time, I'm not super familiar with python best practices here, in other langues I would publish a lockfile to the repo

Yeah i'm more used to using poetry which includes the lock file of all the indirect dependencies too. Perhaps we could migrate to that?

@inverse yeah we could consider that, for the current PR the tests do pass now, do we want to merge as is?


Fix table literal issue with defaultable record constraints

Purpose
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/18712
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #19440 into ballerina-1.0.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.0.x   #19440   +/-   ##
================================================
  Coverage            15.73%   15.73%
================================================
  Files                   47       47
  Lines                 1265     1265
  Branches               197      197
================================================
  Hits                   199      199
  Misses                1053     1053
  Partials                13       13

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 347c067...9f4d920. Read the comment docs.


Migrate SafeApp to zod

Summary
This migrates the validation of SafeApp to zod.
Changes

Removes SafeAppValidator and associated schema.
Adds SafeAppSchema and infers type(s) from it.
Propagate required changes in codebase.
Update associated tests.
Changes iconUrl from string to string | null.

Thanks for the suggestion @iamacook! I've committed it, in fact, I had the exact same code and relaxed the validation later (see this difff) because I'm not sure it makes a lot of sense to validate the accessControl property in the CGW, as its logic is more on the Config Service. Adding a new AccessControl type there will break the validation in the CGW, and I think it shouldn't as the CGW doesn't own the logic for this property.
But I also think your suggestion is right since it should be tackled in a separate PR, and we are purely migrating the validation mechanism here 👍🏻
Thanks again!


Call to undefined method Phinx\Db\Adapter\TablePrefixAdapter::getConnection()

Adding table_prefix: xxx_  to phinx.yml throws exception below.
PHP Fatal error:  Call to undefined method Phinx\Db\Adapter\TablePrefixAdapter::getConnection() in /home/ubuntu/workspace/vendor/odan/phinx-migrations-generator/src/Migration/Command/GenerateCommand.php on line 95
cheers

Hi! This should be fixed now.


Consider image keyboard support - proof of concept works

Environment
Flutter version:  2.0.5
Plugin version:  latest Github
Android version:  > 20
iOS version: n/a
Xcode version:   n//a
Device information:  Android
Description
Image keyboards are not supported in Flutter, compare https://github.com/flutter/flutter/issues/20796
However, supporting image keyboards is not very difficult - at least on Android, compare
https://developer.android.com/guide/topics/text/image-keyboard
No support for image keyboards is a serious limitation for any Flutter communication app.
The idea is to provide support for image keyboards in InAppWebView.
I have created a proof of concept, which you can find here:
https://github.com/robert-virkus/flutter_inappwebview/commit/066e81c0e97c50b3620eaccff0088709de9cf04c
Diff: https://github.com/pichillilorenzo/flutter_inappwebview/compare/master...robert-virkus:master
The changes are basically:

InAppWebView.java: in onCreateInputConnection(EditorInfo editorInfo) I register image media types are being supported using EditorInfoCompat.setContentMimeTypes(...). When the callback is triggered, I load the data and forward the data to Flutter using the MethodChannel with the method name "onImeCommitContent".
in_app_webview_controller.dart: I expose the dynamic Function(String mimeType, Uint8List data)? onImeCommitContent; callback and trigger that in handleMethod(...).

There are (at least) 2 required changes:

users should be able to specify the mime types they want to support.
if users do not specify any mime types or no callback,  the relevant code should not be executed.

Please let me know what you think!
Thanks & keep up the good work!!

Robert

What you'd like to happen:
Users of  flutter_inappwebview should be able to register a callback for receiving data from image keyboards.
Images:
Here's a video showing the proof of concept running in my editor project:  https://github.com/Enough-Software/enough_html_editor
https://user-images.githubusercontent.com/837669/115889909-aeb15f00-a454-11eb-8559-93c5c877b944.mp4

If you want to test this, I have pushed the proof of concept project here:
https://github.com/Enough-Software/enough_html_editor/tree/imagekeyboard
This project includes an example allows you to insert stickers and gifs from the keyboard.

Hi Robert, thanks for it! Didn’t know about that. I will take a look at it as soon as possible!

Hi @pichillilorenzo do you have time to look into supporting image keyboards? What do you think about my approach? When the general direction of my changes are okay and you are open to pull requests, I will gladly help to realize this feature.


No you are right. I was not paying attention late at night.


SMD-532 - Pathfinders transformation pipeline

WIP

Hey @nsnape and @cyrusdobbs, would be good to get your eyes on this...
The idea behind the work on this PR is to perfectly recreate the structure of TF transformed DataFrames, with the aim of minimising problems on integration. This means for the time being keeping all fields, even those that aren't relevant to Pathfinders - in these cases we fill the values as pd.NA. In cases where data is now programme-level not project-level (e.g., "output_data", "funding"), we also return "Programme ID" in the transformed DF and add an fk_relation in mappings.py to allow programme_junction_id to be populated. We also have a new table "Project Finance Changes" to support.
Regarding how this work syncs up with upstream work (extraction, validation, mapping retrieval), the transformation function has as dependencies the extracted, validated data (a dictionary of DataFrames, each representing an extracted, validated table from the spreadsheet e.g., "Organisation Name") and mappings (e.g., programme name -> programme ID). Currently I understand that the extraction and validation process returns a dictionary of lists of DataFrames, owing to the support for extraction of multiple tables for a single tag (this may be outdated information), so there is a mismatch here that warrants discussion. Given that we want to continue to support multiple table extraction, a couple of options might be:

Adjusting the extraction and validation function (assuming this is encapsulated into a single function) to return single DataFrames e.g., by concatenating tables together after processing (with TableProcessor) but before validation (with TableValidator), or after validation but before returning from the function
Adjusting the transformation function in this PR to concatenate tables together at the beginning, before any transformation takes place

Either way I think it definitely makes sense to be working with single DataFrames during transformation, not lists of DataFrames.
Regarding how this work syncs up with downstream work (database changes), the code in this PR presupposes the upcoming database change by Joel to add programme_junction_id to output_data and funding tables as well as the upcoming addition of the project finance change table. The docstrings in this PR also presuppose the upcoming change to standardise the outputs and outcomes tables. One thing the code in this PR does yet presuppose is the potential change to the "Submission" table (addition of event_data_blob field) which would support ingestion of "Sign-off" data.
TODOs:

Mapping retrieval and exposure (ticket here: https://dluhcdigital.atlassian.net/browse/SMD-652)
Finalise database / entities / mappings changes (see above ticket links) and ensure transformation logic and documentation aligns
Integrate transformation logic into /ingest endpoint, which as I understand is an ongoing piece of work already begun by Cyrus (unsure if ticket already exists?)
Adjust data serialisation to display new project finance changes table. Other changes to data serialisation may also be necessary although my understanding is that not too much will need to be changed here owing to the tight mapping that we've done from PF to TF fields, the fact that significant differences in the data we collect in the "Admin" tab are abstracted away behind question and answer columns, etc. One issue is that we're going to have lots of empty columns in the data download, but this can be considered later (unsure if ticket already exists?)

Potential TODOs further down the road:

Explore returning Pydantic models not DataFrames from transformation for better code design and validation on transformed data

Hey @cyrusdobbs and @nsnape thanks for your feedback.
In light of your review, I have made changes this morning including:

Removed NA columns from transformation output in cases where those columns just end up shoved into the event_data_blob table anyway
Added output_intervention_theme_mapping and outcome_intervention_theme_mapping as dependencies to the transformation function in a similar fashion to programme_name_to_id_mapping, with idea being that existing OUTPUT_CATEGORIES and OUTCOME_CATEGORIES consts are not valid for PF and mappings may be extracted from spreadsheet
Appended a new data point to project location test data containing multiple postcodes to enhance test
Moved the PF-specific transformation constants out of core/const.py and into core/transformation/pathfinders/consts.py
Removed duplicate migration and changes to mappings and entities around making funding and output_data tables project and programme-level, as this was covered in a separate PR by Joel that has now been merged into this one
Renamed core/transformation/pathfinders/version_1.py to core/transformation/pathfinders/transform.py
Created a Jira ticket link for the "Sign off" data TODO and added to comment
Removed underscores as prefixes from method names
Switched to capital casing for test data variable names

I have chosen to retain the function docstrings detailing the link between fields in the transformation output and columns in the database, because I feel it is helpful to include this context especially given the complexity of the mapping / load process that sits between the transformed data and the database, as well as the fact we will be onboarding new developers soon. I do definitely understand the point around these comments not focusing specifically on their methods, and the plan will be to remove them once the downstream process has been simplified.
The other thing to note is that I have not removed NA columns from the transformation output where those columns will be mapped to actual database columns rather than to fields in the event_data_blob JSON blob. For example, I have retained "Primary Intervention Theme": [pd.NA] * len(project_ids) in the transformed output that sits in the "Project Details" DataFrame, because primary_intervention_theme remains a column in the project_dim table. This was just because I haven't double checked the effect that removing these columns might have, so I thought would take the conservative approach initially.

I'm actually in favour of using underscores as a convention for private function and method names. I think it helps to clearly show the interface into that module of functionality. Although I do also agree that ideally our approach should be consistent, so maybe this should be applied across the repo at once if it's something we want to do.
If we're happy to leave in the empty rows of data for now then do we want a TODO and ticket to look at testing and possibly removing them if they're not needed? I imagine it will be easily forgotten about if we just leave it like this.

@cyrusdobbs - fair enough, I would tend to agree with you regarding using underscores to demonstrate clearly the public interface of a module. I've removed them for now as per Noel's comment, but implementing this sort of pattern more broadly could be a good idea for the future. Regarding adding a TODO and creating a ticket for possibly removing from the transformation output any fields whose values are all NA, I will do this now 👍


About the inference speed

Thanks for your excellent work first.
My only question is when you test your inference speed, you mentioned that your method only needs around 60ms for a single frame, however, from the PENet paper, they need 40ms to get the completed depth map.
Without considering any transfer time between the depth map and pseudo points, do you only need 20ms for forward propagation? Considering a typical Voxel-RCNN needs 40ms to infer a frame, I'm confused why you can do it so fast.
Thanks for any help.

Indeed, our method is tested on 3090 GPU (~0.2ms) while the PENet is tested on 2080 (0.032ms in paper). We also used the code mentioned in PENet paper to  test the speed. However, I noticed recently that the speed measure has some problems, please refer to the readme of PENet code. If you want to go faster, you might use a more efficient completion network. The detection accuracy is similar.

OK, thx for the reply.
You mean 0.2s right? 0.2ms means 5000FPS, which sounds too fast.

My mistake, should be 0.02s vs 0.032s


[plugin] rails or rails3 for rails 3.2

Hi,
Like the title says, should one use rails or rails3 plugin for a rails 3.2 installation ?
the docs says  : rails - rails 2.3 commands (mostly) for running scripts and since there is a rails3 plugin available. So I thought I should be using rails3.
but when I use it, OMZ states it has been deprecated in favor of a newly consolidated 'rails' plugin.
So the question is, logic should I follow ?

the one that says use rails3
or the one that says, don't use rails3

Thank you.

There should only be one rails plugin - is your OMZ up to date?

I think he's referring to the deprecated statement you put there in #2240. FWIW, since that was 1.5 years ago we could make a PR to remove them. I assume nobody is still using those :smile:
BTW, since you did such a good job, we only need a git revert 1493d88e for that.
@abderrahmane-tj use the rails plugin. The other 2 are just the remaining of what once were separate plugins.

Thanks a bunch ^^

Thank you for bringing this old topic again :smile:
Remember to close the issue please! (I can't do it)

Humm, I am not sure how to do that !

The button to close is right beside the comment button:

ah damn I need to go to sleep xD

Hahaha (we all do! :wink:)

Actually my mistake, there is also this problem : https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
Look at the section where there is rails and rails3, I was referring to the wiki not being up to date

Ooops, completely missed that (I told you, I also need to go to sleep haha). I'll change that in no time

Done: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins#rails

Thanks a bunch ^^ (let's pretend this is the first time i posted this comment)

Ok, I made PR #3955 to get rid of rails3 and rails4 plugins.