Expose font_aspect_ratio as parameter on SVG export

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Exposes font_aspect_ratio as a parameter on export_svg and save_svg rather than hardcoding 0.61.
This is for users who would like more control over the rendering to accomodate different fonts used in their format string.

Codecov Report
Base: 98.64% // Head: 98.46% // Decreases project coverage by -0.18% :warning:

Coverage data is based on head (8d34411) compared to base (7d126c8).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head 8d34411 differs from pull request most recent head 0b04aaa. Consider uploading reports for the commit 0b04aaa to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2539      +/-   ##
==========================================
- Coverage   98.64%   98.46%   -0.19%
==========================================
  Files          73       63      -10
  Lines        7840     6779    -1061
==========================================
- Hits         7734     6675    -1059
+ Misses        106      104       -2

Flag
Coverage Δ

unittests
98.46% <100.00%> (-0.19%)
:arrow_down:

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

Impacted Files
Coverage Δ

rich/ansi.py
100.00% <ø> (ø)

rich/filesize.py
100.00% <ø> (ø)

rich/console.py
98.01% <100.00%> (ø)

rich/markdown.py
100.00% <100.00%> (ø)

rich/pretty.py
98.98% <100.00%> (+<0.01%)
:arrow_up:

rich/traceback.py
98.68% <100.00%> (ø)

rich/__init__.py

rich/layout.py

rich/tree.py

rich/repr.py

... and 6 more

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

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


Don't work in oukitel u18

Describe the bug
First of all it has this notch device but I followed the steps and it doesn't work when I activate the script it doesn't do anything.
Video
https://youtu.be/gbmwPTSymoo
Device Info (please fill atleast 'Device model'):

Device model: Oukitel u18
Screen size: 720x1512
Android Version: Android 7
RAM: 4GB

Official Notch support in Android came only in Android 9.
So, FGA can detect notch only on Android 9 or above.

What should I do to solve this problem?

Either update to Android 9 or create a custom fork of FGA with the code customized for your phone.

Upgrading to android 9 is not an option.
It will have to be the second one, how do I do that?

The second one needs some programming knowledge.
But, is there any way you can make FGO extend into the notch area?
Like on Samsung phones, there is a Full-screen apps setting.
Maybe also check in your phone's Developer options.
Unfortunately, I can't find much info about your phone on the net.

If the full screen option is activated but it doesn't take the whole screen, maybe if I reduce the screen width it would be solved?

try making both FGO and FGA full-screen. Reduce the screen width won't likely help.
And post a new video so I can see if it gets any better.
Otherwise, I'll point you to the relevant part of code.

https://youtu.be/MyqQk07BmRs

FGO doesn't extend into the notch are even after making it full-screen.
If you can somehow just find a way to just rid of that notch, FGA should work as it is.
I think video player apps should be extending into the notch area on your phone. If the same can happen for FGO and FGA, then it'll work.

nothing

i try all method in internet and no work

I mean I already told. Notches weren't official in Android before Android 9, sadly.


Separate page for login and signup

Fixes #58
Made a separate page for both login/signup

Hey @saikeshari, there are some conflicts that need to be resolved. Kindly look into them.


have no idea how to do this

Challenge Stand in Line has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

function nextInLine(arr, item) {
  // Your code here
  arr.push(4);
  arr.unshift(1);

  return item;  // Change this line
}

// Test Setup
var testArr = [1,2,3,4,5];

// Display Code
console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 6)); // Modify this line to test
console.log("After: " + JSON.stringify(testArr));

Please use the HelpJavaScript chat room for getting challenge related help.
Happy Coding.


Negative values

I am currently having an issue adding a negative invoice line (item sales) into MYOB via SDK.
I have tried adding in the cost of the item and the total of the item as a negative value but when it is pushed to MYOB the values are converted to positive values.
I have also tried putting the item through with a negative quantity which results in a validation error (CommonRules_DecimalMinValue).
What is the recommended way to go about this?

Never mind I fixed this issue. I told the customer to change to Xero.


Fixup setup java PR of dependabot

Dependabot requested to update setup-java, but did not include the distribution that is required since v2.x
This PR builds on dependabots PR and upgrades to setup-java 2.5.0 using the same distribution (Azul Zulu) as v1 of the action.

Thanks for the PR.


FEATURE REQUEST: Issue labels or Issue naming system

Describe the feature and the current behavior/state.
I recently ran into an error and I wanted to search for an existing Issue that might solves it. However, searching for it was difficult since there's no way to filter based on OS or what I used.
Solution
Perhaps a labelling system would be neat? Like if an Issue is about Windows and building for Android, it can contains the window and android labels. A naming system in the title could possibly work as well.
Additional context
Add any other context here.

Rather than preparing naming conventions, I know I have to rewrite the title every time, but I haven't always been able to do it (after all, it's not enough to prevent people from creating the same issue repeatedly).
Since GitHub's label is functionally poor, I think it would be difficult to organize issues well, but if someone search them by label, I will consider using it properly.
For now, if you are looking for a way to fix an error, I think the best thing to do is to search by the error log.

I see, that's fair no problem. Just a thought: you can specify a default title with GitHub Issue Forms. That might help a bit differentiating build issues and running issues.
Thanks for the help though

Now I attached labels to most existing issues and rename some titles.

Thank you for your work 😄


add cache in CI builds

For faster execution, use cache in CI builds, but force cargo-make installation to use latest features.

instead of caching, specific heavy tests will only run on specific conditions.


Upgrade Ruby to 2.7.5

Upgrades Ruby to 2.7.5. See commits for more details.
This PR should be tested before merge, as per https://docs.publishing.service.gov.uk/manual/ruby.html#update-ruby-version-in-the-relevant-repos.

CI Passes
Deploys to integration. Only deprecations are from the govuk_publishing_components gem, this is known about. Tested against production pages:

https://www.gov.uk/view-prove-immigration-status
https://www.gov.uk/hawlio-ad-daliad-treth

No problems apparent in Sentry or Grafana
No deprecations messages in logs.


Trying to access to window.top

Following #803
The safari object does not exist in window if ttyd is running inside an iframe. So we are trying to access window.top if possible.
Note: not tested, I don't have access to npm environment yet.

I've removed the detection logic since it's handled upstream, so this PR is not needed anymore.


Added compatibility mode

Some libraries use S instead of K for proof generation.
The optional compatibility flag is meant to enable communication with those implementations.

Any reason why this pull request hasn't been merged? I've tested with go-srp and I confirm that it's working with the compatibility patch.

on second thought, it seems as though M1 and M2 is calculated differently in the go-srp library. M1 is calculated using S, but M2 is calculated using K. So the compatibility patch still needs some work, if it's going to be fully compatible with go-srp. I'm currently using I modified version of this patch in a current project that omits the compatibility adjustments on the M2 calculation, just in case anyone else is having headaches getting this to work with go-srp.

I am closing this pull request because the solution is too specific.
It does not cover compatibility issues with go-srp.


missing trail: Spencer Trail

https://www.openstreetmap.org/way/165850481
Maybe we don't show foot=yes & highway=path ?
Also ensure it shows up in autosuggest

Can't repro, maybe already fixed


Roadmap Clarifications

I'm curious what the future vision looks like when compared to Traefik, Kong and other players in the space. Initially, I'm very drawn to kanali for a few reasons:

Traefik tries to support every backend, meaning that it doesn't take full advantage of k8s functionality and the code is needlessly complex (IMO)
Kong is cool, but a resource hog. Also not k8s-native

Roadmap questions:

What do you anticipate being outside the scope of kanali?
Does it support external gRPC connections? Websockets?
 What are the killer features that other solutions are lacking?

cc @clintberry @jnewmano

@derekperkins
Here are what my current thoughts are (I will edit this comment as we discuss it more below):

I'm curious what the future vision looks like

To start, as I think you've noticed, I believe Kanali is unique enough from other projects (Kong, Traefik, Istio, etc.) where it can stongly stand alone as a thriving project.
Support proxying to arbitrary APIs outside of a Kubernetes cluster. This is beneficial because Kubernetes is still giving you API management, storage, etc.
Create a lightweight UI to provide a simple visualization around permissions
Currently, proxies must be unique by path. However, it is often desirable to reuse the same path on different virtual hosts. Hence, make a proxy by both path and virtualhost.
Implement additional protocols (e.g. grpc)
Explore additional canary deployment implementations. I have an extensive mathematics background and forsee great possibles with the Bayesian theorem. More on that in a different issue.
I've been encouraged to potentially implement the Envoy management API for Kanali. I need to research that more and see if Kanali should pursue down that path.
Much more... Would love to get the communities input!

What do you anticipate being outside the scope of kanali?

Kanali will not, at this time, be a service mesh. Instead, it is an API gateway. There is a distinct difference between the two. If someone needs a service mesh, I'd recommend Istio. Kanali as an API gateway is extremely lightweight (you don't need a sidecar container per pod). You just deploy Kanali and that's it. With the Kubernetes NetworkPolicy spec, traffic can be forced through Kanali and so a service mesh isn't needed for that use case. Of course this would require an overlay network that implements the NetworkPolicy spec such as Calico or Weave.
Kanali is meant to operate in the scope of a Kubernetes cluster and hence will never be able to work in another container orchestration too such as Docker Swarm. However, perhaps it wouldn't take that much work to make it Docker Swarm compatible but not a priority right now.
One of the big things I like about Kanali is that the specs are simple and lightweight. In other words, Kanali isn't complex to understand. I'd contrast this with Istio where there are numerous specs and definitely more complex that Kanali's configuration. Hence, when considering additional features, we have to balance that with the added complexity it might bring to the spec.

