text:
New languages support

Italian, French and German

Hi @asterbini, this is great! Do you need any support testing this before merging?

I'm just updating spacy-wordnet to spacy 3... Wait

Yes, please do some tests. I've tried Italian in spacy3 and English both on spacy3 and spacy2

Hi @asterbini Thanks for your work.
We've just merge another PR including  spaCy 3.x upgrade (with backward compatibility)
Could you please, resolve conflicts with your branch?

Any news on the conflict resolution ?

Do you know when this PR will be merged?
(I'd like to test for French)

Thanks @m0canu1 for your work
I will stabilize the branch in PR #16

authors: LeMoussel asterbini dvsrepo frascuchon m0canu1 merlinico

repo: recognai/spacy-wordnet


text:
tv feedback man support group

Thanks @honzajavorek for screenshots!

source: gharchive/pull-request

authors: TomasVotruba honzajavorek

license: MIT

license_type: permissive

license_source: github-api


text:
Update sqp-1-2160p.yml

Style correction

@espentruls Can you rebase your branch and resolve conflicts? Also do so in the other PR too please. Sorry it's taken so long to get these reviewed. I wasn't aware of them until now.

I didn't see these either, apologies. Approved pending rebase and conflict resolution.

Resolved in #37

authors: espentruls rcdailey yammes08

repo: recyclarr/config-templates


text:
NO-JIRA: fix(gha): replace oc with kubectl in notebook_controller_integration_test.yaml

https://github.com/opendatahub-io/kubeflow/pull/417

We don't have oc preinstalled on the new GitHub Actions runners that we were autoupdated to. Best to stick to kubectl.

btw, is this intended intentionally against this branch? Please, link this with relevant upstream change once possible as we should go from upstream first ideally.

I wanted to quickly try... Also, I did the change in github webui and I can't edit multiple files that way

First, I think we should merge your revert independently of this one
The ci fail here was a flaky failure, fixed by rerun; I'm adding a retry to the place where it failed in a different PR

/lgtm

/approve

authors: atheo89 jiridanek jstourac

repo: red-hat-data-services/kubeflow


text:
Syncing latest changes from main for cephcsi-operator

PR containing the latest commits from main branch

/lgtm
/approve

repo: red-hat-storage/ceph-csi-operator


text:
Fixes Multus Issues

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2196176
Moves from Dropdown to Select component
Allows selecting either Public or Cluster Network
Allows deselecting a Network Card
https://github.com/red-hat-storage/odf-console/assets/54092533/ffee667d-70a4-4fa2-ad77-3d52e724ed63

/lgtm

/cherry-pick release-4.13

/cherry-pick release-4.13-compatibility

authors: SanjalKatiyar bipuladh

repo: red-hat-storage/odf-console


text:
Bug 2262070: core: remove namespace/ownerRef from networkFence

since networkFence is a cluster-based resource so that we don't need the namespace and ownerReferences as it cause garbage-collector errors. Also, now we create the networkFence with clusteUID label so when doing cleanup we match the cephCluster uid and networkFence label clusterUID.
Signed-off-by: subhamkrai srai@redhat.com
(cherry picked from commit 5bff860380f34d1aa1ee9dceb9bcb2ed5d64da58)

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

cc @travisn @agarwal-mudit

repo: red-hat-storage/rook


text:
Dark mode

I would love it if you could add in the configuration options the option to activate a dark mode.

Would you like this to be working per app, or as a part of the OS?
That is, if the OS is set to dark mode, then the GUI will also?
Or, to be able to select  the option within the app?

there are applications that detect the dark mode of the operating system, but if the user wants to change the theme, it still allows it.

¿Le gustaría que esto funcione por aplicación o como parte del sistema operativo? Es decir, si el sistema operativo está configurado en modo oscuro, ¿la GUI también lo hará? ¿O para poder seleccionar la opción dentro de la aplicación?

I think both ways are useful, I have seen applications that automatically detect the dark mode, but still give an option for the user to set it manually.

I have seen it to work nicely on linux KDE desktop environments when built from source - from global theme integration. I think it should not take much time to implement dark theme adoptation for QT based programs (as core wallet is) for other operating systems.
I checked many spots on wallet with global dark theme (KDE) and I think it looks great there, except one spot:

Staking view is missing the 'PlatformStyle' from the code that displays the page.
Will need to refactor this so as to help enable correct display

source: gharchive/issue

authors: aleex5 apilypas reddink


text:
Consider getting rid of mobile-detect as a dependency on the client.

I was curious how big the basic bundle is, so I ran an webpack-bundle-size-analyzer on Homepage.js from the basic react-server yo scaffold. I posted the results here. The file sizes shown are minified, ungzipped.
There are a few interesting things, but the thing that most sticks out to me is the amount of space mobile-detect takes: 36.2kB out of 307kB, or 11.8%.
As far as I can tell, mobile-detect is only used to see if the user is mobile/phone/tablet. If that's right, it'd probably be better to figure out a way to run mobile-detect on the server and then just send down the string "mobile"/"phone"/"tablet", while excluding mobile-detect from the client build. Thoughts?

run mobile-detect on the server and then just send down the string "mobile"/"phone"/"tablet",

@aickin Ooh!  Good idea!  I think we're currently exposing a full mobile-detect instance, so that would probably be a breaking change.  Or maybe... we could send down a thin dummy that implements the interface with values hard-coded by the server? 🤔

I think this is a great idea. Every page starts with a response form the server, moving as many bits as possible and letting the output be a bool just nails it.

This is addressed by #950 which landed in react-server@0.7.0.

authors: aickin gigabo ptomasroos

repo: redfin/react-server

license_source: bigquery


text:
Hack lint components

Missed this one.

AARRARARARRRGHGHGHHHHH!!!!! :goberserk:


text:
Appstudio update test-component-pac-nnuh

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-nnuh-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
26 seconds
init

✅ Succeeded
30 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
29 seconds
sanity-inspect-image

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
25 seconds
deprecated-base-image-check

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
37 seconds
sbom-json-check

✅ Succeeded
17 seconds
sanity-optional-label-check

✅ Succeeded
17 seconds
sanity-label-check

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/test-component-pac-nnuh-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
26 seconds
init

✅ Succeeded
30 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
29 seconds
sanity-inspect-image

✅ Succeeded
25 seconds
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
37 seconds
sbom-json-check

✅ Succeeded
17 seconds
sanity-optional-label-check

✅ Succeeded
17 seconds
sanity-label-check

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/test-component-pac-nnuh-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
11 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
40 seconds
build-container

✅ Succeeded
11 seconds
clair-scan

✅ Succeeded
21 seconds
deprecated-base-image-check

✅ Succeeded
15 seconds
sanity-inspect-image

✅ Succeeded
43 seconds
clamav-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
10 seconds
sanity-label-check

✅ Succeeded
10 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
show-summary


text:
Appstudio update test-component-pac-ascl

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-ascl-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
44 seconds
build-container

✅ Succeeded
20 seconds
deprecated-base-image-check

✅ Succeeded
18 seconds
inspect-image

✅ Succeeded
39 seconds
clamav-scan

✅ Succeeded
12 seconds
clair-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
7 seconds
show-summary

✅ Succeeded
7 seconds
show-sbom

Pipelines as Code CI/test-component-pac-ascl-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
22 seconds
build-container

✅ Succeeded
15 seconds
inspect-image

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
8 seconds
clair-scan

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
7 seconds
label-check

✅ Succeeded
7 seconds
show-summary

✅ Succeeded
4 seconds
show-sbom


text:
Apply security restrictions

Signed-off-by: Mykola Morhun mmorhun@redhat.com

/retest

authors: Michkov mmorhun

repo: redhat-appstudio/build-service


text:
chore: re-enable test for checking pipeline logs

Description
re-enable the test after https://issues.redhat.com/browse/KFLUXBUGS-99 was fixed
Issue ticket number and link
https://issues.redhat.com/browse/KFLUXBUGS-99
Type of change

[X] re-enable test

How Has This Been Tested?
 ginkgo --focus-file tests/build/build_templates.go --v ./cmd/

Checklist:

[X] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/lgtm

authors: psturc tnevrlka


text:
remove cache instance in jvm-build-service namespace

As part of the next step following the merging of https://github.com/redhat-appstudio/jvm-build-service/pull/105 and in particular what is noted in https://github.com/redhat-appstudio/jvm-build-service/blob/650846d2011d745b82c72cd59cf1e2398daeddfa/deploy/cache/base/deployment.yaml#L1-L3 we are removing the reference to the yaml that defines the jvm-build-service cache in the jvm-build-service namespace
@Michkov @stuartwdouglas @phillip-kruger @brunoapimentel @psturc FYI

/hold
ideally we do not merge this until https://github.com/redhat-appstudio/e2e-tests/pull/168 has merged and we verify jvm-build-service is OK in the e2e run

Not sure of all the particulars yet, but I'm pretty sure my change here is incomplete.  The app studio bootstrap failed, and I still see the jvm-build-workspace-artifact-cache pods getting created in the jvm-build-service namespace, with the same exception noted in this PRs description.
Investigating / trying to sort out.

heads up @Michkov @stuartwdouglas @phillip-kruger @brunoapimentel @psturc I edited the description to remove the bit about the artifact cache in the jvm-build-service namespace (and only in that namespace) getting that amazon sdk stack trace that @Michkov and @psturc discovered and reported in https://coreos.slack.com/archives/C03KN2B47GU/p1659958982619609?thread_ts=1659958940.328259&cid=C03KN2B47GU
The artifact caches in the test namespaces do not exhibit that exception.
And as noted in that slack thread, and in other active PRs, this stack trace appears to have no bearing on artifactbuilds/dependencybuilds.
The setup of the artfact cache in the jvm-build-service namespace is occurring because of https://github.com/redhat-appstudio/infra-deployments/pull/564 i.e. @stuartwdouglas made the explicit choice to add it.  It did not appear to be a short term addition based on the PR's description.  I'll try to confirm that with him when he is next available.

the new jvm e2e test failed
now, with pipeline run pruning, it is hard to tell if that got in the way, or if this change caused the problem, or if the test is simply a victim of RPC delays
crafting a main branch PR to cross reference

/retest

same error - though I suppose it is conceivable the error in this case is related to this change (i.e. it is perhaps premature somehow)

I added this because there are some Java builds on CI that use the HACBS build definitions, and thus require the use of the cache. The real issue here is that startup fails with rebuilds set to false, which is fixed in https://github.com/redhat-appstudio/jvm-build-service/pull/170

the situation discussed in https://coreos.slack.com/archives/C03KN2B47GU/p1659994799379339 with the latest theory from @stuartwdouglas at https://coreos.slack.com/archives/C03KN2B47GU/p1660017969344259?thread_ts=1659994799.379339&cid=C03KN2B47GU is also a factor, perhaps even a bigger one I think, though certainly we need both items addressed

OK all green e2e
@stuartwdouglas - just to make sure when you are back on the clock

are you saying in https://github.com/redhat-appstudio/infra-deployments/pull/579#issuecomment-1208969956 that the cache service this PR is no longer including in gitops mgmt needed for hacbs java tests previously defined in CI (and not the tests for the jvm-build-service we have had to add then remove multiple times)?  And hence this PR should be close and never done, deferred to another time after other changes have landed?

Or is the "this" you are referring to with "I added this" is in fact https://github.com/redhat-appstudio/infra-deployments/blob/9d81c822d6fefe327db208cf611fd7c5a6c41c28/components/build/jvm-build-service/system-config.yaml#L14-L21 which leads to the creation of the artifact cache in the jvm-build-servivce, and per the comment in https://github.com/redhat-appstudio/jvm-build-service/blob/650846d2011d745b82c72cd59cf1e2398daeddfa/deploy/cache/base/deployment.yaml#L1-L3 we should go ahead and make this change now?

thanks

I did just realize, this PR might need https://github.com/redhat-appstudio/build-definitions/pull/179 to merge first
that sound right @stuartwdouglas ?

/retest

/retest

We definitely should merge that other PR first. I have rebased it so it should be ready to go.

https://github.com/redhat-appstudio/build-definitions/pull/179 has merged
/hold cancel
/assign @Michkov
/assign @stuartwdouglas

green e2e's @Michkov @stuartwdouglas no need to rebase at the time of this comment's posting

going to run the e2e again, just in case the bundle was not updated after https://github.com/redhat-appstudio/build-definitions/pull/179 merged but before this referenced it (the bundle updates looking at quay.io seems like it was minutes after 179 merged, but let's make sure)
/test appstudio-e2e-deployment

ok still green

/retest

/retest

/retest

authors: Michkov gabemontero stuartwdouglas

repo: redhat-appstudio/infra-deployments


text:
v0.0.22 cannot list ConfigMaps at the cluster scope level

We were using this operator previously. At least since v0.0.20. Got the broken v0.0.21 update, waited it out until v0.0.22. Now the operator won't start properly:
I1221 10:04:59.428064 1 request.go:601] Waited for 1.019077939s due to client-side throttling, not priority and fairness, request: GET:https://192.168.0.1:443/apis/autoscaling/v2?timeout=32s
1.6716171031868346e+09 INFO controller-runtime.metrics Metrics server is starting to listen {"addr": "127.0.0.1:8080"}
1.671617103187277e+09 INFO setup starting manager
1.671617103188326e+09 INFO Starting server {"path": "/metrics", "kind": "metrics", "addr": "127.0.0.1:8080"}
1.671617103188342e+09 INFO Starting server {"kind": "health probe", "addr": "[::]:8081"}
I1221 10:05:03.188407 1 leaderelection.go:248] attempting to acquire leader lease group-sync-operator/085c249a.redhat.io...
I1221 10:06:17.242354 1 leaderelection.go:258] successfully acquired lease group-sync-operator/085c249a.redhat.io
1.671617177242676e+09 INFO Starting EventSource {"controller": "groupsync", "controllerGroup": "redhatcop.redhat.io", "controllerKind": "GroupSync", "source": "kind source: *v1alpha1.GroupSync"}
1.6716171772427225e+09 INFO Starting Controller {"controller": "groupsync", "controllerGroup": "redhatcop.redhat.io", "controllerKind": "GroupSync"}
1.6716171772425845e+09 DEBUG events Normal {"object": {"kind":"Lease","namespace":"group-sync-operator","name":"085c249a.redhat.io","uid":"0c0eba7c-d15d-4bee-852e-c1a05a39df41","apiVersion":"coordination.k8s.io/v1","resourceVersion":"91156353"}, "reason": "LeaderElection", "message": "group-sync-operator-controller-manager-6fdd78c56-dkccz_a0997b56-cfc3-47d3-812c-1c319593e211 became leader"}
1.6716171773435636e+09 INFO Starting workers {"controller": "groupsync", "controllerGroup": "redhatcop.redhat.io", "controllerKind": "GroupSync", "worker count": 1}
W1221 10:07:45.223950 1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
E1221 10:07:45.224021 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
W1221 10:07:46.588119 1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
E1221 10:07:46.588177 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
W1221 10:07:48.795120 1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope
E1221 10:07:48.795160 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount:group-sync-operator:controller-manager" cannot list resource "configmaps" in API group "" at the cluster scope

