[HOLD for payment 2023-08-16] [$250] Migrate TextInput/index.js to function component

Class Component Migration
Filenames

[ ] src/components/TextInput/index.js

type: React.Component
has state values: false
has refs: false
has context: false
lifecycle methods: componentDidMount

Task

We currently have some class components in our codebase that we would like to refactor to a function component.
Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
If you need additional guidance, please ask in #expensify-open-source
Test for any regressions and verify that there are no breaking changes

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0166004e95bef49d66
Upwork Job ID:<PHONE_NUMBER>067191296
Last Price Increase: 2023-07-29

⚠ Could not update price automatically because there is no linked Upwork Job ID. The BZ team member will need to update the price manually in Upwork.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Migrate index.js to function component
What is the root cause of that problem?
No root cause, just refactoring
What changes do you think we should make in order to solve the problem?
We should refactorsrc/components/TextInput/index.js to be functional component
What alternative solutions did you explore? (Optional)

I'd like to work on this.

I would like to work on this issue.

I can work on this issue.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Migrate TextInput/index.js to function component
What is the root cause of that problem?
need to change class based component to functional
What changes do you think we should make in order to solve the problem?

component state and props from class to function syntax
render method from class to function syntax
lifecycle methods to hooks(if any)
update callbacks from class to function syntax (possibly with useCallback hook)
update refs from class to function syntax
any other class component logic to function component
and ensure no regressions occur.

What alternative solutions did you explore? (Optional)
N/A

I would love to work on this issue

Can I work this one?

Proposal
Please re-state the problem that we are trying to solve in this issue.
Migration of src/components/TextInput/index.js to the function component.
What is the root cause of that problem?
No root cause, just need to migrate class component to function component.
What changes do you think we should make in order to solve the problem?
To solve the problem, we need to refactor the class component TextInput into a function component. The refactoring involves the following steps:

Replace the class declaration with a function declaration to create the function component.
Utilize the useEffect hook to handle the logic that was previously implemented in the componentDidMount and componentWillUnmount lifecycle methods.
Replace the usage of this.props with directly using props in the function component.
Use the useRef hook to manage the ref for the BaseTextInput element.
Update the prop access to use destructuring in the function component's parameter list.
Move the labelAnimationStyle into the component directly, as it is not dynamic.
Finally make sure there is no regression.

What alternative solutions did you explore? (Optional)
N/A

Proposal
export const TextInput = forwardRef((props, ref) => {
const _ref = useRef();
 const textInputRef = ref ?? _ref;

  useEffect(() => {
    if (props.disableKeyboard) {
        textInputRef.current.setAttribute('inputmode', 'none');
    }
  }, [props.disableKeyboard]);

  useEffect(() => {
    if (props.name) {
       textInputRef.current.setAttribute('name', props.name);
    }
  }, [props.name]);

  useEffect(() => {
    return Visibility.onVisibilityChange(() => {
            if (!Visibility.isVisible() || !textInputRef.currentt || DomUtils.getActiveElement() !== textInputRef.current) {
                return;
            }
           textInputRef.current.blur();
           textInputRef.currentt.focus();
        })
  }, [])

          const isLabeledMultiline = Boolean(props.label.length) && this.props.multiline;
        const labelAnimationStyle = {
            '--active-label-translate-y': `${styleConst.ACTIVE_LABEL_TRANSLATE_Y}px`,
            '--active-label-scale': `${styleConst.ACTIVE_LABEL_SCALE}`,
            '--label-transition-duration': `${styleConst.LABEL_ANIMATION_DURATION}ms`,
        };

  return (
            <BaseTextInput
                {...props}
                innerRef={textInputRef}
                inputStyle={[styles.baseTextInput, styles.textInputDesktop, isLabeledMultiline ? styles.textInputMultiline : {}, ...props.inputStyle]}
                textInputContainerStyles={[labelAnimationStyle, ...props.textInputContainerStyles]}
            />
        );
})

Would love to work on this.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Migrating TextInput/index.js to a function component.
What is the root cause of that problem?
N/A
What changes do you think we should make in order to solve the problem?
The ususal migration steps.

@sobitneupane gently bump here.

@sobitneupane Mind helping remind us how assignment works on for these component issues? Related, who should be assigned?

Requested payment on newDot.

Payment summary:

Contributor: @huzaifa-99 $250
Contributor+: @sobitneupane $250

@huzaifa-99 offer sent via Upwork posting here: https://www.upwork.com/jobs/~0195dcd8d4931f4536.

$250 payment for @sobitneupane approved via NewDot based on review related to this component.

All paid out! Going to close this one.


jsdoc: escaped property names are not parsed properly

Bug Report
🔎 Search Terms
jsdoc
escape
property names
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about jsdoc

⏯ Playground Link
Playground link with relevant code
💻 Code
/**
 * @see https://datatracker.ietf.org/doc/html/rfc7517#section-4
 * @typedef {Object} JWK
 * @prop {string} kty key type
 * @prop {string} [x5t\u0023S256] X.509 Certificate SHA-256 Thumbprint
 */

/** @type {JWK} */
const o = {
    kty: 'foo',
    'x5t#S256': 'bar',
};

🙁 Actual behavior
Errors:
]' expected.
Type '{ kty: string; 'x5t#256': string; }' is not assignable to type 'JWK'.   Object literal may only specify known properties, and ''x5t#256'' does not exist in type 'JWK'.
🙂 Expected behavior
No errors and to parse escaped property names correctly.
Additional Info

If \u0020 doesn't work on VSCode, file it as an issue with them. The way JSDoc works is to allow such escaping.

And that approach should indeed work with any character as "0020" is the hexadecimal Unicode escape sequence for a space. \u0023 is the code for # (familiarize yourself with Unicode escapes in JavaScript to find for others).

Originally posted by @brettz9 in https://github.com/jsdoc/jsdoc/issues/1468#issuecomment-743490820
Edit: Fixed typo in property name. Incidentally shows the importance of types. 😅

In interest of moving this forward, I believe we need to analyze for \ tokens in
https://github.com/microsoft/TypeScript/blob/b1a96a37b5cb5dd18ca72cc09014c1f110089b1b/src/compiler/parser.ts#L8632
called from
https://github.com/microsoft/TypeScript/blob/b1a96a37b5cb5dd18ca72cc09014c1f110089b1b/src/compiler/parser.ts#L8636

@a-tarasyuk You seem to be right it's about what it computes to after parsing, not so much the parsing itself:
/**
 * @typedef MyObject
 * @prop {string} [\u0066\u006f\u006f] escaped foo
 */

/** @type {MyObject} */
const a = {
    foo: 'bar'
};

This parses fine. But \u0020 ( ) can't be used in JSDocs, though it's accepted in Record<?,?>:
/**
 * @typedef {Record<'With Space', string>} WithSpaceObject
 */

/** @type {WithSpaceObject} */
const b = {
    'With Space': 'okay'
};

Regardless of parsing, jsdoc should support the same kinds of property names as typescript itself, which means, I think, it should include StringLiteral. I haven't double-checked that against the code though.
I haven't even thought about how to parse things that aren't legal identifiers, since most params aren't optional and so don't surround the param name with brackets. Using \0020 instead of a literal space seems like it's parseable though.

@sandersn If JSDocPropertyTag.name starts to support StringLiteral, it might be more appropriate for JSDocPropertyTag and JSDocParameterTag to use their types instead of inheriting from JSDocPropertyLikeTag (StringLiteral should be forbidden in JSDocParameterTag). Or is it okay to allow the use of StringLiteral in JSDocPropertyLikeTag? I'm not sure about the deprecation process for this case...

Are you proposing adding an override type for JSDocPropertyTag.name? That seems reasonable, although I'm having trouble visualising the complete solution.
Changing JSDocPropertyTag.name to a supertype of its current type doesn't seem like a huge problem -- although, again, I could be missing something.

@sandersn I have been considering two ways to accomplish that

Remove the name from JSDocPropertyLikeTag and use it for JSDocParameterTag/JSDocPropertyLikeTag. Then, add conditions in parser/binder/etc. to manage that (for instance, the parser uses one method to handle both tags).

export interface JSDocPropertyLikeTag extends JSDocTag, Declaration {
    readonly parent: JSDoc;
    readonly typeExpression?: JSDocTypeExpression;
    /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */
    readonly isNameFirst: boolean;
    readonly isBracketed: boolean;
}

export interface JSDocPropertyTag extends JSDocPropertyLikeTag {
    readonly kind: SyntaxKind.JSDocPropertyTag;
    readonly name: JSDocPropertyName;
}

export interface JSDocParameterTag extends JSDocPropertyLikeTag {
    readonly kind: SyntaxKind.JSDocParameterTag;
    readonly name: EntityName;
}

Remove JSDocPropertyLikeTag in favor of using all properties for each tag.

export interface JSDocPropertyTag extends JSDocTag, Declaration {
   readonly kind: SyntaxKind.JSDocPropertyTag;
   readonly name: JSDocPropertyName;
   readonly parent: JSDoc;
   readonly typeExpression?: JSDocTypeExpression;
   /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */
   readonly isNameFirst: boolean;
   readonly isBracketed: boolean;
}

export interface JSDocParameterTag extends JSDocTag, Declaration {
   readonly kind: SyntaxKind.JSDocParameterTag;
   readonly name: EntityName;
   readonly parent: JSDoc;
   readonly typeExpression?: JSDocTypeExpression;
   /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */
   readonly isNameFirst: boolean;
   readonly isBracketed: boolean;
}

Both approaches involve deprecating or removing the public API, and I'm not sure which one would be safer.

How about a variant of the first option: what about leaving JSDocPropertyLikeTag.name, but with type JSDocPropertyName (assuming JSDocPropertyName is a supertype of EntityName).
I'm not sure I like StringLiteral for parsing identifiers with otherwise-illegal characters. Is that what you're proposing? Is there precedent for that? Maybe it would be better to make a new kind of identifier.
Also, it's kind of weird that# is used for class-property access like C#prop, so maybe it's worth asking whether that specifically should be allowed, and whether there are any other specific uses that people have wanted and found missing.

I can think of Amazon's DynamoDB syntax over JSON that uses # for ExpressionAttributeNames:

