feat: Translate markdown files to English

Translated all markdown files (code_of_conduct.md, contributing.md, SECURITY.md, README.md) to English
Checked for formatting consistency after translation

I've translated the markdown files to English to make the project more accessible to a wider audience. By providing English translations, we can better reach and engage with English-speaking users, potentially increasing the project's impact and contribution.
Could you please create an 'English' branch and merge my changes into it? This will ensure that the translated files are separated from the main branch, maintaining clarity and organization.
Thank you for considering my request!


Update default size in UserPrefs.java

Coverage remained the same at 71.675% when pulling 226a740b29957610f0559622632400d84d13c587 on Kratious:releases into 839a50c49b4dbd87a9f51c6d8d610c3c22cec00f on CS2103-AY1819S1-W16-2:master.


[BUG]In the latest versions rich "Title" without color

rich v 13.0.1  Title is painted over, see screenshot
rich v13.9.4r Title unpainted, see screenshot
OS GNU/Linux and OS Windows
from rich.console import Console
from rich.panel import Panel
from rich.style import Style
import os

console = Console()
console.print(Panel(str(os.environ), title='[bold white]Title[/bold white]', style=Style(color="white", bgcolor="blue")))

Title should be like on the first screen (white on blue), in the second case (updated rich) white on dark (bug?)

console.print(Panel(str(os.environ), title='[white on blue]Title[/white on blue]', style=Style(color="white", bgcolor="blue")))
Filling the title with a separate color does not solve the problem (it is also not completely filled).

Correct result (1 screen, completely painted over header). Workaround is to use rich v 13.0.1.
Is there a fix planned?


claims: Fix label to include namespace

What this PR does / why we need it:
Currently the label has only the owning VM name.
It means that when removing finalizer, we will remove the finalizer from ipam claims with the same owning VM name across all namespaces, which is wrong.
Fix it by adding namespace to the ownedBy label.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

None

Alternative is to add the namespace to the list options

I wonder how can we add e2e tests for this entire finalizer effort. We should sync tomorrow about that.

I am continuing the finalizer effort on https://github.com/kubevirt/ipam-extensions/pull/40
there are known issues with finalizers, so i believe it should be handle once it is fixed one way or another

Alternative is to add the namespace to the list options but when having it part of the label, it adds small info to whoever looks on the label manually fwiw

@maiqueb
wdyt ?

failure here, rerunning, lets see if due to this PR or not (will check locally according needs as well)
https://github.com/kubevirt/ipam-extensions/actions/runs/9852423425/job/27200946613?pr=41

used list filterting, lets see if it works this way, it is also simpler

All passed now,
ptal

Makes sense to me.
Would it / does it make sense to add a failing test first ?

I think it is too corner case that doesnt worth it,
i.e if the code had that in first place one wouldnt consider adding this specific cross talk test

btw when you are fine with the PR, please also /approve
as tide requires it
Thanks

/approve


Update Divers Education's home page layout

The group went with layout B
?layout=a

?layout=b

layout=c

 Add logo to "Featured Jobs" block


Make subordinate package bbop-widget-set play better with others

As part of the repackaging shifting that occurred in #317, the core widgets sets moved from legacy bbop-js/bbopx-js to a subordinate versioned package in the amigo repo.
amigo builds/compiles fine like this, using the package.json and browserify; but there may be issues with others using the npm bbop-widget-set package for their own applications outside the amigo context.
This ticket is intended to provide and or fix the package setup for the npm version of bbop-widget-set so that others can re-use the amigo/bbop widgets without too much trouble.

First setup will be using the package in another app and seeing is anything goes south when require/browserify/etc. ing.

To clarify, the issues mostly see to arise due to...interesting choices made by the jquery/jquery-ui people in a stand against CommonJS and NPM. This may be better in more recent versions, but that's what this ticket it trying to figure out.

Until somebody (including us) hits a wall, I can't justify keeping this open as a release blocker, especially as fixes in master would not affect AmiGO.


ChromiumExtensionSample not work

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.15
Wrapper Library
Not Applicable
Wrapper Library Version
None
Description
raise
Uncaught (in promise) BrowserAuthError: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.
in
msal-browser.min.js:547
msal-browser.min.js is include in ChromiumExtensionSample
Error Message
No response
Msal Logs
No response
MSAL Configuration
auth: {
    authority: "https://login.microsoftonline.com/consumers/",
    clientId: "",
    redirectUri,
    postLogoutRedirectUri: redirectUri,
  },
  cache: {
    cacheLocation: "localStorage",
  },

Relevant Code Snippets
async function acquireToken(request) {
  return msalInstance.acquireTokenSilent(request).catch(async (error) => {
    console.log(error);
    const acquireTokenUrl = await getAcquireTokenUrl(request);

    return launchWebAuthFlow(acquireTokenUrl);
  });
}

Reproduction Steps
just follow sample readme, and reproducted
Expected Behavior
no error log like readme discription.
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
Chrome
Regression
No response
Source
Internal (Microsoft)

Hi @dacapoday,
This is an error caused by calling an interaction API; which in this case is loginRedirect here; whilst another interaction API has not been resolved, you can find more information on this error here.
The sample does not prevent this from happening and we will need to design the code flow to prevent that. In any case, you should design your own application to prevent a scenario where multiple interaction API calls can be executed simultaneously.


HCAP-1257: footer links

https://freshworks.atlassian.net/browse/HCAP-1257
Just adding a few links for the footer

@taraepp we can add them as part of HCAP-1259 once we implement footer across the application. For now, this PR is just to unblock 1245


Magnetic bearing/actuator model

I am opening this issue to implement the model of a magnetic bearing/actuator.

PR #506 closes this issue.


CRD deletion is stuck with no reason

Describe the bug
CRD deletion is stuck with no reason
To Reproduce
Download new ibm-spectrum-scale-csi-operator-dev.yaml image from john's check-in
[root@kubespray1 ~]# wget https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/1ce3f67ce1efaa2d05408c8f845526686119f321/generated/installer/ibm-spectrum-scale-csi-operator-dev.yaml

Created namespace for driver installation

[root@kubespray1 ~]# oc apply -f  k8s/namespace.yaml
namespace/ibm-spectrum-scale-csi-driver created

Applied Operator deployment yaml file

[root@kubespray1 ~]# oc apply -f ibm-spectrum-scale-csi-operator-dev.yaml
deployment.apps/ibm-spectrum-scale-csi-operator created
clusterrole.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator created
clusterrolebinding.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator created
serviceaccount/ibm-spectrum-scale-csi-operator created
customresourcedefinition.apiextensions.k8s.io/csiscaleoperators.csi.ibm.com created

Verified CRD is create and deployment is running

[root@kubespray1 ~]# oc get crds|grep csi
csiscaleoperators.csi.ibm.com                    2020-02-25T12:18:49Z
[root@kubespray1 ~]# oc get pods -n ibm-spectrum-scale-csi-driver
NAME                                               READY   STATUS    RESTARTS   AGE
ibm-spectrum-scale-csi-operator-5f9f6c797c-fhnwc   2/2     Running   0          32s

Tried to delete but no response
[root@kubespray1 k8s]# kubectl delete crd csiscaleoperators.csi.ibm.com
customresourcedefinition.apiextensions.k8s.io "csiscaleoperators.csi.ibm.com" deleted

^C

[root@kubespray1 ~]# oc describe  crds csiscaleoperators.csi.ibm.com
.
.
Status:
  Accepted Names:
    Kind:       CSIScaleOperator
    List Kind:  CSIScaleOperatorList
    Plural:     csiscaleoperators
    Singular:   csiscaleoperator
  Conditions:
    Last Transition Time:  2020-02-27T06:13:17Z
    Message:               no conflicts found
    Reason:                NoConflicts
    Status:                True
    Type:                  NamesAccepted
    Last Transition Time:  <nil>
    Message:               the initial names have been accepted
    Reason:                InitialNamesAccepted
    Status:                True
    Type:                  Established
    Last Transition Time:  2020-02-27T07:39:38Z
    Message:               CustomResource deletion is in progress
    Reason:                InstanceDeletionInProgress
    Status:                True
    Type:                  Terminating
  Stored Versions:
    v1
Events:  <none>

[root@kubespray1 ~]# date --utc
Tue Feb 25 12:28:07 UTC 2020

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Waited for almost 8 mins >
Expected behavior
CRD should be deleted in no time
Environment
NAME         STATUS   ROLES    AGE    VERSION
kubespray1   Ready    master   246d   v1.14.3
kubespray2   Ready       246d   v1.14.3
kubespray3   Ready       246d   v1.14.3
Additional context
Not sure what logs are required to debug this case.

Later state of the CRD :
[root@kubespray1 ~]# kubectl describe crd csiscaleoperators.csi.ibm.com
.
.
Status:
Accepted Names:
Kind:       CSIScaleOperator
List Kind:  CSIScaleOperatorList
Plural:     csiscaleoperators
Singular:   csiscaleoperator
Conditions:
Last Transition Time:  2020-02-27T06:13:17Z
Message:               no conflicts found
Reason:                NoConflicts
Status:                True
Type:                  NamesAccepted
Last Transition Time:
Message:               the initial names have been accepted
Reason:                InitialNamesAccepted
Status:                True
Type:                  Established
Last Transition Time:  2020-02-27T07:39:38Z
Message:               could not confirm zero CustomResources remaining: timed out waiting for the condition
Reason:                InstanceDeletionCheck
Status:                True
Type:                  Terminating
Stored Versions:
v1
Events:

You should actually be deleting the deployment first, not the CRD. This is actually something we hit in the scorecard: https://github.com/operator-framework/operator-sdk/issues/2094.
Basically if you delete the CRD first it  causes a ton of problems  in removing an operator with a finalizer (which we need for account bindings, and pod management).
The way I remove everything is as follows:
kubectl delete csiscaleoperators --all -n <namespace>
kubectl delete -f deploy/operator.yaml
kubectl delete -f deploy/role.yaml
kubectl delete -f deploy/service_account.yaml
kubectl delete -f deploy/role_binding.yaml
kubectl delete -f deploy/crds/csiscaleoperators.csi.ibm.com.crd.yaml
kubectl delete -f deploy/namespace.yaml