Does it support external gRPC connections? Websockets?

Not at the moment although definitely on the roadmap.

 What are the killer features that other solutions are lacking?

API management! At Northwestern Mutual, we previously used an unnamed vendor product and I knew I could build something better. From the research i've done, Kanali is one of the only ones that provides the level of API management that we needed. These features include:

API key system (automated creation, rotation, validation, etc)
Decoupled and version controlled plugin system (api key, jwt, oauth, etc. plugins)
Kubernetes Native
Dynamic Service discovery
Extremely Performant
Opentracing implementation

Again, from the research i've done, Kanali is the only major project that accomplishes some of these items.

Closing due to lack of activity.


Use webpack & npm

Right now we just use vanilla JS, but in order to be more friendly to new developers an npm & webpack system would likely simplify things.

I've given up on this issue. JS tooling simply doesn't make this easy. It's like writing code in the 90s, no compass, no map.
If someone wants to attempt it we need the following libraries bundled:

ipfs-http-client
boostrap v4.6
jquery v3.6
localforage

We'll also need our emoji library bundled.
This would be a great start, but unfortunately I'm either wrestling with the tools or I'm getting useless errors (Maximum call stack size exceeded.).
Alternatively building our own tooling seems fine, it would likely take less time...

I ran into the exact same bug after removing every single module except ipfs-http-client, I also tried Browserify and documented the experience here.
Custom tool sounds like the easiest option, just crawl the dependencies, download the desired version from jsdelivr. This way we can still use NPM for versioning, warnings, etc, and we don't need to use the janky JS ecosystem tools.

Custom tool minimal example:
import json, shutil

package = json.load(open("package.json"))
for i in package["dependencies"]:
	shutil.copyfile("node_modules/%s/dist/index.min.js" % i, "ui/%s.min.js" % i)


Editor laggy & slow on Intel Mac in 3.4.1

Godot version
3.4.1
System information
MacOS Monterey 12.1, 2.6 GHz 6-Core Intel Core i7
Issue description
After upgrading to 3.4.1, after a couple minutes of usage, the Godot editor becomes very laggy and slow. It is especially noticeable when scrolling- it's almost like there is an input delay.
The slowdown appears when running game too (via the Play button).
I've downgraded to 3.4.0 and that solved to problem, so I believe this is a regression.
Please let me know if any more information is needed.
Godot version: 3.4.1
System: MacOS Monterey 12.1, 2.6 GHz 6-Core Intel Core i7
Steps to reproduce

Open a project in Godot 3.4.1
Use for a couple of minutes

Minimal reproduction project
No response

Duplicate of https://github.com/godotengine/godot/issues/56055 (same cause).

Apologies @Calinou , I did go over recent issues, but must have missed it.


Fixed #30507 -- Updated admin's jQuery to 3.4.1.

@felixxm done, please review.

buildbot, test on selenium.

@dulmandakh Thanks! I rebased, squashed commits, and updated jQuery's license. I'm going to merged this in September.

@felixxm thank you

buildbot, test on selenium.


chore(docs): three typos

SUMMARY

Three little typos. Hat tip to @yousoph for her eagle eyes!
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

n/a
TESTING INSTRUCTIONS

read the diff :)
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Nice!  I had reported these in BugHerd (trying that out) so you can close those tickets there.

Ahh, I misattributed the thanks - if you reported them, then thank you! Correcting my PR notes ;)


fix: RecursorVal.getInduct to return name of major argument’s type

Previously RecursorVal.getInduct would return the prefix of the
recursor’s name, which is unlikely the right value for the “derived”
recursors in nested recursion. The code using RecursorVal.getInduct
seems to expect the name of the inductive type of major argument here.
If we return that name, this fixes #5661.
This bug becomes more visible now that we have structural mutual
recursion.
TODO: Worth renaming this to getMajorInduct for clarity?

I've been experimenting more with nested indexed inductives, and have come around a similar issue as yours, hence the need to change that function.
I think it might be better for this to be a field in RecursorVal. However, I had some trouble doing that last I tried, though it shouldn't be impossible to do it. The construction of the recursor happens here. You would most probably want to retrieve the name of the auxiliary inductive in the RecursorVal generated by elim_nested_inductive_result, and then retrieve the correct inductive through m_aux2nested.

I think it might be better for this to be a field in RecursorVal.

I thought so as well, but still let’s see what the benefits are ? Just code clarity and robustness?
(I mostly hesitated with doing it that way because of bootstrapping complications…)

The benefits would mainly be a bit of performance (not needing to scroll through the type of the recursor) and robustness, the downsides would be possible bootstrapping issues, and the need for a more scrupulous reviewing, as it would change more things in the kernel. I am all for working with the implementation you've just made.

I'm a bit worried about this code:
private def mkRecursorInfoForKernelRec (declName : Name) (val : RecursorVal) : MetaM RecursorInfo := do
  let ival ← getConstInfoInduct val.getInduct
  let numLParams    := ival.levelParams.length
  let univLevelPos  := (List.range numLParams).map RecursorUnivLevelPos.majorType
  let univLevelPos  := if val.levelParams.length == numLParams then univLevelPos else RecursorUnivLevelPos.motive :: univLevelPos
  let produceMotive := List.replicate val.numMinors true
  let paramsPos     := (List.range val.numParams).map some
  let indicesPos    := (List.range val.numIndices).map fun pos => val.numParams + pos
  let numArgs       := val.numIndices + val.numParams + val.numMinors + val.numMotives + 1
  pure {
    recursorName  := declName,
    typeName      := val.getInduct,
    univLevelPos  := univLevelPos,
    majorPos      := val.getMajorIdx,
    depElim       := true,
    recursive     := ival.isRec,
    produceMotive := produceMotive,
    paramsPos     := paramsPos,
    indicesPos    := indicesPos,
    numArgs       := numArgs
  }

using
let numLParams    := ival.levelParams.length

here with ival now from the major’s argument is probably wrong.
There is a chance that this is actually dead code anyways, and mkRecursorInfoForKernelRec could be dropped completely, but this needs figuring out before we can merge this.


multiple points link to the same park

I am in the app, click on a park- the water tank North and east of our office on the hill , it takes me to a park Raspberry patch and Yacht Drive.  Then that window just closes automatically.  It turns out that Park is in Rich County adjacent to Bear Lake

I believe that this is no longer an issue since we switched the parks layer to be national & state parks and monuments. Let me know if you see otherwise, @brigsz.


[Bug] [Workflow] After the workflow is deleted, the corresponding task should also be deleted

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened

What you expected to happen
After the workflow is deleted, the corresponding task should also be deleted
How to reproduce

Create a workflow shell;
Create task 123
Delete the shell

Anything else
No response
Version
[dev](dev: ds3.1.0-prepare)
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Dupliated with #9029


[Bug]: Instant redirect to IDP does not work correctly

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[X] I have joined the ZITADEL chat

Environment
ZITADEL Cloud
Version
No response
Database
None
Database Version
No response
Describe the problem caused by this bug
Users should be redirected to the configured external IDP without requiring or showing the password form. Instead the password dialog is shown and the redirect happens only if the users clicks on the <- back arrow.
See discord: https://discord.com/channels/927474939156643850/1212425745180270632
To reproduce

Create new organization
Setup domain matching
Setup and active IDP
Disable login with username / password
try to login

Screenshots
See https://discord.com/channels/927474939156643850/1212425745180270632
Expected behavior
The user should be redirect to the configured idp
Operating System
No response
Relevant Configuration
No response
Additional Context
No response

thanks @Jank1310
I could also reproduce this issue.
I am not 100% sure when exactly this happens, as I also could setup use cases where it worked.
As soon as I took a user that does have an email with the domain of the organization it didn't work.
I have disabled the domain suffix and setup the following two users and domain customer-e.com verified:

Both users do not work if I enter the loginname.
But if I additionally add the domain it works.
So<EMAIL_ADDRESS>and test<EMAIL_ADDRESS>works


Use force commit to reload the consuming segment

We introduced schema evolution for consuming segment with #4954. It only allows adding extra columns with default values, which has several drawbacks:

Values for the new added columns are ignored
Other functionalities related to reload cannot be applied (e.g. index changes)