The GroupSync config was unchanged from the working v0.0.20 version. All Secrets and ConfigMaps we reference are in the default Namespace (group-sync-operator). I also don't see why this namespaced operator suddenly needs cluster wide permissions for ConfigMaps. We see this problem on all clusters including the one we redeployed today. Reverting to v0.0.20 and disabling the automatic upgrade makes the operator work again.
Clusters are OpenShift 4.10.42 or 4.10.45

we can confirm the behavior. After updating to the version v0.0.22, the same problem occurs.

A change did occur to enable the operator access to resources in other namespaces. However, after some discussions, its was a bit of an overreach and there will be a revert to prior functionality in the next release (will fast track it this week)

Existing functionality prior to 0.0.21 will be reenabled where WATCH_NAMESPACE will be defined to the current namespace.
Users can opt into allowing the operator to watch all namespaces by configuring the Subscription resource in the OLM
Documentation will be updated to account for such changes

@GerbenWelter @ocpvkb Here is the PR for this fix.
https://github.com/redhat-cop/group-sync-operator/pull/238
Thanks for your patience!

authors: GerbenWelter ocpvkb sabre1041

repo: redhat-cop/group-sync-operator


text:
Changed folder structure

This PR is related to #53
The folder structure now is

kubernetes/
java/springboot/
java/vertx/
java/microprofile/
dotnet/
node/

Please, don't merge yet as https://github.com/openshift-labs/learn-katacoda also needs a PR

repo: redhat-developer-demos/istio-tutorial


text:
Use validator library to validate timestamp offset value

Description
Version: 0.31.0
Use an iso8601 validator lib to validate value provided for timestamp input.
Originally discussed here.

More info is needed for community to pick that up. (Where to change and what package to use)

@wtrocki I would like to work on this. Please assign this issue to me.

@alexal With broken heart I need to close that PR unmerged. We would need to introduce our own parsing format.
Apologies for not including this.

authors: alexal rkpattnaik780 wtrocki

repo: redhat-developer/app-services-cli


text:
feat: Add storybook for Consumer group reset offset component

What this PR does / why we need it:

Create a storybook for ConsumerGroup ResetOffset Modal component

Verification steps

where to find stories:
kafka > Consumer Groups > components > Consumer Group Reset Offset
https://619e1921b3e38b003afeb2be-aldaurdobk.chromatic.com/?path=/story/kafka-consumergroups-components-consumergroupresetoffset--no-topic-selected
Special notes for your reviewer:
Tests are pending currently working on it

@riccardo-forina - @HemaHG was also asking about the Delete modal and if it should include a warning icon. For this delete modal, I'm following what PF recommends for confirmation prompts when the action is not destructive. Even though the user is deleting a consumer group, the action isn't considered destructive. The consumer group is created again as soon as it becomes active.
An overview of design patterns I'd like to follow for our confirmation prompts (plus some updates needed to existing prompts), is available here: https://docs.google.com/document/d/1sNRSJtCpR9OHVvzA-D00WMlughX4XNP4RFThVuIdZ4A/edit?usp=sharing

sure @riccardo-forina , we will do

@jenn, selecting the checkbox in the table will be handled in parent component

@riccardo-forina , @jgiardino I have addressed all the review comment, could you guys please review

BTW, I got feedback on the open question about the "Select" placeholder sooner than I expected:

The only recommendation we have around that is what you shared, to help folks understand when to use "select" vs. when to use "click."
As placeholder text, I've almost always seen a descriptive word following "Select." For example, "Select topic," as you mention. I see that as being extra clear in that it:

Identifies what the user is selecting.
Communicates the quantity of topics the user can select (vs. "Select topicS").