Based one more debugging, we found that there was one csiscaleoperators instance stuck with below error.
kubectl get csiscaleoperators -n  abhishek    ibm-spectrum-scale-csi -o yaml
apiVersion: csi.ibm.com/v1
kind: CSIScaleOperator
metadata:
creationTimestamp: "2020-02-25T11:09:59Z"
deletionGracePeriodSeconds: 0
deletionTimestamp: "2020-02-25T11:11:00Z"
finalizers:

finalizer.csiscaleoperators.csi.ibm.com
generation: 3
labels:
app.kubernetes.io/instance: ibm-spectrum-scale-csi-operator
app.kubernetes.io/managed-by: ibm-spectrum-scale-csi-operator
app.kubernetes.io/name: ibm-spectrum-scale-csi-operator
name: ibm-spectrum-scale-csi
namespace: abhishek
resourceVersion: "38222291"
selfLink: /apis/csi.ibm.com/v1/namespaces/abhishek/csiscaleoperators/ibm-spectrum-scale-csi
uid: 5cfdcbe5-57bf-11ea-8af7-525400af16b7
spec:
clusters:
id: "709351379920172263"
primary:
primaryFs: gpfs0
primaryFset: csifset
restApi:

guiHost: kubespray4
secrets: guisecret
secureSslMode: false
scaleHostpath: /ibm/gpfs0
trigger: "1"
status:
conditions:

ansibleResult:
changed: 0
completion: 2020-02-25T11:10:43.688645
failures: 1
ok: 19
skipped: 8
lastTransitionTime: "2020-02-25T11:10:44Z"
message: 'Failed to retrieve requested object: b''{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"clusterroles.rbac.authorization.k8s.io
\"ibm-spectrum-scale-csi-attacher\" is forbidden: User \"system:serviceaccount:abhishek:ibm-spectrum-scale-csi-operator\"
cannot get resource \"clusterroles\" in API group \"rbac.authorization.k8s.io\"
at the cluster scope","reason":"Forbidden","details":{"name":"ibm-spectrum-scale-csi-attacher","group":"rbac.authorization.k8s.io","kind":"clusterroles"},"code":403}\n'''
reason: Failed
status: "False"
type: Failure
lastTransitionTime: "2020-02-25T11:11:00Z"
message: Running reconciliation
reason: Running
status: "True"
type: Running

This was an issue with the environment, I forgot to copy my conversations.

The namespace was forcibly  deleted:
[root@kubespray1 ~]# kubectl edit -n abhishek CSIScaleOperator
error: csiscaleoperators.csi.ibm.com "ibm-spectrum-scale-csi" could not be found on the server
The edits you made on deleted resources have been saved to "/tmp/kubectl-edit-k1qxe.yaml"

This was the work around:
kubectl create namespace abhishek
# Delete finalizer
kubectl edit   -n  abhishek csiscaleoperator ibm-spectrum-scale-csi
kubectl  delete namespace abhishek

This was likely an issue of user automation leaving artifacts, and the  artifacts weren't properly cleaned.

Thanks John for your help in debugging the issue.While I will keep this issue open for either occurrence.

Did we have any more recreates of this?

We can close this issue for now.


Start Script Generator

Didn't know what to name this issue, feel free to change it
The start script generator doesn't use the recommended values for >=12GB of RAM
-XX:G1NewSizePercent=40
-XX:G1MaxNewSizePercent=50
-XX:G1HeapRegionSize=16M
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=20

source  Aikar's blog: If you are using an Xmx value greater than 12G

I believe the 12G+ tweaks are not recommended for modern Minecraft versions as they cause more GC issues than they solve, so that's why they're not used nor mentioned on the Aikar's flags page


Improve performance of the ArrayAssignmentRestictions sniff

If no groups of keys to look for are registered, it will remove itself
from listening to the rest of the file. Previously it would keep
getting called for each token in the file it sniffs for, even though
there were no checks to be performed. It did bail early, but now it
will only get called once per file with no groups registered.
We also remove the sniff from the VIP ruleset. This further improves
performance by keeping the sniff from being run at all. This may seem
like a strange thing to do, but this sniff actually does nothing by
itself. It is extended by some other sniffs, and should probably have
been abstract (but changing it now would not be backward compatible).
Even though the sniff is no longer part of the default configuration,
the performance improvements to the sniff itself are still useful, for
people who may have (unnecessarily) included it in custom
configurations.
The possibility of custom configurations specifying this sniff is
another reason not to make it abstract. Perhaps we should consider
moving it’s code to the base WordPress_Sniff and deprecating it in
future.

Related: #344
#reviewmerge


Trade>Mercenary Trader doesn't work (e1.4.0/dev)

(Personal)
+15 to party size(Active)

Should work as from v0.1.0-rc9


[pictograms] same picto being called for two tiles on website

The same artwork is being shown for two different pictograms on the Pictogram Library page. https://www.carbondesignsystem.com/guidelines/pictograms/library

They seem to be correct in the repo, just need to update it on our website. Should be:

Still seems to be an issue

Closing, this has been fixed.


IE8 problem

Hi.
I've installed this plugin but with ie8 crashes when you try to insert a comment.
Exactly it's shown a new windows saying "Body's comment can't be in blank" and I have to repeat the comment again.
Internet Explorer 8
JIRA 4.1.2
Plugin version 1.3.1
Thanks.

It's a bit rude of me to comment on this almost a year after it was first raised, but I am finally getting around to tackling some issues.  The short answer is IE is not supported, sorry.


Lengthy indexing times. 3 days?

Describe the bug
The indexing takes very long time.
To Reproduce

Upload/post 30,000 documents.
Convert to Ubuntu server.
Wait and wait days...
Previously, it took ~1.666 (1 day, 15 hours) days. Now it's 3 days+ and it's still indexing.

Expected behavior
Indexing should take less than 1 day.

Desktop (please complete the following information):
Windows 10
Browser: Firefox 80b1, Chrome (latest)
Smartphone (please complete the following information):
N/A
Additional context
Why is my indexing taking so long?

As I said in the previous chat, you're trying to index full-text documents. That's not normally our use-case. We normally index JSON documents under 10Kb. It would be better to turn it into JSON (as explained in our previous conversation).
However, most of them are over 10Kb and some are over 500Kb. To help with this, we should split the files into smaller 10Kb files.

I did. I split up the text into multiple Json paragraphs. Should I split it further?


Fixing the user feedback part of the README

The user feedback section wasn't particularly helpful or containing the correct links, so I've tidied it up.

LGTM.


When configured Query node is unavailable, queries fail

Splicer should be able to failover to another configured query node at random, it may be better to use a service discovery method now that OpenTSDB can support this.
https://github.com/inst-tech/opentsdb-discoveryplugins


Windows local source module bootstrapping

When running on windows, if you have the config:
components:
- name: ct-tf
  source: ../ct-tf
  version: 0.1.0
  integrations:
  - commercetools