Since we introduced force commit (#9197), we should use it to reload the consuming segment instead
cc @sajjad-moradi

We can't really use forceCommit, right? We will need to do in 3 steps:

Pause
Change schema
Resume

this will ensure that the new schema is pulled when new segments are started.

New schema is always pulled when a new consuming segment is created. We should be able to simply update the schema and run a force commit. The committed segment should be updated with the new schema (same as reloading sealed segment), and the new consuming segment will pick up the new schema

Ah ok

Yes, force commit helps with creating new consuming segments which pull the latest schema. The challenge, however, is to know which completed segments to reload. Since we don't know when all consuming segments finish committing after receiving force commit message, we don't know when to reload the completed segments.
One way is to add a sync endpoint for forceCommit. In this endpoint we can first get the list of consuming segments. Then we send force commit messages to servers. Finally we periodically get the list of consuming segments and check if no old consuming segments is in the list. When the check is successful, we return 200.

@sajjad-moradi We don't need to wait for the consuming segment to seal and then reload it since we will load the sealed segment anyway, at which time we will pull the latest schema.
For the reload, we can send reload message to the completed segments, and force commit message to the consuming segments. No further step is needed.

I thought we're using the original schema to load the locally built segment, but you're right. We always fetch the latest schema when a segment is going to be loaded.

I talked to @sajjad-moradi  on taking this one, I will sync with him and assign to me after the discussion

@jugomezv I'm a little bit confused on how you plan to enable this feature. Are you planning to add a config flag for it and make it enabled by default?
Long term wise, I want to always use force commit to reload mutable segment. The current way of reloading can cause a lot of unexpected behavior.

+1 on always using force commit to reload. IMO we don't need to have a config for this.

#9197

@Jackie-Jiang the plan is to have this as default code path: no config for it. When we call reload on a mutable segement we always do forceCommit on it. Now the only thing we seem to do on reload on mutable segments now is addExtraColumns, but from the comment above even that code seems not needed now as the new consuming segement should adapt the new schema right?

@jugomezv Correct. We should remove the addExtraColumns handling and switch to the force commit based solution.

OK this is done/tested and awaits approval:here

Checking failures in integration tests.


[Bug]: show message to user if user is not connected to internet

Describe the bug
currently in our app we have used  navigator.onLine, but it's useless as it only tells you if there's a local connection, and not whether the internet is accessible.
use https://www.npmjs.com/package/is-online for the same purpose
To Reproduce
No response
Expected Behavior
No response
Screenshot/ Video
No response
Desktop (please complete the following information)
No response
Additional context
No response

Hey @mnnkhndlwl  bro, I would like to work on this issue under jwoc. Can you please assign it to me?

@Laxmankohar a issue has already been assigned to you first work on that

i want to work on this issue under JWOC

@arjunchoudhury07  assigned


How to Use Self built Datasets

Hello dude,
the code could run well with CYTK datastes, but when i use the self-built dataset which contains only 2 speakers, error showed as : train.py no dev_iter.
Any tips on how to use self built datasets?
So far, i can only train without evaluation by setting eva_steps larger than total_steps.

part of my dataset was extracted from aidatang2000, which is 16000 sample rate chinese dataset. I've already changed all the related sample rates to 16000, and f_max: 8000 instead in preprocess config.


Customisable claim name for groups

Checklist

[x] I've searched the issue queue to verify this is not a duplicate feature request.
[x] I've pasted the output of kargo version, if applicable.
[x] I've pasted logs, if applicable.

Proposed Feature

Add a configurable custom claim name for looking at a nominated claim for roles.
Motivation

I have a custom claim name in argocd for mapping groups, rather than the default "groups" claim in the token.
Suggested Implementation
Helm chart configuration for overriding the default claim looked at for group membership roles.

Rather than just make the name of the groups claim overridable, I'd like to see us just add support for any arbitrary claim names the operator wishes.

I've had a look at this and the helm chart changes are simple enough, but I'm unsure on the best way make the values in api/rbac/v1alpha1/annotations.go configurable by the operator, would we pull in config packages and use environment variables to set the claim names?

I'm unsure on the best way make the values in api/rbac/v1alpha1/annotations.go configurable by the operator

I think I would count the existing annotations for sub, email, and group claims as "special" on account of the fact that Kargo does specific things with each of those.
All other claims, will have to be handled more generically.
When parsing an identity token, all claims other than those three will have to be popped into a map of "additional claims" or something.
The auth filter that finds all ServiceAccounts a user is entitled to use would have to be updated to look at all annotations with keys of the form rbac.kargo.akuity.io/claim/<name> and consult the user's additional claims map to see if the indicated claim has a value that entitles the user to that ServiceAccount.
As I think about this more deeply, it's clear not all claims can be handled generically. Even taking the original three -- sub, email, and groups -- as examples, two of those claims contain scalar values, and one contains a list. Kargo knows groups is a list.
How will the generic logic know whether it is dealing with a claim that is a scalar value or one that is a list?
This gets tricky rather fast. This isn't a trivial issue.

After some more thought, here's how I would do this...
In the authn filter, I would unpack all claims into a map[string]any.
The logic that determines what SAs a user is federated to gets more gnarly. We would have to list all ServiceAccounts in the cluster, filter the results to include only those in project namespaces + designated "global" namespaces. Then we'd have to step through every annotation on those SAs of the form rbac.kargo.akuity.io/claim/<name>. For each of those, retrieve a claim by name from the map[string]any, use a type assertion to figure out if the value is a string or a []string, and once that's known, evaluate whether the claim is a match for what's in the annotation.
That probably sounds worse than it is. Do keep in mind that at least the k8s client we use has a built-in cache.
One silver lining is we could eliminate special treatment for the three currently supported claims. The scheme above would handle them just fine.
I'd be willing to do this, but it's not a high priority. If someone beats me to it, great!

I'd like to give it a go, I may be biting off more than I can chew but you've got to start somewhere I suppose and I really want to get involved in this project. I'll see how I get on with it.

Corner case to look out for. I know some identity providers (AAD/Entra comes to mind) may have numbers as subject or group identifiers. So in addition to what I wrote before, we might have to check for claims of numeric types as well. Although, so far, I haven't seen it trip up the existing logic. I'm not sure what the OIDC spec says about this. Will have to dig that up a little later.

I'm making progress with this, slowly. Getting used to the codebase and getting my head around OIDC and the requirements. I've stumbled across something that I think I understand but I may be missing something.
So we use the oidc package to unmarshal the the token into the struct we defined, one of the values in that struct being "Groups" but when I look at the standard format of that token I don't see any examples where the groups value is used (going off this), just sub and emails along with others. Am I missing something? Or was the group claim added because of a certain provider that sets a "group" key in the token?

but when I look at the standard format of that token I don't see any examples where the groups value is used (going off this), just sub and emails along with others

"groups" is, indeed, not a standard claim, however, it is rather widely supported.
You may, however, run into the unpleasant situation of a user having so many groups that they cannot all fit in the token (since the token itself needs to fit in an HTTP header). Identity providers may have their own proprietary scheme for how to handle that, so a one-size-fits-all-solution is probably going to be elusive and may require some provider-specific logic. 😢  Here is how Entra handles it, for instance. It basically gives you a URL so that you can make a separate API call to get the user's (large set of) groups.

Perfect, I am on the right track then at least. Would we be happy if it supported just a []string for groups and potentially others for now? Since that's what is supported currently and maybe in another issue we look at doing specific stuff if/when needed?

and potentially others

In the authn filter, I would unpack all claims into a map[string]any.

Short of the group overage problem, that should cover all claims.
btw... it also just occurred to me that to get certain non-standard claims from a given identity provider, you may need to request additional scopes.
The scopes are currently hard-coded here:
https://github.com/akuity/kargo/blob/34d1bfe976175b85bef6b90da8214dac656ecfce/internal/api/oidc/config.go#L32
They would need to be made configurable via the Chart, but that's easy compared to the rest of this.


Unable to access ThemableDecorationAttachmentRenderOptions when writing theme extension

VSCode Version: 1.36
OS Version: Windows 10

I'm trying to write a syntax hilighting and theme extension and the documentation for it is very thin.
I can see from reading the examples that I can set the foreground and background colors under the theme tokenColors section but I don't seem to be able to access any of the ThemableDecorationAttachmentRenderOptions.
So what's up with that? The documentation describes these as "themable". Am I doing something wrong or is this feature broken? Or merely missing?

Token colors are not yet available as color ids.
That's part of the request for https://github.com/microsoft/vscode/issues/32813

closing as duplicate

@aeschli  Thank you, that was informative. Have a nice day!


Integrations

Would be awesome to integrate into different services such as Google Analytics, Jira, Zendesk etc.

Yeah is a good idea, but I want to get the different screen layout options done first. :)

@willegan I don't think a single Groupon employee has responded to or even looked at these issues in a long time. There are a couple forks of this that you might have more luck with, I'm not even sure if groupon is accepting pull requests.

Hope I'm not too late to the party - I just published multicast, Greenscreen's spiritual successor for the new Castv2 API via mDNS. I believe Greenscreen was lead by an intern who has since left the company, so I don't imagine this repo will be getting (m)any more updates, but we're continuing active development over at multicast.
@willegan integrations sound like an excellent idea! And @alphasloth I have a guide for adding channel layouts on the README for multicast, we'd really appreciate the contribution if you get a chance.


Fix start new PR with own repo

Fix errors in #33

Thank you @HollowMan6 !
Can you please change one of the kubernetes manifests just that we see the "suggested PR" in action?

Yeah, but the workflow defined in this PR won't work for this PR until you merge this pull request, as we use the pull_request_target. Just be prepared you will still get the error like this: https://github.com/kubescape/github-action/pull/33#pullrequestreview-1368878262

Right. I'll test it after we merge :)


feat: update drone-yaml module

the latest version of the drone-yaml module adds support for ppc64le and s390x
architectures

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

@sdarwin in order to merge those pull requests we would need to build and publish the docker image from ppc64le and s390x machines. We do not have the required hardware at this time.  So your best option is to build and publish custom ppc64le and s390x clone images, and then configure the runner to use those custom images:
https://docs.drone.io/runner/docker/configuration/reference/drone-runner-clone-image/

@bradrydzewski  Wow that's cool, I did not see the setting DRONE_RUNNER_CLONE_IMAGE.   Will try it out.

We do not have the required hardware at this time.

Not the case.  Those pull requests which I sent over use buildx which is an emulation layer and allow building alternative architecture docker images.  There are two choices, either thegeeklab/drone-docker-buildx method, or the vm method.  Both use standard amd64 linux and buildx to create the docker images.


[WiP] Bumping react-select to rc10

Attempt at bumping react-select to rc10 to remove React warning messages. Also cleaning up the copy-pasta of select.less.
Somehow the css is a little off and can't figure it out. I think it has to do with this hack here:
https://github.com/apache/incubator-superset/blob/master/superset/assets/stylesheets/superset.less#L344

