feat(auth): set post_logout_redirect_uri by env var

This PR allows setting the post logout redirect uri via an env variable. It's a small change that can lead to a better logout experience when paired with a keycloak change: allowing users to log out of keycloak then be prompted to log out of login.gov.
This change will allow for users to be redirected to the login.gov user initiated logout for our app after being logged out of keycloak when they click the log out button when combined with:

setting the SBL_LOGOUT_REDIRECT_URL env var to the relying party (user) initiated logout login.gov url with the ur's post_logout_redirect_uri query param set to redirect back to our home page
adding the same RP initiated logout url to keycloak's Valid post logout redirect URIs for regtech-client (this setting could be automated in a later devops PR?)

If a user isn't logged into login.gov, but they hit the RP-initiated logout url, then they just get redirected back to the homepage without hitting the login.gov logout page.
I think the HMDA frontend could also probably implement something very similar by making adjustments to the logout url in their keycloak.js file?
In this implementation for SBL, not supplying the SBL_LOGOUT_REDIRECT_URL env var defaults back to the old behavior of redirecting back to the window.location.origin.
I've also added types to the env vars as per the vite guide.
Changes

set post_logout_redirect_uri to a new env variable SBL_LOGOUT_REDIRECT_URL
add types for the possible env variables as per vite config

How to test this PR

Does logout still works properly when no env variable is set?
Can a user be redirected to a new url on logout when the SBL_LOGOUT_REDIRECT_URL is set?

Set the SBL_LOGOUT_REDIRECT_URL in your .env file with a value like https://consumerfinance.gov/
Log into Keycloak
Go to the list of clients in the regtech realm on your local Keycloak instance (direct link)
Click on regtech-client

Change the url you're redirecting to under Valid post logout redirect URIs

Log out and see if you get redirected to the new url

Does this work with login.gov?

Message me for instructions or see GIF/Demo

Screenshots
https://github.com/cfpb/sbl-frontend/assets/19983248/ce4753fb-eeab-4b6d-80c7-1c7c206e0051

Thanks for your time @shindigira! I also updated the keycloak config instructions above to remove the + from the Valid post logout redirect URIs which was causing some issues. 👍


Expose GoPhish

Hi,
I’ve installed RedCloud on a AWS infrastructure (Kali, with all traffic authorized), and then installed GoPhish from the template. However, I have not been able to add any rules in Traeffik to expose the ports remotely.
I’ve tried to modify the docker-compose file and I added some label to expose the 3333 GoPhish’s administration port from an URL with Traefik.
The problem is that when I tried to access to the URL https://my-aws-ip/gophish/ I have an error: “500 internal server error”.
When I install GoPhish on its own on the machine I can access to the GoPhish pages (https://my-aws-ip:3333) so it’s not an AWS rules problem. The listening URL for the GoPhish is <IP_ADDRESS>:3333 in the configuration file.
Here is the lignes that I added in the docker-compose file:
gophish:
  image: matteoggl/gophish
  container_name: “gophish”
  networks:
    - default
    - inside
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - certs:/certs
    - logs:/logs
  labels:
    - “traefik.frontend.rule=PathPrefixStrip:/gophish”
    - “traefik.port=3333”
    - “traefik.passHostHeader=true”
    - “traefik.docker.network=default”
    - “traefik.frontend.redirect.regex=^(.*)/gophish$$”
    - “traefik.frontend.redirect.replacement=$$1/gophish/”
    - “traefik.frontend.rule=PathPrefix:/gophish;ReplacePathRegex: ^/gophish/(.*) /$$1”

I’ve also modify the traefik.toml file:
[entryPoints]
  [entryPoints.http]
  address = “:80”
    [entryPoints.http.redirect]
    entryPoint = “https”
    rule = “Path:/portainer,/files/api,/gophish”

[…]

[gophish]
  entryPoint = “gophish”

Do you have any idea of what might cause this error?
Thank you for your time,
Aurélien

I ran into the same thing. For now I've just used port 3333 to access it. It has built in auth so it shouldn't be a big deal.


Create sim templates in parallel when clone simulator feature is enabled

Whether the simulator cloning is an optional feature or default behavior, the creating of sim templates should be done in parallel. It is very important to cut down on this time since the time spent in creating sim templates is the time that is not spent spawning the simulators and running the tests.
\cc @ob

How many sim templates are there typically?

It's usually one for each type of app using across all the input test bundles. For example, scenario tests might use one version of the app and app-hosted unit tests might use a different app.
Also, the template name needs to be different for different apps to completely support this.

@ravimandala  any updates?


A return statement in a nested loop may cause error in loop lifting

The following code
import numba
@numba.jit
def numbafunc(arg):
	for i in range(10):
		for j in range(10):
			return

numbafunc([])

causes the following error
Traceback (most recent call last):
  File "numbabug.py", line 11, in <module>
    numbafunc([])
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/dispatcher.py", line 307, in _compile_for_args
    return self.compile(tuple(argtypes))
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/dispatcher.py", line 579, in compile
    cres = self._compiler.compile(args, return_type)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/dispatcher.py", line 80, in compile
    flags=flags, locals=self.locals)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 763, in compile_extra
    return pipeline.compile_extra(func)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 360, in compile_extra
    return self._compile_bytecode()
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 722, in _compile_bytecode
    return self._compile_core()
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 709, in _compile_core
    res = pm.run(self.status)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 246, in run
    raise patched_exception
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 238, in run
    stage()
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 431, in stage_objectmode_frontend
    cres = self.frontend_looplift()
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/compiler.py", line 411, in frontend_looplift
    flags=loop_flags)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/transforms.py", line 191, in loop_lifting
    func_ir.variable_lifetime.livemap)
  File "/home/tuukka/.local/lib/python3.5/site-packages/numba/transforms.py", line 59, in _loop_lift_get_candidate_infos
    [(returnto, _)] = cfg.successors(an_exit)  # requirement checked earlier
ValueError: Failed at object (object mode frontend)
not enough values to unpack (expected 1, got 0)

Looking at the output of cfg.dump(), it seems that the loop has two exit nodes, and one of them (the return statement) does not have a successor. If that exit comes first out of the iterator, the error will occur. Random changes to the code may cause the other exit to come first, which avoids the error.

Thanks for the report. I can reproduce and think your analysis is correct.


document support for Bitbucket Pipelines badges