That is a long-winded answer :slightly_smiling_face: So although we might not have specific guidance for this (as I'm aware of), I think it's a good idea to have a specific word after "Select."

:tada: This PR is included in version 2.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

authors: HemaHG app-services-ci jgiardino


text:
Future-proof Javascript API

This PR accomplishes several things:

Updates the Javascript API to handle future implementations of project generators, i.e. Visual Studio or Xcode. It does this first by outputting directories and files to be written and also taking some meta information such as project names to help with file naming.
Provides a node module entry-point for requiring the API. This was not set up properly before.
Makes a distinction between a project and artifact configurations.
Modifies the configuration files to take a project title and artifact titles.

Coverage increased (+0.008%) to 92.88% when pulling b98d14a4f3bd3c0f23acf5096c7244146c91dfae on future-proof-javascript-api into b178701cec6f9c5d9c54f17c8b599d6b30dccf86 on master.

Coverage increased (+3.3%) to 96.173% when pulling b8592c578a30978bebe79f772e51ff1a0844a631 on future-proof-javascript-api into b178701cec6f9c5d9c54f17c8b599d6b30dccf86 on master.

Coverage increased (+3.3%) to 96.173% when pulling 2533f9fa0c06dd592b47e0b80c194629f4740fb8 on future-proof-javascript-api into b178701cec6f9c5d9c54f17c8b599d6b30dccf86 on master.

authors: coveralls redien

repo: redien/limbus-buildgen


text:
No retry logic on poll()/put() for both source/sink

Currently if Redis isn't available or there is an intermittent network issue both the Sink and Source connector throw errors such as
org.apache.kafka.connect.errors.ConnectException: Could not read messages from stream at com.redis.kafka.connect.source.StreamSourceRecordReader.poll(StreamSourceRecordReader.java:109) at com.redis.kafka.connect.source.RedisSourceTask.poll(RedisSourceTask.java:113) .... Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute
Which completely stops the connectors and only a restart of the task will fix it.
For those more experienced with this connector, would setting redis.timeout in the connector config potentially fix this issue? Are there other settings I may have missed?
Does this connector need some retry logic wrapping the poll() and put() function calls (Source/Sink)?

Thanks for reporting this. I added some retry logic for both sink and source ee0ffd1

authors: DNewt jruaux


text:
Add hasNoSlots() Method to RedisClusterNode

Feature Request

Is your feature request related to a problem? Please describe
In bug report #2769, an issue was identified when handling Redis Cluster topology refreshes during node reconfigurations where nodes temporarily had no assigned slots. The maintainer suggested subclassing RedisClusterClient and overriding determinePartitions to address the issue. I followed the suggestion and initially used redisClusterNode.getSlots().isEmpty() to identify this case. However, I found that getSlots() is quite time-consuming, increasing the overhead of topology refreshes.
Describe the solution you'd like
To improve efficiency, I propose adding a method hasNoSlots() toRedisClusterNode. This method has much better performance than getSlots().isEmpty()
Proposed Method:
/**
     * Checks if the node has no slots assigned.
     *
     * @return {@code true} if the slots field is null or empty, {@code false} otherwise.
     */
    public boolean hasNoSlots() {
        return slots == null || slots.isEmpty();
    }

Describe alternatives you've considered
Currently, the alternative is to use getSlots().isEmpty() to determine if a node has no slots assigned. However, this approach is inefficient because it involves generating a new list object, which adds overhead during topology refreshes.
Teachability, Documentation, Adoption, Migration Strategy
This feature request aims to improve the efficiency and readability of RedisClusterNode's API, particularly in scenarios involving cluster scaling and topology adjustments. I appreciate your consideration and am happy to make any additional changes or provide further details if needed.

I think this change makes sense.

authors: tishun wmxl

repo: redis/lettuce


text:
How to handle read & write operations in different endpoint using Redis Client

Description
Can we configure two different host for read and write operations in latest redis client version 4.6.5.
I tried to configure the endpoints for read and write operations for better usages of the read and write endpoints.
Is there any way to configure them when creating a new Redis Client?
redis.createClient()

Currently there is no built-in way to do it, but you can create two clients and use the "correct" one for read/write.
Adding this to the backlog of sentinel (#302), but it'll take some time...

repo: redis/node-redis


text:
.FindByAsync()

Similar to .FindByIdsAsync() except you can add the property to search.
[Document(StorageType = StorageType.Json)]
public class Customer
{
   [Indexed] public string FirstName { get; set; }
   [Indexed] public string LastName { get; set; }
   public string Email { get; set; }
   [Indexed(Sortable = true)] public int Age { get; set; }
   [Indexed] public string[] NickNames {get; set;}
}

var ages = [12,24,36];
var entites = RedisCollection<Customer>().FindByAsync(x => x.Age, values);

This would probably be good coverage for the .Contains() request attempting to do the same.

Looks like this is being resolved LIVE issue #91.  I think we can close this out, as the .Contains() is the more natural pattern.

Yeah, I think this is a bit awkward, granted it would make the expression tree easier to parse lol. As you said I started this today in #91  so I think let's just stick to that.

repo: redis/redis-om-dotnet


text:
Modifying @Document attributes does not update the index attributes on redis

I have an example class
@Data
@RequiredArgsConstructor(staticName = "of")
@AllArgsConstructor
@Document
public class StudentRedis {

    @Id
    private Long id;

    @NumericIndexed
    private Long studentId;

    @NumericIndexed
    private Long year;

}

On app start this will create a json index in redis that will have 3 identifiers/attributes: for id , studentId and year.
But If I modify any of this or add new property example:
@Indexed
private String name;

**that attribute is not added to the redis index on next application restart, and I can't use that attribute for search. **
Is this intended or am i missing something?
Same happens if i remove @NumericIndexed annotation from field, that attribute stays in the redis index, even if it is deleted.
Only if i flushAll or drop the index in redis, the index gets recreated.
It seems that the code does not check if there was update to the @Document compared to the redis index.
Is there a solution for this?

Hi! you can use "FT.DROPINDEX your_index" command in redis-cli terminal
https://redis.io/commands/ft.dropindex/

Ok i just wanted to make sure that this is not supported by redis-om, will it be in future ?

@xMilos  you can use in code level,
@Autowired
RediSearchIndexer indexer;
@PostConstgruct
public void recreateIndex(){
indexer.dropAndRecreateIndexFor(xxxx.class);
}

Ok i just wanted to make sure that this is not supported by redis-om, will it be in future ?

I think this really needs to be implemented and I have an idea.
but still get an opinion @bsbodden

See https://github.com/redis/redis-om-spring/issues/26

authors: bsbodden guos justTimTim xMilos

repo: redis/redis-om-spring


text:
RMapCache'Eviction seems not to be in effect

I used RMapCache in my project,and set the timeout time is 3 minutes，but I found that the size of the ZSET is increasing. and the key  still inside, and not be cleared a day after that。
Here's the way I store key "a" with value "1"，and 3 minutes to live：
RMapCache<String, Integer> mapCache = redissonClient.getMapCache("myMapCache");
mapCache.fastPut(“a”, 1, 3, TimeUnit.MINUTES);
Did i make any mistake？
How can I make the Eviction come into effect？

hi @mrniko, RMapCache is not working correctly for me. I have put the timeout of 10 secs but the key-expiry event is coming exactly after 20 secs. Please see the code and correct me if I am wrong.
RMapCache<String, String> mapCache = redisson.getMapCache("myMap");
mapCache.addListener(new EntryExpiredListener<String, String>() {
@Override
public void onExpired(EntryEvent<String, String> event) {
System.out.println(Calendar.getInstance().getTime()+" ==> "+event.getKey() + " " +
event.getValue());
}
});
System.out.println(Calendar.getInstance().getTime()+" ==> hi");
mapCache.fastPut("hi", "scott", 10, TimeUnit.SECONDS);

@iamjayant on expired event is not executed in real-time.

@mrniko can u please suggest me one real-time example where I can test onExpired working properly. I need to write callbacks on onExpired event of keys for mine application.

@iamjayant I can suggest you to use ScheduledExecutorService for precise task/event execution

authors: Comven iamjayant mrniko

repo: redisson/redisson


text:
[Question] Netty dependencies problems / shading

Since netty keeps being a source of headaches sometimes, specially when using this library in combination with Play Framerwork or AsyncHttpClient or gRPC, as all of them use Netty, and netty seems to not play very nice with differences even on minor and hotfix versions.
Now i am testing with the newly release play 2.6 which has netty 4.0.x but since this version they shaded it, but i am still having issues when trying to use the nativeEpoll and including the dependency to redisson, I am still trying to figure out the cause, since the dependency is there but i still get
java.lang.NoSuchMethodError: Method io.netty.channel.epoll.Native.recvFd0(I)I not found
I will be testing a few more things soon, but if anyone has observed anything like that using play 2.6, feel free to mention.

Perhaps SO would be a better suited place for a question like this.. I'd like to hear more about those headaches you have experienced between minor / hotfix versions. Perhaps you are including different versions of Netty on your class path in which case you should look into importing the Netty bom. To have Netty epoll work as a shaded dependency you need to specify the package prefix.. See https://github.com/netty/netty/issues/6665 for more details.

Hi @johnou.
Yes, i agree on that. The main reason i also posted this here as a question is about redisson thoughts on the netty side. As there are many cases where this lib is used in combination with other libs like, cassandra-driver, grpc, play framework, etc. And many of them use netty as well, but some of them uses for example netty 4.0.x while redisson (and others) use version 4.1.x since a many versions ago, and both versions are incompatible. I know that for instance play 2.6 decided to shade their netty dependency to avoid those issues. So this is more of policy kind of question about if redisson plans to do something similar at some point or not.
Regarding the particular problem i have, i was trying with the shade config, but i believe the problem is on play side or config side, but i will figure it out somehow, meanwhile it works fine without native epoll ;)

authors: johnou kringol


text:
Broken link on the repo's "About" section.

Hey guys, just letting you know that the short link showing on the repo's "About" section is broken.
It redirects you to https://github.com/rednafi/pysanity/blob/master/docs/guidelines.md instead of sending to https://pysanity.netlify.com/ (what I was expecting it to be, but could be wrong).

Hi thanks for mentioning it. You are right. Updating the link.

Fixed.

authors: luigibertaco rednafi

repo: rednafi/pysanity


text:
Connect Component's displayName is not working properly

Wrong name for the component that was packaged with Connect in React - Developer-Tools

I think that's the problem
// If we're in "pure" mode, ensure our wrapper component only re-renders when incoming props have changed.
    const Connect = pure ? React.memo(ConnectFunction) : ConnectFunction

    Connect.WrappedComponent = WrappedComponent
    Connect.displayName = displayName

Displayname should be a property in the connectFunction
Like this
    ConnectFunction.displayName=displayName

Weird. This does look like a legit issue going back to 7.0.0, but I can't figure it out.
That definitely fixes the issue for React Dev Tools, but we have tests for the displayName that do pass: https://github.com/reduxjs/react-redux/blob/1df5622da1324320d6a1b2135aeba914f1873078/test/components/connect.spec.js#L1695-L1730
I'm not sure why that isn't translating over to RDT. Perhaps Babel is mangling something? It looks like facebook/react#18026 is related.

Thanks for your answer, I think it should be React - Developer-Tools don't support 'memoize Components' displayname, like this
let Test =  (props) => {
  const dispatch = useDispatch()

    return (
        <div onClick={ () => dispatch({type:'TEST'})}>
            dispatch test------
        </div>
    )
}
const MemoizeTest = React.memo(Test);
MemoizeTest.displayName='memoize(test)'

But the displayname for 'Memoize Components' does exist, so your test case passed

Can I submit a fix for this issue?

Sure, a PR is always appreciated.

authors: myNameIsDu timdorr

repo: reduxjs/react-redux


text:
Dispatching taking more time when come back on the app (Not killed)

Hello,
First of all, wanted to thanks all the redux community to be involved 👍
I got a weird issue that i dont understand, I got a route with 2 scene, first scene is a Loader, the second one is the "main app", for the loader i got a function that update the forecast of all my cards in the app with await/async (promises), so when i launch first the app its realy fast to make the requests with the dispatch of CALL_API, but when i close the app (not kill it), and come back, i rederict to the Loader with action to make again the call, but it take more time, more and more when i come and close the app like, i lose 5 seconds more i close / come to the app. Some code now :
_handleAppStateChange = async (nextAppState) => {
    if (this.state.appState.match(/background/) && nextAppState === 'active') {
        Actions.loader()
    }
    this.setState({appState: nextAppState});
}

This part of code, check if the app come from background to active and trigger this part of code wich redirect to the route Loader
// On did mount, i call this function to make the loader

  async updateCardsForecast(){
    return new Promise(async (res, rej) => {
      if(this.props.cards.length > 1){
        await this.props.getCoordinates()

        const respUpdate = await this.props.updateForecastCurrentCard()

        for(let i = 0; i < this.props.otherCards.cards.length; i++) {
          let otherCard =  this.props.otherCards.cards[i]
          const {lat, lng} = otherCard.coordinates

          await this.props.updateForecastOtherCards(lat, lng, i)
          // debugger
        }

        res()
      } else {
        await this.props.getCoordinates()

        const respUpdate = await this.props.updateForecastCurrentCard()
        res()
      }
    })
  }

If you can help me, i would be so happy thank you btw ! 😄

For usage questions, please use Stack Overflow or Reactiflux where there are a lot more people ready to help you out. Thanks!

authors: Bramichou timdorr

repo: reduxjs/redux


text:
fixed undefined id when adding a new todo item

the action addTodo only passes text. So the action.id in reducer gets undefined. Fixed by set id to state.length+1 inside reducer.

Nope, it gets set by the action creator automatically: https://github.com/reduxjs/redux/blob/master/examples/todos/src/actions/index.js#L4


text:
Add Python 3.9 support

Just like in https://github.com/reecetech/django_informixdb/pull/28

Closed via #11


text:
OutOfMemoryError kills Worker

Description
I am currently running another stress test and noticed, that if a OutOfMemoryError Exception is thrown the entire worker dies.
worker_1   | Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
worker_1   |   at org.eclipse.jgit.internal.storage.file.PackFile.load(PackFile.java:815)
worker_1   |   at org.eclipse.jgit.internal.storage.file.PackFile.get(PackFile.java:285)
worker_1   |   at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedObject(ObjectDirectory.java:486)
worker_1   |   at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedFromSelfOrAlternate(ObjectDirectory.java:444)
worker_1   |   at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject(ObjectDirectory.java:435)
worker_1   |   at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:165)
worker_1   |   at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:224)
worker_1   |   at org.eclipse.jgit.diff.DiffFormatter.makeIteratorFromTreeOrNull(DiffFormatter.java:490)
worker_1   |   at org.eclipse.jgit.diff.DiffFormatter.scan(DiffFormatter.java:481)
worker_1   |   at org.eclipse.jgit.diff.DiffFormatter.scan(DiffFormatter.java:455)
worker_1   |   at refactoringml.ProcessMetricsCollector.collectProcessMetricsOfStableCommits(ProcessMetricsCollector.java:81)
worker_1   |   at refactoringml.ProcessMetricsCollector.collectMetrics(ProcessMetricsCollector.java:52)
worker_1   |   at refactoringml.App.run(App.java:175)
worker_1   |   at refactoringml.RunQueue.doWork(RunQueue.java:86)
worker_1   |   at refactoringml.RunQueue.run(RunQueue.java:72)
worker_1   |   at refactoringml.RunQueue.main(RunQueue.java:55)
db_1       | 2020-03-11 11:51:44 12 [Warning] Aborted connection 12 to db: 'refactoringdb' user: 'root' host: '172.18.0.6' (Got an error reading communication packets)
db_1       | 2020-03-11 11:51:44 9 [Warning] Aborted connection 9 to db: 'refactoringdb' user: 'root' host: '172.18.0.6' (Got an error reading communication packets)
db_1       | 2020-03-11 11:51:44 8 [Warning] Aborted connection 8 to db: 'refactoringdb' user: 'root' host: '172.18.0.6' (Got an error reading communication packets)
worker_1   | Done!!
data-collection_worker_1 exited with code 0