An expression attribute name must begin with a pound sign (#), and be followed by one or more alphanumeric characters.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeNames.html
I've also seen #text as a key, mostly when working with XML or HTML nodes.
If you mean what other characters, JSON-LD uses @id  (\u0040) and : which also isn't supported by Typescript:
https://www.w3.org/TR/json-ld/

Ran across this too, and I found a workaround using inline intersection types (playground link):
/**
 * @see https://datatracker.ietf.org/doc/html/rfc7517#section-4
 * @typedef {Object} JWKBase
 * @prop {string} kty key type
 *
 * @typedef {JWKBase & { ['x5t#S256']: string }} JWK
 */

/** @type {JWK} */
const o = {
    kty: 'foo',
    'x5t#S256': 'bar',
};

Messy, but it works!


.net 6 ARM

omnisharp will be soon running on arm https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.23.18-beta1

Adding reference to https://github.com/OmniSharp/omnisharp-vscode/issues/4955 to see if there is support for dev containers too.

The following images should now have .NET arm support!

mcr.microsoft.com/vscode/devcontainers/dotnet:6.0-bullseye
mcr.microsoft.com/vscode/devcontainers/dotnet:5.0-bullseye
mcr.microsoft.com/vscode/devcontainers/dotnet:3.1-bullseye


fix: post the created issue link with mrkdwn formatting

Type of change

[x] Bug fix

Summary
This PR fixes #66 by wrapping the created issue link in mrkdwn formatting!
Reference: https://api.slack.com/reference/surfaces/formatting#linking-urls
Preview
This snapshot shows an issue created before and after changes:

Requirements

[x] I’ve checked my submission against the Samples Checklist to ensure it complies with all standards
[x] I have ensured the changes I am contributing align with existing patterns and have tested and linted my code
[x] I've read and agree to the Code of Conduct

Going to merge this now since the most recent changes seem to be linked well 🔗


⚠ Bofrost.es has degraded performance

In f94fc90, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1536 ms

Resolved: Bofrost.es performance has improved in 53bc217.


Add information about the list of panel types

Add documentation about the different types of panels available with custom styles for authors in CSFG. Previously, the only way to know would be to look through the code, or look at other sections on the website as examples.

Have explanation on not needing to use the specified types, but they have a default style


erro install plugin and build app

ERROR in node_modules/@capacitor-community/firebase-crashlytics/dist/esm/index.d.ts:1:13 - error TS1005: '=' expected.
1 import type { FirebaseCrashlyticsPlugin } from './definitions';
~
node_modules/@capacitor-community/firebase-crashlytics/dist/esm/index.d.ts:1:48 - error TS1005: ';' expected.
1 import type { FirebaseCrashlyticsPlugin } from './definitions';

Hi @diogodumas78,
thank you for your request.
Please provide a Minimal, Reproducible Example (see How to create a Minimal, Reproducible Example).

Hey,
when opened the demo project attached in android Studio, getting the following error
Caused by: org.gradle.api.resources.MissingResourceException: Could not read script '\Downloads\capacitor-firebase-plugin-demo-main\capacitor-firebase-plugin-demo-main\android\capacitor-cordova-android-plugins\cordova.variables.gradle' as it does not exist.
Steps to reproduce
cloned the demo project
added node modules using "npm i"
as android is already added, directly opened in Android Studio.
please let me know if I missed any step and how to fix this.

Please follow the instructions in the README.md file.
You still need to run cap sync.


Setup does not work without having eslint installed

We need to add eslint as a development dependency to the setup, like this:
npm install --save-dev eslint-config-hyperoslo eslint-config-airbnb eslint

:+1:


iOS 9 and XCode 7.0 support

IGInterfaceDataTable does not work with XCode 7. There are multiple errors involving NSIndexPath, and the cocoapods installation does not work, as the project does not declare support for the watchos platform.

@vigneshv59 thanks for flagging this! Will update ASAP.

:+1:

I opened up a radar ticket for the nsindexpaths - 22260381

for cocoapods - this is not a fix - but may help point someone in right direction.
I'm not using cocoapods with watch stuff for time being.
#post_install do |installer|
installer.project.targets.each do |target|
if target.name == 'Pods-CocoaLumberJack'
config.build_settings['SUPPORTED_PLATFORMS'] = ['watchos', 'watchsimulator'];
end
end
#end

I think the NSIndexPath behavior is by Apple's design, and I don't think they will add the row and section behavior. See this forum post. Has anybody found a fix for this? Is there a library, perhaps, that adds this functionality to the WatchKit NSIndexPath?

I'm upgrading my app to Xcode 7 and was hoping this would be fixed by now. I guess I'll find another solution.


added contributing header

Added contributing header to make link to the guide more visible.
Documentation only PR, no builds affected.

@tdo95 Feel free to reopen the PR and merge it.


Tensor Transformer-11-MultiHeadSelfAttention-Add/All:0 already processed

Converting a keras model to onnx, I faced the following error:
AssertionError: Tensor Transformer-11-MultiHeadSelfAttention-Add/All:0 already processed
###main code
import keras2onnx
onnx_model = keras2onnx.convert_keras(model, model.name, debug_mode=True)
temp_model_file = 'model.onnx'
keras2onnx.save_model(onnx_model, temp_model_file)

###debug log
Processing a keras layer - (Transformer-11-MultiHeadSelfAttention-Add: <class 'keras.layers.merge.Add'>)
        input : Transformer-10-FeedForward-Norm/add_1:0
        input : Transformer-11-MultiHeadSelfAttention-Dropout/cond/Merge:0
        input mask: Transformer-10-FeedForward-Add/All:0
        input mask: Transformer-10-FeedForward-Add/All:0
        output: Transformer-11-MultiHeadSelfAttention-Add/add:0
        output mask: Transformer-11-MultiHeadSelfAttention-Add/All:0
Processing a keras layer - (Transformer-11-FeedForward: <class 'bert4keras.layers.FeedForward'>)
Processing a tf node - Transformer-11-FeedForward/dense_72/add
        output: Transformer-11-FeedForward/dense_72/add:0
        input : Transformer-11-FeedForward/dense_72/Reshape_2:0
        input : Transformer-11-FeedForward/dense_72/Reshape_3:0
Processing a tf node - Transformer-11-MultiHeadSelfAttention-Add/All
        output: Transformer-11-MultiHeadSelfAttention-Add/All:0
Traceback (most recent call last):
  File "util.py", line 5, in <module>
    onnx_model = keras2onnx.convert_keras(model, model.name, debug_mode=True)
  File "python3.6/lib/python3.6/site-packages/keras2onnx/main.py", line 80, in convert_keras
    parse_graph(topology, tf_graph, target_opset, output_names, output_dict)
  File "python3.6/lib/python3.6/site-packages/keras2onnx/parser.py", line 842, in parse_graph
    graph, keras_node_dict, topo, top_level, output_names)
  File "python3.6/lib/python3.6/site-packages/keras2onnx/parser.py", line 606, in _parse_graph_core
    _on_parsing_tf_nodes(graph, nodes, varset, topology.debug_mode)
  File "python3.6/lib/python3.6/site-packages/keras2onnx/parser.py", line 319, in _on_parsing_tf_nodes
    operator.add_output(out0)
  File "python3.6/lib/python3.6/site-packages/keras2onnx/common/intop.py", line 72, in add_output
    assert False, "Tensor {} already processed".format(var.full_name)
AssertionError: Tensor Transformer-11-MultiHeadSelfAttention-Add/All:0 already processed

We have transformers conversion in our nightly build here, would your model be one of them? Need tensorflow 2.2.0+. Which keras2onnx you use? try the code from source.

try

No, the exported model is h5 format, it can't load by transformers package, i tried and failed.
However i comments https://github.com/onnx/keras-onnx/blob/master/keras2onnx/common/intop.py#L71, and it works.

try

No, the exported model is h5 format, it can't load by transformers package, i tried and failed.
However i comments https://github.com/onnx/keras-onnx/blob/master/keras2onnx/common/intop.py#L71, and it works.

你好，我也遇到了同样的问题，最后你怎样解决的？

did any solved this problem?

我干

did any solved this problem?

？


Enhancement: Let multiple but not all feature files use the same step definitions

Current behavior
Currently, when using non global step definitions you basically have two levels of step definitions:

Per feature file: files in the folder with the same name as the feature file.
Common: files in the common-folder (which can be customized).

Desired behavior
Next to the above two levels of step definitions, also have a third, in-between level. This level can be used if you are already subdividing your feature files into multiple folders.
In a practical case: if you have an application with groups of features where each group is similar to each other, and you want to have the same step names used for each group but with different implementations, and you want to use multiple feature files within one group, then the current behavior won't suffice. Example setup:
/cypress
  /integration
    /common
      - a.ts
      - b.ts
      - ...
    /group1
      /feature-a
        - steps.ts
      /feature-b
        - steps.ts
      - feature-a.feature
      - feature-b.feature
      ...
    /group2
      /feature-a
        - steps.ts
      - feature-a.feature
      ...