and run mach apply, this generates the site.tf with
module "ct-tf" {
  source            = "C:\xxx\xxx\MachComposer\ct-tf"

which raises the exception:
Generated file deployments\main\mach-composer-test\site.tf
╷
│ Error: Invalid escape sequence
│
│   on site.tf line 99, in module "ct-tf":
│   99:   source            = "C:\xxx\xxx\MachComposer\ct-tf"
│
│ The symbol "x" is not a valid escape sequence selector.

If I manually edit site.tf and adjust the source path to be e.g.
source            = "C:\\xxx\\xxx\\MachComposer\\ct-tf"

Then it can be installed ok using normal terraform apply.

Hi @boro2g what happens if you replace the backslashes with forward slashes?

Sure, do you have instructions for how to run it off a different branch?

Will be fixed in the new version (2.4.0), to be released asap


Could you provide correct code for chapter Initialize DB with test data. Even if it tagged with NET6, code isnt correct

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3ad06677-5842-c1aa-153f-7993a9660dfa
Version Independent ID: 8daf79df-eac4-358b-e6f0-6def45bd54da
Content: Tutorial: Get started with EF Core in an ASP.NET MVC web app
Content Source: aspnetcore/data/ef-mvc/intro.md
Product: aspnet-core
Technology: aspnetcore-data
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Hi @messenja. The work to update this to 6.0 is being tracked in #13920.


Bulk Removal of 'ms.service'

Bulk Removal of 'ms.service' from Beta and v1.0 docs.

Work already completed.


Show legend in gridmatrix

Hi,
I am wondering if in the following example it is possible to have a single legend with the species outside the grid
import numpy as np
import holoviews as hv
hv.extension('bokeh')
from bokeh.sampledata.iris import flowers
from holoviews.operation import gridmatrix
ds = hv.Dataset(flowers)
grouped_by_species = ds.groupby('species', container_type=hv.NdOverlay)
grid = gridmatrix(grouped_by_species, diagonal_type=hv.Scatter)

philippjfr shared this a while back in the gitter channel
import numpy as np
import holoviews as hv
hv.extension('bokeh')
from bokeh.sampledata.iris import flowers
from holoviews.operation import gridmatrix
ds = hv.Dataset(flowers)
grouped_by_species = ds.groupby('species', container_type=hv.NdOverlay)
grid = gridmatrix(grouped_by_species, diagonal_type=hv.Scatter)

legend = grid[('petal_length', 'sepal_width')].options(
    xaxis=None, yaxis=None, legend_position='top_left', show_frame=False, width=150
).map(lambda x: x.iloc[:0], hv.Scatter)

grid + legend

Thanks @ahuang11, I think adding a plot option to do this on GridSpace/GridMatrix would make sense.


Find files by pattern match instead of concrete entries

When developing packages with multiple elements, it would be beneficial if the plugin would pick up the custom element files automatically by providing a pattern list so that there would be no need to modify the Vite configuration whenever a new element is added or the existing ones get refactored into different locations.
I see this achieved easily by adding a dependency to glob and using it to provide a file list.
Alternatively, fs could list the files and match them with regexp patterns. Optimally by using the basepath within the patterns.

Hello @adaliszk
I appreciate your interest in this plugin. I'm agree that incorporating this feature would be a valuable addition. I plan to implement it when I have an opportunity.

Hello @adaliszk
I just release the v0.5.0 of the plugin, which allow you to use pattern !

Thank you @EmilienLeroy!


[DRAFT] DNM Shepherd fix flakiness

Issue:

Problem

Solution

Testing

Engineering Testing
Manual Testing

Automated Testing

Test types added/modified:

Unit
Integration (Go Framework)
Integration (v2prov Framework)
Validation (Go Framework)
Other - Explain: EXPLAIN
None
REMOVE NOT APPLICABLE BULLET POINTS ABOVE

If "None" - Reason: EXPLAIN THE REASON

If "None" - GH Issue/PR: LINK TO GH ISSUE/PR TO ADD TESTS

Summary: TODO
QA Testing Considerations

Regressions Considerations

TODO
Existing / newly added automated tests that provide evidence there are no regressions:

TODO

@igomez06 why was this closed?
my team was waiting on this to merge one of our issues. Is there another PR somewhere I can track that fixes the same flaky test?

This was a debug PR as well to narrow down the flakiness of the Steve tests. Turns out it's a rancher issue, written here:
https://github.com/rancher/rancher/issues/46391


Add polyfill for IE11 (to support promises)

A polyfill will add a lot of bloat so maybe we should do multiple builds. One without the polyfill and one with.
For users who have a build step in their project, they might already have a polyfill being applied, so even if those users are building for IE11, they could use the slimmer modern build of this project.
Dan pointed me to this https://github.com/stefanpenner/es6-promise

Also look into whether webpack can target ie11, perhaps with a plugin. It would be nice to only shim Promises instead of all IE11 features if possible. https://stackoverflow.com/a/53026817

https://github.com/jwillinghalpern/fm-gofer/commit/c1ab32e30a23737681efcf320e6f087366f81936


[1.19.2] BUG: Useless Biome/Super Useless Ore

Useless Biome/Mobs not generating and Super Useless Ore not generating in world

Super-Useless Ore now generates as of version 6.1.0 for 1.19.2.
The Useless Biome does not generate, that's right - might change in the future but not now


Update Posts “a-post-with-code-samples”

Automatically generated by Netlify CMS

👷 Deploy Preview for thunderous-brigadeiros-23902d processing.

Name
Link

🔨 Latest commit
4638a8e42616891e05b1e38bad17da9e5daef19e

🔍 Latest deploy log
https://app.netlify.com/sites/thunderous-brigadeiros-23902d/deploys/632af55865dcf700097f82d6


interest_over_time generate one of two possible results randomly

The interest_over_time function randomly generates one of two possible results, and both seem plausible, but when compared to the official website, only one is correct.
How can I resolve this issue? I use it through proxy ip.
I don't know why?
thank you!

interest_over_time's results:
For example
Result 1: (with a certain probability)
date,环境保护,环保,污染,绿色,雾霾
2018-01-01,0,0,0,0,0
2018-01-02,0,0,0,79,0
2018-01-03,0,0,0,0,0
2018-01-04,0,0,0,70,0
2018-01-05,0,97,0,0,0
.....
Result 2: (with a certain probability)
date,环境保护,环保,污染,绿色,雾霾
2018-01-01,0,0,0,0,0
2018-01-02,0,0,0,0,0
2018-01-03,0,0,0,0,0
2018-01-04,0,0,0,0,0
2018-01-05,0,0,0,0,0
2018-01-06,0,0,0,0,0
2018-01-07,0,0,0,0,0
2018-01-08,0,0,0,0,0
2018-01-09,0,0,0,0,0
2018-01-10,0,0,0,0,0
2018-01-11,0,0,0,0,0
2018-01-12,0,0,0,0,0
2018-01-13,0,0,0,0,0
2018-01-14,0,0,0,0,0
2018-01-15,0,0,0,0,0
2018-01-16,0,0,0,0,0
2018-01-17,0,0,0,0,0
2018-01-18,0,0,0,0,0
2018-01-19,0,0,0,0,0
2018-01-20,0,0,0,0,0
2018-01-21,0,0,0,0,0
2018-01-22,0,0,0,0,0
2018-01-23,0,0,0,0,0
2018-01-24,0,0,0,0,0
2018-01-25,0,0,0,0,0
2018-01-26,0,0,0,0,0
2018-01-27,0,0,0,0,0
2018-01-28,0,0,0,0,0
2018-01-29,0,0,0,0,0
2018-01-30,0,0,0,0,0
2018-01-31,0,0,0,0,0
2018-02-01,0,0,0,67,0
...
when compared to the official website,only result 1 is right.

The behavior you're seeing is actually normal for Google Trends, especially with short timeframes. Even on the official Google Trends website, if you repeatedly search for the same term with short timeframes (like "Past 7 days"), you'll notice that the data values can be slightly different between requests. It's not an issue with the library or proxies - it's how Google Trends itself works.

Got it ,thanks a lot!


Bug/parent dashboard compliation fix

Description
After pulling down the code base and running npm start. The application failed to compile due to error - ./src/index.js Module not found: Can't resolve './components/pages/ParentHome/ParentDashboard'.  Fixed bug because ParentDashboard was not removed from src/index.js when ParentHome change was made.
Fixes # (ParentDashboard compilation error)
Co-Author: @ShanaeL29
Loom Video
Please paste a link here of a quick loom video walking through what you did in your PR .
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[x] I have made corresponding changes to the documentation if necessary (optional)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

Closing this PR, as the changes made to fix the parentDashboard.js issue had been made on the same day and pushed to main - all engineers and reviewers have been granted story points regardless!


Resolved #88, bumping to 0.13.0

See issue #88 notes.

There are two build errors in this branch. Need to resolve before pushing a container. Since this PR only contained a config file update, there must have been a breaking change in the TypeScript 5.1.3 update.
$ npm run build

><EMAIL_ADDRESS>build
> npx tsc

src/lib/OpenAI/CreateChatCompletion/CreateChatCompletion.ts:62:13 - error TS2322: Type 'string | undefined' is not assignable to type 'string'.
  Type 'undefined' is not assignable to type 'string'.

62             content: responseMessage.content,
               ~~~~~~~

  src/lib/OpenAI/CreateChatCompletion/CreateChatCompletionPayloadMessageConfiguration.ts:7:3
    7   content: string,
        ~~~~~~~
    The expected type comes from property 'content' which is declared here on type 'CreateChatCompletionPayloadMessageConfiguration'

Found 1 error in src/lib/OpenAI/CreateChatCompletion/CreateChatCompletion.ts:62

Updated type guard on CreateChatCompletion.ts line 60. Build succeeds now.


1、Added new spinner_popup_max_height attribute and property

Added new spinner_popup_max_height attribute and property

Hey @wxw-9527, overall looks good to me :)
But before merging this, please run the command below:
./gradlew apiDump

Thank you!

The reason for submitting is that I need to use this attribute in my project. Thank you.

OK, I'm very sorry.


⚠ DDL Service has degraded performance

In af59657, DDL Service (https://dl.culturecloud.gq) experienced degraded performance:

HTTP code: 525
Response time: 5475 ms

Resolved: DDL Service performance has improved in ea7ec24.


Parallel Bootstrap

Description of the change
Run the bootstrap script on different threads in parallel:
- apm installation runs in parallel to installing script/ dependencies
- using JOBS env variable node-gyp is parallelized
Benefits
Running this on a computer with multiple cores gives a good speedup.
Even in the CI with a processor with only 2 cores.
For example, on Linux, the bootstrap time is reduced from 7:30 to 3:41, which is 203% faster (2X).
Verification
The CI passes. This is tested locally as well.
Release Notes

Faster bootstrapping by using parallelization

Closes https://github.com/atom/atom/pull/21315

Overall, I disagree with the need for threading in the first place. Theoretically, there is no significant difference between this and just running the installer child processes in async.

Here the code runs outside of Node (chil_process), so you should not expect performance difference between multi-threading and async. The benefit of using threads is that you will have cleaner code while having the top performance.
Comparing this to your async PR:

If you look at the code diff in the following, this is totally visible. You are doubling the amount of code that needs to be maintained.

You have literally copy-pasted code twice just to support both Sync and Async. This doubles the amount of code that we need to maintain, and we should constantly be careful to keep both codes in sync with each other.

Multi-threaded bootstrap
(by ignoring 70 lines of code which are for package-lock.json):
+85
-22

Async change bootstrap:

Perhaps this approach could be shown to be appropriate for the build function

That PR is awaiting merging this. This PR includes script-runner which is directly used in the build.

I can rename the script-runner folder to something more general such as script-packages. This folder can be used for all the other lib files to install npm packages.

Thanks for the PR!
That would definitely be a useful addition to our build process. However, it is not something that is within the scope that we have envisioned for Atom. We are not planning to make any major improvements to our build process for the time being. We are focused on fixing user-facing bugs. For that reason, I'm going to close this.
Thanks again for contributing to Atom :+1:


Apply max to numeric field as I type

Describe the bug

Using an input field and setting max value to this numeric input to 1000, the max value applies only when the blur event is triggered, not as I type the value..

Add a link to a codepen, jsfiddle or other example page which shows the problem
https://jsfiddle.net/Luja13e5/
OS:
Any OS
Browser
Chrome 79
Inputmask version
4.0.9

@Herz3h ,
Can you try the behavior of version 5
https://jsfiddle.net/fynt24g5/

It kinda works, if I type 123,00 then try to add any number after 3 it won't allow me.
Ideally it should round to the max value when input is beyond max value :)
Also, is there any upgrade path to v5 ?