Handling
I am not sure how to handle this exception:

Shutdown the entire App class, remove the project from the database and move on to the next one.
Try to recover in the App class, recover the SessionConfig and only skip the commit.

I'd say the simplest solution would be to create a simple python wrapper that restarts the app if it crashes. Or maybe there's already a linux cmd for that?

I'd say the simplest solution would be to create a simple python wrapper that restarts the app if it crashes. Or maybe there's already a linux cmd for that?

We could restart the RunQueue with Linux cmd in the run could.sh:
RC=1
while [ $RC -ne 0 ]; do
   ./java -Xmx800m -Xms350m -cp $REFACTORINGMINER_JAR_PATH:$JAR_PATH $QUEUE_CLASS
   RC=$?
done

Good solution!

authors: jan-gerling mauricioaniche


text:
acl & success_action_status options + PR18

add acl option to initialise method and use in available calls
defaults to ‘public-read’ so backwards compatible, but enables people
to make private as desired.
also included deprecation fix from PR #18
added success_action_status: 201 to presign method to fix firefox
xml parse error:

XML Parsing Error: no element found Location: moz-nullprincipal:{28d28eb9-bcef-f842-8355-54e833de9cd1} Line Number 1, Column 1:

I want this feature :+1:

@jnicklas can we have a new release with this feature?

I need this feature 👍

authors: angelsystem brunoadacosta fran-worley

license: mit


text:
"Access your data on all sites" permission corrupts Google search result subtitles.

Description
When granted https://support.mozilla.org/en-US/kb/permission-request-messages-firefox-extensions?as=u&utm_source=inproduct#w_access-your-data-for-all-websites on https://koji.fedoraproject.org/koji/rpminfo?rpmID=38118194, https://www.google.com/search?client=firefox-b-d&q=wexextension.org+github causes:

Disabling and enabling that preference causes the problem to occur immediately (sometimes without page refresh) and reproducibly.

How to replicate the issue + URL

Install cpe:/o:fedoraproject:fedora:40.

Write https://download.fedoraproject.org/pub/fedora/linux/releases/test/40_Beta/Spins/x86_64/iso/Fedora-KDE-Live-x86_64-40_Beta-1.10.iso using flatpak install https://dl.flathub.org/repo/appstream/org.fedoraproject.MediaWriter.flatpakref && flatpak update app/org.fedoraproject.MediaWriter/x86_64/stable --commit=08f95f0584ba56e427555192146ebe9f4e558521bff8588d7fa83998ad184b86.

Enable https://support.mozilla.org/en-US/kb/permission-request-messages-firefox-extensions?as=u&utm_source=inproduct#w_access-your-data-for-all-websites for https://addons.mozilla.org/firefox/downloads/file/4252355/refined_github-24.3.20.xpi via about:addons.

Install https://addons.mozilla.org/firefox/downloads/file/4252355/refined_github-24.3.20.xpi.

Install https://koji.fedoraproject.org/koji/rpminfo?rpmID=38118194.

Visit https://www.google.com/search?client=firefox-b-d&q=wexextension.org+github.

Extension version
https://addons.mozilla.org/firefox/downloads/file/4252355/refined_github-24.3.20.xpi

Browser(s) used
https://koji.fedoraproject.org/koji/rpminfo?rpmID=38118194

When granted

Yeah, don't grant it. This is not a bug. You're asking the extension to run on the wrong sites.

https://github.com/refined-github/refined-github/issues/7319#issuecomment-2021743410

@fregante, because https://addons.mozilla.org/firefox/downloads/file/4253367/augmented_steam-3.1.0.xpi doesn't expose the ability to enable this permission via about:addons, per https://discourse.mozilla.org/t/how-to-ask-user-to-grant-permissions-for-access-your-data-for-all-websites-through-a-prompt-during-the-installation-process/110637/6, removing
permissions: ["activeTab"],
origins: ["<all_urls>"]

from your extension manifest should remediate this.

It's an optional permission. You enable it so you deal with the consequences. The permission must exist to support GitHub Enterprise users that enable the extension on each specific domain. It's not meant to run on all URLs

authors: RokeJulianLockhart fregante

repo: refined-github/refined-github


text:
I want to disable everything on the /pulls tab

I want to disable all the features on https://github.com/pulls (and similar tabs) since it makes the list less dense and I have to scroll a lot more to view all the items on the page.
I tried using the feature identifier option on the extension settings but couldn't the exact feature to disable.
I don't see a feature to blacklist a url either, to prevent everything from running on a certain url.
I would need help in identifying all the features that are acting on this page

There's no way to exclude a specific page. You can:

Enable "Show the features enabled on each page in the console" in the Options > Debugging
Open the browser console on /pulls
Disable all the features running there

However you're most likely interested in align-conversation-labels and nothing else.

authors: fregante sharunkumar


text:
[Issue] http: server gave HTTP response to HTTPS client

Current Behavior

$ regctl manifest get 10.xxx.xx.xxx:5000/xxx/xxxx
WARN[0000] Sleeping for backoff                          Host="10.xxx.xx.xxx:5000" Seconds=1.9999978120000002
WARN[0002] Sleeping for backoff                          Host="10.xxx.xx.xxx:5000" Seconds=3.999990877
failed to get manifest 10.xxx.xx.xxx:5000/xxx/xxxx:latest: Get "https://10.xxx.xx.xxx:5000/v2/xxx/xxxx/manifests/latest": http: server gave HTTP response to HTTPS client