Where each feature-a.feature contains similar tests, as the functionalities between the groups are similar. That results in each feature-a.feature using the same step names, but they need different implementations (as they are in different groups). This is possible if you do not have multiple feature files within one group, as for each group you would like to use the same step implementations, but then you would need to place them in /common, which would lead them to being used in different groups, which isn't compatible.
To summarize: having a third in-between level between steps per feature file and common steps, use a shared level where steps can be defined within the same folder as where the feature-files are (e.g. for /group1/feature-a and /group1-feature-b this would be `/group1/).
Test code to reproduce
If necessary I can create a repository to show my implementation. I've tested it with my own setup and it works like a charm.
This issue seems similar as #475 and #231:

#475 has the same underlying problem, but they have determined to split up testing the groups over multiple repositories, leaving them without a folder for common steps over multiple repositories. We currently prefer having 1 feature file per group instead of not having any common steps over multiple groups.
#231 contains basically the same request, but has a few requests in one issue, so I preferred creating a new one.

Due to personal reasons, the previous maintainers of this package are stepping down and handing the reigns over to me, a long-time contributor to the project and a user of it myself. This is a responsibility I'm very excited about. Furthermore, I'd like to thank @lgandecki ++ for all the work that they've done so far.
Read more about the transfer of ownership here.
The repository has however moved and all outstanding issues are being closed. This is not a reflection of the perceived importance of your reported issue. However, if after upgrading to the new version, you still find there to be an issue, feel free to open up another ticket or comment below. Please make sure to read CONTRIBUTING.md before doing so.


StatefulSet applications not showing on Dapr Dashboard

I have Dapr installed in my Kubernetes cluster using the Helm Chart version 1.10.4. It is working perfectly, and I have a couple of applications listed on the dashboard. It should be noted that these applications are ReplicaSets with the Dapr sidecar running in the same pod, injected by the sidecar-injector using Dapr podAnnotations.
The problem:
I am also installing Keycloak using a Helm Chart. However, instead of being a ReplicaSet, Keycloak is implemented as a StatefulSet. I was able to add the Dapr annotations to the Keycloak pods, and the sidecar was successfully injected into the pods. In fact, Dapr can interact with Keycloak without any issues. The only problem is that Keycloak does not show up in the list of applications on the Dapr Dashboard.
I understand that the Dapr Dashboard might not fully support StatefulSets yet, but it would be great if this feature could be added in future releases to provide a more comprehensive view of all Dapr-enabled applications in a cluster, regardless of whether they are ReplicaSets or StatefulSets.
Thank you.

Hello, I've just send a PR with some changes to read statefulsets with dapr.
Regards
Fabri


Update tutorial Part 1 to MV3

copied code listing from
https://learn.microsoft.com/microsoft-edge/extensions-chromium/getting-started/part1-simple-extension?tabs=v3#step-3-open-a-default-pop-up-dialog
Related PR:
https://github.com/MicrosoftDocs/edge-developer/pull/3277

@bhuvanapriyap pls review.
To approve the PR: Files changed page > Review changes green button > Comment option button along with a comment, "LGTM - PM".


CARDS-1558: The generate_compose_yaml.py script should take into account the system's total memory and assign the appropriate memory limits for the Mongo and Java containers

This PR introduces memory limits on the Wired Tiger cache used by the MongoDB data storage containers (shards / replicas) as well as the memory heap of the CARDS Java process. These limits are enabled whenever the generate_compose_yaml.py script is instructed to provision a local MongoDB cluster as following the default memory limits can result in the server running out of memory as explained on https://phenotips.atlassian.net/browse/CARDS-1558.
Testing

Build this CARDS-1558 branch including a CARDS Docker image with mvn clean install -Pdocker.
cd compose-cluster
Clean up any prior Docker Compose configurations with ./cleanup.sh.
Configure a simple CARDS local deployment that uses the file system for data persistence (python3 generate_compose_yaml.py --oak_filesystem --dev_docker_image --composum).
docker-compose build
docker-compose up -d
CARDS should soon be available at http://localhost:8080.
docker-compose exec cardsinitial /bin/sh
ps -e
The CARDS Java process should be listed as java -Djdk.xml.entityExpansionLimit=0 -jar org.apache.sling.feature.launcher.jar -p .cards-data -u file:///root/.m2/...... Ensure that -Xmx is not present.
Exit the cardsinitial container shell with exit.
Bring everything down with docker-compose down && docker-compose rm && docker volume prune -f && ./cleanup.sh.
Configure a CARDS local deployment that uses a MongoDB cluster for data persistence (python3 generate_compose_yaml.py --shards 2 --replicas 3 --dev_docker_image --composum).
docker-compose build
docker-compose up -d
Keep running docker-compose ps until you see the compose-cluster_initializer_1 container show a State of Exit 0,
CARDS should soon be available at http://localhost:8080.
docker-compose exec cardsinitial /bin/sh
ps -e
The CARDS Java process should be listed as java -Djdk.xml.entityExpansionLimit=0 -Xmx{some number}m -jar org.apache.sling.feature.launcher.jar -p .cards-data -u file:///root/.m2/...... (eg. java -Djdk.xml.entityExpansionLimit=0 -Xmx750m -jar org.apache.sling.feature.launcher.jar -p .cards-data -u file:///root/.m2/.....) Ensure that -Xmx is present.
Exit the cardsinitial container shell with exit.
docker-compose exec s0r0 /bin/sh
ps aux
Ensure that the mongod process is running with the --wiredTigerCacheSizeGB argument.
Exit the s0r0 container shell with exit.
Bring everything down with docker-compose down && docker-compose rm && docker volume prune -f && ./cleanup.sh.

no -Xmx here:


Naga not compiling and causing build to fail.

Bevy version
0.5.0
Operating system & version
Windows 10
What you did
I tried to run 'cargo run' but the build failed saying that a crate called naga couldn't be compiled.
What you expected to happen
It should've just compiled and ran normally.
What actually happened
The build failed and spat out a bunch of errors.
Additional information

spirv_headers published an update that broke semver today :( We're working on getting this fixed ASAP.

Relevant documentation on their end: https://github.com/gfx-rs/rspirv/blob/4419db432d90cd333e62aae9669dd263acff0499/MAINTENANCE.md Looks like we may need to fix this with Bevy 0.5.1?

https://github.com/gfx-rs/naga/issues/836

You can fix your local build by opening the Cargo.lock file, go to the spirv_headers entry, edit the version from 1.5.1 back to 1.5.0 and delete the checksum of spirv_headers.

I've yanked 1.5.1 and we've started work on switching the spirv_headers crate to follow SemVer instead. For more information see the discussion in https://github.com/gfx-rs/rspirv/issues/197

thanks!

Closing as resolved <3


Additional ngspice and Spectre simulation support

[ ] Add support for additional simulator-specific flags

Using Spectre as an example, will need to modify Tran for transient simulation parameters and Options for simulator flags.

[ ] Add support for additional analysis types

Add additional structs that follow the example of Tran. Will need to update Spectre's Input type and simulate_inputs function to invoke the necessary analyses correctly.
May need to modify the nutlex crate to parse different analysis types.

[ ] Add support for additional simulation primitives

Add additional blocks, following the example of Vsource.

I'm working on this now. I see that you some refactoring in #347, moving Tran under the spectre::analysis module and adding the Montecarlo simulation type.
I'd like to create an Op DC operating point with support for variable sweeps, and add support for options like transient noise to the existing Tran under spectre::analysis::tran. Then, I will make a unit test creating some inverters, and simulating their jitter and DC transfer characteristic.
Regarding your point

Add support for additional simulation primitives

Does this essentially equate to extending the built-in "schema", as discussed here?

Yes, that is correct. One thing to note, we are now using https://github.com/rahulk29/psfparser for parsing Spectre output (though we are still using nutlex for ngspice). If you are interested in working on Spectre, you will need to update the parser to parse additional analysis outputs.


Auto-generate SocketListener::accept_async() and related functions

The annotations were fixed long ago, as was the one for
ThreadedSocketService::run().

CC @GuillaumeGomez

@GuillaumeGomez docs build fails here on travis for unknown reasons


Fixed issue with deep properties raising exception on null object.

Currently, if you have a deep property mapping using the dot syntax specified in your map, it will throw an exception if an object in the lookup chain to that property is null. For instance, using your example provided in the documentation, if the "inventory" property of the obj is null, you will receive the following error:
TypeError: Cannot read property 'onHandQty' of null
    at getKeyValue (/Users/abc/object-mapper/node-object-mapper/index.js:55:23)
    at merge (/Users/abc/object-mapper/node-object-mapper/index.js:151:17)
    ...

My change just returns undefined in this case instead, which is the same behavior as the case when a property does not exist on the object.

Published v1.0.0 to npm.
Thank you.


fix anchor keys list command

Problem
the flag anchor keys listis intended to show (or generate if not exists) the current program pubkeys
However, since it's not ensured that the current working directory is always the top level, the behavior is not desired since it will try to create a new target folder in the invoking path
Solution
move the function to the with_workspace closure

This seems like a pretty clean fix / change to how the workspace error is triggered.
I wasn't really sure how to replicate the original buggy behaviour it's not ensured that the current working directory is always the top level, namely whatever exactly this means.
But it still looks ok, and if someone else using anchor keys list comes and complains this new behaviour messes up their program call we can just revert this PR.

This seems like a pretty clean fix / change to how the workspace error is triggered.
I wasn't really sure how to replicate the original buggy behaviour it's not ensured that the current working directory is always the top level, namely whatever exactly this means.
But it still looks ok, and if someone else using anchor keys list comes and complains this new behaviour messes up their program call we can just revert this PR.

oh, I'm sorry it was not clear what I mean. the issue is that if you run $ anchor keys list on any folder inside an anchor workspace, it will try to create a new target/deploy/keypair.json file instead of moving to the root of the workspace which is where right target dir is placed. For example:
$ anchor init dummy
dummy initialized
$ cd dummy/programs/dummy/src
$ ls
lib.rs
$ anchor keys list
dummy: 3XrRRGbzexwfVKjwK6cufHN1cAuRrahX1DCd2cFkANq2
$ ls
lib.rs target
       ^^^^^^ this folder should not exist


Dragging map returns map position to initial point

[ x] I've looked at the documentation to make sure the behavior is documented and expected
[ ] I'm sure this is a Leaflet code issue, not an issue with my own code nor with the framework I'm using (Cordova, Ionic, Angular, React…)
[ x] I've searched through the issues to make sure it's not yet reported

Steps to reproduce
Steps to reproduce the behavior:

step 1
step 2
...

Expected behavior
When dragging across the leaflet map, the map moves.
Current behavior
Dragging the map causes the map to return to the initial position.
Environment

Leaflet version: 1.7.1
Browser (with version): Chrome
OS/Platform (with version): Windows 10 1109

Additional context
This same issue has occurred before. If I remember correctly, back in leaflet pre v1.0.0 there used to be an animate boolean we could disable when creating the map. Only the Zoom Control and Pan Control have the animate option. This issue is caused by zone.js in angular as specified in the issue below.
https://github.com/Leaflet/Leaflet/issues/4588#issuecomment-221424763
Has the animate Boolean been remove from the leaflet map initialization method all together?
EDIT:
https://github.com/xavidram/LeafletRubberband
You can clone that sample to reproduce the issue.

Please provide a minimal reproducible example with steps to reproduce the issue.

@jonkoops updated my initial answer. At the bottom you will see a repo with the reproducible example.

That's using angular. That's not a minimal example with vanilla Leaflet.

There's an animate option for the map in the 1.7.1 documentation.

Hi, and thanks for taking the time to open a bug report in Leaflet.
However, in this repository we only handle bugs in "vanilla" Leaflet. This means that we do not handle bugs which are specific to frameworks such as:

React
Ractive
AngularJS
Bootstrap
Leaflet for R
Joomla
Wordpress
Ionic
Cordova
Vue
Electron
Polymer
TypeScript
D3
Folium
NativeScript
...etc

Please understand that we only have the time and energy to test Leaflet in plain web browsers.
Please try to either reproduce the bug without using any frameworks, or submit a bug to the appropriate repo.

Just wanted to place a comment here. Figured out the issue. This is due to zone.js and how it handles change detection. All events in angular that need to be handled independently should be handled outsize of zone.js like the library ngx-leaflet. The use of mapbox-gl-leaflet and how it handles events caused the rubberbanding. Hope this helps anyone else who stumbles upon this issue.


Kanban Review

https://github.com/Alejuda/dish.com/projects/1
We are 2 people in the project.

Hi TEAM 👍🏽,
Good job so far!
You still need to work on some issues to prepare your project for the final evaluation, but you are almost there!

Suggested changes
Since you are a group of two partners, please ensure all cards with the Student C suffix on the template are removed
Check the comments under the review.
You can use as many of my suggestions as you want. If there is anything you would like to skip - feel free to do that. However, I strongly recommend you consider them as they can improve your code._
You can also consider the following:

x
y
z

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Remember to tag (@rotimiazeez) me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid, unless it is requested otherwise.

Hi @ahmed025566 @Alejuda
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights
✅ Implemented suggested change
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


When building in Universe repo.targets of inidividual repos is not getting used

Repro steps:

Clone universe in rel/2.0.0-preview1 branch
set environment variable to be KOREBUILD_REPOSITORY_INCLUDE="MusicStore"
build.cmd /p:compileonly=true
open up the generated msbuild.log file and look for target called _FilterTestProjects (which is the one defined in MusicStore repo's repo.targets file)

Expected:
Able to find the target _FilterTestProjects in build log (indicating that the repo.targets file is being used)
Actual
Cannnot find the target in the build log
cc @natemcmaster

We call build.cmd on individual repos. Look for the target in .r\MusicStore\artifacts\msbuild\msbuild.log.

Thanks @pranavkm , I was looking at the wrong place! Closing this issue now


[stable/traefik] reopen #4473 please

Is this a request for help?:
YES
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BOTH

Version of Helm and Kubernetes:
Which chart:
What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:
This is an important security risk that should be addressed

for context: #4473


[reference architecture diagram] - pmm-876-image-resizing

Reference Architecture Diagram: Optimizing Image Delivery with Cloudflare Image Resizing and R2

hyperlint review


IPv6 support

Lee, I hope you don't mind that I gave this a shot too, following your notes from https://github.com/armanbilge/epollcat/issues/43. I ran into some troubles (particularly with accept4) so I am hoping we can compare strategies and find the best path forward. I am certainly curious to see your approach :)

Damn. Develop on Linux, so it works on Linux, but macOS is busted 😂

Knowing that there is some urgency, I took a focused look at two area.

I suggested a modification to the getaddrinfo hints flag.
Reference "man getaddrinfo", which you have probably
read hundreds of times by now.

I took a careful walk through the getLocalAddress (sp?) call chain.
I am more comfortable with it now. Pardon my code conservatism.
I made a note in the file about two uses of htons which
caused me to pause.
When some of the dust has settled, I may experiment with
two simplificatons. I am on Cloud 9, I found the
almost-impossible-to-replicate code I had been looking for.
It may be applicable here, next evolution (or one after).

Lee, thank you so much for the very detailed review!! I will go through each of your comments carefully.

So, if there is urgency to getting IPv6 support available, I suggest you merge what
is here or the next immediate generation.

My urgency was mostly to run the Skunk test suite which was completely blocked on this, as it also exercises the Cats Effect runtime, TCP sockets, and TLS, so I could become aware of any other issues as soon as possible. I was able to use https://github.com/armanbilge/epollcat/commit/e7dd9a7ced61f4ed3c8965acd2b2e2a124c5e8c3 to get a green CI run in https://github.com/tpolecat/skunk/pull/703, hallelujah 😁
So now that my immediate concerns have been alleviated, we have some time and space to make some iterations on this initial effort. If the stars align, I would love to release an epollcat v0.1.0 this week, but we shall see :)

It must feel good to get to the point where you see the pieces you dreamed would
come together actually come together.
My suggestion is to merge early, merge often, once you have considered the
set of novels I wrote.
It is going to be far easier to iterate with something  reasonable, but known
not perfect.
I think the 'preferIPv6Addresses" is not implemented is a line in the code
and perhaps a release note.
I do think that doing an initial getaddrinfo at startup is worth getting in
immediately after the first merge of this.   I can do such a PR, the
only hard part should be making it different enough so that it does
not look like I am doing a copy & paste from SN 0.5.0.
Of course, if you have better ideas...
I am enjoying the collaboration, even if there is some duplicated work.
Allows exploration of different design alternatives.

Thank you, yes, getting Skunk running is very exciting. In fact epollcat is an homage to Skunk's author, Rob Norris aka tpolecat :) this is a shared milestone, I couldn't have done this without you!!

I am enjoying the collaboration, even if there is some duplicated work.
Allows exploration of different design alternatives.

I do apologize about the duplicated efforts, but I'm glad you feel that way. This is an entirely new space to me: I have done little C programming in my life let alone any networking, so getting my hands dirty has been crucial to finding my way around.
I will make a cleanup+simplication passthrough based on your notes.

I'm going to merge to keep things unblocked, but I hope we will keep iterating on this!

I'm going to merge to keep things unblocked, but I hope we will keep iterating on this!

Understood and agreed. Good course of action.
You created an Issue for the initialization issue, so that
concern will not get lost.
I think that it more likely to to keep iterating on us than the other
way around.

Congratulations for both getting this off the shipping dock and doing so in such a short time.


xClusterNetwork: Refactor unit test

Pull Request (PR) description

Changes to xClusterNetwork

Refactored the unit test for this resource to use stubs and increase coverage
(issue #75).
Changed the code to be more aligned with the style guideline.
Updated resource and parameter description in README.md and schema.mof.
Added example (issue #57)

1-ChangeClusterNetwork.ps1

Added links to examples from README.md.

This Pull Request (PR) fixes the following issues:
Fixes #75
Fixes #57
Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[x] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[x] Examples appropriately updated?
[x] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

This change is

@johlju,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Closing this and reopen to kick of the AppVeyor test again.

@johlju,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #93 into dev will increase coverage by 5%.
The diff coverage is 100%.

@@        Coverage Diff        @@
##           dev   #93   +/-   ##
=================================
+ Coverage   70%   76%   +5%
=================================
  Files        6     6
  Lines      292   295    +3
=================================
+ Hits       207   226   +19
+ Misses      85    69   -16

@bgelens This one is ready for review whenever you got time.

I think you missed some stuff you normally do :smile:

Reviewed 7 of 7 files at r1.
Review status: all files reviewed at latest revision, 6 unresolved discussions.

README.md, line 99 at r1 (raw file):

### xClusterNetwork

Configures as cluster network in a failover cluster.

configures cluster networks?

README.md, line 105 at r1 (raw file):

#### Role parameter

I would move this to go below the Parameters

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 14 at r1 (raw file):

{
    [CmdletBinding()]
    [OutputType([Hashtable])]

I believe you normally use the [System.Collections.Hashtable] here. I don't mind it being like this though ;)

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 90 at r1 (raw file):

        [Parameter()]
        [ValidateSet('0','1','3')]

Add space between comma and next value

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 171 at r1 (raw file):

{
    [CmdletBinding()]
    [OutputType([Boolean])]

Again, I think you normally make this [System.Boolean]

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 199 at r1 (raw file):

    return (
        (($Name -eq $getTargetResourceResult.Name) -or (-not $PSBoundParameters.ContainsKey('Name'))) -and

Not a fan of how this is done...  Marked satisfied as it's not blocking but wanted to make clear

Comments from Reviewable

Review status: 4 of 7 files reviewed at latest revision, 6 unresolved discussions.

README.md, line 99 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
configures cluster networks?

Done.

README.md, line 105 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
I would move this to go below the Parameters

Done.

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 14 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
I believe you normally use the [System.Collections.Hashtable] here. I don't mind it being like this though ;)

Done. Yes missed that one.

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 90 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
Add space between comma and next value

Done.

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 171 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
Again, I think you normally make this [System.Boolean]

Done. Missed that one too. ;)

DSCResources/MSFT_xClusterNetwork/MSFT_xClusterNetwork.psm1, line 199 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…
Not a fan of how this is done...  Marked satisfied as it's not blocking but wanted to make clear

Done. Is this better?

Comments from Reviewable

that logic in test is way easier to read now!  with exception of that one sentence.

Reviewed 1 of 2 files at r2, 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

README.md, line 99 at r1 (raw file):

Configures as cluster networks in a failover cluster.
The sentence doesn't ring with me.. Configures as .. should that be Configures a cluster network or ??

Comments from Reviewable

Review status: 6 of 7 files reviewed at latest revision, 1 unresolved discussion.

README.md, line 99 at r1 (raw file):
Previously, bgelens (Ben Gelens) wrote…

Configures as cluster networks in a failover cluster.
The sentence doesn't ring with me.. Configures as .. should that be Configures a cluster network or ??

Done. My bad. Yes it should have been. Thank you for proof reading! :smile:
My spell checker, checks for misspelled words, not grammar ;)

Comments from Reviewable

Reviewed 1 of 1 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Should get_namespace support more than arrays?

Background
Consider a probability distribution library such as efax.  To add Array API support, each probability distribution class will contain a number of parameters, and it makes sense that they will all be from the same namespace.  Thus, the a standard pattern for methods that use the parameters will be to query the namespace of self by feeding in all of the parameters to get_namespace.
This pattern is not unique to efax.  I imagine it will pop up in SciPy's future distribution classes (that are being developed and will support the Array API).  It could be added to any object exposing the "Jax PyTrees" interface (see the registry)  or generally any aggregate structure with a homogenous set of arrays.
Motivation
To simplify getting the namespace in functions that interact with  aggregate structure containing homogeneous sets of arrays.
Example
Suppose that Distribution is an aggregate structure containing array-valued parameters.  Instead of:
def f(x: Distribution, y: Distribution, z: Array):
  xp = x.get_namespace()  # Call method to get namespace.
  assert y.get_namespace() == xp  # Call method and check that it's the same namespace.
  assert get_namespace(z) == xp  # Check that it's the same namespace.

we would like to simply have:
def f(x: Distribution, y: Distribution, z: Array):
  xp = get_namespace(x, y, z)  # One simple line

Proposal
Extend get_namespace(o) to first read o.__namespace_arrays__, which returns an iterable of arrays that get_namespace can use as before.
Thus, instead of aggregate structures proving a method that queries the namespace like this function, we would instead have
class Distribution:
    def __namespace_arrays__(self) -> Iterable[Array]:
        return (getattr(self, field.name) for field in fields(self))

A simple recursive extension of get_namespace is illustrated here.
Alternative proposal
One alternative is to support __array_namespace__ on all inputs to get_namespace.  Thus, we would have
class Distribution:
    def __array_namespace__(self, api_version: str, use_compat: bool) -> ArrayNameSpace:
        return get_namespace(*(getattr(self, field.name) for field in fields(self)),
                             api_version=api_version,
                             use_compat=use_compat)

The problem with this is that it complicates extending the parameter specification of get_namespace.

In scikit-learn we have our own get_namespace function which uses the get_namespace of the Array API but also contains some useful stuff (that would be repeated in many places). https://github.com/scikit-learn/scikit-learn/blob/19c068f64249f95f745962b42a4dd581c7738218/sklearn/utils/_array_api.py#L473
Could you do something like that in efax? Or asked differently, aren't you going to end up having something like this sooner or later anyway, in which case it could also take care of dealing with "things that aren't arrays but contain them"?

Could you do something like that in efax?

The point of this request is for client code to be able to work with structured data better.  It's not about improving the internal library code.

Or asked differently, aren't you going to end up having something like this sooner or later anyway, in which case it could also take care of dealing with "things that aren't arrays but contain them"?

Yes, each client would end up having something like this.  And if clients are working with more than one library, then they each must have their own get-namespace function that works with all of the libraries they work with.  That seems like bad design to me.

How is the linked function related?  It doesn't deal with aggregate structures, which is the motivation for this proposal.

get_namespace isn't actually part of the array API, it's part of the compat library. The array API defines x.__array_namespace__. The compat library get_namespace() (which is also called array_namespace()) is just a wrapper around calling this method which manually returns the compat layer namespace when necessary. Maybe this should be made clearer in the documentation.
I'm a little confused how your proposal would work. If a function takes a Distribution object, then that function already needs to know how to extract the relevant arrays from that object in order to use the array API on them, no?

In scikit-learn we have our own get_namespace function which uses the get_namespace of the Array API but also contains some useful stuff (that would be repeated in many places<EMAIL_ADDRESS>
Happy to upstream some of those features to array_api_compat. We already implement some flags on top of __array_namespace__. A feature to skip certain types seems it should be generally useful and easy to implement.

I'm a little confused how your proposal would work. If a function takes a Distribution object, then that function already needs to know how to extract the relevant arrays from that object in order to use the array API on them, no?

Yes, but it's just a question of convenience.  Sometimes, you have a method that accepts an aggregate object (say, self) and some arrays (say, x).  I guess you could expand out the aggregate object into its component arrays and pass them to get_namespace(self.a, self.b, self.c, x).  I'm proposing the convenience of get_namespace(self, x).  It's just simplicity.

Happy to upstream some of those features to array_api_compat. We already implement some flags on top of __array_namespace__. A feature to skip certain types seems it should be generally useful and easy to implement.

If you want to, go for it. No strong feelings from my side. I have a slight preference/find it nicer to keep the get_namespace in the compat library simple. At least I can see a future happening where it accumulates "all the useful things" from the various array consuming libraries and then becomes quite unwieldy.
The reason I linked to the custom get_namespace in scikit-learn is that it is an example of an array consuming library having a custom version of get_namespace that implements things that are convenient for it. efax could define its own get_namespace that makes dealing with the types that occur in efax convenient.

The reason I linked to the custom get_namespace in scikit-learn is that it is an example of an array consuming library having a custom version of get_namespace that implements things that are convenient for it.

Ah, right, that makes sense!

efax could define its own get_namespace that makes dealing with the types that occur in efax convenient.

Right, which is what I'm doing.  The reason I suggested upstreaming aggregate structure support is in case there are ever functions that accept aggregate structure types from different libraries.


Switch to using pyTooling/Actions/with-post-step@tip

Ref #109
The latest numbered version tag on pyTooling/Actions is v1.0.1. v1.0.1 uses node16: https://github.com/pyTooling/Actions/blob/60281e01e2514114849e490153aa0a3627994077/with-post-step/action.yml#L39-L40
So, this PR switches from the v1.0.1 tag to the https://github.com/pyTooling/Actions/commit/3b95a369557b3048b071dff2349f22c8871dc9f9 commit, which is the commit to which the tip tag currently points.

Replaced by #127


Second argument to Enumerable#zip block is typed incorrectly

Input
→ View on sorbet.run
# typed: true
sig{params(array1: T::Array[Integer], array2: T::Array[Integer]).void}
def self.test_elements(array1, array2)

  # accessed elements in the arrays have the correct type
  test_type = T.must(array1[0]) + T.must(array2[0])

  # incorrect type for second block argument
  array1.zip(array2) do |e1, e2|
    T.reveal_type(e2) # is <any>, but should be T.nilable(Integer)?
  end

  # elements have correct type
  array1.zip(array2).each do |pair|
    T.reveal_type(pair[1]) # is T.nilable(Integer)
  end
end

Observed output
editor.rb:10: Revealed type: <any> https://srb.help/7014
    10 |    T.reveal_type(e2) # is <any>, but should be T.nilable(Integer)?
            ^^^^^^^^^^^^^^^^^
  From:
    editor.rb:9:
     9 |  array1.zip(array2) do |e1, e2|
                                     ^^

editor.rb:15: Revealed type: T.nilable(Integer) https://srb.help/7014
    15 |    T.reveal_type(pair[1]) # is T.nilable(Integer)
            ^^^^^^^^^^^^^^^^^^^^^^
  From:
    editor.rb:15:
    15 |    T.reveal_type(pair[1]) # is T.nilable(Integer)
                          ^^^^^^^
Errors: 2

Expected behavior
I expect that when using the block version of zip, the arguments in the block have a type that matches the type argument to the corresponding array type, but the second argument has type <any> (line 10 in the example).

I think this might be similar to issues #2770 or #38, but I don't quite understand how they're described. I don't see the same problem when I use zip then iterate again with each or map.

This is fixed as of #6076


Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Add tests to avoid some common errors which are listed.
Fixes #1

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Remove delete account UI from reg/edit

🔗 Issue
issue 481
✍ Description
Added line in git-ignore to ignore the bundle folder in the vendor folder.
Removed code to delete account in reg/edit page, to include all UI elements.
📷 Screenshots/Demos

@all-contributors
please add @ for code.
please add @ for review.

@all-contributors
please add @Developer3027 for code.


[backport] GetServiceHostnames: Fix nil pointer dereference

Description:
Under the condition of the service disappearing (or not being
present yet due to informer latency), there was a condition
that could try to dereference a nil pointer.
Fixes #3902
Signed-off-by: Eduard Serra<EMAIL_ADDRESS>Backport commit https://github.com/openservicemesh/osm/pull/3903/commits/ed7d04cdc1d467a1893fb38287b2c0b934953af6
Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution?

Is this a breaking change? no

Closing since its not needed till we get another change


Consider using short vertices (and colors) with normalization

https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml

For glVertexAttribPointer, if normalized is set to GL_TRUE, it indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for unsigned values) when they are accessed and converted to floating point. Otherwise, values will be converted to floats directly without normalization.

Done


Introduce the Requests library

Before anything else, I would like to apologize for the somewhat awkward/bad first issue I had opened. I think this is much closer to being up to standards, I have done a good amount of digging through previous issues and changes.

Introduction
BeautifulSoup4 (bs4) was added as part of PR #520, in order to automatically detect the correct encoding to use when fetching a file using the urllib.requests module.
To quote the urllib.requests documentation:

The Requests package is recommended for a higher-level HTTP client interface.

I believe that using Requests, which includes mechanisms for detecting encoding, would provide a few solid benefits over the combination of bs4 and urllib.requests.

A few benefits
First, it is worth mentioning that Requests uses chardet to detect encoding, which is an optional dependency for bs4 in order to improve the quality of the guess (see here). As such, I would expect Requests to perform at least as well, if not better, than bs4 in this regard.
The fact that bs4 is an HTML parser can lead to some less-than-ideal behaviour. As an example, take one of the hosts files used in this project, at https://someonewhocares.org/hosts/zero/.
Here are the first few hostnames:
#<localhost>
<IP_ADDRESS>	localhost
<IP_ADDRESS>	localhost.localdomain
<IP_ADDRESS>	broadcasthost
::1		localhost
<IP_ADDRESS>	local
::1		ip6-localhost ip6-loopback
fe00::0		ip6-localnet
ff00::0		ip6-mcastprefix
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters
ff02::3		ip6-allhosts
#fe80::1%lo0	localhost
#</localhost>

Here is how those same lines appear in the combined hosts file:
https://github.com/StevenBlack/hosts/blob/2814997df51466f051ddf2f9c50fe437a62d5c97/data/someonewhocares.org/hosts#L69-L82
Hint: Look at the first and last lines.
Some debugging confirms that bs4 treats <localhost> and </localhost> as HTML tags, and they disappear when we retrieve the content of the page using the get_text() method here.
Switching to Requests allows us to drop two dependencies, which is especially good when you consider that the vast majority of the functionality they provide was going unused anyway. The higher-level interface it offers should also help simplify the code.

I don't have much experience with this kind of thing, so please let me know if I need to explain anything further, or if I have missed something.
Thank you for your consideration.

Thank you @AlexanderCecile, since this nominally breaks current installations with the following...
$ python3 testUpdateHostsFile.py
Traceback (most recent call last):
  File "testUpdateHostsFile.py", line 20, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

... this needs to come in a major release.
Unless we auto-fix this, with a check for requests and auto install it if it's missing?  Given the mess that is Python packages, I sense this might be doable, but morally reprehensible, perhaps?  This would apply to testUpdateHostsFile.py as well as UpdateHostsFile.py.
I presently have a preference for auto-healing it, because a major release also poses a question, what else should/could be included? which may mean delay rolling this out.
Also thinking, I wonder if we should spin requirements.txt and auto-check for all dependencies, not just requests?
In summary the choice is, 1) new branch here named v.3.0, or patch-in an auto-check and auto-upgrader.
@gfyoung and Nissar @funilrys any thoughts?   My best guess is, new branch for v3.0.  if so, then I'll create an issue to track its additional features.

@AlexanderCecile @gfyoung @funilrys I can also imagine, just make the next version v3.0 and declare victory, end of story.

@StevenBlack : Did you run pip install -r requirements.txt ?
@AlexanderCecile updated that file with the requests dependency.

Unless we auto-fix this, with a check for requests and auto install it if it's missing? Given the mess that is Python packages, I sense this might be doable, but morally reprehensible, perhaps?

Automatically installing the package(s) would be unusual, I don't think it's worth it, especially considering that installing them using the requirements.txt is straightforward.

I presently have a preference for auto-healing it, because a major release also poses a question, what else should/could be included? which may mean delay rolling this out.

I was actually planning a few more things after this feature, so that's might be a good idea. It depends on what else is going with the project, though.

@gfyoung oh yes I did!  That's not the issue.
The issue is, this is a backwards-incompatible change, which has implications for semver.  Also, there is potential for an avalanche of support issues from folks doing git pull and, all of a sudden, they can't build.
So the decision tree appears to be

Declare v3.0 and either
a. declare victory, or
b. add features because v3.0 could include other things too, OR

make it so requests appears magically resulting from our own guard code.

@StevenBlack : Ah, okay, understood.
Here's a proposal:

Do a try-except around import requests and raise ImportError with a message saying that it's required.

Declare victory with v3.0

WDYT?

@gfyoung Is 1) really necessary? If the library isn't installed you'll get a ModuleNotFoundError anyway, which I believe is also the more appropriate exception for this.

@AlexanderCecile :

Meant to write ModuleNotFoundError instead of ImportError - sorry for the confusion.

Yes, re-raising the error with a user-friendly error message is preferable.  The reason is that it shows to the end user that this error was anticipated (since this is going to be a breaking change), not unexpected, and will reduce the number of issues raised against this repository about it.

I agree with @gfyoung. A more user-friendly error is preferable if we don't want to deal with that issue every few hours/days.

Thanks Alexander @AlexanderCecile I know this might seem like more than you bargained-for.  This is a good PR, but it's a needed foundational change.  That always brings more because of edge cases, and the installed base.  Once we wrap/trap the error, I'll merge this.

I hadn't considered the user-friendliness angle, that's a good point. It might be a good idea to present a brief message, with a link to a page with more details. Will the change be announced/posted anywhere?

Thanks Alexander @AlexanderCecile I know this might seem like more than you bargained-for. This is a good PR, but it's a needed foundational change. That always brings more because of edge cases, and the installed base. Once we wrap/trap the error, I'll merge this.

No worries, this is about what I was aiming for anyway: Not a huge change, but not a trivial tweak either.

Any idea why the linter is unhappy (https://github.com/StevenBlack/hosts/actions/runs/227972635) ? The issue is with Python 3.5 only, it works locally.

ModuleNotFoundError was apparently added in Python 3.6 (docs), which is why flake8 complains, yet it works fine locally with Python 3.5. Hmm.

Alright, I'm sure I've made a real mess of the git history.
At least i've found a few things which might make it easier in the future (https://fle.github.io/git-tip-keep-your-branch-clean-with-fixup-and-autosquash.html) ...

The try-except looks good.  I think if we could expand the tests to include coverage for failure handling, that would be good.
Then, last but not least, I think this whole chunk of code (https://github.com/StevenBlack/hosts/blob/59ddd34d0edce556289bb9bdf8f1cabe1e41014b/testUpdateHostsFile.py#L1412-L1481) can be deleted.

I think if we could expand the tests to include coverage for failure handling, that would be good.

You're referring to the tests for get_file_by_url(), right?

You're referring to the tests for get_file_by_url(), right?

Yes, that's right.

Are there any exceptions in particular I should be targeting?

On another note, has anyone here used pytest? It seems quite convenient, compared to unittest.

pytest is quite useful, though the porting effort would be pretty big.

@AlexanderCecile @gfyoung when I merge this, I'll crank the version to 3.0 and we'll just declare victory, no other features squeezed-in.

Merci Alexander @AlexanderCecile and thank you for the assist, @gfyoung!
Merging.

Shouldn't requests version be tightened in requirements.txt? Right now if they release a major version it will be installed, which is not right?

@XhmikosR that's a good point!

@XhmikosR I wasn't sure which version(s) I should limit it to.
My reasoning was that since we're using only the basic functionality of the library, any version compatible with the Python versions we support should work just fine. We have the tests, and we could keep an eye on the changes in new versions of Requests.

It's always better to be safe.


fix: fix Yarn Berry workspace audit when skip-dev=true

Fixes #216
The --all flag should always be passed so the auditor can pick up vulnerabilities in workspaces.
This PR adds tests for Yarn Classic and Yarn Berry.  One hiccup I ran into was that Yarn Classic does not audit dev dependencies.  This appears to be a bug in Yarn.  I left comments in the test.

install-state.gz is intended gitignored. Can you add this to the .gitignore?
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

Also, for the Yarn Berry files, can you use the existing approach where we just require the single instance in ../../? That saves the repo space and some duplication!

Fixed and also cleaned up the files in the other yarn berry folders 👍

Great job, thank you! I will trigger a release for this PR.

Released in v6.2.0


Unsubscribe icon shows up after leaving your own thread

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

Version Number: 1.3.93-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers): N/A
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: @srikarparsi and Applause
Slack conversation: N/A
Issue found when executing PR https://github.com/Expensify/App/pull/27994
Action Performed:
Break down in numbered steps

Comment on a report
Reply to the comment
Go into the thread, and then click leave thread
Return to the parent report.
The unsubscribe icon will show up even if the report is no longer shared.

Expected Result:
Describe what you think should've happened
The subscribe icon should show up
Actual Result:
Describe what actually happened
The unsubscribe icon shows up instead
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Yes
Platforms:

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/48188732/0ff4cd69-a4fe-4d45-9245-9f10efae0127

MacOS: Desktop

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

Upwork Job URL: https://www.upwork.com/jobs/~017a3500c3ff4829ca
Upwork Job ID:<PHONE_NUMBER>572073984
Last Price Increase: 2023-11-01

Proposal
Please re-state the problem that we are trying to solve in this issue.
The "Unsubscribe" button is visible even after the thread was left
What is the root cause of that problem?
The issue is that on leaving the thread, we call this action:
https://github.com/Expensify/App/blob/a59d56f00a67607a1dbae1b422807f76f548f1f0/src/libs/actions/Report.js#L2017
Here:
https://github.com/Expensify/App/blob/fb0899f2a98c4c2a146065c5795b6b2a3ad69958/src/pages/home/HeaderView.js#L130-L136
But it doesn't update the childReportNotificationPreference of the parent reportAction.
What changes do you think we should make in order to solve the problem?
We should add an optimistic Onyx merge operation to update the childReportNotificationPreference of the parent reportAction to hidden, in case if the report is a thread.

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Unsubscribe icon shows up after leaving your own thread
What is the root cause of that problem?
When clicking the subcribe or unsubcribe button on the ContextMenu modal. We will call toggleSubscribeToChildReport function to update Notification Preference
https://github.com/Expensify/App/blob/e99c297332c738475cfe5701e0a00ba0b5d58029/src/pages/home/report/ContextMenu/ContextMenuActions.js#L215
https://github.com/Expensify/App/blob/e99c297332c738475cfe5701e0a00ba0b5d58029/src/pages/home/report/ContextMenu/ContextMenuActions.js#L181
When leaving the thread, we don't call toggleSubscribeToChildReport to unsubscribe this thread
What changes do you think we should make in order to solve the problem?
When leaving the thread, we should call toggleSubscribeToChildReport to unsubscribe this thread like we did here
https://github.com/Expensify/App/blob/e99c297332c738475cfe5701e0a00ba0b5d58029/src/pages/home/report/ContextMenu/ContextMenuActions.js#L206-L215
We also consider calling toggleSubscribeToChildReport to true when the user clicks the thread again after leaving the thread
Optional: While investigating this issue I see a problem. Let's see the below image

The unsubscribe button displayed on context menu modal even It is single message not thread (there are no child message). The RC is
https://github.com/Expensify/App/blob/e99c297332c738475cfe5701e0a00ba0b5d58029/src/pages/home/report/ContextMenu/ContextMenuActions.js#L197
https://github.com/Expensify/App/blob/e99c297332c738475cfe5701e0a00ba0b5d58029/src/pages/home/report/ContextMenu/ContextMenuActions.js#L204
we are using this condition to display unsubcribe button
Solution: I suggest we add a condition to make sure it is a thread (Ex: childVisibleActionCount > 0). If It is true, we display unsubcribe or subcribe button
What alternative solutions did you explore? (Optional)

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I spoke with @MitchExpensify, neither of us think that this needs to be a deploy blocker. I'm going to leave assigned to @srikarparsi and demote back to daily, and switch the assigned BZ member from me to Mitch.

Hey, I'm taking this internally, just reported the issue in advance so that work wouldn't be duplicated.

Updates in #launchsuperapp

@srikarparsi  Could you take a look at my proposal? Maybe It will give some information

Hey @DylanDylann, thank you for your proposal but I'm taking this one internally since there are backend changes to be made. I'm implementing a slightly different solution so that we're not making two different requests in the same method but it effectively does what you're suggesting.

How is coming along @srikarparsi ?

Got it working! In review now :)

Nice one!

Good to close @srikarparsi ?

PR is in review

Done

Offer here for you @situchan https://www.upwork.com/nx/wm/offer/100498634

paid and contract ended! Closing


Typo in encoder.py causes nan

Hi, thanks for your codes. I think in encoder.py line 383, pred_adj = torch.min(pred_adj, torch.Tensor(1).cuda()) should be pred_adj = torch.min(pred_adj, torch.Tensor([1, ]).cuda()). I'm using PyTorch 1.1.0, and torch.Tensor(1).cuda()) will create a random tensor of size 1. Sometimes this will lead to negative pred_adj, and causes nan in log function.

thanks for pointing it out. I fixed it along with other compatibility issues with pytorch 1.1+. Originally it was using pytorch 0.3.


Make it possible to provision SSL certificates before CTF starts

According to https://cloud.google.com/load-balancing/docs/ssl-certificates/troubleshooting#certificate-managed-status  Provisioning a Google-managed certificate might take up to 60 minutes. This makes it unusable during a CTF in practice.
Note that a possibly worse problem is leaking challenge names before the CTF starts - see for example https://crt.sh/?q=kctf.dev

this possibly could be done using a wildcard SSL certificate, which Google doesn't provide, but LetsEncrypt does. We just need DNS changes https://github.com/ahmetb/gke-letsencrypt

https://certbot-dns-google.readthedocs.io/en/stable/

https://github.com/acmesh-official/acme.sh/wiki/dnsapi#49-use-google-cloud-dns-api-to-automatically-issue-cert

note sometimes the certificate is issued within 10 minutes =/

we can do this somewhat easily if we use letsencrypt with wildcard certs and a single ingress.
the problem of using a single ingress, though, is that then we might make some tasks easier/harder, as we are adding a proxy (GFE)

we can do this somewhat easily if we use letsencrypt with wildcard certs and a single ingress.
the problem of using a single ingress, though, is that then we might make some tasks easier/harder, as we are adding a proxy (GFE)

this: https://cert-manager.io/docs/configuration/acme/dns01/google/#gke-workload-identity
seems very straightforward, but adds a dependency for kctf on this project

this: https://cert-manager.io/docs/configuration/acme/dns01/google/#gke-workload-identity
seems very straightforward, but adds a dependency for kctf on this project

another possible solution is to point the ingress to an empty default backend, so the certificate is issued before the challenge is public.

another possible solution is to point the ingress to an empty default backend, so the certificate is issued before the challenge is public.

that means that here we dont delete
https://github.com/google/kctf/blob/5ce3c754741d2b5a8693c6ebf537d0d2786e69f2/kctf-operator/pkg/controller/challenge/service/functions.go#L108
and instead here
https://github.com/google/kctf/blob/5ce3c754741d2b5a8693c6ebf537d0d2786e69f2/kctf-operator/pkg/controller/challenge/service/service.go#L89
we select another service/port (we have to generate a fake service/port)

that means that here we dont delete
https://github.com/google/kctf/blob/5ce3c754741d2b5a8693c6ebf537d0d2786e69f2/kctf-operator/pkg/controller/challenge/service/functions.go#L108
and instead here
https://github.com/google/kctf/blob/5ce3c754741d2b5a8693c6ebf537d0d2786e69f2/kctf-operator/pkg/controller/challenge/service/service.go#L89
we select another service/port (we have to generate a fake service/port)

hmm we apparently can "just" point to an ExternalName, possibly even make it point to a domain that doesn't exist

hmm we apparently can "just" point to an ExternalName, possibly even make it point to a domain that doesn't exist

Looks like we can use an ExternalName pointing to
task-name.kctf.invalid

Or something like that. It's not necessary to have one per task, though. But we have to have one on the same namespace as the challenge ingress.

Looks like we can use an ExternalName pointing to
task-name.kctf.invalid

Or something like that. It's not necessary to have one per task, though. But we have to have one on the same namespace as the challenge ingress.

ExternalName doesn't work https://github.com/kubernetes/ingress-gce/issues/1169

ExternalName doesn't work https://github.com/kubernetes/ingress-gce/issues/1169

sounds like we can point it to a NodePort that doesnt match any deployments

sounds like we can point it to a NodePort that doesnt match any deployments

We now provision wildcard LetsEncrypt certificates within 5 minutes of the cluster being up if the user registers their email. That is in addition to the ManagedCertiticate provided by GKE, but the ManagedCertiticate will only be used when/if LeysEncrypt fails (so rarely/never)

We now provision wildcard LetsEncrypt certificates within 5 minutes of the cluster being up if the user registers their email. That is in addition to the ManagedCertiticate provided by GKE, but the ManagedCertiticate will only be used when/if LeysEncrypt fails (so rarely/never)


Modify 3scale config. Add Patch verb to workloads

Needed for https://github.com/kiali/kiali/pull/2936

added https://github.com/kiali/kiali/issues/3020 to remind us to add these new perms to the OLM metadata.

@lucasponce Also, put the verbs in alphabetical order to remain consistent throughout - in all verbs sections have "patch" before "watch". So when you add "patch" verbs, put them before "watch" if "watch" is in the list.


Search results ellipsis only applies to end of results

The search results seem to use an algorithm to reduce the context of the result displayed in the tree, however sometimes I find that the width of the tree is still not enough to display the context and the result is truncated with an elipsis:

Note - sometimes the highlight is not even displayed because it is beyond the truncation.
Is it possible to truncate the start of the result aswell as the end, to try and keep the highlight within the view?
I assume it's just using the standard CSS text-overflow: ellipsis at the moment, so I doubt it's a simple change, but I thought it might be worth asking.

Yeah it's not straightforward, and I'm worried about the ellipsis taking up valuable screen real estate in a narrow search viewlet, but it's worth considering.

Not sure what to do here. And the sidebar itself isn't supposed to be the best place to see everything about a search result. The user should open it in the editor for that.


Deployments page, and reports

When looking at the home page today, I felt that rather than referencing deployments on the home page, it could make sense to make a 'Deployments' page that appears in the Sidebar at the same level as and right below 'Shared values'. I.e.:
...
contents:
      - href: index.qmd
        text: Home
      - href: content/shared-values.qmd
        text: Shared Values
      - href: content/deployments.qmd
        text: Deployments
      - section: "Glider Lab"...

This page would be all about: listing past/current deployments, including info about:

accessing public deployment data from IOOS's ERDDAP
Embedded map, or some link to current deployed glider locations
..more!

Creating this issue to keep this in mind, and as a place to put more ideas.

@jgwalsh just fyi, added a 'reports' tab under 'deployments'


On Spring 3.1.1 migration receiving 401 response code

jpaPropertiesMap.put(Environment.MULTI_TENANT,MultiTenancyStrategy.SCHEMA );
MULTI_TENANT & ,MultiTenancyStrategy.SCHEMA are deprecated, after commenting this line also not working receiving 401 response code.

Any Updates on springboot 3

@Manikandan-c @jeenec I have updated the library to Java 17 and Spring Boot 3.1.5 in #13. I'm currently testing it and would also appreciate your feedback to the update. Please let me know if you encounter any issues. If everything works well, I will release version 0.4 soon.

@jomatt : I had tested the latest version 0.4 Library, with the given sample multinenant application, after some small changes its working as expected

@jomatt : I had tested the latest version 0.4 Library, with the given sample multinenant application, after some small changes its working as expected

@Manikandan-c  How did you included the 0.4 library
is by pom.xml or imported the jar file from this source code?

@jomatt Imported from source, and installed jar locally then access via pom.xml file

@jomatt  : I had tested the latest version 0.4 Library, with the given sample multitenant application
its working as expected

@jomatt  latest change for spring boot 3 for this plugin was tested and it's working fine
We can go for 0.4 release

@jomatt
in SecurityConfig.java
.requestMatchers(
                                "/swagger-resources/**",
                                "/swagger-ui.html",
                                "/swagger-ui/**",
                                "/v3/api-docs/**",
                                "/webjars/**"
                        ).permitAll()

Still we are facing the issue to access swagger UI  without authentication
its coming as 401
@Manikandan-c
Did you face the same issue ?

@jeebendu I did checked for swagger, will let you know soon

@jomatt in SecurityConfig.java
.requestMatchers(
                                "/swagger-resources/**",
                                "/swagger-ui.html",
                                "/swagger-ui/**",
                                "/v3/api-docs/**",
                                "/webjars/**"
                        ).permitAll()

Still we are facing the issue to access swagger UI without authentication its coming as 401
@Manikandan-c Did you face the same issue ?

@jeenec Thanks for noting this. I updated both the PR #13 and the PR in https://github.com/jomatt/spring-boot-multitenant-sample/pull/6 to verify the changes. Accessing the whitelisted URL paths (incl. Swagger UI) should now work correctly without requiring authentication.

@jomatt
swagger public url issue tested and it was working as expected.

@jeenec I updated both PRs to the latest Spring Boot version 3.2.0


Upgraded markup.py

Added single word mode
Added markup repetitions
Removed overlaybuilder being applied on strikethrough and underline as well

Can you show an example picture of the single word mode, and sample code?

* Removed overlaybuilder being applied on strikethrough and underline as well

I checked and overlaybuilder is applied on strikethrough and underline too?
The whole purpose is to draw strikethrough or underline into the markup_mask first, then we may need to apply some filters on it before the overlay process. Otherwise, if we apply them directly to the image, those filters will affect the image too, which in some cases they shouldn't.

Can you show an example picture of the single word mode, and sample code?

Here are some examples with single_word_mode=True and repetitions=2

Can you show an example picture of the single word mode, and sample code?

Here are some examples

Looks great.


Refactor status endpoint mapping config

This issue also applies to wikidata-jskos.
The number of possible configurations for mapping endpoints have grown so much, a refactoring of the data format returned by the /status endpoint is needed. The new format of key config.mappings would be a JSON object with access keys.
Value false or missing key means there is no mapping endpoint.
Value true, meaning there is a read-only mapping endpoint, is used as deprecated short form for
{
  "read": { "auth": false }
}

In addition to read the keys create, update, and delete can exist, all with the same possible structure. A missing key means its action is not supported at all (e.g. no delete). The structure supports three keys:

auth (boolean) whether authentication is required to perform the action
crossUser (boolean) whether mappings of other users can updated or deleted (might also be supported for read and create in the future but not now) (this field is currently auth.allowCrossUserEditing)
identityProviders (array of string)  which identity providers a user needs to have an account at to perform the action (this field is currently auth.identityProviders)
identities (array of string) set of  individual identity URIs that are allowed to perform this action (this field is currently auth.whitelist)

Example:
{
  "auth": true,
  "identityProviders": ["wikidata"],
  "crossUser": true
}

additional optional keys of config.mappings are

fromSchemeWhitelist an array of concept scheme URIs that mappings are allowed to have in field fromScheme[].uri for write-operations (create and update)

toSchemeWhitelist an array of concept scheme URIs that mappings are allowed to have in field toScheme[].uri for write-operations (create and update)

The whitelists should also apply for data import so they can also be guaranteed (if given) for read operation.
The config file format may support shortcuts such as true as shortcut for { "auth": false } or field write as alias for all of create, update and delete, but only for convenience of configuration:
{
  "read": true,
  "write": { "auth": true }
}

The /status endpoint should return the expanded form:
{
  "read": { "auth": false },
  "create": { "auth": true },
  "update": { "auth": true },
  "delete": { "auth": true },
}

Great writeup, thanks! Two things from my side:

Can we have a shortcut for identities and identityProviders that apply to all actions with auth? So maybe have some kind of inheritance from upper levels of the config object. Currently, there is no use case where we'd need to specify different values for different actions, and also it could be expanded so that clients get the full objects. Just so that we don't have three lists of identities to manage.

How do we deal with versioning? On our website, we have all the previous Cocoda versions still accessible, and some of them (1.0.0 and 1.0.1 in particular) will break if we introduce these changes.

On more thing: We are still missing the option whether the API supports saving creators, with wikidata-jskos as a use-case. Cocoda always shows Wikidata mappings as "not saved" because their creator has changed (from nothing to the current identity). Any ideas? I'd say either a specific key for this purpose (e.g. creatorAllowed), or more generally a list of disallowed properties or something like that.

2. How do we deal with versioning?

While I think it would probably be best to introduce proper API versioning to jskos-server (and therefore to wikidata-jskos as well), it would probably be easier to just add the old config keys to the expanded status response, inferred from the new config format. Of course that would bloat the status response,  but if we introduced some way of versioning for the API, the "default" version would still need to be the current one because we can't rewrite old clients, so consuming the API from the browser for example would still return the old responses.
Also, we couldn't really do versioning in the URI because that would break all our mapping and annotation URIs, and using a header would not be accessible via a browser request. I don't think there is a good solution, only different compromises.

creatorAllowed

Add a field anonymous to not include creator in mappings:
{
  "auth": true,
  "identityProviders": ["wikidata"],
  "crossUser": true,
  "anonymous": true
}

So crossUser means to allow to work on foreign mappings and anonymous disables sending a creator field in mappings. This could also be useful for privacy requirements the identity should only be used for authentification.

Can we have a shortcut for identities and identityProviders that apply to all actions with auth?

Add any kind of configuration shortcuts as you like as long as the clients get an expanded form at /status so they don't need to know about the shortcuts.

So crossUser means to allow to work on foreign mappings and anonymous disables sending a creator field in mappings. This could also be useful for privacy requirements the identity should only be used for authentification.

I like this. 👍

Add any kind of configuration shortcuts as you like as long as the clients get an expanded form at /status so they don't need to know about the shortcuts.

Okay.
I'll start working on this as soon as we have decided how to deal with the versioning issue...

Implemented via 678d0a34fdc417b7bd144e9bc878961f4ca8dec4 (the issue tags got eaten because I had them on a separate line which was of course interpreted as a comment 🤦♂). Please take a look at https://coli-conc.gbv.de/api/status to see if that's what you expected. Right now we still have the old keys in, but as soon as wikidata-jskos and Cocoda are updated accordingly, we should remove them. Together with #71 (and maybe one or two small other changes) we could then release it as 1.0.0.
Missing implementations here are still:

[ ] fromSchemeWhitelist
[ ] toSchemeWhitelist

Everything else should be properly implemented.


Fix info warnings.

new strawberry release wont determinate info in resolvers and directives by name rather by type annotation.

Fixed by #21  #20


Correct dragging behavior in VictoryVoronoiContainer

Bugs and Questions
Checklist

[x] This is a victory-native specific issue. (Issues that also appear in victory should be opened here)

[x] I have read through the FAQ and Guides before asking a question

[x] I am using the latest version of victory-native

[x] I have checked to make sure that my versions of react-native and react-native-svg are compatible with this version of victory-native. Read about version requirements

[x] I've searched open issues to make sure I'm not opening a duplicate issue

The Problem
when i press the VictoryScatter opening tooltip but I want continusoly opened to show.
again clicking next point will open
Describe the issue you're seeing, and what you expect the behavior to be.
Reproduction
Please check that your issue is specific to victory-native. If you're unsure, a good way to check is by trying your code in a sandbox. You can fork this sandbox to get started. Issues that are not specific to victory-native should be reported here.
Please list steps to reproduce your issue. Include a code sample and exact version numbers for victory-native, react-native and react-native-svg.
"victory-native": "^0.18.0"
"react-native": "0.55.4",
"react-native-svg": "6.1",
Feature Requests
when i press the VictoryScatter opening tooltip but I want continusoly opened to show.
again clicking next point will open
Describe the issue you're seeing, and what you expect the behavior to be.
or
Like that mouse hover to display data in react-native
Checklist

[x] My feature request is specific to victory-native. (Feature requests that do not specifically address native functionality should be opened here)

[x] I've read through the Docs and Guides to make sure this functionality doesn't already exist

[x] I've searched open issues to make sure I'm not opening a duplicate issue

Description
Please describe the feature you're requesting in detail.

@yogeshR5 Thank you for opening this issue. It sounds like a single touch is not allowing tooltips to change in VictoryVoronoiContainter, but requiring the end of one touch and the start of the next one before the tooltip changes. Is this correct?

yes

@boygirl i want to display VictoryVoronoiContainer popup until onPress another scatterData dot now closed first one open second one

@yogeshR5 yes, but it will involve customizing events. Here is a similar example that should help: https://codesandbox.io/s/883kryl6x9

@boygirl  not triggering onPressIn in react native
events={[
{
target: "data",
eventHandlers: {
onPressIn: () => {
alert("tttttttt");
return [
{
target: "labels",
eventKey: "all", // deactivate all active tooltips
mutation: () => ({ active: false })
},
{
target: "labels", // activate current tooltip eventKey
mutation: () => ({ active: true })
}
];
}
}
}
]}

<VictoryLine
interpolation="natural"
data={finalData}
groupComponent={}
style={{
data: {
stroke: rgba(192,192,192, ${(opacity = 0.3)}),
strokeWidth: 3
}
}}
labelComponent={}
labels={finalData =>
finalData.y.toFixed(2) + " " + finalData.x
}
events={[
{
target: "data",
eventHandlers: {
onPressIn: () => {
alert("ddddddddd");
},
onPressInOut: () => {}
}
}
]}
/>

@boygirl :+1:

The problem with the example you linked is that there doesn't seem to be a native event analogous to the "onMouseOver" event. Is there any way to add one?


feature: upgrade the docs regarding the configuration file location

I was looking for this information and found that it wasn't readily available, had to read some code to get at it. Thought it would be better in the docs here.
I wouldn't mind adding something in this PR to document the default config file with comments. It should also perhaps be turned into a file so that it can easily be grabbed/modified with wget.
I thought this would be a good start.
Love this project by the way guys, very nice

Thanks for the PR! Adding it to the docs makes a lot of sense, but the wallet713 config file is actually your target/release/wallet713.toml. Could you correct and I'll merge?


Join Hacktoberfest?

Sorry that I think this suggestion doesn't fit the issue template, so I didn't use it.
Just saw that there are about 1.4k issues here, and wonder if this project would like to get involved with Hacktoberfest by simply add the repository topic Hacktoberfest, as there are so many people, not only developers are using Docker, it'll be good if there are some additional motivation and chances that the documentation can be improved with the help from the community :D

Nevermind.


Using RuneLite's "Swap left click" feature reverts to "Use" in the bank and deposit box despite this plugin being installed

Upon further investigation, it would seem that it is a little weirder than I thought. I used the RuneLite entry swapper to set "Empty" to the left-click option in the bank, and when I initially clicked it it gave me the message that I was withdrawing leaves from my bank, so I thought the entry swapper was not working. However, when I went to take these screenshots, I found that every other time I click it it will either empty the basket or fill it, alternating back and forth.
For the visual "Use" showing up in the top left, I totally understand not wanting to mess with it since it's just a visual bug, but this other behavior is odd and I figured you would like it reported.
Thank you!

Actually, I just tested it with and without the plugin, and the behavior is exactly the same either way. Clicking "Use" twice will toggle back and forth between filling and emptying the basket. This plugin just changes the text to "Empty." I think I am now realizing that this plugin is just intended to change the text of the menu entry, not the actual functionality - I thought that this plugin was making it so that left clicking on the forestry kit would only ever empty it and not fill it.

That's correct. Perhaps I'll change the text to "Empty/Fill". Unsure how it determines whether it's going to empty or fill.

Actually solved with 3303da263c2e7718ac786d3dfc5a66d6089c4c22.


Batch Import (from ZIP)

From release plan spreadsheet
Estimate from release plan: 14 hours
Expressing interest: none
No additional notes

@tdonohue we are interested in that. We can work on it after / in parallel with the other higher priority tickets already claimed

do we need to add a SAF option under the import menu from where one can select the collection or should we include a shortcut button in the collection home page? or both?

@abollini : I'd recommend this only be in the import menu (alongside existing import from CSV).  So, the Import menu might become:
* Import
    * Metadata
    * Zip

I don't think there's any need to replicate the import mechanism to the Collection homepage, as no other imports can occur at that location. I'd like to keep tools together as much as possible in the side menu.
Please let me know if you'd like to be assigned for this work or not.


Tokens, Users, Policies, Teams: control menu items ("delete") are not authz-guarded

Originally reported by @srenatus
Overview
For Projects, we have guarded the control-menu actions with app-authorized statements. Some work on the backend was necessary to make that work.
Now that we have it available, we should apply the same UX measures to

Teams
Tokens
Users
Policies

This implies changes to the e2e tests, to mock the new backend introspection calls.
Also, the same applies to Roles once there's support for custom roles. (Right now, there's just no control-menu.)

this work has been deprioritized, so closing.


Create default topic during test setup

Since Zeebe 0.4.0 no default topic is created on broker startup, therefore the test case has to create the topic it uses.
Note: this change requires the release of Zeebe 0.4.0

this can now be merged as zeebe 0.4.0 is released :balloon:


The copied cards received a -1-cost when created but kept gaining cost each time they are used

Done.


Bug: @juanm04/astrojs-vercel showing up as official integration

When filtering the Integrations page and sorting by official one can see a @juanm04/astrojs-vercel integration showing up. This integration is not officially maintained and even links to the official vercel integration. Probably something that was forgot to change when making the integration official.

Thanks for bringing this up, and I agree this should be looked at! This isn't an issue for Docs, though, so I'm going to transfer it to the main astro repo.