@Herz3h ,
I can add an option for that behavior.
For the upgrade path, ... best is to have a look at the changelog.  But most masks should work as before.

Would be neat !
Ok I'll check the changelog, ty for this awesome plugin :)


feat(gui): Quick Tabs Overhaul

[x] (internal) Decentralize Tabs Controlling code to a seperate TabsController class. (*1)
[x] Add Open Tabs parent node in Quick Tabs that allows users to view tabs that are open
[x] Add Bookmarked Tabs parent node in Quick Tabs that allows users to bookmark tabs and keep a reference even when the tab is closed

Unchecked tasks are WIP

(*1) This change is a must. Previously, TabbedPane was the only class interacting with tabs. So it was fine that all the code that controls tabs was found there. However now, that we are adding QuickTabsTree, (and why not other components), it no longer makes sense that QuickTabsTree needs to communicate with TabbedPane in order to manage the tabs. Counter example ? There may be tabs which are not open in TabbedPane but are present in QuickTabsTree, like bookmarked tabs. So if we would keep using old code, we'd have to store in TabbedPane a seperate reference to tabs that are present but not open, which would transform the code into a mess. I hope you understood the point.
Now TabsController hold a "generic reference" to each tab, and TabbedPane holds a "component reference".

Before

Now

Affected issues

closes #1448
closes #1078

Icons from https://intellij-icons.jetbrains.design

One more thing.
I notice that on reload (or close jadx-gui and open project again) tabs order changes.
To reproduce, move any tab to other position and press reload action (from toolbar or F5) and tabs will reorder.
Not sure, maybe that was broken before this commit, but as soon as we change saving code here it is better to use actual tabs order on project save.

@skylot all ready

Hm, not sure why we need to save index to restore order, is just saving/reading tabs list in correct order not working?

Hm, not sure why we need to save index to restore order, is just saving/reading tabs list in correct order not working?

TabsController now holds the generic reference to each TabBlueprint through a Map<JNode, TabBlueprint>, I avoided saving the tabs in the TabbedPane order because

it would require a callback to TabbedPane before saving tabs that reorders TabBlueprint and saves them back, and we would need filtering for tabs that are hidden
we would anyway use the same procedure (store index) if we wanted to also preserve order for QuickTabs and allow reordering later on

But maybe we can just consider the order of TabbedPane to be the "default" order, ok I'll implement it by saving/reading tabs list in correct order

@skylot please see commit https://github.com/skylot/jadx/pull/2241/commits/6ca79d48de6665fe32f0e40f905713406ade9940. I implemented saving/reading tabs list in correct order

OK, I think we can merge it now.
Although, here is a small list of thing for future improvements:

There are still a lot of calls using TabbedPane instead TabsController. Like in MainWindow we call method in TabbedPane next it calls TabsController, and it calls TabbedPane again :rofl:. This is confusing and not follow architecture you draw :sob:
It feels like onTabsReorder method implementation has very high complexity (like 2*n^2) and can take a lot of time for lots of tabs and bookmarks, so it is better to optimize it. And in general feels like that we are very often iterating over lists in search of one element, maybe some additional map will help.
Please do not use ArrayList as a variable type, it is considered a bad practice in Java. I think checkstyle has rule for that (this), I will enable it and fix all such places.

Although, here is a small list of thing for future improvements

All noted. I'll open a new PR in the near future


[REQUEST] Support for Alternative GraphRAG Implementation (e.g., LightRAG) Instead of Microsoft GraphRAG

Reference Issues
No response
Summary
Thank you for this fantastic project! As a newcomer to GraphRAG, I’ve learned so much from your work, and I truly appreciate the effort you’ve put into it.
I have a request: I’d like to use an alternative GraphRAG implementation (such as light RAG, as it has a lower token consumption compared to Microsoft GraphRAG). Could you please let me know which files I would need to modify to make this change? Additionally, it would be incredibly helpful if you could include instructions for this in the developer guide.
Thank you so much for your time and support;)!!!
Basic Example
Use an alternative GraphRAG implementation (e.g., light RAG)
Drawbacks
It might require a lot of work, like needing to change a bunch of code.
Additional information
No response

Hi @EvelynBai thanks for the suggestion.
Please check this similar request #243 first. We are planning to integrate nano-graphrag implementation which also is the back-end of LightRAG. However, if you can contribute PRs, it would be great.
The implementation of GraphRAG can be found at https://github.com/Cinnamon/kotaemon/blob/main/libs/ktem/ktem/index/file/graph/pipelines.py.

Thank you!! I'll try❤

Closed https://github.com/Cinnamon/kotaemon/releases/tag/v0.7.4


[RESOLVED] High ICMP ping response time

Problem started at 08:26:14 on 2023.05.02
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Operational data: Value: 562ms
Original problem ID: 20198
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23132&eventid=20198

Problem has been resolved in 9m 0s at 08:35:14 on 2023.05.02
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Original problem ID: 20198


operator [R] kubero-operator (0.0.84 0.0.98)

Signed-off-by: Gianni Carafa<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions
N/A
Updates to existing Operators

[x] Did you create a ci.yaml file according to the update instructions?
[x] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

I'm trying to remove old versions. But the tests are still looking for the deleted operator versions
time="2023-01-23T12:18:25Z" level=error msg="permissive mode disabled" bundles="[quay.io/operatorhubio/kubero-operator:v0.0.84 quay.io/operatorhubio/kubero-operator:v0.0.96 quay.io/operatorhubio/kubero-operator:v0.0.97 kind-registry:5000/test-operator/kubero-operator:v0.0.98]" error="Invalid bundle kubero-operator.v0.0.98, replaces nonexistent bundle kubero-operator.v0.0.82"

@mvalarh I'm a bit stuck here. What do I need to do to remove some of the old versions?

@mms-gianni Let me check tomorrow morning

/merge possible


Subscription: Updates on each setValue

For quite a few usecases (e.g. heartbeat signals) it is essential that the update messages to a subscription are sent each time the corresponding datapoint is set (irrespective of whether the value changes or not). Currently this is by default the case with target values (which is also not good for applications which need to triggered only on change of values).
Suggestion: Add an optional flag during subscription request to figure out if the subscribing application needs the information when set(Target)Value is called or only when the value changes.

I agree with the problem description.
So I see two distinct observations here.
Values

Suggestion: Add an optional flag during subscription request to figure out if the subscribing application needs the information when set(Target)Value is called or only when the value changes.

This can make sense. But, a related question is whether this is something that should be decided by the client, or if this is an inherent property of the signal/datapoint. If it is an inherent property of the signal, subscribing to it should always behave in accordance with that.
The VHAL implementation in Android has decided that this is an inherent property of the signal, and this is also how the implementation works internally in databroker. If a signal/datapoint is ChangeType::OnChange it will send notifications only when the signal/datapoint changes. If it is ChangeType::Continous, it will send notifications periodically* (regardless of whether the value changes).
Firstly, this information is not part of VSS though. But since VSS supports adding additional metadata to signals, the only thing missing is adding support for reading this extended metadata in databroker. Right now, it defaults to ChangeType::OnChange as you've noticed, (maybe that's the wrong default).
The second part is that a client should be able to supply a preferred update frequency when subscribing to ChangeType::Continuous type of signals, as to not introduce more load to the client or system than necessary.
This "solution" might seem more complicated than just letting the client decide. But another way to look at it, is that this is metadata (just as specifying the data type) that is needed in order to implement correctly behaving providers of these signals. And in a sense, also correctly behaving clients.
Target values

update messages to a subscription are sent each time [...] (irrespective of whether the value changes or not) [...] is by default the case with target values (which is also not good for applications which need to triggered only on change of values).

Setting a target value is distinct from setting a value. It is more akin to calling a function implemented by an actuator provider. If the provider is not available at the time of the call, it will not be notified. Calling the same "function" again, with the same value, when the provider is available should notify the provider even if the target value doesn't change. Because of that, I think it makes sense to send a notification every time (regardless of what the previous target value was). It might make sense to avoid this notification if the target value doesn't differ from the current value, though.
With that said, the whole mechanism around notifying an actuator provider might be reworked in order to enable the provider to respond to these requests (and propagate the response to the caller), see #560.
(*) Currently, every time the value is set.

It might still be useful to be able to subscribe to datapoints of type OnChange::Continous based on when their value actually changes. So maybe a solution in line with what is suggested

Suggestion: Add an optional flag during subscription request to figure out if the subscribing application needs the information when set(Target)Value is called or only when the value changes.

would be:

Change the default type to OnChange::Continous (interim solution).
Add an option (filter) to the subscription method that specifies that a notification should only be sent when the value actually changes.

My 2cts
Maybe "OnChange::Continuous" is a better "default, as it migth increase load, but you would never "loose" anything, and it may be less "unexptected
If the plumbing would already be there, how hard would it be, for databroker, upon parsing the VSS JSON checking for a field x-signal-type that is either "CONTINOUS" or "ON_CHANGE" and set it accordingly (or default back to Continous if nothing is there).
This ability would help a lot in deployment I think, i,e,

The OP has an overlay with a "heartbeat signal", i.e. he needs to create is VSS tree for databroker anyway, and might just add x-signal-type: Continuous to his overlay, and no matter how the default is, everything will work as expected