Steps To Reproduce

up a registry:2.7 container,  https://github.com/zhangguanzhang/docker-compose/blob/master/registry/docker-compose.yml
Run regctl manifest get 10.xxx.xx.xxx:5000/xxx/xxxx
See error...
-->

Version
{
  "VCSRef": "333c44dcfc3b062776ef70a9264ff30914d4770e",
  "VCSTag": "v0.4.4"
}

Environment

Running as binary or container:
Host platform:
Registry description:

Anything else

To disable TLS for a registry, run:
regctl registry set --tls disabled 10.xxx.xx.xxx:5000

Note, this would be nice, if stated in readme on first page, where the feature "Self signed, insecure, and http-only registries are all supported." resides. Or at least as available parameter when regctl --help is started.

I've pushed #285 to improve the messaging.

authors: luvarqpp sudo-bmitch zhangguanzhang

repo: regclient/regclient


text:
Possible issue with Distribution_model entropy_regularization

I am working on understanding the API and have bumped into an issue with setting "entropy_regularization" for a DQN test network I have setup.  Maybe this isn't valid for a DQN, but the regularization is actually making the loss go negative.  This appears to be due to the "entropy" value
set here: https://github.com/reinforceio/tensorforce/blob/master/tensorforce/models/distribution_model.py#L187.
I plotted this value as returned and it is negative where I usually think of the cost as a positive number:

Here you can see my total-loss around 40K dipping below 0.00 line.

PS. I am chasing an issue of implementing L1/L2 loss in the DQN model as well hopefully I fill find this answer myself.

Found the issue with the L1/L2 loss, it was in the Layer.py file:
https://github.com/reinforceio/tensorforce/pull/226

Hi @Mazecreator, the loss is not necessarily a positive number, but it is a number that is supposed to be minimized. Now consider entropy regularization: We want to punish the model for being too certain about its actions, hence we want to encourage an increase in entropy. Since we minimize the loss, the increase is reflected by the number being negated. Hope that makes sense.

authors: AlexKuhnle Mazecreator

repo: reinforceio/tensorforce


text:
🛑 SLC Laboratory (laboratory.binus.ac.id) is down