@graceguo-supercat can you help getting this through?

Coverage remained the same at 71.271% when pulling 5c54230e06cea385eed569f3e204a51c46be30a7 on mistercrunch:bump-react-select into cbd01074baa31cc339f41a7a96a378751d4a303d on apache:master.

LGTM


FEATURE REQUEST- Image pairs for anki cards

Dear gereleth,
I was looking at your code to try to adapt it to create anki flashcards (apps.ankiweb.net) from uploaded images in a Google Colab. I sort of manage in Python, however I have no idea of JS and was unable to tweak your code.
In short, what is needed is the ability to have “matched pairs” of annotations of two classes “front of card” and “back of card” as “front_01” + “back_01”, “front_02” + “back _02”, etc…
Therefore, I believe the main change would be:

Add an automatic counter (for each class) that is incremented automatically after each annotation of that class. The counter could be saved either as the annotation name, or the as an additional property.
Ideally, this counter should be shown on the image, alongside the class label.
Ideally, the user should be able to set a value for this counter in case of annotations snafus.
With this, I could crop the image pairs and create the anki cards with python in an Colab Workbook.

If you have time, could you please try to implement the following features in order to make it possible.
Thank you very much,
bbc
P.S. This repository: github.com/robxcalib3r/Image2Anki has a video of a similar feature, except that it works in local (his program also does other things such as OCR).

Hi, bbc =).
I'm going to suggest a way to achieve your desired process without js modifications.
I'm not familiar with anki flashcards and I don't know if anki is capable of showing bbox annotations (but I guess it's not). So maybe you need to modify the uploaded file to turn it into front/back images - maybe crop to selected portions or maybe draw a box and save that as a new image. This can be done python side - given a source image and a bbox you can make the modification and save that as a new file.
So you could use "Front" and "Back" as classes and press Submit when you have annotated a front/back pair. Put your logic for creating front/back images into the function that runs on submit. It's going to have access to current bboxes so you can use python to do the cropping/saving. You can then rename the labels of processed pairs to "front_{i}" and "back_{i}" (or just clear them to reduce visual clutter).
Here's some starter code with this workflow:
from jupyter_bbox_widget import BBoxWidget

widget = BBoxWidget(
    image='fruit/fruit.jpg',
    classes=['_', 'Front', 'Back'],
)

counter = 0

@widget.on_submit
def on_submit():
    global counter
    counter += 1
    # get front and back bboxes
    front = next(bbox for bbox in widget.bboxes if bbox['label']=='Front')
    back = next(bbox for bbox in widget.bboxes if bbox['label']=='Back')
    # do the cropping/saving here

    # rename labels adding counter
    new_bboxes = []
    for bbox in widget.bboxes:
        new_bbox = {**bbox}
        if new_bbox['label'] in ('Front', 'Back'):
            new_bbox['label'] += f'_{counter}'
        new_bboxes.append(new_bbox)
    widget.bboxes = new_bboxes
    # or maybe just clear them instead?

# display the widget
widget

"Front_{i}" and "Back_{i}" bboxes are going to have the default blue color, so I included an empty class to make current Front/Back annotations visually distinct. This is how it looks after two submits:

I hope this helps =).


Add an undelete feature

As Chris suggests, this could be similar to the Export feature.

One question on this topic..
Is the vacuum process not deleting the files but sending them to trash folder?
which eventually means the disk space isn't going to be cleaned but it will remain as full as it is?

The file will be purged on compaction.
It is not efficient to implement the undelete, since it needs a scanning of the whole volume file to find the latest copy. It's better not to include this feature.


Occasionaly signature not decrypted

Sometimes the signature is not decrypted, very uncommon bug. About 1/10 requests

I'm using the js, possibly there might be some problems sometimes, will look into that, thanks for reporting.

Where should I see the decyrpted signature ?
I can see only EncryptedSignature :(

@thekjohn Next release will do that

ok, thanks! you rock!

@Grover-c13 Couldn't reproduce I'm afraid.


release: v1.4.3

[1.4.3] (April 24 2024)
Feat:

Integrated Datadog RUM (Real User Monitoring) in a slimmed-down version to optimize performance monitoring without heavily impacting the application's load time.

Fix:

Made children prop type optional for  component.

/bot create ticket

[Creating Ticket] 🔖 Done https://sendbird.atlassian.net/browse/SDKRLSD-1252


Feat/test snippets

I have currently made some test cases for some snippets. Can you please give me some feedback about it?

You don't need any fixtures. Just put the whole model into a single test.
Make it a complete test with Solve(). Value will not return a sensible result if you haven't solved the model.
You do not need to test CP-SAT, just the API. So checking proto is not necessary.

Here an example for a good test case:
def test_simple_intvar_example():
   model = cp_model.CpModel()

   x = model.NewIntVar(0, 100, "x")
   y = model.NewIntVar(0, 100, "y")

   model.Add(x + y <= 30)
   model.Maximize(30 * x + 50 * y)

   solver = cp_model.CpSolver()
   status = solver.Solve(model)
   assert status == cp_model.OPTIMAL, "Should be optimal"

   assert solver.Value(x) == 0, "x is expected to be 0"
   assert solver.Value(y) == 30, "y is expected to be 30"

And you can split the tests into multiple files when they are not related.

thanks a lot. I've just pushed another test case based on your example. I hope it would be the correct one.

Yes, this would actually be a useful test case. However, you can keep it much simpler. The primary purpose is to verify that the interface of CP-SAT is used correctly in the examples. Thus, you do not need to do anything complicated. You can really just extend the examples of the primer by model and solve such that you can verify there is no error in the usage of the interface.

Here kind of errors I want to catch with the tests:

Changes in the naming of arguments. E.g., model.NewIntervalVar( start=start_var, size=length_var, end=end_var, name="flexible_interval") may change argument name end to stop. By running the tests automatically every two weeks, I would get a mail if the latest version of CP-SAT has breaking changes.
model.AddMultiplicationEquality(xyz, [x, y, z])  # xyz = x*y*z had errors in my previous trials despite the documentation looking like it should work. I would useful to know if the support changes.

many thanks for your feedbacks :))
I pushed two commits to check the naming of arguments in methods NewIntervalVar and NewFixedSizedIntervalVar.
I also found that the name of the method to create interval variable with fixed length is NewFixedSizedIntervalVar, instead of  NewIntervalVar in README file.

I also pushed the test for the three constraints model.AddMultiplicationEquality(xyz, [x, y, z])  # xyz = x*y*z, model.AddModuloEquality(x, y, 3)  # x = y % 3, model.AddDivisionEquality(x, y, z)  # x = y // z, maybe I now understand what you mean the feasible solutions for the given constraints exist but the tool might not be able to find them and you want to observe if it can find the solutions in the future. Is this right?

This has happened in the past, which is why I want tests :)

I like the test_snippets/test_FixedSizedIntervalvar.py test :)

I have changed  model.AddMultiplicationEquality(xyz, [x, y, z]) to  model.AddMultiplicationEquality(xyz, x, y, z).  Is this the same what you mean?

I have changed  model.AddMultiplicationEquality(xyz, [x, y, z]) to  model.AddMultiplicationEquality(xyz, x, y, z). Is this the same what you mean?

I don't know. Does CP-SAT support this syntax now?