We could do the same in our DBC Feeder example: The config is an overlay anyway, so e.g. for DoorStates we could just say x-signal-type: "ON-CHANGE"`, So just loading that VSS config to databroker would make things be "efficient" again

I agree with John's elaboration about the difference between (current) values and target values.
To achieve what Naresh proposed and in parallel reducing load by avoiding unnecessary notifications, there could be two different parameters on provider side:

Maximum update frequency (could alternatively also be "minimum update interval"): This is the maximum frequency a provider will update the signal (if it the value changes)
Minimum update frequency (or maximum interval between updates): This is the minimum frequency a signal is "updated"/"send out" even if there is no change. This would serve as "heart beat", i.e. if this update is missing the broker (or its clients) could assume, the signal is currently not provided any longer.

We are about to archive this repo soon. If you consider this issue as important please file a new issue at one of the new Kuksa repos at https://github.com/eclipse-kuksa


BUILD FAILED on ios simulator (on macbook pro)

see the flutter doctor, everything is ok.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.15 19A583, locale zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
[✓] Android Studio (version 3.2)
[✓] VS Code (version 1.39.0)
[✓] Connected device (1 available)

See "flutter run":
flutter run
Launching lib/main.dart on iPhone 8 in debug mode...
Running Xcode build...
Xcode build done.                                            1.6s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    While building module 'Foundation' imported from /Users/ruanjiyang/AndroidStudioProjects/learn_flutter/ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m:1:
    In file included from <module-includes>:1:
    In file included from
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Found
    ation.h:10:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArr
    ay.h:109:12: error: attributes may not be specified on a category
    @interface NSArray<ObjectType> (NSArrayDiffing)
               ^
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArr
    ay.h:196:12: error: attributes may not be specified on a category
    @interface NSMutableArray<ObjectType> (NSMutableArrayDiffing)
               ^
    While building module 'Foundation' imported from /Users/ruanjiyang/AndroidStudioProjects/learn_flutter/ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m:1:
    In file included from <module-includes>:1:
    In file included from
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Found
    ation.h:48:
    In file included from
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSKey
    ValueCoding.h:8:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSOrd
    eredSet.h:112:12: error: attributes may not be specified on a category
    @interface NSOrderedSet<ObjectType> (NSOrderedSetDiffing)
               ^
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSOrd
    eredSet.h:187:12: error: attributes may not be specified on a category
    @interface NSMutableOrderedSet<ObjectType> (NSMutableOrderedSetDiffing)
               ^
    4 errors generated.
    /Users/ruanjiyang/AndroidStudioProjects/learn_flutter/ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m:1:9: fatal error: could not build module 'Foundation'
    #import <Foundation/Foundation.h>
     ~~~~~~~^
    5 errors generated.
    note: Using new build systemnote: Planning buildnote: Constructing build description

Could not build the application for the simulator.
Error launching application on iPhone 8.

How to solve it? thanks very much in advance.

@ruanjiyang,
You can try changing XCode workspace's build setting to Legacy and give it a try. Open Xcode, Go to File menu at the top and click on "Workspace settings" and change "Build System" to "Legacy Build System".
Also make sure you have Simulator installed, which you can check from command line as below:
xcrun simctl list devices available

@ketanm
thanks for your comments, I will try your suggestion today.
And I have solved my above issues by run "conda deactivate" to exist the Anaconda enviroment.  I don't know why, but after I exited the Python anaconda enviroment, then I can run "flutter run" on IOS simulator without any problem.   Very strange.

You can try changing XCode workspace's build setting to Legacy and give it a try. Open Xcode, Go to File menu at the top and click on "Workspace settings" and change "Build System" to "Legacy Build System".

@ketanm Please don't advise people to turn on Legacy Build System.  It's deprecated by Xcode and will cause more and different issues.  It should never be necessary.   See https://github.com/flutter/flutter/issues/20685#issuecomment-542322890

@jmagman Agree. Thanks for reminding.

Xcode build done.                                           30.7s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'Foundation' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIK
it.h:8:
In file included from :1:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/Foundation.h:10:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSArray.h:109:12: error: attributes may not be specified on a category
@interface NSArray (NSArrayDiffing)
^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSArray.h:196:12: error: attributes may not be specified on a category
@interface NSMutableArray (NSMutableArrayDiffing)
^
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'Foundation' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIK
it.h:8:
In file included from :1:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/Foundation.h:48:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSKeyValueCoding.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSOrderedSet.h:112:12: error: attributes may not be specified on a category
@interface NSOrderedSet (NSOrderedSetDiffing)
^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSOrderedSet.h:187:12: error: attributes may not be specified on a category
@interface NSMutableOrderedSet (NSMutableOrderedSetDiffing)
^
4 errors generated.
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
In file included from :1:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIK
it.h:8:9: fatal error: could not build module 'Foundation'
#import <Foundation/Foundation.h>
~~~~~~~^
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'QuartzCore' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIV
iew.h:10:
In file included from :1:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/QuartzCore.h:9:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/CoreAnimation.h:10:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/CATransform3D.h:12:9: fatal error: could not build module 'Foundation'
#import <Foundation/NSValue.h>
~~~~~~~^
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'QuartzCore' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIV
iew.h:10:
While building module 'OpenGLES' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/CAEAGLLayer.h:7:
In file included from :1:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/OpenGLES.framework/Headers/
EAGLDrawable.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/OpenGLES.framework/Headers/
EAGL.h:8:10: fatal error: could not build module 'Foundation'
#include <Foundation/Foundation.h>
~~~~~~~~^
1 error generated.
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'QuartzCore' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIV
iew.h:10:
While building module 'Metal' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/CAMetalLayer.h:7:
In file included from :1:
In file included from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Metal.framework/Headers/Met
al.h:9:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL
Types.h:8:9: fatal error: could not build module 'Foundation'
#import <Foundation/Foundation.h>
~~~~~~~^
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'QuartzCore' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIV
iew.h:10:
While building module 'Metal' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/QuartzCore.framework/Header
s/CAMetalLayer.h:7:
While building module 'IOSurface' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL
Texture.h:15:
In file included from :3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/IOSurface.framework/Headers
/IOSurfaceObjC.h:15:9: fatal error: could not build module 'Foundation'
#import <Foundation/Foundation.h>
~~~~~~~^
1 error generated.
2 errors generated.
4 errors generated.
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'CoreImage' imported from
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIC
olor.h:13:
In file included from :1:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/CoreImage.framework/Headers
/CoreImage.h:9:9: fatal error: could not build module 'Foundation'
#import <Foundation/Foundation.h>
~~~~~~~^
While building module 'Flutter' imported from /Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Runner/GeneratedPluginRegistrant.h:8:
While building module 'UIKit' imported from
/Users/shaileshmishra/Documents/contentstack/workspace/flutter/isage/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h:8:
While building module 'CoreImage' imported from

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk/System/Library/Frameworks/Foundation.framework/Header
s/NSArray.h:109:12: error: attributes may not be specified on a category
@interface NSArray (NSArrayDiffing)

Categories do support attributes, plus that's in Foundation...

What's the output of xcrun clang --version?
Does ios/Runner.xcworkspace build in Xcode?

And I have solved my above issues by run "conda deactivate" to exist the Anaconda enviroment.
Same here, "conda deactivate" did the trick.

Same here, "conda deactivate" did the trick

Same here - "conda deactivate"


3.0 architecture revamp/9456/language model featurizer2

Proposed changes:

Adapted LanguageModelFeaturizer according to https://github.com/RasaHQ/rasa/issues/9456

Status (please check what you already did):

[x] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

@ka-bu do you have capacity to review? I tagged you because I wanted to make sure I correctly used your featurizer classes 😁

Looks like some of my tests are failing. The ones I'm able to run locally on my machine are passing. I'll look into the CI ones.

Is it possible to run the code quality checks locally?

Is it possible to run the code quality checks locally?

yep, you can run: make formatter, make types, make lint (cf. Makefile in main folder)

Okay I think I addressed all of your comments @wochinge and @ka-bu 🙂

already on it 🏃🏻

🚀


fix: child builders with non generic parents

[x] Added or updated tests
[x] Documented user facing changes

Changes
Closes #1952
Hello!
This PR updates the EloquentBuilderForwardsCallsExtension to continue iterating up the builder parents to find the active model template instead of just checking the immediate parent.
Thanks!
Breaking changes
N/A

The e2e failure is unrelated, I'll try to open a PR to fix later tonight

Thank you!


FFI module cleanup

The modules in src/ffi have become a bit out-of-date, and also quite disorganised so it's kinda hard to figure out what's missing.
Since Python 3.9 the cpython include files have been split so that (roughly) the limited api is in cpython/Include/ and the unlimited api is in cpython/Include/cpython/. I propose for simplicity in maintaining the pyo3::ffi module we should reorganise code to match that structure.
I suggest that we do the following things:

[ ] reorganise ffi/mod.rs to be alphabetical and have // skipped foo.h comments for each header present in cpython master which is not present in our bindings at the moment.
[ ] add ffi/cpython/mod.rs to contain the unlimited api headers, and do the same as with ffi/mod.rs.
[ ] for each file in ffi/, reorganise the definitions in it appropriately into ffi and ffi/cpython parts which match the cpython master definitions. This should include:

Put the existing definitions in the same order as upstream cpython.
Either:

Add // skipped foo for each definition foo we don't currently have in our definitions.
Add new definition for each we don't currently have in our definitions.

The idea with each // skipped foo being in alphabetical order is that it's then hopefully easier for us to compare against upstream in the future.
With the new cpython folder for the unlimited api, it might be reduce a lot of #[cfg(Py_LIMITED_API)] chatter as we'll only need that once on the mod cpython definition.
Also, it could be interesting to not have pub use self::cpython::* in ffi/mod.rs, so that users are forced to use unlimited api symbols as ffi::cpython::foo. But that's probably quite breaking, so I can go either way on it.
Perhaps in general the above guidelines of how to organise our ffi modules should go in CONTRIBUTING.md ?

I've started implementing this, and ran into a question:
Do we want to mark the Py_DEPRECATED functions in any way? I'm not sure whether this is useful or desired in PyO3, but this would be a convenient time to do it.

@nw0 thanks so much for being willing to help us out! In response to your questions:

With Py_DEPRECATED functions I think:

any we currently have ffi bindings for, we should add #[deprecated()] also.
any that we are missing, let's skip adding.

With #ifndef Py_LIMITED_API inside the cpython/Include/*.h headers - that's quite suprising as I thought that those headers are only #include-d if it's not Py_LIMITED_API. I guess we'll have to match anything that cpython does with those definitions. If you want to file upstream PRs against cpython, the whole ecosystem will be extremely grateful for you helping us to keep things tidy!

P.S. I can imagine that this whole ffi cleanup will be quite a big PR. For ease of reviewing, and maybe also so that I and others can join in with the cleanup effort, I would suggest you open PRs with just a few files in it at a time; that way we can merge things as we go.
Again, thank you so much! ❤

A number of the comments read:
needs adjustment for Python 3.3 and 3.5

https://github.com/PyO3/pyo3/blob/3f093d9e59df0140f6c3a0abbb6acaa439687b7f/src/ffi/mod.rs#L143
As we don't support Python 3.5 any longer (let alone 3.3), shall I remove those?

I was thinking of removing those comments and appreciate your help. 👍🏼

I've been exploring the code under src/ffi, and also the CPython header files. I have a question.
I noticed that sometimes the #defines from the C header files are implemented in src/ffi, and sometimes they aren't. And sometimes if they are implemented, then they're not being used anywhere.
The typedefs are mostly implemented. If not, they are commented as skipped.
My question is, what's the thought process behind what should and shouldn't be added to the FFI? I'm mostly confused by the #defines. The typedefs are pretty clear to me.
I am a complete beginner to rust, so apologies if I may have missed something obvious.

Great question. In general we need to include all the #defines from the C header files in src/ffi. As they're C macros they won't be exported in the libpython symbol table; instead we would to re-implement them.
The code in src/ffi is for the whole ecosystem, not just PyO3 - so even if the PyO3 crate doesn't use them, downstream crates might. (Once day I hope to have good test coverage of all of src/ffi, but I think that's a long way off.)

Thanks! I guess implementing the structs would be a good way to get started. And if they use any macros or other constant #defines, then I include that as well. The other macros that are not being used might be hard to test. So I'll skip those. Any thoughts?

Sounds great! If you're looking for examples to refer back to, this series of PRs by @nw0 which has been some prior work in this area are excellent: https://github.com/PyO3/pyo3/pulls?q=is%3Apr+author%3Anw0+is%3Aclosed

Still exploring the FFI code slowly. I have a few more questions. Would appreciate some pointers.

Some functions are implemented as unsafe.
https://github.com/PyO3/pyo3/blob/b3659692cd9fb894ba2b79df252bdd9115179091/src/ffi/datetime.rs#L235-L237
And some are not unsafe.
https://github.com/PyO3/pyo3/blob/b3659692cd9fb894ba2b79df252bdd9115179091/src/ffi/datetime.rs#L317-L324
What's the thought process behind that? I have two guesses - (1) C macros are implemented as unsafe in rust, or (2) the functions which use pyobject are unsafe. Or is it something that I have completely missed?

Why are these functions inside Option? Is it simply because they're function pointers?
https://github.com/PyO3/pyo3/blob/b3659692cd9fb894ba2b79df252bdd9115179091/src/ffi/pymem.rs#L39-L47

Some functions are implemented as unsafe. [...] And some are not unsafe.

So in general all of these ffi methods are unsafe to use, for two main reasons:

They deal in raw pointers
They assume that the GIL is acquired

The functions you note in your second example are actually still unsafe, because they're inside an extern "C" block. The Rust compiler assumes all functions implemented in C are unsafe 😄

Why are these functions inside Option? Is it simply because they're function pointers?

Precisely - function pointers in C are nullable, however Rust's fn () is not. Note that this is quite important to get right - I've written bugs in the past where I forgot to wrap in Option. This allowed the optimizer to assume that the value could never be null, which led to some nasty UB!

Here is something I wish I knew when I first started here and hope sharing here will help new contributor start more easily.

For PyPy, you can check the link name with nm -D ${PYPY_INSTALL_BASE}/lib/libpypy3-c.so | grep 'Pyxxxxx'
And add the link name corresponding to what you find in nm. It is usually something like PyPyxxxxx
Example:

nm -D $PYPY_INSTALL_BASE/lib/libpypy3-c.so | grep PyDict_New
#<PHONE_NUMBER>8ef450 T PyPyDict_New

extern "C" {
    #[cfg_attr(PyPy, link_name = "PyPyDict_New")]
    pub fn PyDict_New() -> *mut PyObject;
}

For macro in C, we usually rewrite this as a #[inline] function
Only add #[cfg_attr(windows, link(name = "pythonXY"))] to pub static mut Pyxxxx_Type declaration


Are “Cucumber Expressions” supported ?

I couldn't find any references to them, in documentation, examples or even implementation code.
For the record, Cucumber Expressions are the usual way to write step definitions in most languages, it's slightly less powerful than Regex but much more readable.
For example consider:

I have {float} cucumbers in my belly

vs

I have ([+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)) cucumbers in my belly

(Float regex matcher taken from Stackoverflow)

I do not believe so. Might be something for someone to investigate. 😄

@ilslv what do you think? I think this can be fully done on proc macro layer by simply translating cucumber expresion into regex during macro expansion. We don't even need to touch type machinery here.

That would be the sanest way to do it.

The proposed syntax may be #[then(expr = "I have {float} cucumbers in my belly")]

@tyranron sounds like the way to do it.
I propose adding support for Parameter types and leaving custom parameters for already existing FromStr feature.
So Kotlin's example
@ParameterType("red|blue|yellow")   // regexp
fun color(color: String): Color {   // name (from method), type
    return Color(color)             // transformer function
}

will be implemented as follows:
#[then(expr = "I have {string} eyes")]
fn eyes_color(w: &mut World, color: Color) {
    // ...
}

enum Color {
    // ...
}

impl FromStr for Color {
    // ...
}

Quoted from https://github.com/cucumber-rs/cucumber/pull/157#issuecomment-976457187
For custom parameters I propose something like this
enum Animal {
    Cat,
    Dog,
    Ferris,
}

impl FromStr for Animal {
    type Err = &'static str;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        match s {
            "cat" => Ok(Self::Cat),
            "dog" => Ok(Self::Dog),
            "🦀" => Ok(Self::Ferris),
            _ => Err("expected 'cat', 'dog' or '🦀'"),
        }
    }
}

impl CustomParameter for Animal {
    const NAME = "animal";
    const REGEX = "cat|dog|🦀";
}

#[then(expr = "the {animal} is not hungry")]
async fn cat_is_fed(world: &mut AnimalWorld, animal: Animal) {
    sleep(Duration::from_secs(2)).await;

    match animal {
        Animal::Cat => assert!(!world.cat.hungry),
        Animal::Dog => assert!(!world.dog.hungry),
        Animal::Ferris => assert!(!world.ferris.hungry),
    };
}

With that we can validate that parameter name is right with const assertion. And to validate regex we can even use clippy lint : Playground.
Also, as we have exact type, we can use deref-based specialisation to fallback on default parameter name in our const assertion.
UPD:
Clippy lint will require our users to run it over tests codebase, which is rarely done. If we want to avoid this, we'll have to implement CustomParameter with our own derive macro, as I don't think there is another way of validating regex at compile time.

@ilslv well, in code it would be nice to have something like this:
#[derive(cucumber::CustomParameter)]
#[parameter(regex = "cat|dog|🦀")] // `name = ` is optional,
enum Animal {                      // by default we may use `lowercased(ty.ident)`
    Cat,
    Dog,
    Ferris,
}

impl FromStr for Animal {
    type Err = &'static str;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        match s {
            "cat" => Ok(Self::Cat),
            "dog" => Ok(Self::Dog),
            "🦀" => Ok(Self::Ferris),
            _ => Err("expected 'cat', 'dog' or '🦀'"),
        }
    }
}

Regarding Regex validation, I guess we may not bother about validating the whole Regex during proc macro expansion. A Regex is a constructive thing, so as long as we have valid sub-parts, building the whole part will be valid to. And we can vaidate all the sub-parts during proc-macro expansion this way:

We check Animal::REGEX when expand #[derive(cucumber::CustomParameter)].
When expand #[then(expr = "the {animal} is not hungry")] we substitute {animal} with \{animal\} for Regex and validate it as a Regex.
But in the generatedcode will construct a &'static str (or something similar) by const-concatenating "the (" + Animal::REGEX + ")  is not hungry".
Finally, the whole concatenated thing we will feed into Regex::new() should never fail, as all the sub-parts were validated to be correct.

So, when we expand expr = ... we should check, whether it contains non-default params, and if yes, apply all the described above and the machinery you've menitioned.
This way we have compile-time guarantees and cheks, while preserving obvious and ergonomic API for users.
Do I miss something?

@tyranron pretty much yes, but I would change couple of things:

We validate Animal::REGEX when expand #[derive(cucumber::Parameter)].

In addition to validating we should check that regex doesn't contain capture groups itself. Because in case it is, those capture groups will be mapped onto the next step function argument.

When expand #[then(expr = "the {animal} is not hungry")] we substitute {animal} with \{animal\} for Regex and validate it as a Regex.

Or we can just create cucumber_expressions::ParameterProvider which will return "()" on every parameter name, except defaults.
Also we should const assert that animal is equals to the Animal::NAME. But here we have 2 options: fail in case some default parameter name like {word} is supplied to the Animal or allow that to happen. I think it's better to fail at compile time as there is special regex for it. And vice versa: in case argument struct doesn't implement Provider, only FromStr, it should accept any of the default parameter names.

@ilslv

In addition to validating we should check that regex doesn't contain capture groups itself. Because in case it is, those capture groups will be mapped onto the next step function argument.

Seems reasonable. But we still should allow (?: ) groups as they allow express things, and be accurate with escaping (\( allowed, while \\( is not, and so forth).
Another way is just silently transform ( ) into (?: ) so they won't capture anything and don't bother user at all about such nitpicks.

Or we can just create cucumber_expressions::ParameterProvider which will return "()" on every parameter name, except defaults.

As a simplest way to do so - yes. But I proposed that way with a better errors redability in mind, if it applies though.

Also we should const assert that animal is equals to the Animal::NAME. But here we have 2 options: fail in case some default parameter name like {word} is supplied to the Animal or allow that to happen. I think it's better to fail at compile time as there is special regex for it. And vice versa: in case argument struct doesn't implement Provider, only FromStr, it should accept any of the default parameter names.

If we allow it to happen, it just won't work soundly. Having a {word} parameter we cannot now inside proc macro whether we should substitute it with Animal::REGEX or not, just because we cannot know whether Animal impls cucumber::Parameter. So, a hard distinction between default and custom-defined parameters is the only sound way here.

With merging #168 now is fully implemented and will be released in 0.11.


Unable to start SWV/SWO trace export on nrf52840-dk (JLink OB)

When I try to start swv for the  nrf52840-dk  I get the following error:
pyocd gdbserver --target nrf52840 -S -Oswv_clock=4000000 -O swv_system_clock=32000000 -Oenable_swv=true -vvvv
<snip>
0001039 I Target type is nrf52840 [board]
0001148 D Running task load_svd [sequencer]
0001148 D Running task pre_connect [sequencer]
0001148 D Running task dp_init [sequencer]
0001148 D Running task lock_probe [sequencer]
0001148 D Running task get_probe_capabilities [sequencer]
0001149 D Running task connect [sequencer]
0001153 D Default wire protocol selected; using SWD [dap]
0001155 I DP IDR = 0x2ba01477 (v1 rev2) [dap]
0001155 D Running task clear_sticky_err [sequencer]
0001155 D Running task power_up_debug [sequencer]
0001158 D Running task check_version [sequencer]
0001158 D Running task unlock_probe [sequencer]
0001158 D Running task create_discoverer [sequencer]
0001158 D Running task discovery [sequencer]
0001158 D Running task find_aps [sequencer]
0001168 D Running task create_aps [sequencer]
0001168 D Running task create_ap.0 [sequencer]
0001171 I AHB-AP#0 IDR = 0x24770011 (AHB-AP var1 rev2) [ap]
0001188 D AHB-AP#0 default HPROT=3 HNONSEC=0 [ap]
0001205 D AHB-AP#0 implemented HPROT=3 HNONSEC=0 [ap]
0001237 D Running task create_ap.1 [sequencer]
0001238 I AP#1 IDR = 0x02880000 (AP var0 rev0) [ap]
0001238 D Running task check_ctrl_ap_idr [sequencer]
0001238 D CTRL-AP version 0 [target_nRF52]
0001238 D Running task check_flash_security [sequencer]
0001239 I NRF52840 not in secure state [target_nRF52]
0001239 D Running task find_components [sequencer]
0001239 D Running task init_ap.0 [sequencer]
0001244 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=244 part=008) [rom_table]
0001249 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=00c> [rom_table]
0001253 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0001256 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=003> [rom_table]
0001259 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0001263 I [4]<e0040000:TPIU M4 class=9 designer=43b:Arm part=9a1 devtype=11 archid=0000 devid=ca1:0:0> [rom_table]
0001268 I [5]<e0041000:ETM M4 class=9 designer=43b:Arm part=925 devtype=13 archid=0000 devid=0:0:0> [rom_table]
0001268 D Running task create_cores [sequencer]
0001268 D Creating SCS component [discovery]
0001268 D selected core #0 [soc_target]
0001269 I CPU core #0 is Cortex-M4 r0p1 [cortex_m]
0001270 I FPU present: FPv4-SP-D16-M [cortex_m]
0001270 D Running task create_components [sequencer]
0001270 D Creating DWT component [discovery]
0001271 I 4 hardware watchpoints [dwt]
0001273 D Creating FPB component [discovery]
0001274 I 6 hardware breakpoints, 4 literal comparators [fpb]
0001274 D fpb has been disabled [fpb]
0001277 D Creating ITM component [discovery]
0001278 D Creating TPIU component [discovery]
0001279 D Running task check_for_cores [sequencer]
0001279 D Running task halt_on_connect [sequencer]
0001279 D halting core 0 [cortex_m]
0001279 D Running task post_connect [sequencer]
0001279 D Running task post_connect_hook [sequencer]
0001279 D Running task create_flash [sequencer]
0001280 D Running task notify [sequencer]
0001280 D Setting vector catch to 0x00000001 [cortex_m]
0001282 I Semihost server started on port 4444 (core 0) [server]
0001287 I Set SWO clock to 4000000 [swv]
0001288 I SWV raw server started on port 3443 [server]
Exception in thread SWVReader:
Traceback (most recent call last):
  File "/home/guest/.pyenv/versions/3.10.7/envs/pyocd/lib/python3.10/site-packages/pyocd/probe/jlink_probe.py", line 341, in swo_start
    self._link.swo_start(baudrate)
  File "/home/guest/.pyenv/versions/3.10.7/envs/pyocd/lib/python3.10/site-packages/pylink/jlink.py", line 172, in wrapper
    raise errors.JLinkException('Target is not connected.')
pylink.errors.JLinkException: Target is not connected.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/guest/.pyenv/versions/3.10.7/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/guest/.pyenv/versions/3.10.7/envs/pyocd/lib/python3.10/site-packages/pyocd/trace/swv.py", line 187, in run
    self._session.probe.swo_start(self._swo_clock)
  File "/home/guest/.pyenv/versions/3.10.7/envs/pyocd/lib/python3.10/site-packages/pyocd/probe/jlink_probe.py", line 343, in swo_start
    raise self._convert_exception(exc) from exc
pyocd.core.exceptions.ProbeError: Target is not connected.
0001320 I GDB server started on port 3333 (core 0) [gdbserver]

pyocd --version
0.34.1

Direct cause of above exception message is that jlink itself requires to know what the target is.
passing -O jlink.device=nRF52840_xxAA will suffice that requirement.
but then immediately another problem comes up.
modifying,
https://github.com/pyocd/pyOCD/blob/5ab5c327987c4c3ba5a37928cac25263d4db7586/pyocd/probe/jlink_probe.py#L483-L487
to something like,
    def swo_read(self):
        num_bytes = self._link.swo_num_bytes()
        if num_bytes == 0:
            return []
        try:
            return self._link.swo_read(0, num_bytes, True)
        except JLinkException as exc:
            raise self._convert_exception(exc) from exc

solve that next problem.
note: I've never tested swo/swv in action.


TypeScript Typings - WithWidthEnhancement width should be a string or enum

Problem description
@sebald  I believe width is supposed to be a string or enum and not a number;
  export interface WithWidthEnhancement {
    width: number;
  }

The withWidth.js implementation seems to provide the following possible values.
xs   |  xs   |  sm   |  md   |  lg   |  xl

Sounds correct, feel free to fix the typescript.

I just saw there's a Breakpoint type. Would it make sense to use that @sebald?

@vyrotek yup, exactly :)


run close-bot on node 16

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 96c8b23e0bdadd28bad1d1b1331c7a95947f0479


Update image ref for docs

What does this PR do?
Solves broken doc image by offloading it to the 🤗 Hub
Before submitting

[x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@stevhliu

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Profile List opening after updateProfile - and getting in front of DrawerListItem

After updating the profile, sometimes the Profile list opens and gets in front (or behind) the DrawerList.

Another question: how can I don't have the white circle if I don't want the profile picture?

Your second question is referencing #37

How many items do you have in fixed and normal list and how many profiles do you have? (Related to your first question)

1 profile
1 item in normal list
2 items on fixed list

This case occurs if I rotate the screen too.

Fixed this for the next update


Tags missing from testsuite

Add these final tags to test document, commented out so they can be enabled one at a time.
Many of these are just subtags/nodes to one element for example: (tbody, tgroup, tfoot, colspec, row etc.)

[X] callout
[X] calloutlist
[X] citetitle
[X] co
[X] command
[X] constant
[X] date
[X] email
[X] emphasis
[X] example
[X] filename
[X] formalpara
[X] guimenu
[X] index
[X] indexentry
[X] link
[X] member
[X] menuchoice
[X] option
[X] package
[X] parameter
[X] preface
[X] primary
[X] remark
[X] replaceable
[X] screen
[X] secondary
[X] see
[X] simplelist
[X] systemitem
[X] tertiary
[X] textobject (acts as alt text inside the mediaobject, placed in figure block)
[X] table
[X] informaltable
[X] tbody
[X] tfoot
[X] tgroup
[X] titleabbrev
[X] trademark
[X] uri
[X] varname
[ ] year
[ ] task
[ ] taskprerequisites
[ ] taskrelated
[ ] tasksummary
[X] colspec
[X] entry
[ ] envar
[ ] glossary
[ ] glossdef
[ ] glossdiv
[ ] glossentry
[ ] glossterm
[ ] phrase
[ ] quote
[X] row
[X] stepalternatives
[X] substeps
[ ] superscript

Def of done:
All tags are included in the docbookrx testsuite, commented out for Klaus to enable and test.

see #23


Some document parts in pdf are missing

Attach (recommended) or Link to PDF file here:
https://drive.google.com/file/d/1g2hLSyvgWeupRWYrseREP4eztuo6UZ3R/view?usp=sharing
Configuration:

Web browser and its version:
Firefox 111.0.1 (64-bit)
Operating system and its version:
Windows 11   <IP_ADDRESS>19
PDF.js version:
v3.4.120
Is a browser extension:
no

Steps to reproduce the problem:

Open the file(https://drive.google.com/file/d/1g2hLSyvgWeupRWYrseREP4eztuo6UZ3R/view?usp=sharing)
When you scroll down, you will see that some document parts are missing. But when you switch to presentation mode, the file looks ok.

What is the expected behavior? (add screenshot)
Display completely, without any missing parts.

What went wrong? (add screenshot)

Some document parts are missing.

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Duplicate of #14982


espup install expects /bin/bash to exist

Bug description
espup install fetches rustup-init.sh and attempts to execute it with "/bin/bash" "/home/$USER/.espressif/dist/rustup/rustup-init.sh" However, not all systems have Bash installed, and even those that do don't always have it present in /bin/bash

Would you like to work on a fix? I could, if provided with info about the desired fix, although I suspect that it's going to be such a simple fix that it would be much more time-effective if some maintainer fixes it instead.

To Reproduce
Steps to reproduce the behavior:

run espup install

Expected behavior
Things work
Screenshots
Error:
  × command '"/bin/bash" "/home/$USER/.espressif/dist/rustup/rustup-init.sh" "--default-toolchain" "nightly" "--default-host" "x86_64-unknown-linux-gnu" "--profile" "minimal" "-y"' failed to start
  ╰─▶ No such file or directory (os error 2)

Environment

OS: NixOS 23.05 (Stoat)
espup version: 0.2.3

Additional context
Since rustup-init.sh has a shebang, I don't see any reason not to invoke it directly. If there is one, it would at least be better to use a bash from $PATH, for example via /usr/bin/env bash ....

Hi!
Sorry for taking so long to reply. I've just had a look at the issue, but for some reason, the cmd! macro does not work without a bash path. I've improved the current state a bit: https://github.com/esp-rs/espup/compare/main...fix/bash-path
But still not ideal, I've also seen that you did some testing, did you have more success than me?

Hi, I manage to run espup on nix with the following nix package:

{ pkgs
, lib
, rustPlatform
, fetchCrate
}:

rustPlatform.buildRustPackage rec {
  pname = "espup";
  version = "0.2.6";
  patches = [ ./bash.patch ];

  src = fetchCrate {
    inherit pname version;
    sha256 = "sha256-+G/0Eo1/IULoa3EQmn2CYUzqyQ2iXnFtyUBfzwJNMp4=";
  };

  cargoSha256 = "sha256-lmyeK3Wj/q1uNw4iROuaHkjfBxvXtktK3e3y5GytbXg=";

  nativeBuildInputs = with pkgs;[
    pkg-config
    perl
  ];
  buildInputs = with pkgs; [
    openssl
  ];

  # A test will fail since will try to make a http request
  doCheck = false;

  meta = with lib; {
    description = "Tool for installing and maintaining ESP Rust ecosystem.";
    homepage = "https://github.com/esp-rs/espup";
    license = with licenses; [ asl20 mit ];
  };
}

The patch needed was the following:  bash.patch
Hope this helps, it would be great to make it work on NixOS.

Just created #161 with @joshuachp patch (thanks for sharing it!), I did some testing and everything was working for me. Please, @frantisekhanzlikbl can you confirm that this fixes your issue?
cargo install espup --git https://github.com/SergioGasquez/espup --branch fix/bash
espup install

Hey, so sorry for taking forever to reply. I was using the ESP for a short-lived school project, so I haven't had the chance to try it again yet. I unfortunately can't test the fix ATM, but it looks exactly like what I've done locally to make it work.


workaround for issue #1682:

added extra method in UIWebViewDelegate
added handler of ScriptNotify event to xamlWebControl in UIWebView.mm and invoke uiwebView:scriptNotify:value:  delegate method

This change is

Hi @jboich, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

:shipit:

Looks like one of the CI builds failed due to a build machine issue; kicking it off again.

Thanks for your contribution!


Worked on Application exiting, when there is an error

Previous Issue:  An issue with the previous implementation is the calling log.Fatal() when an error occurred, this causes the application to shut down as log.Fatal()   calls os.Exit(1)
Effect: This behavior causes an application/server to shut down when there are errors, it's an issue because it does not give the application using this dependency, an opportunity to handle the error, and then causes an unwanted shutdown.
Solution: Swap out log.Fatal() for log.Println() and then return the error as a return value, this gives the server a chance to handle errors as the developer deems fit.
This pull request fixes the issue stated and described above, kindly review @Hunter-Dolan  @kkdai  @golint-fixer
This pull request also requires some changes to the documentations, I'm ready to change the documentation if the need be

Thank you @Amenacliff


Update lmstudio.md to show the Prompt Formatting Option

Just replacing the LMS screenshot to show the prompt formatting option.

Great, thank you! This will help a lot of people trying to use LM Studio.


Running on multiple containers?

I'm running Sidekiq + Sidekiq Scheduler on OSE (v3). I've got a single Sidekiq pod with multiple containers. Each container has its own set of ENV vars. I only have one Sidekiq job. I want every container to run that job (starting at midnight via cron: UPDATE: This won't work, I've switched to every:.) and then use their ENV vars to operate on a different subset of a large data set. However, when midnight comes around every container runs the same job - on the same set of data - simultaneously. (UPDATE: This was false, only one container ran the sidekiq job, the logs were just no properly separated.)
I don't understand why that's true, or how to fix it. Can anyone help?
I think what I'm looking for is for each container to run its own Sidekiq job with its own job ID. They would all be running the same code (with different ENV vars) and using the same Redis, but each job should be independent of the others.
SO Cross Reference: https://stackoverflow.com/questions/46713223/sidekiq-scheduled-jobs-in-multiple-containers

gem 'sidekiq', '4.1.4'
gem 'sidekiq-scheduler', '~> 2.0'

Might be this: https://github.com/moove-it/sidekiq-scheduler#notes-about-running-on-multiple-hosts?

Where is Redis running? Does each container run its own Redis process, and each sidekiq is connected to that Redis?

There is a single instance of Redis that all the containers talk to.

Ok, switched to every: '24h', the job was kicked off simultaneously on 4/8 containers and ran successfully there. The other 4 containers logged 0 Sidekiq activity.

It's ok for cron jobs to run only once, no matter how many containers you have. The rational here is that if you have multiple containers for load-balancing, you'll want the job to be run only once.
Also, as sidekiq instances are sharing the same Redis, you're not guaranteed that each container will run a job (but see option 2)
Options here are:

Have a redis instance per container.
Have a separate queue for each container. Take a llok at: https://github.com/mperham/sidekiq/wiki/FAQ#how-do-i-ensure-a-job-processes-on-a-given-machine

@snmgian ahhh, ok, things are coming together a bit... I've modified my sidekiq.yml:
---
:verbose: false
:concurrency: 25
:logfile: ./log/sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>.log
:queues:
  - sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>

And my schedule is till using every:
CacheWarmer:
#  every day at midnight UTC (7pm central)
  every: ["24h", first_at: "2017-10-16T00:00:00.000+00:00"]

You should explicitly set to which queue sidekiq-scheduler should send the jobs:
CacheWarmer:
#  every day at midnight UTC (7pm central)
  every: ["24h", first_at: "2017-10-16T00:00:00.000+00:00"]
  queue: sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>

Maybe you're already doing this ...

@snmgian that ^ doesn't seem to work. Here's the latest code:
sidekiq.yml
---
:verbose: false
:concurrency: 25
:logfile: ./log/sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>.log
:queues:
  - sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>

worker_schedules.yml
CacheWarmer:
#  every day at midnight UTC (7pm central)
  every: ["24h", first_at: "<%= Time.now.midnight %>"]
  queue: sidekiq-<%= ENV["MOD_REMAINDER"] || 0 %>

scheduler.rb (scheduler initializer)
require 'sidekiq/scheduler'

Sidekiq.configure_server do |config|
  config.on(:startup) do
    Sidekiq.schedule = YAML.load(ERB.new(File.read("#{Rails.root}/config/worker_schedules.yml")).result)
    Sidekiq::Scheduler.reload_schedule!
  end
end

When I'm ssh'd into any of my sidekiq containers ENV["MOD_REMAINDER"] reports the right value, and if I run the code from the initializer and look at Sidekiq.get_schedule it will look right, but I if ssh into a different container Sidekiq.get_schedule reports the values set by the previous container - all the containers instances of SidekiqScheduler write to the same queue.

My next move will be to have sidekiq in each container initialize with a different Redis DB on the same Redis instance (then queue shouldn't matter since each DB will have its own default queue).

By default, Redis has 16 DBs, keep that in mind if you have more than 16 containers. Of course, you can configure the number of DBs.
I see now why the suffixed queue names approach doesn't work ... job config is stored in redis, so the last container that attempts to store the config is the one who wins.
Separated Redis instances / separate DBs for each container would be simpler approach.
Are you running one Sidekiq Web per container?

" job config is stored in redis, so the last container that attempts to store the config is the one who wins."

Yep, that was my conclusion as well. Switching to a separate Redis DB /0, /1, /2, etc. Looks like it worked from a parallelization perspective. (/0 is a bit out of whack because I think it's still picking up the old jobs). I have 8 containers so for now I'm ok on Redis DBs.

"Are you running one Sidekiq Web per container?"

I'm not sure. The web console doesn't seem to be working. I can see the jobs running currently while ssh'd into the container, but /sidekiq reports 0 busy processes. I hadn't really thought about how run the built in monitoring in this configuration... Do you have a recommendation?

Regarding 0 busy processes report, the problem could be to not configuring Redis DB. Take a look at: https://github.com/mperham/sidekiq/wiki/Monitoring#standalone
Example:
require 'sidekiq'

Sidekiq.configure_client do |config|
  :url => "#{ENV["REDIS_URL"]}#{ENV["MOD_REMAINDER"] || 0}"
end

require 'sidekiq/web'
require 'sidekiq-scheduler/web'
run Sidekiq::Web

(/0 is a bit out of whack because I think it's still picking up the old jobs)

Have you verified that by looking at the logs of that container?

@snmgian I got caught up in some other projects, but I wanted to update here. The latest configuration (unique Redis DB per container) is working great. Everything seems to be working as expected. I've still got work to do on the monitoring, but I've added extensive logging that is meeting my needs for now. Thank you for your help! You're welcome to consider this issue closed, though I may make an update later on regarding the monitoring part.