In dfa9343, SLC Laboratory (laboratory.binus.ac.id) (https://laboratory.binus.ac.id/lab) was down:

HTTP code: 502
Response time: 1508 ms

Resolved: SLC Laboratory (laboratory.binus.ac.id) is back up in 8f24c13.


text:
🛑 GreatNusa.com is down

In 637d52d, GreatNusa.com (https://greatnusa.com) was down:

HTTP code: 403
Response time: 94 ms

Resolved: GreatNusa.com is back up in ee3632a.


text:
🛑 GreatNusa.com is down

In 1273bd0, GreatNusa.com (https://greatnusa.com) was down:

HTTP code: 403
Response time: 71 ms

Resolved: GreatNusa.com is back up in 6886418.


text:
Polyfill servlet

Parse minify parameter.

Changes Unknown when pulling 7ba4498581cfc61219b424c12f93ae6fd99650f9 on jodarove:feature/polyfill-endpoint into ** on reiniergs:master**.

authors: coveralls jodarove

repo: reiniergs/polyfill-service


text:
Error: template instance enforce!CryptoException template 'enforce' is not defined

Last vibe.d. dmd 2.073

Just to be sure, this happened on Windows, right?

Yeah, Windows

Okay, fixed now and will be in the next beta(s).

Thanks, I tested. It's work.

authors: bubnenkoff s-ludwig


text:
Write requests path

For example if client request https://domain.com/asd.php - to find the /asd.php in logs

Did already - by headers log.

repo: rekby/lets-proxy


text:
(URGENT) failure in retrieving "BIPM SI Brochure"

From https://github.com/glossarist/iev-data/pull/58:
[relaton-bipm] ("BIPM SI Brochure") fetching...
[relaton-bipm] ("BIPM SI Brochure") found si-brochure
bundler: failed to load command: iev-termbase (/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/gems/2.6.0/bin/iev-termbase)
/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/gems/2.6.0/gems/relaton-bib-1.7.0/lib/relaton_bib/bibliographic_item.rb:402:in `url': undefined method `content' for nil:NilClass (NoMethodError)

Fixed. Please update relaton-bib to v 1.7.1.

repo: relaton/relaton-bipm


text:
SLO reports are one character off when using Hyper

Describe the bug
On Hyper terminal:

I'm not certain it was always the case. I feel it wasn't.
Still works as intended in macOS Terminal and VS Code terminal.

seems this bug is no more visible with the output refactoring due to issue #263

Even with coloring disabled, there is one char off

Generating the report to local file with -o flag (without coloring --no-color) produces a report that is working fine (ie alignment and chars are ok) on both osx terminal, vscode.
but indeed the same report is not nicely displayed on hyper

repo: reliablyhq/cli


text:
[需求]网站上增加 awesome-remax 的链接

可以加到文档菜单最下面

#1142 最简单的解决方案

authors: QC-L yesmeck

repo: remaxjs/remax


text:
can we try catch the calls to github status change?

i am getting this error, it is just because github has some weird problems with updating status https://github.com/travis-ci/travis-ci/issues/1283
2015/12/30 18:20:11 Starting build: id=7a16a452-2475-49d2-96b3-66d2731d4ce0 repository=cordoval/convey-test branch=master sha=a4371fb913c8366bb2bf95b622b60d15081731c2
reporting err: POST https://api.github.com/repos/cordoval/convey-test/statuses/a4371fb913c8366bb2bf95b622b60d15081731c2: 422 Validation Failed [{Resource:Status Field:target_url Code:custom}]
2015/12/30 18:20:11 POST https://api.github.com/repos/cordoval/convey-test/statuses/a4371fb913c8366b

I wonder if we can wrap the calls with try catch equivalent to avoid this

I am wondering if it won't work with personal github tokens? how did you create your token to pass via cli?

bump @ejholmes any hints please? thanks

closing as i ran into another problem after appending the missing http for the url. What is curious is the url is asked upfront and if one is deploying with terraform it is not known apriori. That is of course another problem.

Problem i have ran into now is:
2016/01/04 20:35:13 Starting build: id=27f80fdd-bd28-4f32-8c35-54e1756921c9 repository=cordoval/convey-test branch=master sha=94caa1f63a1b1c13c6720d683ec4b1b387006fac
reporting err: container returned a non-zero exit code: 1

it freaking works now, ha ha, was just not building the right dockerfile


text:
Add ability to open Tugboat status URL

Right now we show the Tugboat status URL, but you have to copy/paste to a browser to view it. A deploy open command or something to that effect for the most recently displayed URL would be nice.

Could shell out to open on OS X if a flag is provided. In iTerm, you can also Command + Click and it'll open the link.

authors: dustinhorton ejholmes


text:
Refactor associations_spec

The spec/model/associations_spec.rb file has complex test cases and I thought some refactoring would help increase its readability and understanding.
Here you'll find improvements such as:

Rearrange contexts
Remove instance variables in favor of let
Prepare data for contexts in a more isolated manner
Enhance overall readability

@zacharywelch fixes are done.
Thanks for the review!
Let me know if you find anything else :)

repo: remiprev/her


text:
[Bug]: Incorrect documentation for createMemorySessionStorage

Which Remix packages are impacted?

[X] remix (Remix core)
[ ] create-remix
[ ] @remix-run/architect
[ ] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[ ] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
1.1.3
What version of Node are you using? Minimum supported version is 14.
14
Steps to Reproduce
Take a look at https://remix.run/docs/en/v1/api/remix#creatememorysessionstorage.
Expected Behavior
The code example provided should demonstrate usage of the createMemorySessionStorage function.
Actual Behavior
The code example seems to demonstrate usage of the createFileSessionStorage function instead.

Thanks @MirzaFaizan!

repo: remix-run/remix


text:
Unable to get custom error messaging from deferred promises in production

What version of Remix are you using?
1.15.0
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce

Create a loader with a deferred promise that throws an error, with some error messages that you worked so hard to create 😄
In your error element for Await, log out the error with useAsyncError
Test in dev and notice the error messages come through successfully
Test in prod and notice that all error messages are Unexpected Server Error

Expected Behavior
I would expect that there would be a way to send expected error messages from a deferred promise. In non-deferred data, you can throw a response instead of an error to get back custom messaging about errors. Throwing a response in a deferred promise causes useAsyncError to return undefined.
Actual Behavior
The error message is always squashed to Unknown Server Error

This seems to reproduce whenever you throw from within any asynchronous loader function, not just when using useAsyncError. Here is an example repository that reproduces this:
https://stackblitz.com/edit/remix-run-remix-1dbxj8?file=app/routes/_index.tsx
Run npm install && npm run build && npm run start - you will see an empty "Application Error".
Run npm install && npm run dev - you will see the stack trace of the exception.

This seems to reproduce whenever you throw from within any asynchronous loader function, not just when using useAsyncError. Here is an example repository that reproduces this:
https://stackblitz.com/edit/remix-run-remix-1dbxj8?file=app/routes/_index.tsx
Run npm install && npm run build && npm run start - you will see an empty "Application Error".
Run npm install && npm run dev - you will see the stack trace of the exception.

Yeah this is expected behavior. To get an error message across here, you can use an error boundary and throw a response (make sure to use v2 error boundary).
However if you are deferring data, and an error throws in that deferred promise, you cannot follow the same pattern. What you have to do instead is catch the error first, then return an object that specifies whether or or not the deferred promise succeeded. Then you have to branch your rendering logic inside Async to either render the happy path or the expected error. Unexpected errors will still be handled by the errorComponent prop on Async.
Essentially there is no built-in "CatchBoundary" to handle expected errors for deferred data.

@justinwaite This is unrelated to this issue, but a follow up from your comment

Essentially there is no built-in "CatchBoundary" to handle expected errors for deferred data.

I'm migrating to use single fetch. And have a loader that makes an API request that may reject for non 200 responses, say a validation error for example.
Previously I could return this promise using defer and then get the error in my page component using useAsyncValue in the error fallback of Await
Now that defer is deprecated, if I return that promise in a bare object I get an unhandled promise rejection and the server crashes.
Are you saying that we can never allow a promise returned in a loader to reject? As this feels like what the Await component and useAsyncValue hooks are designed to handle.
Do you know of any documentation where this is specified, or examples of projects where this kind of error handling is done?

authors: ahockersten justinwaite thomaswelton


text:
Support TAB autocomplete

The bash shell has an autocompletion plugin mechanism.
Let picocli generate a script that enables autocompletion for an annotated class's options and subcommands.
See http://www.tldp.org/LDP/abs/html/tabexpansion.html
https://blog.heckel.xyz/2015/03/24/bash-completion-with-sub-commands-and-dynamic-options/
https://github.com/syncany/syncany/blob/7a15d5f17e1a894de97f05389aaa133d7c0acd95/gradle/bash/syncany.bash-completion

package picocli;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Generates a bash auto-complete script.
 */
public class AutoComplete {

    public AutoComplete() {
    }

    private static final String HEADER = "" +
            "#!bash\n" +
            "#\n" +
            "# %1$s Bash Completion\n" +
            "# =======================\n" +
            "#\n" +
            "# Bash completion support for %1$s,\n" +
            "# generated by [picocli](http://picocli.info/).\n" +
            "#\n" +
            "# Installation\n" +
            "# ------------\n" +
            "#\n" +
            "# 1. Place it in a `bash-completion.d` folder:\n" +
            "#\n" +
            "#   * /etc/bash-completion.d\n" +
            "#   * /usr/local/etc/bash-completion.d\n" +
            "#   * ~/bash-completion.d\n" +
            "#\n" +
            "# 2. Open new bash, and type `%1$s [TAB][TAB]`\n" +
            "#\n" +
            "# Documentation\n" +
            "# -------------\n" +
            "# The script is called by bash whenever [TAB] or [TAB][TAB] is pressed after\n" +
            "# '%1$s (..)'. By reading entered command line parameters, it determines possible\n" +
            "# bash completions and writes them to the COMPREPLY variable. Bash then\n" +
            "# completes the user input if only one entry is listed in the variable or\n" +
            "# shows the options if more than one is listed in COMPREPLY.\n" +
            "#\n" +
            "# The script first determines the current parameter ($cur), the previous\n" +
            "# parameter ($prev), the first word ($firstword) and the last word ($lastword).\n" +
            "# Using the $firstword variable (= the command) and a giant switch/case,\n" +
            "# completions are written to $complete_words and $complete_options.\n" +
            "#\n" +
            "# If the current user input ($cur) starts with '-', only $command_options are\n" +
            "# displayed/completed, otherwise only $command_words.\n" +
            "#\n" +
            "# References\n" +
            "# ----------\n" +
            "# [1] http://stackoverflow.com/a/12495480/1440785\n" +
            "# [2] http://tiswww.case.edu/php/chet/bash/FAQ\n" +
            "#\n" +
            "\n" +
            "shopt -s progcomp\n" +
            "_%1$s() {\n" +
            "    local cur prev firstword lastword complete_words complete_options\n" +
            "\n" +
            "    # Don't break words at : and =, see [1] and [2]\n" +
            "    COMP_WORDBREAKS=${COMP_WORDBREAKS//[:=]}\n" +
            "\n" +
            "    cur=${COMP_WORDS[COMP_CWORD]}\n" +
            "    prev=${COMP_WORDS[COMP_CWORD-1]}\n" +
            "    firstword=$(_get_firstword)\n" +
            "    lastword=$(_get_lastword)\n" +
            "\n";

    private static final String FOOTER = "\n" +
            "\n" +
            "# Determines the first non-option word of the command line. This is usually the command.\n" +
            "_get_firstword() {\n" +
            "    local firstword i\n" +
            "    firstword=\n" +
            "    for ((i = 1; i < ${#COMP_WORDS[@]}; ++i)); do\n" +
            "        if [[ ${COMP_WORDS[i]} != -* ]]; then\n" +
            "            firstword=${COMP_WORDS[i]}\n" +
            "            break\n" +
            "        fi\n" +
            "    done\n" +
            "    echo $firstword\n" +
            "}\n" +
            "\n" +
            "# Determines the last non-option word of the command line. This is usally a sub-command.\n" +
            "_get_lastword() {\n" +
            "    local lastword i\n" +
            "    lastword=\n" +
            "    for ((i = 1; i < ${#COMP_WORDS[@]}; ++i)); do\n" +
            "        if [[ ${COMP_WORDS[i]} != -* ]] && [[ -n ${COMP_WORDS[i]} ]] && [[ ${COMP_WORDS[i]} != $cur ]]; then\n" +
            "            lastword=${COMP_WORDS[i]}\n" +
            "        fi\n" +
            "    done\n" +
            "    echo $lastword\n" +
            "}\n";

    public String bash(String scriptName, CommandLine commandLine) {
        if (scriptName == null)  { throw new NullPointerException("scriptName"); }
        if (commandLine == null) { throw new NullPointerException("commandLine"); }
        String result = "";
        result += String.format(HEADER, scriptName);
        result += generateAutoComplete("_", commandLine);
        return result + FOOTER;
    }

    private static String generateAutoComplete(String prefix, CommandLine commandLine) {
        Object annotated = commandLine.getCommand();
        List<Field> requiredFields = new ArrayList<Field>();
        Map<String, Field> optionName2Field = new HashMap<String, Field>();
        Map<Character, Field> singleCharOption2Field = new HashMap<Character, Field>();
        List<Field> positionalParameterFields = new ArrayList<Field>();
        Class<?> cls = annotated.getClass();
        while (cls != null) {
            CommandLine.init(cls, requiredFields, optionName2Field, singleCharOption2Field, positionalParameterFields);
            cls = cls.getSuperclass();
        }

        String result = "";
        result += optionDeclaration(prefix, optionName2Field);

        Map<String, CommandLine> commands = commandLine.getSubcommands();
        result += commandListDeclaration(prefix, commands);

        for (Map.Entry<String, CommandLine> entry : commands.entrySet()) {
            result += generateAutoComplete(prefix + entry.getKey() + "_", entry.getValue());
        }
        return result;
    }

    private static String optionDeclaration(String prefix, Map<String, Field> options) {
        if (options.isEmpty()) { return ""; }
        StringBuilder result = new StringBuilder("    ").append(prefix).append("OPTIONS=\"\\\n");
        for (String key : options.keySet()) {
            result.append("        ").append(key).append("\\\n");
        }
        result.setCharAt(result.length() - 2, '\"');
        return result.toString() + "\n";
    }

    private static String commandListDeclaration(String prefix, Map<String, CommandLine> commands) {
        if (commands.isEmpty()) { return ""; }
        StringBuilder result = new StringBuilder("    ").append(prefix).append("COMMANDS=\"\\\n");
        for (String key : commands.keySet()) {
            result.append("        ").append(key).append("\\\n");
        }
        result.setCharAt(result.length() - 2, '\"');
        return result.toString() + "\n";
    }
}

User manual in progress here: https://github.com/remkop/picocli/wiki/Notes-on-autocomplete-(work-in-progress)

Index: src/test/java/picocli/AutoCompleteTest.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/test/java/picocli/AutoCompleteTest.java	(revision )
+++ src/test/java/picocli/AutoCompleteTest.java	(revision )
@@ -15,22 +15,25 @@
  */
 package picocli;

+import org.junit.Test;
+import picocli.CommandLine.Command;
+import picocli.CommandLine.Option;
+
 import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.PrintStream;
 import java.lang.reflect.Field;
 import java.net.InetAddress;
 import java.net.URL;
 import java.util.List;
 import java.util.concurrent.TimeUnit;

-import org.junit.Test;
-
-import picocli.CommandLine.Command;
-import picocli.CommandLine.Option;
-
-import static java.lang.String.format;
+import static java.lang.String.*;
 import static org.junit.Assert.*;

 /**
@@ -142,4 +145,243 @@
         }
         return sb.append("]").toString();
     }
+
+    private static final String AUTO_COMPLETE_APP_USAGE = String.format("" +
+            "Usage: picocli.AutoComplete [-fhw] [-n=<commandName>] [-o=<autoCompleteScript>]%n" +
+            "                            <commandLineFQCN>%n" +
+            "Generates a bash completion script for the specified command class.%n" +
+            "      commandLineFQCN         Fully qualified class name of the annotated%n" +
+            "                                @Command class to generate a completion script%n" +
+            "                                for.%n" +
+            "  -n, --name=<commandName>    Name of the command to create a completion script%n" +
+            "                                for. When omitted, the annotated class @Command%n" +
+            "                                'name' attribute is used. If no @Command 'name'%n" +
+            "                                attribute exists, '<CLASS-SIMPLE-NAME>' (in%n" +
+            "                                lower-case) is used.%n" +
+            "  -o, --completionScript=<autoCompleteScript>%n" +
+            "                              Path of the completion script file to generate.%n" +
+            "                                When omitted, a file named%n" +
+            "                                '<commandName>_completion' is generated in the%n" +
+            "                                current directory.%n" +
+            "  -w, --writeCommandScript    Write a '<commandName>' sample command script to%n" +
+            "                                the same directory as the completion script.%n" +
+            "  -f, --force                 Overwrite existing script files.%n" +
+            "  -h, --help                  Display this help message and quit.%n");
+
+    @Test
+    public void testAutoCompleteAppHelp() throws Exception {
+        PrintStream originalErr = System.err;
+        ByteArrayOutputStream baos = new ByteArrayOutputStream(2500);
+        System.setErr(new PrintStream(baos));
+
+        AutoComplete.main("-h");
+
+        System.setErr(originalErr);
+        String actual = new String(baos.toByteArray(), "UTF8");
+        assertEquals(AUTO_COMPLETE_APP_USAGE, actual);
+    }
+
+    @Test
+    public void testAutoCompleteAppCompletionScriptFileWillNotOverwrite() throws Exception {
+        PrintStream originalErr = System.err;
+        ByteArrayOutputStream baos = new ByteArrayOutputStream(2500);
+        System.setErr(new PrintStream(baos));
+
+        File dir = new File(System.getProperty("java.io.tmpdir"));
+        File completionScript = new File(dir, "App_completion");
+        if (completionScript.exists()) {assertTrue(completionScript.delete());}
+        completionScript.deleteOnExit();
+
+        // create the file
+        FileOutputStream fous = new FileOutputStream(completionScript, false);
+        fous.close();
+
+        AutoComplete.main(String.format("-o=%s", completionScript.getAbsolutePath()), "picocli.AutoComplete$App");
+
+        System.setErr(originalErr);
+        String actual = new String(baos.toByteArray(), "UTF8");
+        //System.out.println(actual);
+
+        String expected = String.format("" +
+                "%s exists. Specify -f to overwrite.%n" +
+                "%s", completionScript.getAbsolutePath(), AUTO_COMPLETE_APP_USAGE);
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testAutoCompleteAppCommandScriptFileWillNotOverwrite() throws Exception {
+        PrintStream originalErr = System.err;
+        ByteArrayOutputStream baos = new ByteArrayOutputStream(2500);
+        System.setErr(new PrintStream(baos));
+
+        File dir = new File(System.getProperty("java.io.tmpdir"));
+        File commandScript = new File(dir, "picocli.AutoComplete");
+        if (commandScript.exists()) {assertTrue(commandScript.delete());}
+        commandScript.deleteOnExit();
+
+        // create the file
+        FileOutputStream fous = new FileOutputStream(commandScript, false);
+        fous.close();
+
+        File completionScript = new File(dir, commandScript.getName() + "_completion");
+        AutoComplete.main("--writeCommandScript", String.format("-o=%s", completionScript.getAbsolutePath()), "picocli.AutoComplete$App");
+
+        System.setErr(originalErr);
+        String actual = new String(baos.toByteArray(), "UTF8");
+        //System.out.println(actual);
+
+        String expected = String.format("" +
+                "%s exists. Specify -f to overwrite.%n" +
+                "%s", commandScript.getAbsolutePath(), AUTO_COMPLETE_APP_USAGE);
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void testAutoCompleteAppBothScriptFilesForceOverwrite() throws Exception {
+        File dir = new File(System.getProperty("java.io.tmpdir"));
+        File commandScript = new File(dir, "picocli.AutoComplete");
+        if (commandScript.exists()) {assertTrue(commandScript.delete());}
+        commandScript.deleteOnExit();
+
+        // create the file
+        FileOutputStream fous1 = new FileOutputStream(commandScript, false);
+        fous1.close();
+
+        File completionScript = new File(dir, commandScript.getName() + "_completion");
+        if (completionScript.exists()) {assertTrue(completionScript.delete());}
+        completionScript.deleteOnExit();
+
+        // create the file
+        FileOutputStream fous2 = new FileOutputStream(completionScript, false);
+        fous2.close();
+
+        AutoComplete.main("--force", "--writeCommandScript", String.format("-o=%s", completionScript.getAbsolutePath()), "picocli.AutoComplete$App");
+
+        byte[] command = readBytes(commandScript);
+        assertEquals(("" +
+                "#!/usr/bin/env bash\n" +
+                "\n" +
+                "LIBS=path/to/libs\n" +
+                "CP=\"${LIBS}/myApp.jar\"\n" +
+                "java -cp \"${CP}\" 'picocli.AutoComplete$App' $@"), new String(command, "UTF8"));
+
+        byte[] completion = readBytes(completionScript);
+
+        String expected = ("" +
+                "#!/usr/bin/env bash\n" +
+                "#\n" +
+                "# picocli.AutoComplete Bash Completion\n" +
+                "# =======================\n" +
+                "#\n" +
+                "# Bash completion support for the `picocli.AutoComplete` command,\n" +
+                "# generated by [picocli](http://picocli.info/) version 1.0.0-SNAPSHOT.\n" +
+                "#\n" +
+                "# Installation\n" +
+                "# ------------\n" +
+                "#\n" +
+                "# 1. Place this file in a `bash-completion.d` folder:\n" +
+                "#\n" +
+                "#   * /etc/bash-completion.d\n" +
+                "#   * /usr/local/etc/bash-completion.d\n" +
+                "#   * ~/bash-completion.d\n" +
+                "#\n" +
+                "# 2. Open a new bash console, and type `picocli.AutoComplete [TAB][TAB]`\n" +
+                "#\n" +
+                "# Documentation\n" +
+                "# -------------\n" +
+                "# The script is called by bash whenever [TAB] or [TAB][TAB] is pressed after\n" +
+                "# 'picocli.AutoComplete (..)'. By reading entered command line parameters,\n" +
+                "# it determines possible bash completions and writes them to the COMPREPLY variable.\n" +
+                "# Bash then completes the user input if only one entry is listed in the variable or\n" +
+                "# shows the options if more than one is listed in COMPREPLY.\n" +
+                "#\n" +
+                "# References\n" +
+                "# ----------\n" +
+                "# [1] http://stackoverflow.com/a/12495480/1440785\n" +
+                "# [2] http://tiswww.case.edu/php/chet/bash/FAQ\n" +
+                "# [3] https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html\n" +
+                "# [4] https://stackoverflow.com/questions/17042057/bash-check-element-in-array-for-elements-in-another-array/17042655#17042655\n" +
+                "# [5] https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html#Programmable-Completion\n" +
+                "#\n" +
+                "\n" +
+                "# Enable programmable completion facilities (see [3])\n" +
+                "shopt -s progcomp\n" +
+                "\n" +
+                "# ArrContains takes two arguments, both of which are the name of arrays.\n" +
+                "# It creates a temporary hash from lArr1 and then checks if all elements of lArr2\n" +
+                "# are in the hashtable.\n" +
+                "#\n" +
+                "# Returns zero (no error) if all elements of the 2nd array are in the 1st array,\n" +
+                "# otherwise returns 1 (error).\n" +
+                "#\n" +
+                "# Modified from [4]\n" +
+                "function ArrContains() {\n" +
+                "  local lArr1 lArr2\n" +
+                "  declare -A tmp\n" +
+                "  eval lArr1=(\"\\\"\\${$1[@]}\\\"\")\n" +
+                "  eval lArr2=(\"\\\"\\${$2[@]}\\\"\")\n" +
+                "  for i in \"${lArr1[@]}\";{ [ -n \"$i\" ] && ((++tmp['$i']));}\n" +
+                "  for i in \"${lArr2[@]}\";{ [ -z \"${tmp[$i]}\" ] && return 1;}\n" +
+                "  return 0\n" +
+                "}\n" +
+                "\n" +
+                "# Bash completion entry point function.\n" +
+                "# _complete_picocli.AutoComplete finds which commands and subcommands have been specified\n" +
+                "# on the command line and delegates to the appropriate function\n" +
+                "# to generate possible options and subcommands for the last specified subcommand.\n" +
+                "function _complete_picocli.AutoComplete() {\n" +
+                "\n" +
+                "\n" +
+                "  # No subcommands were specified; generate completions for the top-level command.\n" +
+                "  _picocli_picocli.AutoComplete; return $?;\n" +
+                "}\n" +
+                "\n" +
+                "# Generates completions for the options and subcommands of the `picocli.AutoComplete` command.\n" +
+                "function _picocli_picocli.AutoComplete() {\n" +
+                "  # Get completion data\n" +
+                "  CURR_WORD=${COMP_WORDS[COMP_CWORD]}\n" +
+                "  PREV_WORD=${COMP_WORDS[COMP_CWORD-1]}\n" +
+                "\n" +
+                "  COMMANDS=\"\"\n" +
+                "  FLAG_OPTS=\"-w --writeCommandScript -f --force -h --help\"\n" +
+                "  ARG_OPTS=\"-n --name -o --completionScript\"\n" +
+                "\n" +
+                "  case ${CURR_WORD} in\n" +
+                "    -o|--completionScript)\n" +
+                "      compopt -o filenames\n" +
+                "      COMPREPLY=( $( compgen -f -- \"\" ) ) # files\n" +
+                "      return $?\n" +
+                "      ;;\n" +
+                "    *)\n" +
+                "      case ${PREV_WORD} in\n" +
+                "        -o|--completionScript)\n" +
+                "          compopt -o filenames\n" +
+                "          COMPREPLY=( $( compgen -f -- $CURR_WORD ) ) # files\n" +
+                "          return $?\n" +
+                "          ;;\n" +
+                "      esac\n" +
+                "  esac\n" +
+                "\n" +
+                "  COMPREPLY=( $(compgen -W \"${FLAG_OPTS} ${ARG_OPTS} ${COMMANDS}\" -- ${CURR_WORD}) )\n" +
+                "}\n" +
+                "\n" +
+                "# Define a completion specification (a compspec) for the\n" +
+                "# `picocli.AutoComplete`, `picocli.AutoComplete.sh`, and `picocli.AutoComplete.bash` commands.\n" +
+                "# Uses the bash `complete` builtin (see [5]) to specify that shell function\n" +
+                "# `_complete_picocli.AutoComplete` is responsible for generating possible completions for the\n" +
+                "# current word on the command line.\n" +
+                "# The `-o default` option means that if the function generated no matches, the\n" +
+                "# default Bash completions and the Readline default filename completions are performed.\n" +
+                "complete -F _complete_picocli.AutoComplete -o default picocli.AutoComplete picocli.AutoComplete.sh picocli.AutoComplete.bash\n");
+        assertEquals(expected, new String(completion, "UTF8"));
+    }
+    private byte[] readBytes(File f) throws IOException {
+        int pos = 0;
+        int len = 0;
+        byte[] buffer = new byte[(int) f.length()];
+        FileInputStream fis = new FileInputStream(f);
+        while ((len = fis.read(buffer, pos, buffer.length - pos)) > 0) { pos += len; }
+        fis.close();
+        return buffer;
+    }
 }

Autocomplete user manual is ready. Closing this ticket.

repo: remkop/picocli


text:
Documentation is inconsistent.

https://picocli.info/#_boolean_options
https://picocli.info/#_toggle_boolean_flags
The section Boolean Options must specify clearly that current value toggling is supported in versions prior to 4.0 only. The behaviour becomes clearer only when the section Toggle Boolean Flags is arrived at.
Additionally, deprecated example code needs to be updated.

Thanks for pointing this out. I’ll improve the docs. Can you point me to specific deprecated examples?

I updated the Boolean Options section of the user manual. Is this sufficient? (Also please let me know which deprecated example code needs updating.)

Thank you very much, Remko.
I would have preferred it if you had mentioned that since 4.0, the
behaviour is to toggle the default value as against the current value in
prior versions.
I seem to have been looking at an earlier version of the documentation for
the examples. I had a couple of warnings about using deprecated methods.
With respect to using Graal, what's the best way to do it if I'm using just
the jars from Maven and not the installed version?
https://github.com/Fernal73/LearnJava/tree/master/Picocli

@Fernal73 I updated the boolean options section to clarify further. I hope this is better.
(I did not realize you edited your comment, sorry - I only get email once for the original comment - but regarding your question on the default provider, please see PropertiesDefaultProvider in picocli-examples. (I know this duplicates our other thread in the https://github.com/remkop/picocli/issues/542 ticket, but I did not want to leave your question unanswered here - we can discuss further in #542)).

@Fernal73 Any further changes needed in the documentation for Boolean Options or elsewhere, or can we close this ticket? (We can always open up another one if something else comes up.)

I've closed the issue. Parenthesising all the 'Prior to 4.0' statements would be best.


text:
Issue with IDs in seq index

Expected: No Error
Code:
x[x[id(x[2])]] = 10#

Error Message:
Line 3, Token 11: Invalid Delimiter for Symbol ')', '[]]', expected ['+', '-', '*', '/', '%', '<', '>', '!', '=', '!', '|', '&', ',', ' ', '#', ')', '}', '{', ':']

added ] to delims


text:
ValueError: Matrix type arff.COO not supported.

Prof. Renato Pereira,
Tudo bem?
Eu me chamo Tiago e estou cursando especialização em IA no IESB, aqui em Brasília.
Na matéria machine learning, conduzida pela profa. Letícia, tive o desafio de replicar o algoritmo Naives Bayes da base credit-g.arff do Weka para o Python.
Para cumprir esse desafio, encontrei o módulo https://pythonhosted.org/liac-arff/#, elaborado e gentilmente publicado por você.
No entanto, me deparei com esse pequeno percalço ao utilizá-lo com google collab:

Então, resolvi pedir seu apoio para entender como posso superar esse desafio utilizando a estrutura de dados arff.
Caso venha ser preciso, também me ofereço para colaborar na implementação de uma possível solução.
Att.
Tiago Rocha de Almeida

The parameter is not expected as a string. Remove the quotes around arff.COO

I just adjusted to arff.DENSE whithout quotes around so the error magically disappeared. I really thank you, @jnothman .

authors: jnothman tiagorochadealmeida

repo: renatopp/liac-arff


text:
ProjectAsset should delete the asset property when it is an empty object

Also some assets can ProjectAsset.writeAssetData(undefined), this case should be handled as well

Possibly related to #586

repo: rendajs/Renda


text:
Disable codecov review comments

Not sure how to configure codecov to disable them, but they're kinda distracting tbh.
Coverage can still be checked by clicking the status entry from the ci run.
The status entry also shows coverage percentage so it shouldn't be too difficult to spot missing tests.

I think this should do it:
github_checks:
  annotations: false

https://docs.codecov.com/docs/codecovyml-reference#github_checks-github-users-only

Actually scratch this, you can toggle them using the a key.


text:
[enhancement] exec shell in pod and interact with it

I'd love to integrate php-k8s in a Symfony CLI and automatically exec within a pod with bash and interact with bash.
Currently there seems no way to accomplish this, as the websocket is automatically closed by php-k8s.

I suppose this should work only for terminal-based apps written in PHP? 😅

I think it would work better with Socket.IO and a native Node.js application. I mean it's possible to do that in PHP, but it would break the use case of PHP. 😬


text:
New BLE chipset help

Hello I’m John Schuster one of the co-founders of Circuit Cubes.
We had to make a rolling change to the BLE chipset as the supplier wasn’t able to meet production.
If possible I could send you a couple of the new Bluetooth Cubes to see if you can find a way to update your code.
Let me know and what a cool app you created !!
Best!
John Schuster
john@circuitcubes.com

Dear John,
I am happy that you like this project! If there is any chance new chipset is able to work with WebBluetooth interface I would be happy to check it out and modify the code.
Best regards
Dominik

authors: John-Schuster repkovsky

repo: repkovsky/CircuitCubesRemote


text:
Fixing typo

finializing -> finalizing

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant jdewinne

repo: replicatedhq/kots


text:
Fix/ handle long pvc names

instead of putting the original PVC name into a label, we write it to an
annotation
also, PVC name are no longer truncated at 63 chars, as they can be up to 253
long (DNS name)
finally, instead the migration's pod name is prefixed with migrate- and
truncated to a max total length of 63 chars (as pod name should typically
not be longer than 63 chars)

closes #155 #171

also, I noticed that the baseAnnotation=sourcePvcName isn't actually used when swapping off the PVCs after migration.
please let me know if I missed the usage for this annotation, but I think we can change it from a label to an annotation without trouble.
also, here's a log of a migration for a PVC with a 253 chars long name:

pvmigrate_log.txt
./pvmigrate -source-sc nfs -dest-sc nfs -skip-preflight-validation -namespace=cjmnuss
Running pvmigrate build:
version=(devel)
sha=
time=

Found 1 StorageClass:
nfs

Migrating data from nfs to nfs
PV pvc-641fbe2b-3e2a-49ba-a58b-06090f6e1c3b does not match source SC nfs, not migrating

Found 1 matching PVCs to migrate across 1 namespaces:
namespace: pvc:                                                                                pv:                                      size:
cjmnuss    super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate pvc-2e452efe-9733-4f56-8861-9fecc9f9038d 1Gi
cjmnuss    super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042 1Gi

Creating new PVCs to migrate data to using the nfs StorageClass
created new PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglononglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate-pvcmigrate with size 1Gi in cjmnuss
found existing PVC with name super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate, not creating new one

Found 1 matching pods to migrate across 1 namespaces:
namespace: pod:
cjmnuss    test-deploy-attached-to-super-long-pvc-with-a-name-63-charv547h

Scaling down StatefulSets and Deployments with matching PVCs
scaling Deployment test-deploy-attached-to-super-long-pvc-with-a-name-63-char-long-659898f79f from 1 to 0 in cjmnuss

Waiting for pods with mounted PVCs to be cleaned up
Found pod test-deploy-attached-to-super-long-pvc-with-a-name-63-charv547h in cjmnuss mounting to-be-migrated PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong, waiting
All pods removed successfully

Copying data from nfs PVCs to nfs PVCs
Copying data from super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate (pvc-2e452efe-9733-4f56-8861-9fecc9f9038d) to super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglononglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate-pvcmigrate in cjmnuss
Determining the node to migrate PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate on
Creating pvc migrator pod on node
waiting for pod migrate--super-long-pvc-253-chaglonglonglonglonglong-pvcmigrate to start in cjmnuss
migrating PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate:
.done!
finished migrating PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate
Copying data from super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong (pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042) to super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss
Determining the node to migrate PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong on
Creating pvc migrator pod on node abcd.domain.ch
waiting for pod migrate--super-long-pvc-253-chalonglonglonglonglonglonglonglong to start in cjmnuss
migrating PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong:
..done!
finished migrating PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong

Swapping PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss to the new StorageClass
Marking original PV pvc-2e452efe-9733-4f56-8861-9fecc9f9038d as to-be-retained
Marking migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb as to-be-retained
Deleting original PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss to free up the name
Deleting migrated-to PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglononglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate-pvcmigrate in cjmnuss to release the PV
Waiting for original PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss to finish deleting
Waiting for migrated-to PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglononglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate-pvcmigrate in cjmnuss to finish deleting
Removing claimref from original PV pvc-2e452efe-9733-4f56-8861-9fecc9f9038d
Removing claimref from migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb
Creating new PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate with migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb
Resetting migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb reclaim policy
Got conflict updating PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb, waiting 5s to retry
Deleting original, now redundant, PV pvc-2e452efe-9733-4f56-8861-9fecc9f9038d
Successfully migrated PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss from PV pvc-2e452efe-9733-4f56-8861-9fecc9f9038d to pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb

Swapping PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong in cjmnuss to the new StorageClass
Marking original PV pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042 as to-be-retained
Marking migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb as to-be-retained
Deleting original PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong in cjmnuss to free up the name
Deleting migrated-to PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss to release the PV
Waiting for original PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong in cjmnuss to finish deleting
Waiting for migrated-to PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonnglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-pvcmigrate in cjmnuss to finish deleting
Removing claimref from original PV pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042
Removing claimref from migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb
Creating new PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong with migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb
Resetting migrated-to PV pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb reclaim policy
Deleting original, now redundant, PV pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042
Successfully migrated PVC super-long-pvc-253-chars-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong in cjmnuss from PV pvc-ead5ef1d-5b07-4152-8e63-b3469f8ab042 to pvc-3e2be7e1-fa9b-4d32-90f5-5a553a5104bb

Scaling back StatefulSets and Deployments with matching PVCs
scaling Deployment test-deploy-attached-to-super-long-pvc-with-a-name-63-char-long from 0 to 1 in cjmnuss

Success!

I'm sorry for leaving this open for so long! I'm taking a look now

Thank you for the PR @clementnuss !

authors: clementnuss laverya

repo: replicatedhq/pvmigrate


text:
Could not resolve "@codemirror/fold"

The @codemirror/fold dependency is not listed as a peer dependency but is required to use this extension.
node_modules/@replit/codemirror-vim/dist/index.js:7:25:
  7 │ import { foldCode } from '@codemirror/fold';

Good catch, thanks! Fixed in https://github.com/replit/codemirror-vim/commit/988669a192473d5464aa9e78513f5c6ef8f32f2d

authors: sergeichestakov voraciousdev

repo: replit/codemirror-vim