no, it still doesn't work.
I changed  (AddMultiplicationEquality(xyz, [x, y, z]) to AddMultiplicationEquality(xyz, x, y, z) because I thought that is what you mean here "For example, AddMultiplicationEquality changes to the same interface as AddDivisionEquality were instead of a list, I have to pass a,b,c. ".

no, it still doesn't work. I changed (AddMultiplicationEquality(xyz, [x, y, z]) to AddMultiplicationEquality(xyz, x, y, z) because I thought that is what you mean here "For example, AddMultiplicationEquality changes to the same interface as AddDivisionEquality were instead of a list, I have to pass a,b,c. ".

Maybe I should have use a more explicit conjunctive here: "If it were to change". This is just a wild example of what could happen.

ohh now i remember a little bit about english grammar, what i almost forgot  haha

I have already integrated a lot of the tests. Closing.


VR CR failing to decode CSI identifier (string underflow) for static PV

VolumeReplication CR seems to fail to decode CSI identifier (string underflow) for statically created persistent volumes/claims.
ceph-rook version: 1.6 (using ceph 16.2.5, csi driver v3.3.0, volumereplication-operator v0.1.0)
Steps to replicate error:

create ceph image with mirroring enabled using rbd:

rbd create mysql-rbd-image --size=2048 --pool replicapool

2: Create persistent volume resource to make use of the image in kubernetes: (yaml file below)

apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-rbd-pv
spec:
accessModes:

ReadWriteOnce
volumeMode: Filesystem
capacity:
storage: 2Gi
#storageClassName: rook-ceph-block
persistentVolumeReclaimPolicy: Retain

csi:
driver: rook-ceph.rbd.csi.ceph.com
fsType: ext4
nodeStageSecretRef:
# node stage secret name
name: rook-csi-rbd-node
# node stage secret namespace where above secret is created
namespace: rook-ceph
controllerExpandSecretRef:
name: rook-csi-rbd-provisioner
namespace: rook-ceph
volumeAttributes:
# Required options from storageclass parameters need to be added in volumeAttributes
"clusterID": "rook-ceph"
"csi.storage.k8s.io/pv/name": "mysql-rbd-pv"
"csi.storage.k8s.io/pvc/name": "mysql-rbd-pvc"
"csi.storage.k8s.io/pvc/namespace": "default"
"pool": "replicapool"
"journalPool": "replicapool"
"staticVolume": "true"
"imageFormat": "2"
"imageName": "mysql-rbd-image"
"imageFeatures": "layering,journaling,exclusive-lock"
"mounter": "rbd-nbd"
# volumeHandle should be same as rbd image name
volumeHandle: mysql-rbd-image

Create PV Claim on the Persistent Volume:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-rbd-pvc
labels:
app: wordpress
spec:
accessModes:
ReadWriteMany is only supported for Block PVC

ReadWriteOnce
resources:
requests:
storage: 2Gi

volumeName should be same as PV name
volumeName: mysql-rbd-pv
storageClassName: ""

Apply Volume Replication Class:

apiVersion: replication.storage.openshift.io/v1alpha1
kind: VolumeReplicationClass
metadata:
name: rbd-vrc
spec:
provisioner: rook-ceph.rbd.csi.ceph.com
parameters:
replication.storage.openshift.io/replication-secret-name: rook-csi-rbd-provisioner
replication.storage.openshift.io/replication-secret-namespace: rook-ceph

Apply VolumeReplication:

apiVersion: replication.storage.openshift.io/v1alpha1
kind: VolumeReplication
metadata:
name: rbd-vr
spec:
volumeReplicationClass: rbd-vrc
replicationState: secondary
dataSource:
kind: PersistentVolumeClaim
name: mysql-rbd-pvc # should be in same namespace as VolumeReplication

Observe Result:

kubectl get volumereplication rbd-vr -o yaml

apiVersion: replication.storage.openshift.io/v1alpha1
kind: VolumeReplication
metadata:
creationTimestamp: "2021-08-10T11:16:22Z"
finalizers:

replication.storage.openshift.io
generation: 1
name: rbd-vr
namespace: default
resourceVersion: "4219212"
uid: 46684f44-61e9-405d-a7d7-eada1c528b21
spec:
dataSource:
kind: PersistentVolumeClaim
name: mysql-rbd-pvc
replicationState: secondary
volumeReplicationClass: rbd-vrc
status:
conditions:
lastTransitionTime: "2021-08-10T11:16:23Z"
message: ""
observedGeneration: 1
reason: FailedToDemote
status: "False"
type: Completed
lastTransitionTime: "2021-08-10T11:16:23Z"
message: ""
observedGeneration: 1
reason: Error
status: "True"
type: Degraded
lastTransitionTime: "2021-08-10T11:16:23Z"
message: ""
observedGeneration: 1
reason: NotResyncing
status: "False"
type: Resyncing
lastStartTime: "2021-08-10T11:16:23Z"
message: 'rpc error: code = Internal desc = invalid VolumeID: error decoding volume
ID (failed to decode CSI identifier, string underflow) (mysql-rbd-image)'
observedGeneration: 1
state: Unknown

warning static PVC can be created, deleted, mounted, and unmounted but currently, ceph-csi doesn't support other operations like a snapshot, clone, resize, etc for static PVC

@lvsimon1 cephcsi does not support any operation except mount/unmounting for static volumes https://github.com/ceph/ceph-csi/blob/devel/docs/static-pvc.md

Ok, perhaps you can help me with what I was trying to do originally, which is - how to "specify" the name of a dynamically created image, such that it can be "known" by a geographically separated mirror and hence mounted by a claim automatically?  I'm trying to create a failover but without specifiying the name of the image as it is created, I'm unsure how I can code the claim to be made on the other system.

As you are creating the Dynamic PVC which internally creates an RBD image with some unique name. During Failover you need to use some tool like velero etc to back up the kubernetes object from the primary cluster and restore the same kubernetes objects on the other cluster. and also the admin can choose to manually backup all the `YAML object from one cluster and restore it to another cluster.

@lvsimon1 see this helps with Rook and cephcsi failover/failback https://github.com/rook/rook/pull/8411

Ok - I'll take a look at Velero then.  See I'm currently mirroring (journal based) my image (statically created) and I just wanted to automate the promotion of the secondary image to primary when the primary should fail.  I was hoping the volume replication controller would achieve that.  I was planning to use KubeFed to start the consumer objects on the secondary cluster if the primary cluster should fail.  So the promotion of the secondary image to primary was the only missing element.

I'm not sure Velero is what I'm looking for since I am journal based rbd mirroring the data.  It seems like Velero is based around doing snapshot backups instead.  I also am in need of a solution which can be completely automated and switch between the clusters as fast as possible (hence the continuing mirroring between the clusters).

no issues on the volume replication side here. the main problem is with the cephcsi as it does not support replication operations on the statically created RBD image.

Understood - but just so I may understand a little better.  Would you suggest the following?:
a) create a dynamic SC/PVC on the primary cluster with rbd journaling mirroring the image to the secondary cluster
b) Use Velero to essentially "clone" the dynamic PV/PVC resources from the primary cluster to the secondary cluster (making attachments to the local mirrored image)
c) use the Volume Replication Operator to promote the secondary image to "primary" during fail-over?
Do you think that process would work?

Ok - I think I've convinced myself that the answer to my previous question is basically yes.  (or alternatively I could manually copy the PV/PVC over and it seemed to work.  thanks,


Imagenet error

When we run the Imagenet, the error is
ValueError: y should be a 1d array, got an array of shape (50000, 1000) instead.

Hi, could you paste the full error log here?

-- Process 1 terminated with the following error:
Traceback (most recent call last):
File
"/home/nancy/anaconda3/lib/python3.8/site-packages/torch/multiprocessing/spawn.py",
line 19, in _wrap
fn(i, *args)
File "/mnt/nvme1n1/TorchSSL-main/fixmatch.py", line 228, in main_worker
trainer(args, logger=logger)
File "/mnt/nvme1n1/TorchSSL-main/models/fixmatch/fixmatch.py", line 199,
in train
eval_dict = self.evaluate(args=args)
File
"/home/nancy/anaconda3/lib/python3.8/site-packages/torch/autograd/grad_mode.py",
line 26, in decorate_context
return func(*args, **kwargs)
File "/mnt/nvme1n1/TorchSSL-main/models/fixmatch/fixmatch.py", line 252,
in evaluate
top5 = top_k_accuracy_score(y_true, y_logits, k=5)
File
"/home/nancy/anaconda3/lib/python3.8/site-packages/sklearn/metrics/_ranking.py",
line 1650, in top_k_accuracy_score
y_score = column_or_1d(y_score) if y_type == 'binary' else y_score
File
"/home/nancy/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py",
line 63, in inner_f
return f(*args, **kwargs)
File
"/home/nancy/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py",
line 864, in column_or_1d
raise ValueError(
ValueError: y should be a 1d array, got an array of shape (50000, 1000)
instead.
HWX. @.***> 于2021年11月19日周五 下午7:48写道：

Hi, could you paste the full error log here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TorchSSL/TorchSSL/issues/12#issuecomment-973873771,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOR7H6ZBZTZARLLKFOAJS3UMYFMTANCNFSM5ILSBFQA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I currently don't have time to reproduce this error but it seems that top_k_accuracy of sklearn is expecting y to be of shape (B, ) with each element ranging from 1~C (1~1000 or 0~999), whereas your y is one-hot with shape (B, C).
Maybe try upgrading your sklearn version so that there might be a chance it supports one-hot references (I don't know) or just simply make y of the shape it wants. Please try some workaround regarding this point and let us know if you still meet some problems.
Anyway, I'll have a check on it next week when I have time. If it's a bug we will fix it.


s-string impact on semantic checks

Currently this raises an error:
func filter_amount method -> s"sum(case when payment_method = '{method}' then amount end) as {method}_amount"

from {{ ref('raw_payments') }}
group order_id (
  aggregate [
    bank_transfer_amount = filter_amount bank_transfer,
  ]
)
select bank_transfer_amount

Error:
   ╭─[:9:8]
   │
 9 │ select bank_transfer_amount
   ·        ──────────┬─────────
   ·                  ╰─────────── Unknown variable `bank_transfer_amount`
───╯

bank_transfer_amount is created in the original query, but in the s-string, so our semantic code doesn't know about it.
The benefits of s-strings are that they're a flexible escape hatch. But with a flexible escape hatch we lose information on what escaped!
I'm not sure what the best thing to do here is:

Allow an override to semantic checks in the PRQL header?
Parse the s-string for as and override checks if we find one??
Skip all semantic checks if there's an s-string??
We could force writing bank_transfer_amount = filter_amount bank_transfer (and adjusting the function)?

That's fine in this case, but I worry about bounding s-strings more generally — I think we should be quite humble about thinking we can guess what queries people need to write, and realistically even fairly standard queries will need to rely on s-strings.

Columns names in SQL are not all analogous to PRQL variables. There may exist temporary SQL columns that are not part of your PRQL query (see ROW_NUMBER in second example).
This is why we should highly discourage using AS in s-strings as it "adds" a name in SQL scope, but not in PRQL. Moreover, s-strings may break things if they don't evaluate to expressions only.
Instead, we should provide better language features to steer people away from the thing you wanted to do here. We may need some type of templating, so vanilla PRQL, without jinja, can do something like:
func filter_amount method -> s"sum(case when payment_method = '{method}' then amount end)"

from aaa
aggregate [(${col}_amount = filter_amount col) for col in [bank_transfer, taxes, gross_cost]]

(but with better syntax than Python's - maybe something more functional)
PS: Your statement above would now evaluate to something like:
... then amount end) as bank_transfer_amount as bank_transfer_amount ...

Instead, we should provide better language features to steer people away from the thing you wanted to do here.

Very much agree!

We may need some type of templating, so vanilla PRQL, without jinja, can do something like:

I think we should really try and avoid string templating, so a slight tweak of your proposal — we could have an actual function which does this sort of operation — basically a pivot, which the values known at compile time. I think it's probably common enough.
So more like
pivot payment_method [bank_transfer, taxes, gross_cost] $_amount

That said, I worry that s-strings don't have escape hatches for things like this as we ramp up. If there were a way of doing a # noqa, I think that would be great.

This is done / duplicate of #644


Write a new post announcing Scrolls wiki

Write a new post in the forum announcing the wiki and suggested usage.
Ideally, also that while Site Feedback category is great for general feedback, that we use Issues for actionable infra work — eg request for a new Ring category.

Still need this? Might be part of the effort of #27

Yes, still needed!
We've never written about using this Scrolls wiki or the repo / issues.
If you want to help manage issues, you should .... file an issue asking to be added as a maintainer here!


Netlify deploy does not pick up changes to schema file

Create a repository with a minimal, mysql Prisma project
Create a model in the schema and migrate the DB to contain the schema (via db push for example)
Create a minimal serverless function netlify/functions/invocation-count.js that reads the empty table for example
Test everything locally via netlify dev
Create a new site in Netlify that connects to this repo
Set a MySQL `DATABASE_URL´ env var and deploy
Test that the deployed function works as expected
Update the Netlify env var to be a PostgreSQL database (that also has the table via db push)
Update the schema.prisma file to use a postgresql provider
Watch Netlify deploy the updated project
Try the function again

I got an error telling me that the env var should have a different protocol, still mysql://.
Somehow it seems that the Client did not generated again when I only changed the schema file in the repository. Deplying again to Netlify with clearing the cache avoided the problem.
Reason probably is that prisma generate by default is only run via npm install, and as cache is used on a normal deploy that is not necessary. But for Prisma it kinda is, for the schema changes to becomes active in a new generated Client.

I can reproduce this. I need to Clear cache and redeploy after making a change like this or add prisma generate to postinstall

Here is the reproduction: https://serene-shannon-d8288d.netlify.app/.netlify/functions/invocation-count

I think I found why this happens:
It's mentioned in https://answers.netlify.com/t/busting-the-node-modules-cache-when-certain-files-change/45492/2
The code is here
When a project has a package.json, Netlify will create a shasum of it.
https://github.com/netlify/build-image/blob/524714d1a66d1a967316f5c39465e22c77fdd56c/run-build-functions.sh#L287
On the next build the following function will find out that the current hash of the package.json and the previous hash are the same,
https://github.com/netlify/build-image/blob/524714d1a66d1a967316f5c39465e22c77fdd56c/run-build-functions.sh#LL93C9-L93C9
which will skip the npm install
https://github.com/netlify/build-image/blob/524714d1a66d1a967316f5c39465e22c77fdd56c/run-build-functions.sh#L274
This looks specific to npm, yarn and pnpm do not use that install_deps function.

Related https://github.com/prisma/docs/issues/3590


Make Flipper::UI.app.inspect return a String

Mounting a v0.9.2 Flipper::UI.app Rack::Builder instance in a
v<IP_ADDRESS> Rails config/routes.rb file and running bin/rake routes was
resulting in the following error.
rake aborted!
NoMethodError: undefined method `+' for Flipper::UI:Module
/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/inspector.rb:54:in `reqs'
/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/inspector.rb:128:in `block in collect_routes'
/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/inspector.rb:122:in `collect'
/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/inspector.rb:122:in `collect_routes'
/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/inspector.rb:89:in `format'
/gems/railties-<IP_ADDRESS>/lib/rails/tasks/routes.rake:6:in `block in <top (required)>'

This was because the Rack::Builder instance returned by
Flipper::UI.app responded to the inspect call with a Module
instead of a String.
In order to make the Rack::Builder instance returned behave like most
other Ruby objects, fixing the broken invocation of bin/rake routes
mentioned above, we make inspect return a String again.
Ref: https://github.com/jnunemaker/flipper/pull/148
Ref: http://ruby-doc.org/core-2.3.1/Object.html#method-i-inspect

@Koronen thanks for the PR! Just posting this as a follow up so we know why this was breaking.
Looking at https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/routing/inspector.rb:30 += was only called if constraints is empty.
when using the following it is not empty:
`mount Flipper::UI.app($flipper) => '/flipper, constraints: { . . .}'
when using the following it is empty and never gets called:
constraints SomeConstraint.new do
   mount Flipper::UI.app($flipper) => '/flipper'
end

Cool, great catch and now it will work in all cases!

Ah, yes. That's quite a significant detail that I somehow forgot to mention... @AlexWheeler thanks for mentioning this in your follow-up! :+1:


Top wallet not work

Please check !

Hello @ChungLeba
Your query would be best dealt with by the support team.
Please see the link below to our dedicated support line: HELP DESK
Ticket Id : DR091P
Note: Click on the live chat icon at the bottom corner of the page to initiate chat

Hi all, Ellabell-dr spam link, fake, don't click link!


RenderQueue doesn't appear to be ordered by depth

Ideally you render top down to avoid doing wasted work on child components that a parent component is going to remove or pass different props to. It currently appears that the queue is in the order of the setState calls which means a child component might rerender and build up new dom and then a parent would render and do it again and possibly remove that child entirely or pass down different props.
https://github.com/developit/preact/blob/80ad4367e5352cbf6720f973a4488f6504498eb9/src/component.js#L58
https://github.com/developit/preact/blob/576dda310a8e31e524fa2ecc803d6d406597c41e/src/render-queue.js#L10
Instead I think you want to walk up the tree of components until you find the highest one with _dirty === true, render that and then repeat until every component is clean.

It's not possible to walk the resolved tree in Preact because that would require walking the DOM (prohibitively expensive in this case), but perhaps the order of rendering could be reversed when flushing the render queue?

Can you explain why walking the dom would be too expensive?

It would invoke a huge number of DOM getters and the time required would increase as DOM size increases.


Display of associations?

Thanks for making this available.
Would be nice to be able to parse out the defined associations for a Model.  Maybe display them below your table of the Model's attributes, and clicking the association could bring you to that model's file within Atom?
I know there's a ruby gem that creates diagrams from the found associations, but it would be great to be able to easily traverse from the editor.
https://github.com/voormedia/rails-erd

It would be awesome but i currently don't have an idea of how to find associations reliably without running the rails environment or making a lot of assumptions like: a column called product_id means an association to the table of products. This can work with normal models but it will fail with associations that overrides the source and  foreign_key options.
A possible idea would be to make a package that calls bundle exec erd and embeds the resulting pdf into an atom panel. Anyway, it would be weird because it's a pdf. Maybe we can make a gem to get a proper and reliable structure of the associations as json that can be used to present it as html in a graph made using a good graphics library.
It would be great but, anyway, because of these technical issues, it's outside the scope of this package.


Added unmanaged windows nodes

Hi!
Does your module also allow the addition of unmanaged windows nodes to a eks cluster?  I am able to create Windows nodes, but it looks like they are not being attached to the target cluster.
Thanks,
Hilary

@hlmuludiang Unmanaged nodes do not automatically attach to the cluster. You need to follow additional steps to attach nodes to the cluster. Please refer to the post steps mentioned in the readme or visit AWS doc.


visibility and presence always be 0.

visibility and presence fields in a NormalizedLandmark for the Holistic Solution always be 0. Is this  unsupported right now?

Hi @endink, Could you please elaborate your query with complete details. Thank you!

Sorry, visibility and presence the fields is in MediapipeUnityPlugin project.
Simply, if the the score or visibility of the hand landmark in this Holistic scene available now ? ( like the pose landmarks).
BTW, please forgive me for my English grammar errors.

@endink - We opened the same issue but never got a reply on the reason why it never detects anything other than 0, nor that it was a defect

@jimb2834 we can only wait for a reply...

@kuaashish is there any update on this issue? This issue is affecting other validations such visibility and presence of various points of interest as it is always 0 hence wrong results. One example is palm validation, checks for palm validation and visibility on an image with only points 8,12,16,20,7,11,15,19, mediapipe is returning other points not available on the image hence wrong results

@elYeodeol - there are old issues related to Visibility and Presence of landmarks re: face mesh specifically from a while back -
https://github.com/google/mediapipe/issues/3200
https://github.com/google/mediapipe/issues/3159
But anytime someone solves it, ping me and we are happy to pay for the solution.

@elYeodeol - there are old issues related to Visibility and Presence of landmarks re: face mesh specifically from a while back - #3200 #3159
But anytime someone solves it, ping me and we are happy to pay for the solution.

Hi jimb2834, have you looked at Google mlkit library for face landmarks? https://developers.google.com/ml-kit my experience has been impressive.

@ajmakoni - Hi, thanks for the message. The main issue was landmark quantity; whether it reflects "visibility" or "presence" I did not check. So the landmark Qty, Visibility, and Presence values were all needed.  GCP ML kit for face has a lower landmark qty.

@ajmakoni - Hi, thanks for the message. The main issue was landmark quantity; whether it reflects "visibility" or "presence" I did not check. So the landmark Qty, Visibility, and Presence values were all needed for our use case. GCP ML kit for face has a lower landmark qty.

Okay, I get your point

Is there any good news for this? Nobody care it?

@endink - I was in the MediaPipe slack channel and saw this

@jimb2834 it only worked for pose landmarks, but not in handlandmarks.

Hello @endink,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions. Thank you

Mediapipe unity plugin stills gives always 0 for visibility and presence for normalizedlandmarks in handtracking

Mediapipe unity plugin stills gives always 0 for visibility and presence for normalizedlandmarks in handtracking


Fix evaluate dependency bug

This fixes a bug when adding dependencies that have empty licenses but have their allowed license in the .licensed.yml. This happens when we included the aws-sdk-s3 gem:
our .licensed.yml:
sources:
  bundler: true
  npm: false
  bower: false
  cabal: false

allowed:
  - mit
  - apache-2.0

reviewed:
  bundler:
    - aws-eventstream

and our .licenses/bundler/aws-eventstream.dep.yml file:
---
name: aws-eventstream
version: 1.0.2
type: bundler
summary: AWS Event Stream Library
homepage: http://github.com/aws/aws-sdk-ruby
license: apache-2.0
licenses: []
notices: []

everytime we run bundle exec licensed status, we get:
* agencymvp.com.bundler.aws-eventstream
  filename: /Users/westoque/GitHub/westoque/rails_app/.licenses/bundler/aws-eventstream.dep.yml
    - missing license text

There's really no need to check if licenses are empty because we already do the empty check in #license_needs_review?.

@westoque :wave: thanks for opening this PR!  This check is intentional in the product, at least at this point in time.  The problem here, particularly with all of the AWS gems, is that they don't include license text in the distributed gem.  The right fix is to get the AWS gem maintainers to package a license file with their distributed gems.
Many licenses (apache-2.0 included) have clauses that specify the text of the license must be included for full compliance when using the dependency.
You can remediate these failures by manually adding the license text from the gem's source at the version you're using.  For the aws gems that would be this version of LICENSE.txt.
We do our best to make this as infrequent of a pain point as possible, but the license text is needed for full compliance.  I'm going to close this but please let me know if you have any further questions 🙇

@jonabc thanks for that wonderful explanation 👍


Stack trace being supressed

I recently upgraded sbt to 1.3. After this update when I get a error, I run in to this: stack trace is suppressed; run last tests / IntegrationTest / test for the full output
This is not such good UX in my opinion, as my test output is pretty big and lot's of scrolling is involved. So question is, should you put it on as default and is there a way to turn it off?

Is this a bug report, if so please follow the https://github.com/sbt/sbt/issues/new?assignees=&labels=Bug&template=---bug-report.md&title= format.
A normal test failure should not cause stack trace, suppressed or not.


Don't disable HttpObjectDecoder on upgrade from HTTP/1.x to HTTP/1.x over TLS

Motivation:
Being able to upgrade to TLS according to RFC 2817, within HTTP/1.x.
Switching the transport layer to TLS should be possible without removing HttpClientCodec from the pipeline, because HTTP/1.x layer of the protocol remains untouched by the switch.
Modification:
Don't set HttpObjectDecoder into UPGRADED state if SWITCHING_PROTOCOLS response contains HTTP/1.0 or HTTP/1.1 in the protocol stack described by the Upgrade header.
Describe the modifications you've done.
Added a new method  isSwitchingToNonHttp1Protocol and called it from resetNow.
Result:
Should fix #7293.
This is not fully tested yet - just asking if such a fix would be acceptable.

Some tests are failing due to this :(


Dimmer 2 timer value

Hi there,
Has the shelly dimmer2 also a (auto) timer off value which can be passed with each command (instead of a global device config)?
    msg.payload = {
        brightness: level,
        transition: 5000, // optional 0..5000ms
        on: state,
        timer: 300     //dimmer set-action expire time
    };

Best regards

Hi WindKH,
Thank you for your reply. I'll explain the purpose:
When the light is turned 'on' bij a central controller (dark, motion, etc), then the user is 'served'. When the controller must turn the dimmer off actively (state=false) the user will not be able to manually turn the lights on again (the controller want the lights OFF).
So, I'm looking for a way the central controller only have to send 'ON' to turn lights (dimmer) on, and if not (no action, timed out) the user is still able to manually flip the switch.
Thank you for adding this feature in next release.
Best regards

V10.13.2 should be available in a few minutes.
please report if it worked

It worked as expected. Thanks for the quick release.
Best regards,

Cool thanks!!!!


Remove HTTPs force for iOS 9

(void) setupUrlEndpoint {
// Force protocol to HTTPS for iOS 9:
// https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html
#if SNOWPLOW_TARGET_IOS
if (SNOWPLOW_iOS_9_OR_LATER) {
//iOS9 也使用http
//        _protocol = SPHttps;
}
#elif SNOWPLOW_TARGET_TV
_protocol = SPHttps;
#endif
NSString * urlPrefix = _protocol == SPHttp ? @"http://" : @"https://";
NSString * urlSuffix = _httpMethod == SPRequestGet ? kSPEndpointGet : kSPEndpointPost;
_urlEndpoint = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", urlPrefix, _url, urlSuffix]];
if (_urlEndpoint && _urlEndpoint.scheme && _urlEndpoint.host) {
SnowplowDLog(@"Emitter URL created successfully");
} else {
[NSException raise:@"InvalidSPEmitterEndpoint" format:@"An invalid Emitter URL was found: %@", _url];
}
}

SPEmitter *emitter = [SPEmitter build:^(id builder) {
[builder setProtocol:SPHttp];
}];
when the system is iOS9 ， i found that i cant set protocol to http 。
the builder function has no effect，the prtocol always be https。

Hi @threeknife under the new ATS rules for iOS 9.0 by default if the request is not sent as HTTPS it will fail to be sent.  Of course if in your application you are turning of ATS or whitelisting a collector in your plist you can still use HTTP.  Is there any particular reason you do not want to/cannot use HTTPS?
Perhaps a new approach of:

Do not force protocol
On failure to send due to protocol issues then automatically bump to HTTPS

Would work better...

@threeknife just to let you know we have gone ahead and removed the force to HTTPs.

Will this make sense in the 0.6.0 changelog or should we rebase this into a different ticket?

We could probably just rebase it into Getting ready for release?  The original ticket to do this was a while ago.

Okay cool - go for it. I think you can close this ticket as really it's a comment on an unreleased version...

True true will do.


Upgrade to plutus-ledger-api <IP_ADDRESS>

Description
plutus-ledger-api <IP_ADDRESS> has been released to CHaP and contains a breaking change
Checklist

[x] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages.
New section is never added with the code changes. (See RELEASING.md)
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated.
If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[x] Self-reviewed the diff

I don't like having to go outside the standard Plutus API and use a private constructor. However, this is what the Plutus team have requested.
I also don't like now having an existing function transMintValue that returns a Value and not a MintValue. I'm wondering whether it should be simply be an alias for transMultiAsset rather than having its own duplicate implementation, or whether we should remove it entirely and replace it with direct calls to transMultiAsset.

Make sure to update the lower bound for cardano-ledger-api >=1.37

Thanks for the reminder. I did in fact have that changed already, but forgot to push it.

Also I am a bit surprised that this error did not manifest itself in this PR: https://github.com/IntersectMBO/cardano-haskell-packages/actions/runs/12055727462/job/33621788682#step:5:296

I wonder if it's something to do with nix. I'll do some experiments and see what I find.

I wonder if it's something to do with nix. I'll do some experiments and see what I find.

I built cardano-ledger-api locally with nix and it was fine. I also built CHaP's smoke packages locally with updated ledger versions using the commit from my PR and it too was fine.


Add textStyles to tables

fixes #29
So that users can style text in tables and have those styles reflected in the final markup.

@xuopled any plans to take a look at this?

Thank you @justinsunho for your work

Sorry for the delay

Published in v1.14.0


matplot lib not in the pyproject.toml file

I am trying out main_demo.ipynb, and everything was working until I reached the line
%matplotlib

which generated an error since matplotlib was never included into the framework. Surely you must have tested this, so I do not understand how the code can work without matplotlib. The imshow routines that follow also do not work as a consequence. Thank you.

Wild. That notebook should not use matplotlib, so if you delete that line
everything will work, no clue how it got there. I would love a PR deleting
that line! You may need to install Plotly if your system doesn't have that
already. The tutorials are designed to work in Google Colab alas, and have
some dependencies that we don't want to make dependencies of the main
library (Colab has a bunch of stuff pre installed). But matplotlib is not
one of them!
On Sat, 20 May 2023, 12:03 am Gordon Erlebacher, @.***>
wrote:

I am trying out main_demo.ipynb, and everything was working until I
reached the line
%matplotlib
which generated an error since matplotlib was never included into the
framework. Surely you must have tested this, so I do not understand how the
code can work without matplotlib. The imshow routines that follow also do
not work as a consequence. Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/neelnanda-io/TransformerLens/issues/279, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRPNKP53ZV3B4XXGX6QV2DXG7357ANCNFSM6AAAAAAYIKKAWI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thank you, Neel. Love your work!

@bryce13950 confirming you fixed this in the current demo PR.

Yep! This can be either closed, or marked to be closed when my PR gets merged

@erlebach if you want to look at this demo in a working state, it should be running fine here https://github.com/Lingwave/TransformerLens/blob/tests-regression/demos/Main_Demo.ipynb


Improved XML parsing.

Better handling when metar doesn't contain flight category ie when SPECI
is released. Now we look back up to 3 hours to get a flight category and
use the newest available metar with a flight category.

Oh, hah ... someone who actually knows what they're doing looked at the code. Sweet. I ran out of Wemos modules and am waiting for some more, so I'll test and merge as soon as I get them.

lol. Free wifi at my house! thanks for the heads up.
-v
On Tue, Apr 28, 2020 at 2:14 PM Kyle Harmon<EMAIL_ADDRESS>wrote:

@WKHarmon requested changes on this pull request.
You should probably remove your WiFi credentials, although the cat is
mostly out of the bag now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/WKHarmon/led-sectional/pull/7#pullrequestreview-402091730,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNW6TFTVXEMVJDQA5PEMCTRO4MGTANCNFSM4MS7Y7WA
.

@vprzebinda Hola! I know it's been a long time since you submitted this, but I haven't had a ton of time to work on it. Sorry for that. I've merged in most of your XML parsing changes and published a branch here: https://github.com/WKHarmon/led-sectional/tree/improved-parsing
This keeps most of the changes you made, but reimplements the light sensor, slightly changes the calculation for the the lightning LEDs, allows for a key, and reverts to most of the defaults that were in the original file (e.g. LED type, etc.)
I wasn't able to merge your more recent commits because it doesn't allow for an airport to appear on the list twice (some people have an inset that zooms in on a region that appears elsewhere on the map), and it makes it doesn't support a key (although that shouldn't be too hard to add). It also sends the key LEDs and NULL airports where there's a blank LED in the API request, but that doesn't really seem to hurt anything so it doesn't really matter.
I'm going to test this for a few weeks then merge it in, but if you wanted to look over it with my changes I'd welcome any feedback. When I have time I'll try to add the later commits in a way that doesn't break the other functionality, but I wanted to go ahead and push the earlier ones.
Thanks!

I went ahead and merged the modified branch into master.


cant render 16-bit png tiles

I'm having tiff images as large as 5-6GB in size. while using openseadragon viewer, not able to render 16-bit png tiles but same works fine with 8-bit tiles.
for 16-bit tiles, it displays black canvas but 8-bit gets displayed properly.
anyone please.....? thank you!!

HTML canvas doesn't work with 16-bit images, but it is possible that some browsers/hardware may handle it for plain images. If you load an individual tile in an <img> element, does your browser render it? If so, you could use the HTMLDrawer to display the tiled image.


XEP-0384 OMEMO implementation

Please think about implementing OMEMO (XEP-0384) ( https://conversations.im/omemo/ ).
@keyser-soeze did an implementation in the https://github.com/cryptocat/cryptocat project.
File : https://github.com/cryptocat/cryptocat/blob/master/src/js/omemo.js
Regards

FYI :  I added stanza.io to https://omemo.top/

The standardization story at the XSF for OMEMO is a mess right now, so I really don't want to touch anything until that is sorted out. Otherwise, yes, I'm eager to add support.
But it is also the sort of feature that really requires deeper app-level integration that wouldn't be appropriate for a library to handle 100%. So we could provide all of the convenience methods and stanza definitions needed, but it wouldn't be able support OMEMO 'out of the box' without additional setup.

@legastero
Great news
Have you checked @keyser-soze implementation ? May it can help to get a good starting point

It seems that XEP-0384: OMEMO Encryption Version 0.2 (2017-06-02) will stay now with the SignalProtocol. Any further development using Olm will be a new XEP.
So eventually development on OMEMO on stanza.io could be started.

I've created, (most likely) another, implementation of OMEMO for stanza.io, here.
If there is any intrest here I can clean it up a bit and extract it from this project.
it depends on libsignal and is tested against Conversations, Dino and Gajim, the only thing that needs to be implemented on the user end, is the store which stores the keys, pretty much the same as the one needed to implement for libsignal to work.

Of course it's very interesting!

@the-eater interested here !

@andrewvmail I'll try to make some time this weekend :)

any news?

any news?

I don't have time (and/or motivation) to clean it up completely, but this should work: https://github.com/the-eater/stanza.io/tree/feature/omemo/lib/plugins
All API's are async, the hints plugin is needed to tell the XMPP server that the message should be stored server side
There is a lot of ES6 usage in there, but you should be able to run it through babel without problems. I've edited so far that it should run in all current browsers
usage and how to implement can be found here:
Initialization: https://github.com/the-eater/Fossil/blob/master/src/fossil.js#L62
Sending messages: https://github.com/the-eater/Fossil/blob/master/src/fossil/contact.js#L46
Storage: https://github.com/the-eater/Fossil/blob/master/src/fossil/storage.js
Decryption and decoding: https://github.com/the-eater/Fossil/blob/master/src/fossil/message.js#L19

Cleanapped version ;) Tested with Chrome browser and Conversations
omemo.zip

Hi,
I have seen there is some kind of support for OMEMO within the code (xep0384.ts). Is there any information how to use this?

Any news on it?

Hey @mmikel, thank you for providing a zipped version, very helpful!
May I ask you one clarification please
  async getAnnouncedDeviceIds(jid) {
    if (!jid) {
      jid = this.client.jid;
    }

    if (typeof jid !== 'string') {
      jid = jid.bare;
    }

    if (!this.subscriptions.has(jid)) {
      try {
        await this.client.subscribeToNode(jid, 'eu.siacs.conversations.axolotl.devicelist');
      } catch (e) {
      }
      this.subscriptions.add(jid);
    }

   ....

Is it really needed to subscribe to own user node? (e.g. when 'jid' is not passed here)
Thanks in advance

@IgorVNC when announcing the device list you need to retain the old device ids, so that's why we subscribe to it see e.g.
https://github.com/the-eater/Fossil/blob/c8484d5df67374cc52c0ec0625a35e1a903c0f91/src/fossil/stanzaio/omemo.js#L354


Extra backslashes (character escaping) happening in certain strings

The following command string in one of my CloudFormation configs is changed in the resources JSON:
'config':
    cloudformation.InitConfig(
        packages={'yum': {}},
        commands={
            'customize_prompt': {
                'command': 'sed -i \'s/PS1="\[\\u@\\h \\W\]\\\\\$ "/PS1="\[\\u@\\H \\W\]\\\\\$ "/\' /etc/bashrc'
            }

In the generated resources JSON, the resource definition looks like so:
    "customize_prompt": {
        "command": "sed -i 's/PS1=\"\\[\\u@\\h \\W\\]\\\\\\$ \"/PS1=\"\\[\\u@\\H \\W\\]\\\\\\$ \"/' /etc/bashrc"
    }

Notice how there is an extra slash added in front of the regular expression characters ([, $, ]) in the resource JSON? What could be doing this? The command won't run on the instance properly with the added backslashes. Thanks in advance!

Maybe this code in encode_to_dict (base class AWSProperty) is trying to help (by adding the extra escaping when printing):
    # This is useful when dealing with external libs using
    # this format. Specifically awacs.
    elif hasattr(obj, 'JSONrepr'):
        return encode_to_dict(obj.JSONrepr())

The mangling likely has more to do with the backslashes and trying to escape them through json encode/decode. Try using r"string" and assume that the json should escape (backslash) any backslashes in the string effectively doubling them but will be decoded later. I think this is what you want.

I don't think raw strings helped, possible because they are non-raw when processed later -- not sure. I just know that when I tried to use them, nothing changed with the string on the cfn instance metadata side. Perhaps I did something wrong. I have concluded just now through more manual keyboard pounding in the Python interpreter that I don't think my string is correct with respect to escaping that needs to be "doubled-up", as you mentioned. Thank you for the fast reply.

You are right. I was way deep into a terrible string with many escaped characters, some having to be double-escaped for sed on the other end (note that when added to JSON, they are even more escaped, as you also said). At first I thought raw strings weren't helping, but I think I had escaped an inner string. The final command (which replaces the hostname in the bash prompt to have a full-qualified domain name) in troposphere looks like so (I doubt it will help anyone, but wanted to put it here just in case):
'005_customize_prompt': {
    'command': r"sed -i 's/PS1=\"\[\\u@\\h \\W\]\\\\\$ \"/PS1=\"\[\\u@\\H \\W\]\\\\\$ \"/' /etc/bashrc"
}

Thanks for your prompt response and all of your work markpeek!

Nice! Thanks for following up with your solution.


minor typo (patially instead of partially)

Thanks for your contribution. I changed the base branch to development, please target this branch for subsequent PRs :-)

Thanks for your contribution. I changed the base branch to development, please target this branch for subsequent PRs :-)

Ok, I will.


fix: select all checkbox clears when a new page of data loads

Description
I have added a state to check whether the checkbox for 'select all' is checked or not and added the required logic to add users across multiple pages, the same issue was with the add contributors to list page as well as the new list creating page. I have fixed those as well.

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Fixes #2328
Mobile & Desktop Screenshots/Recordings

https://github.com/open-sauced/app/assets/114330931/086a84e9-9419-4b81-9061-ac628a07ea11
Steps to QA

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Thanks for this fix @aryanas159 🍕. Can you also apply the same fix to the repositories table if you have the bandwidth?

Thanks for this fix @aryanas159 🍕. Can you also apply the same fix to the repositories table if you have the bandwidth?

Sure, I can look into it.

@OgDev-01 I have made the changes for the repository table.

@OgDev-01 I have made the changes for the repository table.

Thanks for tackling this @aryanas159... I'll take a peak on this shortly 👍

@nickytonline If we call setIsSelectAll(false) every time the page changes, those elements will also be removed if we move to a page where we have selected all previously. Also the useEffect ensures that if a user manually selects all the users on a page, then the select all checkbox will also be checked.

@nickytonline If we call setIsSelectAll(false) every time the page changes, those elements will also be removed if we move to a page where we have selected all previously. Also the useEffect ensures that if a user manually selects all the users on a page, then the select all checkbox will also be checked.

This is true; however, that is some select all functionality that all our grids are missing. Currently, if you select all, it's for the current page only, but when we do that, we probably want to give an option like in GMail to select all the data.

I agree with @nickytonline. I think we need some more thought on this and should close this for now.

Thanks for working on this @aryanas159. Once we get the true  select all in place, we can revisit this.