merge after rust-lang/crates.io#1934

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Eh2406 (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Bors should be merging the associated crates.io PR in a few minutes.

@bors r+
And Thanks!

:pushpin: Commit a4a133f498b3ea4d7d0f3265e076de49faf53e86 has been approved by Eh2406

:hourglass: Testing commit a4a133f498b3ea4d7d0f3265e076de49faf53e86 with merge ea753af2580d97537d5ea00ad0af914c150f419b...

:sunny: Test successful - checks-azure
Approved by: Eh2406
Pushing ea753af2580d97537d5ea00ad0af914c150f419b to master...


Iom/task/93086 replace mailhog with mailpit

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[x] Documentation content changes
[x] Application / infrastructure changes

Release
Be sure that pull requests are build according to the defined release process here. As a main part to mention here is that the semantic version type will be read from the commit messages (BREAKING CHANGE(icm): marks a major change, feat(icm): marks minor changes and the rest will be patch. So the developer must already know and is responsible.
What Is the Current Behavior?

Issue Number: Closes #
What Is the New Behavior?
Does this PR Introduce a Breaking Change?

[x] Yes
[ ] No

Other Information

Documentation review done.


NMOS client video receiver can't find the BM IP Card sender

Hi all,
I use libnvnmos to register a node to NMOS Server successfully, and now I want connect BM IP Card(video sender) to Nvidia ConnectX-6 card(video receiver), but NMOS Server can't list BM IP sender device, do you know why? and how can I debug it?

Hi, @DaveHu-TVU. In the Receiver > Connect tab, by default the NMOS Registry UI shows only those Senders that match transport and format constraints of the Receiver. For an RTP receiver like the one you've built with nvnmos, the UI should be clever enough to match RTP Multicast-only senders like the BM IP sender shown in your final screenshot, so I suspect that there are actual format differences (e.g. different resolution or frame rate) between the configuration of the BM sender and the nvnmos receiver. In this case, disabling Constraint Sets matching will mean the UI will let you attempt to connect it, but it won't work, because the nvnmos receiver will reject the connection anyway.

If they're running on the same host, then they will need to run on different ports, because the NMOS Node API must have URL path /x-nmos/node/.
They will also need different seed values to ensure they generate different NMOS resource identifiers.
The nvnmos-example app constructs the seed by combining the host_name and port (see main.c), so running two instances of it as follows works fine:
./nvnmos-example nmos-api.local 8080 <IP_ADDRESS>

./nvnmos-example nmos-api.local 8081 <IP_ADDRESS>

Thanks！ I think it can work now.
I have two nvnmos client, and register two video device: TVU_88DC_0(sender) and TVU_88DC_1(receiver)
1: video sender sdp file(sdp file 1):
v=0
o=-<PHONE_NUMBER> 0 IN IP4 <IP_ADDRESS>
s=TVU_88DC_0/Video
t=0 0
a=sendonly
a=x-nvnmos-id:sink0-0
a=x-nvnmos-group-hint:rx0-0:video
m=video 6000 RTP/AVP 96
c=IN IP4 <IP_ADDRESS>/64
a=source-filter: incl IN IP4 <IP_ADDRESS> <IP_ADDRESS>
a=rtpmap:96 raw/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=59.94; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; SSN=ST2110-20:2017; TP=2110TPN
a=ts-refclk:localmac=40-a3-6b-a0-2b-d2
a=mediaclk:direct=0
2: video receiver sdp file(sdp file 2):
v=0
o=- 955731720 0 IN IP4 <IP_ADDRESS>
s=TVU_88DC_1/Video
t=0 0
a=x-nvnmos-id:source1-0
a=x-nvnmos-group-hint:rx1-0:video
m=video 6000 RTP/AVP 96
c=IN IP4 <IP_ADDRESS>/64
a=source-filter: incl IN IP4 <IP_ADDRESS> <IP_ADDRESS>
a=rtpmap:96 raw/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=59.94; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; SSN=ST2110-20:2017; TP=2110TPN
a=mediaclk:direct=0
a=x-nvnmos-iface-ip:<IP_ADDRESS>
if I connect TVU_88DC_1 to TVU_88DC_0 via NMOS Server, I can get the new sdp file(sdp file 3) from nmos_connection_rtp_activation_callback
as follow:
v=0
o=-<PHONE_NUMBER><PHONE_NUMBER> IN IP4 <IP_ADDRESS>
s=TVU_88DC_0/Video
t=0 0
a=x-nvnmos-id:source1-0
a=x-nvnmos-group-hint:rx1-0:video
6000 RTP/AVP 96
c=IN IP4 <IP_ADDRESS>/64
a=ts-refclk:localmac=B8-3F-D2-43-50-38
a=mediaclk:direct=0
a=source-filter: incl IN IP4 <IP_ADDRESS> <IP_ADDRESS>
a=rtpmap:96 raw/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=59.94; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; SSN=ST2110-20:2017; TP=2110TPN
a=x-nvnmos-iface-ip:<IP_ADDRESS>
Then I can use the parameters of the sdp file3 (address and port of the 2110, parameters of the video, etc.) on the TVU_88DC_1 side to receive the video from the TVU_88DC_0 right?
Thanks again!


test: scrollInputIntoView method coverage in all pages

Description
copilot:summary
copilot:poem
Walkthrough
copilot:walkthrough
Clickup
app.clickup.com
Code Coverage
Please add code coverage here
UI Preview
Please add screenshots for UI changes

Rest are all prettier changes


GEODE-4392: Remove catch blocks that immediately rethrow

Optimized imports in touched files.
Removed some commented-out code, inlined some few variables.

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[x] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[n/a] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

generally this is OK, but there are cases when this would behave differently if you remove the catch/throw. Consider the following
try{...}
catch(ChildException e){throw e;}
catch(ParentException e){//do something}
this block of code would behave differently if you remove the catch/throw of ChildException.
So please make sure there is no such exception hierarchy in the code you touched.

@jinmeiliao That did cross my mind.  Definitely good to be sure, though.

Precheckin green.


Initialize pem_str field in some DSA methods.

Thanks to GitHub user scw00 for reporting this.
Alternative fix for #6868.

But wouldn't it be better then to just use the literal NID names without the NID_ prefix?

Yes, much.  I did that thanks.

Additional commit pushed.  All to be squashed once approved^W I finally get this right.

-1
NOW I remember what's wrong in #6868...  ASN1_PKEY_ALIAS is an aliasing flag, basically maps one ASN1 method to another.  The alias has no name of its own...


Neuroshima: Fix legacy mode in sheet config, set to false

Changes / Comments
Legacy mode fix, was set to false which resulted in broken formatting

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[v] Does the pull request title have the sheet name(s)? Include each sheet name.
[v] Is this a bug fix?
[x] Does this add functional enhancements (new features or extending existing features) ?
[v] Does this add or change functional aesthetics (such as layout or color scheme) ?
[v] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[v] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


add constructor for CheckOperator

need a constructor when instantiate SignedExtra

you may need to branch off an old version of orml and backport to the branch, or update substrate version in Acala


Neighbour based methods in Stellargraph class

Description
Adding methods in the StellarGraph class to access neighbours for a node or a list (subset of nodes of a graph) with or without a specified edge_type.
The StellarGraph class has the following three methods defined.
def neighbors(self, node: Any) -> Iterable[Any]
def in_nodes(self, node: Any) -> Iterable[Any]
def out_nodes(self, node: Any) -> Iterable[Any]
We need to extends these to be in the form def neighbors(self, node: Any, data: Optional[List[str]] = None, edge_types: Optional[List[str]] = None) or something along those lines. This is needed to do things like edge-type or edge-attribute aware random walks efficiently.
User Story
As a: research engineer
I want: to access neighbors/in_nodes/out_nodes for a specific node
so that:
I can implement random walks.
Done Checklist (Development)

[ ] Assumptions of the user story met
[ ] Produced code for required functionality
[ ] Branch and Pull Request build on CI
[ ] Branch and Pull Request pass unit tests on CI
[ ] Branch and Pull Request pass integration tests on CI
[ ] Version number reflects new status
[ ] Peer Code Review Performed
[ ] Code well commented
[ ] Documentation on Google Docs
[ ] Documentation in repo
[ ] CHANGELOG.md updated
[ ] Team demo
[ ] Mini-meetup talk
[ ] Stakeholder sign-off

Okay since we don't actually support a full set of edge features, only a single feature as a "weight", I'm now thinking we would have something like:
    def neighbors(self, node: Any, weight=False, edge_types=None) -> Iterable[Any]:
        """
        Obtains the collection of neighbouring nodes connected
        to the given node.

        Args:
            node (any): The node in question.
            weight (bool, default False): If True, each neighbour in the output is a
                tuple of (node ID, edge weight)
            edge_types (list of str, optional): If provided, only traverse the graph
                via the provided edge types when collecting neighbours.

        Returns:
            iterable: The neighbouring nodes.
        """

This would still be able to support multiple edges though? In temporal graphs, even if we ignore different types of edge features, except time, there are going to  be multiple edges with distinct times for a pair of nodes.

Also, the time feature can be  a user defined label? Networkx by default label the edge feature as weight but this can be changed and depending on the dataset it could be named differently.

This would still be able to support multiple edges though? In temporal graphs, even if we ignore different types of edge features, except time, there are going to be multiple edges with distinct times for a pair of nodes.

Yes I think this should be fine. Calling graph.neighbors(node) you may end up getting multiple items in return that point to the same neighbouring node, but with different times associated with them.

Also, the time feature can be a user defined label? Networkx by default label the edge feature as weight but this can be changed and depending on the dataset it could be named differently.

Yes, it looks like you should be able to create the StellarGraph class like:
nxg = nx.MultiDiGraph()
...
g = StellarGraph(g=nxg, edge_weight_label="time")

Then it should use the "time" attribute from the networkx graph nxg when you call other StellarGraph methods later that try to access weights.


Git Annotate hard to read

 # 31 Git Annotate hard to read https://api.github.com/repos/cyclic-reference/ddlc-jetbrains-theme/issues/31

Imma close this once it is publicly available.
@ilmirus let me know if you want a zip so you can manually install it before it become available from the jetbrains plugin registry.

Lol so I just put the DDLC Theme-0.5.3.zip on the release :)
https://github.com/cyclic-reference/ddlc-jetbrains-theme/releases/tag/v0.5.3


Restyle example formatting for Style/MethodCallWithArgsParentheses

Follow up of https://github.com/rubocop-hq/rubocop/pull/4880#issuecomment-338499947.
This PR is a change of document format for Style/MethodCallWithArgsParentheses cop.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


Check if date interval overlaps the rule

Hi, I want to check if my start and end date overlaps the rule. Is there any method avilble which i can use for my scenario?

Can you be more specific with what you want to accomplish?
At present we don't have any code to intersect rules and dates. Depending on what you're planning it may not be that hard though.

I am developing a resource management tool in which there is a need to check if resource is available  on that slot. I have  start and end datetime of both the rule and new task. Now i wanted to check if both these dates overlaps or not.

Ok and by "overlap the rule" do you mean, overlap any of the generated instances or just the overall time range of the rule? I.e. would you consider a pair of start and end to "overlap a rule" if it falls between two of the instances generated by the rule?

What i neant was to overlaps any of the generated instance. This is what i tried, i generted rule next date by specifying the start date(time of the rule and date part from the new event date) and then checked if the generated overlaps the date specified its seems to be working fine. I think i will rephrase the initial question as check if two rules overlap or not?


Publish to GitHub Pages demo site

Closes #2
If one of you with admin rights to this repo has a chance, try this if you are not pushing to a fork:
npm run publish-gh-pages

...and the demo/output of that will be here: http://codeforfoco.org/solar-scorecard/stairstep.html
We can make an index.html later, then point to individual examples if that makes sense.

Nice!


Entra Application OIDC-based Single Sign-On Attributes & Claims

It is possible to configure the oidc single sign-on attributes & claims using bicep? The ones in the screenshot above were done manually.
In a<EMAIL_ADDRESS>adding items to idToken in optionalClaims only adds claims under the token configuration and I can't see any other relevant section.

Thanks for reporting @DavidMrLane. I'm not convinced that this is a bug.  It's more of a missing Bicep type.  From what I gather, custom claims are described here:https://learn.microsoft.com/en-gb/entra/identity-platform/reference-claims-customization#claims-customization-using-a-policy.  It looks like there are two APIs for this, and https://learn.microsoft.com/en-us/graph/api/resources/customclaimspolicy?view=graph-rest-beta appears to be used by the UI you have screenshots for. The second one is https://learn.microsoft.com/en-us/graph/api/resources/claimsmappingpolicy?view=graph-rest-1.0.
Neither of these resources are exposed in Microsoft Graph Bicep Types, and I would need to find the owners for these types to understand if we are planning to keep both APIs.

@dkershaw10 - Does the Graph extension validate types, or does it function as a passthrough? If it’s the latter, would it make sense to update the Graph type loader to emit a warning instead of an error for unrecognized properties? This approach would let users work with these properties while awaiting a new type package release. For reference, we handle Azure resources similarly, emitting warnings rather than errors for resource type issues:

@shenglol That seems orthogonal to this issue.
Anyways, I believe that the extension functions more like a passthrough - it won't error and I don't think it even emits a warning. @jason-dou do we emit any warnings when trying to deploy a template with unrecognized properties?

@dkershaw10 The Graph extension functions as a passthrough but the request won't reach the extension if deploying a Bicep template. Bicep compiler will throw an error and fail the deployment if the resource contains unrecognized properties.

@jason-dou I've created a separate issue to track change the type loader to emit a warning rather than an error - #191


"Magic link" page needs better how-to for Android

@LavRadis commented on Mon Sep 17 2018
The Issue
"Magic link" confirmation link makes Android offer to open LBRY app OR Coinomi (since the also registered for lbry://). The page needs a better how-to explanation for the new user to reduce confusion and number of people who will choose to open with Coinomi.

@tzarebczan commented on Mon Sep 17 2018
I originally thought this note might be better on the Android app, but agree that it makes more sense ont he verification page. Will move this over to lbry.io.

Why is coinomi registering as a schema handler for lbry://?

There is at least an Android issue here as well, in that it should notify on open and install if another app has lbry://

Looks like they do this to support payments for other coins as well: https://github.com/Coinomi/coinomi-android/blob/master/core/src/main/java/com/coinomi/core/uri/CoinURI.java
Will re-open the Android issue to discuss your last point. Maybe it can prompt the LBRY to make it default for lbry://


Update machine-learning-web-service-parameters.md

Minor update

Hi @raymondlaghaeian, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


Quarterstaff Master & Staff Magus Archetype

Adds the Quarterstaff Master feat with the only caveat that it doesn't give access to Weapon Specialization.
Adds Staff Magus archetype. The archetype doesn't remove Magus' "Fighter Training" ability as staves in the game don't have caster level/spells (yet). The archetype requires the feat to be enabled. If the user disables Qstaff master feat then the archetype will be disabled as well.
Both of these have enable/disable checks in the .json file

PS: My discord tag is Trelorockas#2863


Is there no way to confirm a SetupIntent with Google Pay or Apple Pay

Describe the bug
In confirmPaymentIntent, there is an option to set applePayOptions or googlePayOptions so that the PaymentIntent can be paid using Apple Pay or Google Play. However, for subscriptions, confirming SetupIntents is needed, but confirmSetupIntent does not accept Apple Pay or Google Pay options. How is it possible to set up a subscription using Apple Pay and Google Pay?
Expected behavior
I was expecting that confirmSetupIntent would accept applePayOptions and googlePlayOptions
Smartphone (please complete the following information):

Device: iPhone / Android
OS: Latest
Browser: Safari / Chrome
Version: Latest

Additional context
We are trying to create a subscription page where a user can subscribe to a subscription using Stripe.

Setup Intents are for storing credit cards for later use. AFAIK that's not possible with Google/Apple pay.

Thanks for issue!
Today this plugin of v3 is released. This not compatible with v1. All APIs have been revamped. So I will close this issue. If you still have the same problem, please create a new Issue. Thank you.


Use Data Binding for RecyclerView Adapters

Describe the chore
Refractor all recyclerview adapters to use data binding
Would you like to work on the issue?

[x] Yes

@iamareebjamal should i continue this

@aggarwalpulkit596 Are you still working on this or may I take this up?

@anhanh11001 it wasn't approved i guess @iamareebjamal can i start on working this ?

Go ahead


Update shell-escape

r? @alexcrichton

@bors: r+

:pushpin: Commit fee2286 has been approved by alexcrichton

:hourglass: Testing commit fee2286 with merge 8055a76...

:broken_heart: Test failed - status-appveyor

@bors: retry

:hourglass: Testing commit fee2286 with merge 1088555...

:broken_heart: Test failed - status-appveyor

@bors: retry
On Thu, Jan 5, 2017 at 12:47 PM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - status-appveyor
https://ci.appveyor.com/project/rust-lang-libs/cargo/build/1.0.791
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/pull/3495#issuecomment-270752932, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95JD2bRPMCUOVGdCusHU8gopCwYh6ks5rPVbRgaJpZM4LbVEI
.

:hourglass: Testing commit fee2286 with merge 9c6595d...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 9c6595db9dee1b7b2b4fe2637a292ef78349e969 to master...


Discussion: New package for flags parsing.

I suggest Kong as a new commandline parser.
It will bring sophisticated commandline parsing and gives more future prove capabilities when extending gokvm.

Thanks for the suggestion.
But as a project policy I would like to develop only with the standard library.
I believe that is sufficient in many cases, but are there cases where that is not possible?

I can certainly think about extending gokvm to a more complex VMM with load/store/start/stop/resume functionality.
Decoupling the execution of the binary and running a VM which needs to be controlled via command execution. (see  #150#issuecomment-1685713411)
Have a look at the Draft PR #152
On a more general note:
What do you think about working out a project plan for desired functionalities and capabilities?

I understand the intent to support operations like load/store/start/resume in addition to the existing VM booting. Interesting 👍
I also understand the need for subcommand. Well, my suggestion is simply to prioritize the standard library. For example, I think we can achieve subcommands by doing the following:
https://gobyexample.com/command-line-subcommands

On a more general note:
What do you think about working out a project plan for desired functionalities and capabilities?

I would like to implement only essential aspects of virtualization in gokvm. For example, support for new boot protocols and load/store/start/resume functionality would be appropriate for gokvm. On the other hand, I don't want to include things that should be done by higher level services or orchestrators (OpenStack, Libvirt, etc.) such as listing or scheduling of multiple VMs.

Yes, I know that kong and a few others are really great cmdline parsers. And I also know that you want to spend your time on more essential work (e.g. PVH Boot), not cmdline parser. Sorry to put you through my selfishness. So, as a suggestion, how about using kong to implement subcommand for the time being, and then I will try the standard library?

Sorry to say: but in regards of commandline parsing I disagree with the desire to only use std libs.
I dont want to invent the wheel again if we have a properly working one already.

I am focusing on using only the standard library since this project itself is a redevelopment of the wheel.

No need for excuses! I understand the desire to use std lib to keep robustness high.
This project may be a reinvention of the wheel but the only one which can be integrated into u-root and execute a VM from firmware :) So for me gokvm is not just pure interest.


Option cron doesn't effectuate feature alert

Because of wrong variable reference.

Fixed in https://github.com/nozel-org/freebsd-serverbot/commit/6cf4d6ec3051b7912c82adc025366ff3f56207ba.


fluent-bit: 1.6.7 -> 1.6.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/fluent-bit/versions.
meta.description for fluent-bit is: "Log forwarder and processor, part of Fluentd ecosystem"
meta.homepage for fluent-bit is: "https://fluentbit.io"
meta.changelog for fluent-bit is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

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

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

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

found 1.6.8 with grep in /nix/store/pcqkq5yqykmcmwaxk42j58v10zbvqc13-fluent-bit-1.6.8

directory tree listing: https://gist.github.com/166f0d7ff4e0cf657c3c13c6f4611c26

du listing: https://gist.github.com/ae1312c352b2c5362f8ac7c1e0e5e1f3

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

4 total rebuild path(s)

1 package rebuild(s)

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

First fifty rebuilds by attrpath
fluent-bit

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/pcqkq5yqykmcmwaxk42j58v10zbvqc13-fluent-bit-1.6.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

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

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

1 package built:

fluent-bit

Maintainer pings
cc @samrose for testing.

Result of nixpkgs-review pr 106382 run on x86_64-darwin 1

1 package built:

fluent-bit


IC-1381 Removed GET /draft-action-plan

What does this pull request do?
Removes GET /draft-action-plan/{id}
What is the intent behind these changes?
ake the URLs consistent and not distinguish by state for GET

ake the URLs consistent and not distinguish by state for GET

For posterity, could we also expand on why we stopped doing it, please? (We could document and refer to these in https://github.com/ministryofjustice/hmpps-interventions-service/tree/main/doc/adr?)


Move this repository to nightwatchjs/mocha

Having this under an individual user account makes it hard find and connect to the nightwatch project.  It should be moved into the nightwatchjs github organization.

Done.


Add suffix option to myjoin function

Add suffix option to deal with errors ValueError: columns overlap but no suffix specified: Index(['a, 'b'], dtype='object')

This is there in my internal repo; i haven't pushed it. but great that you
have added this
Ayush Kanodia,
PhD Student,
Stanford Computer Science
On Mon, May 9, 2022 at 12:56 PM Keshav Agrawal @.***>
wrote:

Add suffix option to deal with errors ValueError: columns overlap but no
suffix specified: Index(['a, 'b'], dtype='object')
—
Reply to this email directly, view it on GitHub
https://github.com/kanodiaayush/python-utilities/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM4G4MK3FYXADLTXZWMLXTVJFUVVANCNFSM5VPKKCOQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Join Field

The examples for join don't seem to work anymore for the 8.x version.  I can find .Join on properties, but there is no .Relationship.
Is this not ported over from 7.x?

Would like to see this feature ported to V8 as well, because there's indeed no support for this right now.
And is actually one of the blocking reasons why we cannot upgrade our code to the new 8.x client.

The Relations field is available again in 8.13.x.


Can't use information from struct in schema generation

I have a use-case where I dynamically want to build JSON schema's from Go based on information from the database. I thought I would be able to do this with this library, but when implementing it I found out that the JSONSchema() and JSONSchemaExtend() interfaces do not give you access to the actual data of the struct. Any chance support for this could be added?
The main reason is because of the following 2 locations:
https://github.com/invopop/jsonschema/blob/main/reflect.go#L164 (directly drops the actual value)
https://github.com/invopop/jsonschema/blob/main/reflect.go#L360 (makes a new instance of the struct)
I think it could be relatively simple to store the original value (perhaps make it optional on the reflector?) and make it available in  JSONSchema()/JSONSchemaExtend().
Example code:
package main

import (
	"encoding/json"
	"log"

	"github.com/invopop/jsonschema"
)

type PropertyMap struct {
	PropertyNames []string
	PropertyValues map[string]any
}

func (pm PropertyMap) MarshalJSON() ([]byte, error) {
	return json.Marshal(pm.PropertyValues)
}

func (pm PropertyMap) JSONSchema() *jsonschema.Schema {
	baseSchema := &jsonschema.Schema{
		Type: "object",
	}

	for i := range pm.PropertyNames {
		propertySchema := jsonschema.Reflect(pm.PropertyValues[pm.PropertyNames[i]])
		baseSchema.Properties.Set(pm.PropertyNames[i], propertySchema)
	}

	return baseSchema
}

func main() {
	newPropertyMap := &PropertyMap{
		PropertyNames: []string{"field1", "field2"},
		PropertyValues: map[string]any{
			"field1": "yes",
			"field2": "no",
		},
	}

	jsonSchema := jsonschema.Reflect(newPropertyMap)
	jsonSchemaData, err := jsonSchema.MarshalJSON()
	log.Println(string(jsonSchemaData))
}

Current output:
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$ref": "#/$defs/PropertyMap",
    "$defs": {
        "PropertyMap": {
            "type": "object"
        }
    }
}

Expected output:
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$ref": "#/$defs/PropertyMap",
    "$defs": {
        "PropertyMap": {
            "type": "object"
            "properties": {
                "field1": {
                    "type": "string"
                 },
                 "field2": {
                     "type": "boolean"
                 }
            }
        }
    }
}

I have made the implementation here: https://github.com/klippa-app/jsonschema/pull/1
It's currently in our fork because we also have other MR's open (#130  and #135).


Replace id_for method with Rails native version?

Reported by @danieldpence.
Our implementation of:
https://github.com/bullet-train-co/bullet_train-base/blob/272fefb2a2f060d4f343291f28e42d19d7e49271/app/helpers/account/forms_helper.rb#L30
Probably can be replaced by:
https://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-field_id
?

form.field_id(method) works, but I'm currently getting a different string for namespaced models.
Here's id_for compared with field_id:
[1] pry(#<#<Class:0x00007efffc8cfb10>>)> id_for(form, method)
=> "scaffolding/absolutely_abstract/creative_concept_name"
[2] pry(#<#<Class:0x00007efffc8cfb10>>)> form.field_id(method)
=> "scaffolding_absolutely_abstract_creative_concept_name"

I'll go ahead with the PRs, just making a memo here in case we want a different kind of output.


Update operator to v1.10.3

Description
This operator patch release adds the missing nodeSelector for calico-node

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 4fda6672095a3d8e937f7ec2c576a55e5ca8472c
https://deploy-preview-3994--calico.netlify.app


adapters: Adjust to changes in LaxarJS

Due to LaxarJS/laxar#221 the widget loader api was changed. Although this is actually a private API, it is used as a tooling interface by LaxarJS Testing. Hence this needs to be adapted there as well.
Marked as breaking, but since LaxarJS Testing is still a 0.x version, this is acceptable.

Fixed on master (v0.4.0).


Routing Error

When I hit "Send an invitation". it show this issue. please help me solved my problem.
Routing Error
No route matches [POST] "/invitations/user"

Getting the same error. I'm using the default controller.
route.rb
Rails.application.routes.draw do
....
devise_for :users, path: "",
path_names: { sign_in: "login", sign_out: "logout", registration: "profile" },
controllers: { registrations: "users/registrations", omniauth_callbacks: "users/omniauth_callbacks" } # sessions: "users/sessions", passwords: "users/passwords"
devise_scope :user do
resources :invitations
end
....

Getting the same error. I'm using the default controller.

Tests are passing, more info is needed so I can reproduce it.
Output for rails routes may help to find out why route is not recognized


DHCP-less install: broken workaround documentation in 14.12

Problem components:

DHCP is sometimes unavailable

this is a premise, that is outside of our control

manual network config is wiped out by nixos-install, because it somehow triggers network-manager

this is undesirable, per se -- why not be able to continue with manual network config?
a supposed workaround is documented in the NixOS manual (the very beginning of https://nixos.org/nixos/manual/sec-installation.html)

the suggested workaround (which is `systemctl stop network-manager') does not work

network-manager continues running
something is broken about the networkmanager's systemd service handling in NixOS

the working alternative is:

nmcli nm disable

It's important to note here, you're using graphical installer and not minimal.

@domenkozar, true.

Please re-open if the problem exists in a recent release


Add ability to configure type of multi-line comments for Python files

Environment data
VS Code version:  1.18.1
Python Extension version: 0.8.0
Python Version:   3.6.0
OS and version:  Ubuntu 16.10
My suggestion is to add the ability to configure the types of multi-line comments for Python files. For example, I always use """ """ (six double quotes) as a comment line, but in VSCode I can not configure this behavior to change from ''' ''' (six single quotes).
Steps to reproduce:

Press ctrl+alt+a in any *.py file

Actual result:
6 single quotes (''') are inserted to the editor.
Logs
N/A

Duplicate https://github.com/Microsoft/vscode-python/issues/62


image.capInsets not work in branch 0.16-stable and master

2eb8068cf17f603823fb7fb41beacd0a997a7629 [2eb8068] RCTDecodeImageWithData function adjust the scale of image which lead to  image.capInsets not work well

cc @javache @nicklockwood
Also if anyone would like to help, adding a capInsets example to the UIExplorer (if one doesn't already exist) would be helpful and we could add it to the snapshot test suite.

There is a capInsets example in the Image example in UIExplorer, and I think that still works because we're not applying image scaling to static images (yet). But yeah, this is a problem.
The fix is basically to disable image pre-scaling in the loading pipeline when capInsets is set, which should be fairly straightforward.

i have tried the Image example in UIExplorer, it's appearance is not ok, the background is enlarged without use of capInsets, so i think it's still a problem

the problem has been fixed b672294, thx~


"Run at startup" Setting is reset after every update

Microsoft PowerToys version
0.55.1
Running as admin

[ ] Yes

Area(s) with issue?
General, Settings
Steps to reproduce
Switch the "Run at startup" Setting to On.
Upgrade Powertoys (with the button in the Settings - not testet with installing from exe).
Note: I've had this issue since like 0.51
✔ Expected Behavior
I were expecting the "Run at startup" Setting to be unchanged after update.

❌ Actual Behavior
The "Run at startup" Seting is reset to default state - Off.

Other Software
No response

Duplicate of #15963

Issue is a duplicate
Thank you for your issue! We've linked your report against another issue to centralize the thread.
Thanks for helping us to make PowerToys a better piece of software.


fix(IsomorphicRequest): keep body as a private "_body" property

Related to https://github.com/mswjs/msw/issues/1302

Released: v0.17.1 🎉
This has been released in v0.17.1!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


Randomly pings people

The program pings a random person at random intervals, in a specific channel I have it set to. I have it set to download from multiple channels and yet it picks the same one to ping in every time, it isn't even the channel I'm in that it pings, either. it doesn't even seem like it's picking a person who's online. Another weird thing is that spam pings the same person if i use the ctrl+c to close hotkey, and it won't even close itself out. Nothing seems to stop it from pinging people except using task manager or pressing the "X" button.

@ToaSt3635 I've never heard of this happening to anyone so far, can you enable debugOutput and send the output when this happens?

This happens for me if the picture for whatever reason is not saveable (long filename mostly) and pings the author.

@ToaSt3635 I now realize it was probably sending error messages due to download failure or something, but until recently it would send blank messages when using the bot as a userbot, that's fixed now so it shouldn't just be an empty message pinging them.

This happens for me if the picture for whatever reason is not saveable (long filename mostly) and pings the author.

@birdofhermes "errorMessages": false, in channel/server configs. There currently isn't a global setting for it.


yaml template custom tag

Hi the yaml template has two custom tag, which are !Template and !Meta. When I use fulloader, the loader can't recognize the two custom tags and report constructor error. However, I didn't find file or function relevant to the constructor definition. Thanks!

Hello @0Frett ,
sorry for the late reply and thanks for using our code and reaching out!
I remember that I had a similar issue. The yaml template comes from the promptsource framework. Maybe its already enough to add the following imports:
from promptsource.templates import DatasetTemplates, Template
And just to be sure: are you loading the templates like in our code:
# Load template
yaml_dict = yaml.load(open('/root/TabLLM/templates/templates_' + task + '.yaml', "r"), Loader=yaml.FullLoader)
prompts = yaml_dict['templates']

Let us know if you need any further help!


Enable link repo with a different CLA from its org CLA if exists

As I mentioned earlier in issue #246, Microsoft has a more complex CLA configuration. One scenario is that we may need to override the org CLA with a different CLA. We are planning for the following changes.

We'd like to change the code that tries to get org CLA first and if not exists then get repo CLA. We will flip the order.
Since we allow overridden CLAs, we will delete the repo webhook when its org linked and create webhook when its org is unlinked.
Because exclude repo list of an org is not that easy to maintain. We add a null type CLA only for repos to achieve the same goal. (Leave the exclude repo list as it is for a compatible reason.)

Any guidance?

@MichaelTsengLZ I found one minor issue:

this happens if I "relink" the repo/org to use the same gist as shared one and the user signs the shared gist for another repo.

Do you expect to filter out the same contributors and just show the latest signature?

@KharitonOff is this when the user first signed CLA when the gist was NOT shared and then, after relinking as shared, signed again?

@jeffmcaffer exactly.
@MichaelTsengLZ yes, I would prefer to see only the last signature, then it wouldn't show my user as "2 contributers"

@KharitonOff All right, I will send a pull request today.


Animation names in the FNIS.txt doesn't match the actual animation names

The actual animation names:

The animation names in the FNIS.txt:

It's also displayed incorrectly in the tool:

The error(s) you get when generating the behavior:

May I suggest to rename the issue. I think the Paths in the FNIS are wrong not the animation names themself. Could You confirm that?


Drag on X axis somehow...

Hi! Thanks for this library. I have somehow managed to be able to drag the points on the X axis with previous chart js version.
Now i want to upgrade to the newsest chart js and still try to drag the X axis.
The problem is that i have a time axis on X, and i know it does not possible to compute this but still i need some workaround for this because i was able to do that with prev versions.
My case is that the graph is a shutter/blinder graph. The user has to be able to set a specific time point in a day from 00:00 to 23:50 to a specific % from 0 to 100. It will be a dataset on an MCU, this MCU will loop trought this dataset and if the time matches with the actual time it will turn the shutter/blinder on the windows to the specified % value.
Here is a jsfiddle from what i try to do
So the user should be able to drag a point to the Y and the X axes as well. A point represents the shutter percentage in a day on the window.
If the problem is the x axes label format like "13:00" it would be ok for it to be a timestamp in millis or something else if the user sees the correct time in string.
Any suggestion? Sorry if it was not clear enough.

Hey @zekageri 👋
Sorry, I didn't have the time to fix your specific example, but here's a smaller workaround showcasing how one may "disguise" a linear axis as a time axis, with both x/y dragging enabled:
https://jsfiddle.net/f72kz348/9/
The main difference to your example is that the x-axis values are numeric timestamps (milliseconds) instead of strings. By slightly altering the tooltips and scales ticks the difference to a "real" time scale is almost non-existent (at least in this example).
The fiddle you send still had the "v2" style axis configuration, which caused the Chart to use a categorial axis for the time string (thus disabling dragging along the x-axis). You may want to have a look at the migration guide, regarding scales again, as quite a lot of the settings changed between v2 and v3!
Best
Chris

Thank you! I will look at your example.
Meanwhile i updated mine on the fiddle.
Just some comments and console logs i would appreciate it if you would look at it!

I see your example. Thank you it is really clever that you convert the labels from the timestamps to readable strings when initing the chart.
Somehow I need a fixed x axis label from 00:00 to 23:50 with 10 mins steps.
Currently this x axes is depends on the data,  but the data will be dynamic. The user pushes custom datas to the chart meanwhile. I will create a fiddle from it, sorry i was not clear but i really appreciate your example.

Okay.
Something like this
X axis steps should be 10 min. I set the steps on the axis to 600 ( ms ) but it isn't working

Alright, so you'd like 10 minute x-axis steps while dragging (I assume?), and ideally also ticks formatted to 10 min steps. Having a tick for each 10 minute mark between 0:00 - 24:00 would result in 120 ticks, which I would highly recommend to avoid in your chart.
Regarding the "fixed" 10 minute dragging steps, you can always do this (as any custom behaviour) in the onDrag callback.
https://jsfiddle.net/93Lmxz0w/5/
Does this solve your issue?
P.S.: I noticed that sometimes the tooltip does not update while dragging. However, this not an issue in this plugin, but rather due to the new rendering behaviour in Chart.js v3. You can follow the status of this issue over here in the official Chart.js repo: https://github.com/chartjs/Chart.js/issues/8826

Oh thank you this is really really cool. It seems to me that the tooltip data update fail when the chart is too big. If i reduce its size the labels are updating nicely.
Why don't you recommend 120 ticks? Becuse readability? Maybe i can set the grid lines to 120 tick and not the labels to let the user see where he is.

Yes, readability, plus also it drastically reduces the performance of the chart. I'm also unsure about the benefits that users would have if they had this many ticks in the chart. 1) They see the current timestamp in the tooltip while dragging, 2) if you want them to easily observe the timestamps of the other datapoints as a reference, I'd rather put labels on them using chartjs-plugin-datalabels.
Anyways, I'm closing this as answered, as the discussion is more drifting towards questions of implementation rather than an issue with the actual library!

Thank you! Really solved my problem.


Project summary and milestone view page is showing hasExpenses title [4]

Describe the Bug:
When the milestone report type is the one with expenses, the empty hasExpenses tile will show up on the project summary and milestone form view page.
Probability (how likely the bug is to happen, scored from 1-5):3
(For example, probability of 5 is something like "it happens to all users every time they log in."
Probability of 1 "only happens to certain users when a really specific and unlikely path is followed.")
Effect (how bad the bug is when it does happen, scored from 1-5):1
(For example, effect of 5 is "the entire app crashes and makes it unusable for all users" or "the bug causes the wrong data to be saved, with critical information (e.g. payment) being affected."
Effect of 1 is "It makes some styling look a little bit weird.")
Steps to reproduce the behaviour:
Go to an existing project that has an expense-related milestone type and see an empty hasExpenses(optional)
Also, you can create a new milestone that has an expense-related milestone type and go to the project summary page to see an empty hasExpenses(optional)
Screenshots:

Additional information:

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]
Additional context

Can't replicate this.


#selection#: Unstable selection, incorrect selection range displayed

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.83.1
OS Version: 13.5

Steps to Reproduce:

just do select in code.
show this bad case

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.84.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[New Sparkle] - Use <Link> in NewDropdownMenuItem

We should refacto the NewDropdownMenuItem to be able to pass it an href and have the component to wrap it in a Link.

See https://github.com/dust-tt/dust/pull/8166#pullrequestreview-2391726126

Let's also add it to NavigationListItem

Let's also add it to Tabs


Buildkite script - added closure for if statement

Reverted deleted fi from this commit.

It was a complete coincidence.
I just opened a few files to see what was inside, and I noticed this.


Not compatible to redux 4.0.0

The package can not be used with redux >= 4.0.0. Then I get the following error:
Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.

Yep, I just hit this too.

import { createBrowserHistory } from 'history'
import { applyMiddleware, combineReducers, createStore } from 'redux'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { composeWithDevTools } from 'redux-devtools-extension';
import * as asyncInitialState from 'redux-async-initial-state';

import userReducer from './user';

export const history = createBrowserHistory();

const rootReducer = combineReducers({
  user: userReducer,
  asyncInitialState: asyncInitialState.innerReducer,
});

//const reducer = asyncInitialState.outerReducer( rootReducer );

const initialState = {
  user: {}
};

const loadStore = ( getCurrentState ) => {
  return new Promise( resolve => {
    setTimeout( () => {
      resolve({
	...getCurrentState(),
	user: { id: 'yyy', name: 'aqpeeb' }
      });
    }, 500 );
  });
}

export const store = createStore(
  asyncInitialState.outerReducer( connectRouter(history)(rootReducer) ), // new root reducer with router state
  initialState,
  composeWithDevTools(
    applyMiddleware(
      routerMiddleware(history), // for dispatching history actions
      // ... other middlewares ...
      asyncInitialState.middleware(loadStore),
    ),
  ),
);

Unfortunately, the problem is still waiting for a solving

I backed off to redux 3.6.something and I am cool now.

Thanks @sshmyg for fixing this issue. You can try to install v0.3.0 that should be compatible with redux 4


feat(linting): upgrade linting configuration to include more file types (md,json,yaml)

Current dependencies on/for this PR:

main

PR #39

PR #40   👈

PR #41

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: MmmGvDflzvqRq8TkIY18


Add Lucene specific file extensions to core HybridFS

Signed-off-by: Martin Gaievski<EMAIL_ADDRESS>Description
We're including file extensions for vector value files from Lucene 9.4 to the list of extensions that Core OpenSearch will use with HybridFS store type and MMap file I/O. This increases performance for both data ingestion and queries for p99. Setting is abstracted at engine level with specific implementation for Lucene. Setting is set at cluster defaults level, index specific overrides will take priority over it.
Tested locally on 1M dataset
Before change (baseline):
data ingestion
  "results": {
    "test_took": 2706990.31884,
    "create_index_took_total": 2702.2581160000004,
    "ingest_took_total":<PHONE_NUMBER>2599995,
    "refresh_index_store_kb_total": 2810943.876953125,
    "refresh_index_took_total":<PHONE_NUMBER>999616,
    "force_merge_took_total": 2190208.04506
  }

query
  "results": {
    "test_took":<PHONE_NUMBER>845,
    "clear_cache_took_total": 22.227584499987294,
    "query_took_total": 347602.5,
    "query_took_p50": 32.5,
    "query_took_p90": 45.5,
    "query_took_p99": 83.0,
    "query_memory_kb_total": 0.0,
    "query_recall@K_total": 0.991061,
    "query_recall@1_total": 1.0
  }

With the change
data ingestion
  "results": {
    "test_took":<PHONE_NUMBER>53,
    "create_index_took_total": 2722.189422,
    "ingest_took_total":<PHONE_NUMBER>91,
    "refresh_index_store_kb_total": 2814413.49609375,
    "refresh_index_took_total": 1110.5574829999796,
    "force_merge_took_total":<PHONE_NUMBER>5700004
  }

query
  "results": {
    "test_took":<PHONE_NUMBER>52,
    "clear_cache_took_total":<PHONE_NUMBER>9999768,
    "query_took_total": 111243.0,
    "query_took_p50": 9.5,
    "query_took_p90": 16.0,
    "query_took_p99": 28.5,
    "query_memory_kb_total": 0.0,
    "query_recall@K_total": 0.990751,
    "query_recall@1_total": 1.0
  }

Issues Resolved
https://github.com/opensearch-project/k-NN/issues/637
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has javadoc added
[X] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Don't we want to load the files early using something like this: https://github.com/opensearch-project/OpenSearch/blob/2.5/server/src/main/java/org/opensearch/index/IndexModule.java#L147

Overall code looks good to me. Please reply comment of Jack on the adding another file type.

Codecov Report

Merging #721 (1c81f29) into main (5f4bef9) will decrease coverage by 0.21%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##               main     #721      +/-   ##
============================================
- Coverage     84.64%   84.43%   -0.22%
  Complexity     1072     1072
============================================
  Files           151      152       +1
  Lines          4345     4356      +11
  Branches        389      389
============================================
  Hits           3678     3678
- Misses          489      498       +9
- Partials        178      180       +2

Impacted Files
Coverage Δ

.../java/org/opensearch/knn/index/util/KNNEngine.java
100.00% <100.00%> (ø)

...java/org/opensearch/knn/index/util/KNNLibrary.java
100.00% <100.00%> (ø)

...ain/java/org/opensearch/knn/index/util/Lucene.java
93.75% <100.00%> (+0.41%)
:arrow_up:

...main/java/org/opensearch/knn/plugin/KNNPlugin.java
100.00% <100.00%> (ø)

...va/org/opensearch/knn/index/KNNCircuitBreaker.java
60.00% <0.00%> (-20.00%)
:arrow_down:

...ain/java/org/opensearch/knn/index/KNNSettings.java
80.88% <0.00%> (-2.21%)
:arrow_down:

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


Perf: Add context factory helper to speed up chat switching

Details
cc @kidroca
This PR is a minimal Context implementation for some of our most problematic Onyx keys.
It should be easy to add more if we need to, but hopefully we won't have to add too many 😅
My idea here is that this will basically "hold us over" until we figure out how to solve this problem better. But at the same time, this solution might reasonably last us a good long while.
Fixed Issues (Related To)
https://github.com/Expensify/App/issues/4101
Tests / QA Steps

No specific tests as everything should work the same but faster.
Switch some reports and observe

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[x] iOS
[x] Android

Screenshots

Web

Mobile Web

Desktop

iOS
https://user-images.githubusercontent.com/32969087/127958482-3e056f13-d912-40cb-9891-a77fec3e2b97.mov
Android
https://user-images.githubusercontent.com/32969087/127958501-65c27a49-a59f-4876-a0c8-6970e110e0f7.mp4

Going to take this out of draft since it is one more set of improvements to speed up chat switching times.

Alternative OnyxProvider
The thoughts below are another way to achieve the same, though it might be slightly more flexible
Seeing the implementation of createOnyxContext I think it should be possible to extract a single component that subscribes to all necessary keys - instead of creating separate contexts
const OnyxContext = createContext({});

// Define the mass used keys here
const OnyxProvider = withOnyx(
   [NETWORK]: {key: ONYXKEYS.NETWORK},
   [PERSONAL_DETAILS]: {key: ONYXKEYS.PERSONAL_DETAILS},
   [REPORT_ACTIONS_DRAFTS]: { key:  ONYXKEYS.COLLECTION.REPORT_ACTIONS_DRAFTS},
)(({ children, ...propsFromOnyx }) => (
  <OnyxContext.Provider value={propsFromOnyx}>{children}</OnyxContext.Provider>
));

const withOnyxCtxProps = mapContextToProps => WrappedComponent => {
  const WithOnyxCtx = props => (
    <OnyxContext.Consumer>
        {value => <WrappedComponent {...props} {...mapContextToProps(value, props)} />}
    </OnyxContext.Consumer>
  )
};

It still allow creating helpers like:
export const withNetwork = WrappedComponent => {
  const mapper = onyxCtx => ({ network: onyxCtx[ONYXKEYS.NETWORK] })
  return withOnyxCtxProps(mapper)(WrappedComponent);
}

As well as an inline usage like:
const mapOnyxProps = (onyxCtx, otherPops) => {
  const { reportID, action } = otherPops;
  const draftMessage = onyxCtx[PATH_TO_ACTION_DRAFT] || '';
  return { draftMessage };
}

export default compose(
    withWindowDimensions,
    withReportActionsDrafts(mapOnyxProps),
)(ReportActionItem);

It isn't restricted to a single Onyx key and can handle a combination of Onyx retrieved keys/values

I've captured some benchmark data on Android:
This PR

Flow
init
init
init
switch to 71955477
switch to 71955477
switch to 71955477

Total
42.30sec
38.28sec
40.98sec
3.79sec
3.63sec
3.66sec

Last call ended at
9.32sec
8.28sec
8.33sec
8.31sec
9.98sec
7.70sec

Last get ended at
6.36sec
5.84sec
5.64sec
5.15sec
6.01sec
3.81sec

Last long get at
4.98sec
3.77sec
3.83sec
4.38sec
5.69sec
3.40sec

Onyx#get total
29.90sec
26.92sec
28.39sec
2.10sec
1.94sec
1.99sec

Full data: https://docs.google.com/spreadsheets/d/1RP39XWfMZBV057kQZi_lo-22heK728xwXemUsaNAAB0/edit?usp=sharing

Before
This is not exactly taken at the hash before the changes were introduced, but from my most recent checkout of main

Flow
init
init
init
init
switch to 71955477
switch to 71955477
switch to 71955477

Total
54.80sec
53.31sec
56.26sec
52.83sec
11.49sec
11.86sec
18.40sec

Last call ended at
10.26sec
10.33sec
10.27sec
10.26sec
9.85sec
10.43sec
11.00sec

Last get ended at
10.26sec
10.33sec
10.27sec
10.26sec
3.50sec
3.98sec
4.63sec

Last long get at
3.55sec
3.58sec
3.55sec
3.44sec
3.50sec
3.75sec
4.63sec

Onyx#get total
41.01sec
39.42sec
42.48sec
39.30sec
5.24sec
5.35sec
7.63sec

Full Data: https://docs.google.com/spreadsheets/d/1EdkNhTt4R_oVkUhCqjalYcJwlCTUvCtuFjXG5YoUkBg/edit?usp=sharing

There are obvious improvements for the "init" flow
The benchmark tends to vary a lot for "chat switch" - I'm still improving the process

@kidroca I like the idea for the alternative onyx provider. But I'm unsure about something. Wouldn't the wrapped component re-render each time a value changes even if it was not using the value in context?

Also you mention

extract a single component that subscribes to all necessary keys - instead of creating separate contexts

but I'm curious if there's anything wrong with creating these separate contexts?

Also you mention

extract a single component that subscribes to all necessary keys - instead of creating separate contexts

but I'm curious if there's anything wrong with creating these separate contexts?

I think the only downside in multiple contexts is that we have multiple providers wrapped around our app. However, it is cleaner and prevents unnecessary re-renders, so I'd say we stick with multiple contexts.

Wouldn't the wrapped component re-render each time a value changes even if it was not using the value in context?

Yes this will cause a re-render, but can be addressed
We don't necessarily want to prevent re-renders:

Even when such re-render happens the update would not be translated to the screen as the virtual dom would not change (not all renders produce a view update)
All of the expensive components already use some means to skip re-renders, like shouldComponetUpdate

If we must prevent re-renders, we can wrap the component with React.memo
const withOnyxCtxProps = mapContextToProps => WrappedComponent => {
  const MemoizedWrap = React.memo(WrappedComponent);

  const WithOnyxCtx = props => (
    <OnyxContext.Consumer>
        {value => <MemoizedWrap {...props} {...mapContextToProps(value, props)} />}
    </OnyxContext.Consumer>
  )
};

The component will re-render only when props change or when the values returned by mapContextToProps change.
Note: this is only a shallow comparison. it's fast and should cover a broad range of cases like const mapper = onyxCtx => ({ network: onyxCtx[ONYXKEYS.NETWORK] })

but I'm curious if there's anything wrong with creating these separate contexts?

Only small things like:
Not being able to work with 2 or more Onyx props at the same time in functions like mapContextToProps.
You would still be able to do any such logic but it would need to happen inside the WrappedComponent when it receive all the props
The React Tree in Flipper contains many nested entries and can become confusing
Using different HOC for different Onyx keys can be confusing and/or lead to errors. E.g. Having to know to use withNetwork or withReportActionsDrafts. Where mapContextToProps can be more universal
Overall on a small scale like up to 5-6 separate key contexts/HOCs I think separate contexts will work
Another thing to consider is if we're moving to a single OnyxProvider in the feature, and it has interface like mapContextToProps we might as well implement it now

related to: https://github.com/Expensify/App/issues/4101#issuecomment-889869578

Even when such re-render happens the update would not be translated to the screen as the virtual dom would not change (not all renders produce a view update)
All of the expensive components already use some means to skip re-renders, like shouldComponetUpdate

Right, those are good points. I guess my one concern is that it might not be obvious to someone using these that it would be the wrapped component's responsibility to prevent the update.

If we must prevent re-renders, we can wrap the component with React.memo

And that takes care of my previous concern. But I'd wonder if that might lead to unexpected lack of updates if someone does decide to have deeply nested props (ideally we'd avoid this by passing simpler ones / maybe not a very likely case in general).
Great points about creating separate contexts! But also wonder if we should restrain ourselves from making this pattern more flexible for now.
This is maybe minor, but one thing I like about the current design (while not super flexible) is that it forces us to be more intentional about whether we need to use context or not. One worry is that it might be confusing to see a pattern that appears to enable generic Onyx key selection, but in reality, only services some subset of frequently accessed keys.

Updated!

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

🚀 Deployed to staging         in version: 1.0.82-8🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @francoisl in version: 1.0.83-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


403 Forbidden

GuzzleHttp\Psr7\Response Object
(
    [reasonPhrase:GuzzleHttp\Psr7\Response:private] => Forbidden
    [statusCode:GuzzleHttp\Psr7\Response:private] => 403
    [headers:GuzzleHttp\Psr7\Response:private] => Array
        (
            [Vary] => Array
                (
                    [0] => X-Origin
                    [1] => Referer
                    [2] => Origin,Accept-Encoding
                )

            [Content-Type] => Array
                (
                    [0] => application/json; charset=UTF-8
                )

            [Date] => Array
                (
                    [0] => Mon, 17 Dec 2018 02:42:31 GMT
                )

            [Server] => Array
                (
                    [0] => ESF
                )

            [Cache-Control] => Array
                (
                    [0] => private
                )

            [X-XSS-Protection] => Array
                (
                    [0] => 1; mode=block
                )

            [X-Frame-Options] => Array
                (
                    [0] => SAMEORIGIN
                )

            [X-Content-Type-Options] => Array
                (
                    [0] => nosniff
                )

            [Alt-Svc] => Array
                (
                    [0] => quic=":443"; ma=2592000; v="44,43,39,35"
                )

            [Accept-Ranges] => Array
                (
                    [0] => none
                )

            [Transfer-Encoding] => Array
                (
                    [0] => chunked
                )

        )

    [headerNames:GuzzleHttp\Psr7\Response:private] => Array
        (
            [vary] => Vary
            [content-type] => Content-Type
            [date] => Date
            [server] => Server
            [cache-control] => Cache-Control
            [x-xss-protection] => X-XSS-Protection
            [x-frame-options] => X-Frame-Options
            [x-content-type-options] => X-Content-Type-Options
            [alt-svc] => Alt-Svc
            [accept-ranges] => Accept-Ranges
            [transfer-encoding] => Transfer-Encoding
        )

    [protocol:GuzzleHttp\Psr7\Response:private] => 1.1
    [stream:GuzzleHttp\Psr7\Response:private] => GuzzleHttp\Psr7\Stream Object
        (
            [stream:GuzzleHttp\Psr7\Stream:private] => Resource id #707
            [size:GuzzleHttp\Psr7\Stream:private] =>
            [seekable:GuzzleHttp\Psr7\Stream:private] => 1
            [readable:GuzzleHttp\Psr7\Stream:private] => 1
            [writable:GuzzleHttp\Psr7\Stream:private] => 1
            [uri:GuzzleHttp\Psr7\Stream:private] => php://temp
            [customMetadata:GuzzleHttp\Psr7\Stream:private] => Array
                (
                )

        )

)

I using this package call firebase but it's throw  403 Forbidden

Hi @levansonqs,
Sorry you're having trouble. To help though, we need more information. Can you share the code you're using to construct the Google API client, and the code which is raising the error? Be sure to redact any private information from code you share.

Thanks my mistake. I forget change project id when call firebase


Styled Text (Part1) finished using html can now style text

I made it so we can now style text using html code. I tried the example they gave of dangerous code and it was filtered correctly! That is the blank example message in the image.

I read https://sites.google.com/codeustudents.com/spring-2019/weeks-3-7-guided-projects/styled-text-part-1?authuser=0 and https://jsoup.org/apidocs/org/jsoup/safety/Whitelist.html and this change makes more sense. Thanks.


Retrying until webhook succeeds at startup

:tada: This PR is included in version 1.11.1 :tada:
Your semantic-release bot :package::rocket:


move static data from params.pp to init.pp

This makes the overall lines of code shorter. Also if REFERENCE.md/puppet-strings ever gets implemented in this module, it will automatically pick up the data. This is the current Vox Pupuli best practice.

Makes sense, thanks!


removes debugging from vqe_utils.py

Do we need to keep the debugging tools?

Thank you for the PR! I think we can remove them.


Signature fields

The current version does (by default) not show fields with a digital signature.
Is there a way to get those fields shown, or is the functionality currently unavailable?
An excellent piece of work, it took me about 1 minute to get a pdf file showing, zoomed to "fit width", in a new form!

A change has been made that renders form fields. Can you verify whether this change fixes your issue?

I'll try this first thing monday morning, thanks!

I can confirm that signature fields are now showing in the PdfiumViewer control.
Thanks!

That's great to hear.

However, the "print" button in the PdfiumViewer control does not render the form fields.

I've created #44 for this and I'll try to pick this up ASAP. Sorry for the half solution.

Thanks again!


[Docs]: Add a pull request template

Description
Till now, there is no pull request template for the repository. I want to add a pull request template for the repository.
Screenshots
No response
Additional information
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

We already have a pull request template, but it is not at its right place it is in root folder, would you like to place the file in it right position??

We already have a pull request template, but it is not at its right place it is in root folder, would you like to place the file in it right position??

I have raised a new issue regarding this please assign that issue to me


NotImplementedError: unknown node: autosummary_table

Ran into an issue upon my first test-run with this module. From other issues, it seems like this has already been managed, so maybe I'm just missing something. I'm still pretty sphinx illiterate, so any help would be greatly appreciated!
Full Traceback:
# Sphinx version: 2.3.1
# Python version: 3.8.1 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 2.10.3
# Last messages:
#
#   looking for now-outdated files...
#   none found
#   pickling environment...
#   done
#   checking consistency...
#   done
#   preparing documents...
#   done
#   writing output... [ 14%] docs/AcRTAC
# Loaded extensions:
#   sphinx.ext.mathjax (2.3.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\ext\mathjax.py
#   sphinxcontrib.applehelp (1.0.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\applehelp\__init__.py
#   sphinxcontrib.devhelp (1.0.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\devhelp\__init__.py
#   sphinxcontrib.htmlhelp (1.0.2) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\htmlhelp\__init__.py
#   sphinxcontrib.serializinghtml (1.1.3) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\serializinghtml\__init__.py
#   sphinxcontrib.qthelp (1.0.2) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\qthelp\__init__.py
#   alabaster (0.7.12) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\alabaster\__init__.py
#   sphinx.ext.autodoc (2.3.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\ext\autodoc\__init__.py
#   sphinx.ext.napoleon (2.3.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\ext\napoleon\__init__.py
#   sphinx.ext.autosummary (2.3.1) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\ext\autosummary\__init__.py
#   numpydoc (0.9.2) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\numpydoc\__init__.py
#   sphinxcontrib.confluencebuilder (1.2.0) from c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\confluencebuilder\__init__.py
Traceback (most recent call last):
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\cmd\build.py", line 276, in build_main
    app.build(args.force_all, filenames)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\application.py", line 353, in build
    self.builder.build_update()
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\builders\__init__.py", line 297, in build_update
    self.build(to_build,
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\builders\__init__.py", line 361, in build
    self.write(docnames, list(updated_docnames), method)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\builders\__init__.py", line 535, in write
    self._write_serial(sorted(docnames))
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinx\builders\__init__.py", line 545, in _write_serial
    self.write_doc(docname, doctree)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\confluencebuilder\builder.py", line 435, in write_doc
    self.writer.write(doctree, destination)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\writers\__init__.py", line 78, in write
    self.translate()
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\confluencebuilder\writer.py", line 24, in translate
    self.document.walkabout(visitor)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  [Previous line repeated 2 more times]
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\nodes.py", line 206, in walkabout
    visitor.dispatch_visit(self)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\docutils\nodes.py", line 1995, in dispatch_visit
    return method(node)
  File "c:\users\joestan\appdata\local\programs\python\python38-32\lib\site-packages\sphinxcontrib\confluencebuilder\translator.py", line 149, in unknown_visit
    raise NotImplementedError('unknown node: ' + node_name)
NotImplementedError: unknown node: autosummary_table

For reference, here's a text-file copy of the AcRTAC.rst file that seems to be the source of my trouble.
AcRTAC.rst.txt

Interesting. Support for sphinx.ext.autosummary capabilities should be working, but clearly there is a use case where there is an issue (thanks for reporting it). The call autosummary_table should be supported in the builder as this extension injects autosummary's node handlers into the translator during initialization.
From the provided output, it does appear that sphinx.ext.autosummary is a loaded extension. The only thing I can think of off hand is maybe sphinx.ext.autosummary is loaded implicitly and the check for the extension inside app.config.extensions will always fail since it is not explicitly in the list (speculation; implicitly loaded extension may not even be a concept in Sphinx). A workaround for now, assuming the environment do not have sphinx.ext.autosummary in the extension list, is to try to add it and see if you get different results. In the rare case that this is it, this extension's implementation should be probably tweaked how it checks for loaded extensions.
In the more likely case the above does not work, I would not have a solution to resolve this at this time. I will try to find some time to test with the example document to reproduce the issue locally.
A workaround to skip the autosummary nodes for an interim could be performed with the following:
confluence_adv_ignore_nodes = ['autosummary_table', 'autosummary_toc']

@jdknight, thank you so much for your prompt response. I wish I had responded as quickly. Been so terribly busy I haven't had a chance to circle back around. I'll try to use the workaround you've suggested, and I'll report back!
Thank you again!

I've run into the same issue and solved it by adding sphinx.ext.autosummary to my list of extensions in conf.py, as suggested by @jdknight

I've tried to use the sphinx.ext.graphviz along with the sphinxcontrib.confluencebuilder; although, a NotImplementedError is prompted to me.

After some further investigation, finally figured out what would cause the following exception:
NotImplementedError: unknown node: autosummary_table

For v1.2 of this extension, when sphinx.ext.autosummary is loaded into the explicit extension list (in the project's configuration file), it would know that autosummary support was enabled and would map supported autosummary nodes into the extension. This should not have been an issue for cases not using autosummary since these nodes would never attempt to be visited. The situation outlined in the initial issue comment reveals an issue -- somehow this extension could not load map autosummary nodes but the sphinx.ext.autosummary is logged to have been loaded:
# Loaded extensions:
...
#   sphinx.ext.autosummary (2.3.1)...

The problem resides in the Confluence builder extension on how it verifies how extensions are loaded. What was happening above is numpydoc extension would implicitly load sphinx.ext.autosummary, which in turn would enable autosummary nodes for autodoc-generated content. However, since this Confluence builder extension only checks the configuration's explicit extensions key, it did not believe the extension was loaded. This would then cause an "unknown node: autosummary_table" error when any autodocs-related content was processed.
The proper workaround (i.e. not ignoring the nodes) would be to explicitly load the sphinx.ext.autosummary extension in the project's conf.py file (also mentioned in some of the comments above). A local fix is in place and will be merged into main branch soon, and in turn, the next release.

@jdknight, thanks for digging into this one so hard. That totally makes sense, thank you for all your hard work!!!!

The changes outlined in #370 are now available on the main branch and will be available next stable release (v1.3+). Will mark as pending-next-release and will close up when the release has been completed (see #362 for more details).

v1.3 is now available on PyPI -- marking as closed.

v1.3 is now available on PyPI -- marking as closed.


What's correct way to clean up multiworker? I have 600 workers hanging while i've killed multiworker process

Probably related to #174
I've added ~20k jobs to queue from your example and playing with workers now.

I run multiworker sample (full code below) and after some time i kill this node script and run it again, but workers are not cleared after the kill or restart of the script. I see in the docs that with single worker i can use
let worker = new NR.worker({connection: connectionDetails, queues: ['math', 'otherQueue'], name: 'worker'}, jobs);
worker.connect(function(){
  worker.workerCleanup(); // optional: cleanup any previous improperly shutdown workers on this host
  worker.start();
});

But can't see sample to clean up old workers for multiworker. Can you give me the hint?
let NR = require('node-resque');

let connectionDetails = {
  pkg: 'ioredis',
  host: '.....',
  password: null,
  port: 6379,
  database: 0,
  // namespace: 'resque',
  // looping: true,
  // options: {password: 'abc'},
};

let jobs = {
  'add': {
    plugins: ['jobLock', 'retry'],
    pluginOptions: {
      jobLock: {},
      retry: {
        retryLimit: 3,
        retryDelay: (1000 * 5),
      }
    },
    perform: function (a, b, callback) {
      let answer = a + b;
      callback(null, answer);
    },
  },
  'subtract': {
    perform: function (a, b, callback) {
      let answer = a - b;
      callback(null, answer);
    },
  },
  'network': {
    perform: function (a, b, callback) {
      let answer = a - b;
      setTimeout(() => {
        callback(null, answer);
      }, 2000);

    },
  },
};

let multiWorker = new NR.multiWorker({
  connection: connectionDetails,
  name: 'multi worker',
  queues: ['math'],
  minTaskProcessors: 1,
  maxTaskProcessors: 1000,
  checkTimeout: 1000,
  maxEventLoopDelay: 10,
  toDisconnectProcessors: true,
}, jobs);

// normal worker emitters
multiWorker.on('start', function (workerId) {
  console.log('worker[' + workerId + '] started');
})
multiWorker.on('end', function (workerId) {
  console.log('worker[' + workerId + '] ended');
})
multiWorker.on('cleaning_worker', function (workerId, worker, pid) {
  console.log('cleaning old worker ' + worker);
})
multiWorker.on('poll', function (workerId, queue) {
  console.log('worker[' + workerId + '] polling ' + queue);
})
multiWorker.on('job', function (workerId, queue, job) {
  console.log('worker[' + workerId + '] working job ' + queue + ' ' + JSON.stringify(job));
})
multiWorker.on('reEnqueue', function (workerId, queue, job, plugin) {
  console.log('worker[' + workerId + '] reEnqueue job (' + plugin + ') ' + queue + ' ' + JSON.stringify(job));
})
multiWorker.on('success', function (workerId, queue, job, result) {
  console.log('worker[' + workerId + '] job success ' + queue + ' ' + JSON.stringify(job) + ' >> ' + result);
})
multiWorker.on('failure', function (workerId, queue, job, failure) {
  console.log('worker[' + workerId + '] job failure ' + queue + ' ' + JSON.stringify(job) + ' >> ' + failure);
})
multiWorker.on('error', function (workerId, queue, job, error) {
  console.log('worker[' + workerId + '] error ' + queue + ' ' + JSON.stringify(job) + ' >> ' + error);
})
multiWorker.on('pause', function (workerId) {
  console.log('worker[' + workerId + '] paused');
})

// multiWorker emitters
multiWorker.on('internalError', function (error) {
  console.log(error);
})
multiWorker.on('multiWorkerAction', function (verb, delay) {
  console.log('*** checked for worker status: ' + verb + ' (event loop delay: ' + delay + 'ms)');
});

multiWorker.start();

The cleanup task should be running automatically when you use multiWorker https://github.com/taskrabbit/node-resque/blob/master/lib/multiWorker.js#L69  Is that not the case?

I saw it in source code, but it's not doing this. I think it's because of #174 i left comment there too

Having this issue also. I have old workers showing up even though they don't exist anymore after a hard shutdown.

Closing in favor of https://github.com/taskrabbit/node-resque/issues/174


iPhone not showing in available devices

Hi @Peter-Schorn, I'm really starting to love this library you've created.  Thanks for making it!
I somewhat confused by the results of availableDevices().
In brief, I can see the computer where I've installed the Spotify app, but I can't see the iPhone, where I've installed the Spotify app.
I have read this:  https://github.com/Peter-Schorn/SpotifyAPI/wiki/Using-the-Player-Endpoints
And the output from this library is the same as here:  https://developer.spotify.com/console/get-users-available-devices/.
This leads me to believe that this library is working perfectly and there's something that I'm not doing that would allow the iPhone to show up as an available device.
While I know that this issue his not related to this library, I was wondering if you've come across this before, and how it might be resolved.
I thought maybe the test account that I'm using might need to be a premium account, but the MacOS app seems to work just fine, so I'm leaning toward that not being the issue.
I've also tried various things like logging out, deleting the Spotify app from the phone, re-installing, and logging back in as the same user, but that doesn't seem to change anything.
Thanks in advance for any insight that you may have and thanks again for this awesome library!

The Spotify iOS app must be open and in the foreground for it to show up as an available device—unless it is currently playing music, in which case it will show up as the active device even if the app is running in the background.
When you play content from the Spotify desktop app, does it show up on the iOS app? For example:

If not, then you may need a premium account.

Hi @Peter-Schorn,
Thanks for your responsiveness to what I know is not an issue with your incredibly useful library.
Here's what I can say, at the moment, as I work through this with your valued and very much appreciated assistance:
If a song is playing in the Spotify desktop app, and I open the Spotify app on my iPhone, I get a message on the iPhone that reads something like:
"You are listening on "
It presents two buttons:
One says, "Continue"
If this is tapped, then nothing really happens in the user's perspective and things keep playing on the desktop app.
Another second button says, "Listen on this iPhone"
If this is tapped, the song transfers to the iPhone app, "automagically" and continues playing on the iPhone.
Further after the second button has been tapped, I can tap another button (in the Spotify iOS app) which allows me to select desktop machine and play the track on the desktop computer.  The track continues right where it left off on the iPhone, which is pretty cool.
All that said, there's no point in time where my app, using .availableDevices() shows the expected iPhone as a device in the return.
In sum, the iPhone Spotify app seems to be well aware of the desktop Spotify app's state, but not the other way around.
I'm still researching this and will try with a premium account, posting any findings here, if they may be helpful to others who may come across this thread.

Update:
I just noticed that in the macOS app, that there are devices in the bottom right hand corner, and my iPhone is one of them (the other is my PS3).
Both are listed as "Unavailable to control", which makes me think this requires Spotify Connect, which is a premium service.

Okay, tested with a premium account, and that has definitely made a difference toward the positive.


Glyphs in fonts without an assigned unicode value

Description
The font Novela Regular (free or paid version) comes with three ornaments named fleuron001.ornm, fleuron002.ornm, and fleuron003.ornm.  These three glyphs have no unicode value associated with them.  I confirmed this with Font Book (macOS), fontforge and otfinfo -u.  I reviewed the lookup tables in fontforge to see if the ornm feature (or any other) could somehow utilize those glyphs, but didn't see anything.
I asked the author if they had any guidance for getting this working and they said that they only support their use with illustrator by using the pictograms tab.
I wonder if it would be possible to have a method like str.from-glyph(698) or str.from-glyph("fleuron001.ornm") where the glyph id or name is referenced directly from the underlying font.
I don't know how common it is for fonts to have glyphs that are associated with no unicode value.  I kinda suspect this is more the font authors issue, but I thought I'd create an issue so the concern could be addressed, if possible.

I was able to work around this issue with any of the following methods:

Open the font in fontforge and copy the glyph and paste it into a unicode spot.  For these, I used \u{273E}, \u{273F}, and \u{2740} since those are related to fleuron in unicode, but any unused value would work.
Export all glyphs as svg files and then use svgs as images.

mkdir -p svg
fontforge -lang=ff -c \
    'Open($1); SelectAll(); UnlinkReference(); Export("svg/%n-%e.svg");' \
    Novela-Regular.otf

These work, but are a bit of a hassle for those who just want to use the fonts as they are.
Use Case
This will enable users to utilize glyphs in fonts that have no assigned unicode value.

Glyph from Unicode Value: str.from-unicode
Glyph from Glyph Name: https://github.com/typst/typst/issues/4393

Thanks @TS53. Closing as a duplicate of #4393

If anyone else wants to correct Novela specifically, they can use this.
https://github.com/cskeeters/novela-typst


Switch arg parsing to clap-derive + small cargo refactor

switch arg parsing to clap-derive
include Cargo.lock file

these small changes should nudge the project in a nice direction 😄

@tranzystorek-io hi could you just change the target branch to be develop? :) We will merge it downstream later

@tranzystorek-io looks good. But some reason I cannot allow the CI to run on this PR :/ Im not sure how to do that

@John15321 probably missing on: pull_request in workflow file

@tranzystorek-io I know that this issue was present before you pr but could you please fix the issues present in the Code check job?


How to change resolution of image

How to change resolution / DPI of resulting image ? I don't see enough details.

`graph.Width = 2048 // your custom img width
graph.Height = 1200 // your custom img height
err = graph.Render(chart.PNG, f) // save to file`


Send error code on db connection queries on err

Need better error handling in the backend api, particularly on mysql connection queries.

This looks to be fixed, need to do it for /admin, but will wait to see if my code works for the main API endpoints :)


Update backport and add auto-delete workflows

Description
Update backport workflow and add for auto deleting branches
Issues Resolved
#310
Check List

[ ] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #446 (2ff39d5) into main (b9a642c) will decrease coverage by 33.59%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #446       +/-   ##
=============================================
- Coverage     96.51%   62.91%   -33.60%
=============================================
  Files           267       10      -257
  Lines          7149      658     -6491
  Branches        520      118      -402
=============================================
- Hits           6900      414     -6486
+ Misses          196      191        -5
  Partials         53       53

Flag
Coverage Δ

query-workbench
62.91% <ø> (ø)

sql-engine
?

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

Impacted Files
Coverage Δ

...arch/sql/expression/function/FunctionResolver.java

.../opensearch/sql/protocol/response/QueryResult.java

...ggregation/ExpressionAggregationScriptFactory.java

...rch/sql/analysis/ExpressionReferenceOptimizer.java

...h/sql/opensearch/data/type/OpenSearchDataType.java

...rch/sql/opensearch/storage/script/ScriptUtils.java

...l/expression/window/ranking/DenseRankFunction.java

...ch/planner/logical/rule/OptimizationRuleUtils.java

...search/sql/planner/optimizer/pattern/Patterns.java

.../java/org/opensearch/sql/data/model/ExprValue.java

... and 247 more

Continue to review full report at Codecov.

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