Add Workspace name label next to room name in the chats list

Details
Add Workspace name label next to room name in the chats list
Fixed Issues

$ https://github.com/Expensify/App/issues/11543
PROPOSAL: https://github.com/Expensify/App/issues/11543#issuecomment-1269566203
Tests

To test, you need to be at least in a workspace chat room.

Open chat list page
Verify every chat room named #admin or #announce
a. is not truncated
b. has a workspace name shown next to the chat room name
Verify long workspace name is truncated in one line

[x] Verify that no errors appear in the JS console

PR Review Checklist

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

To test, you need to be at least in a workspace chat room.

Open chat list page
Verify every chat room named #admin or #announce
a. is not truncated
b. has a workspace name shown next to the chat room name
Verify long workspace name is truncated in one line

[x] Verify that no errors appear in the JS console

Screenshots

Web

Compact
Not Compact

Mobile Web - Chrome

Compact
Not Compact

Mobile Web - Safari

Compact
Not Compact

Desktop

Compact
Not Compact

iOS

Compact
Not Compact

Android

Compact
Not Compact

I have read the CLA Document and I hereby sign the CLA

This is looking really good! Just a few design details:

The space between the room name and the pill should be just 4px
The horizontal padding inside of the pill should be 8px (it might be already, but just confirming)
The font size of the pill should be 11px, and we should already have a font size variable for this (micro? not sure what it's called)

I have updated the code and the screenshots

For this screenshot here:

I don't think we want the #announce room to truncate unless it was truly wider than the total available horizontal width of that row. Let me know if that makes sense.

For this screenshot here:
I don't think we want the #announce room to truncate unless it was truly wider than the total available horizontal width of that row. Let me know if that makes sense.

Fixed. I also put some newest screenshots with long workspace name and updated the test steps.

@bernhardoj Some more comments.

Screenshots look pretty good to me! @bernhardoj could you also try pinning one of these rooms that has a super long name, in both compact and normal mode, and sharing screenshots please? Thanks!

@shawnborton I have updated the screenshots.

Awesome, screenshots look good to me! Thanks @bernhardoj

Here's the checklist.

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

The PR checklists were already filled out, but the GH actions are failing because the text of one checkbox changed. So I'm going to merge it to unblock this change.

@marcochavezf looks like this was merged without the checklist test passing. Please add a note explaining why this was done and remove the Emergency label if this is not an emergency.

https://github.com/Expensify/App/pull/11799#issuecomment-1292254357

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

🚀 Deployed to staging by @marcochavezf in version: 1.2.20-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @chiragsalian in version: 1.2.20-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add baselines

#21
I have implemented the Oracle and random baselines and fixed a problem that we had in the enter_input function using action chain and maximizing the window.
Also, I realized that the current code doesn't iterate the inputs in order that they are appearing on the page and I need to fix it soon.

Oh awesome! You're on 🔥 today!


Grafana helm and serverDashboardFiles

What did you do?
Hello,
Acutaly, i have no found documentation on how to use Helm package and how to customize configuration.
I want to haveto deploy many custom json dashboard with helm but i have an error with serverDashboardFiles.
This is my values.yml:
grafana:
    image:
        tag: 4.5.2
    service:
        type: loadBalancer
        loadBalancerIP:
    dataSource:
        - assets/grafana.ds/prometheus-datasource.json
    serverDashboardFiles:
        - assets/grafana.dashboard/prometheus-datasource.json
        - assets/grafana.dashboard/deployment-dashboard.json

And i have this error:
helm install --name sgl1 . -f ../../jenkins-env/preprod/metrology-values.yaml --namespace sgl
Error: release sgl1 failed: ConfigMap in version "v1" cannot be handled as a ConfigMap: [pos 27]: json: expect char '{' but got char '['

The json dashboard is valid and is well imported if i create manualy the configmap.
What did you expect to see?
What did you see instead? Under which circumstances?
Environment
GKE 1.7.11

Kubernetes version information:

kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.2", GitCommit:"bdaeafa71f6c7c04636251031f93464384d54963", GitTreeState:"clean", BuildDate:"2017-10-24T19:48:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7+", GitVersion:"v1.7.11-gke.0", GitCommit:"3500f53730c1fea7b57901977df165c3eb317bce", GitTreeState:"clean", BuildDate:"2017-11-27T19:37:29Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

GKE deployment

@gianrubio @weiwei04 ^

+1 just came across this. in the doc there is no mention of serverDashboardFiles in values file.
located here
https://github.com/coreos/prometheus-operator/tree/master/helm/grafana
Or how easy is it to add in dashboards from bundle here?
https://github.com/aws-samples/aws-workshop-for-kubernetes/blob/master/cluster-monitoring/templates/prometheus/grafana-bundle.yaml

apologies for the questions:
but what is the main differences from main helm chart and this one?
https://hub.kubeapps.com/charts/stable/grafana

@sebglon I can take a look on it, can you share your json files?

but what is the main differences from main helm chart and this one?

@shavo007 the main diference is the grafana-watcher that automatically generate grafana configuration after changes in the configmap.

I have only extracted your dashboard available on https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/manifests/grafana/grafana-dashboards.yaml

When i launch dry-run on debug, i have this:
# Source: jenkins/charts/grafana/templates/dashboards-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: pouring-jaguar-grafana
    chart: "grafana-0.5.0"
    component: "grafana"
    heritage: "Tiller"
    release: "pouring-jaguar"
  name: pouring-jaguar-grafana-dashs
data:
  - assets/grafana.dashboard/kubernetes-cluster-status-dashboard.json

Hum... actually the serverDashboardFiles variable  is not expecting a json file, it's expecting a yaml structure , something like that:
serverDashboardFiles :
  deployment-dashboard.json: |+
    {
      "dashboard":
    {
      "__inputs": [
        {
          "description": "",
          "label": "prometheus",
          "name": "DS_PROMETHEUS",
          "pluginId": "prometheus",
          .....

If you really want to do this I recommend you to inject the content of this file, since this line or wait until #797 be merged. This PR migrates prometheus to 2.0 and will keep all the configurations (alerts, dashboards and servicemonitors) from kube-prometheus in sync with the kube-prometheus helm charts. I expect to finish this PR on the next week.

the main diference is the grafana-watcher that automatically generate grafana configuration after changes in the configmap.

good to know.

i can confirm that piping in the different json files to serverDashboardFiles variable worked for me today.

two gotchas (maybe its documented), when i exported a dashboard i was working on, it didnt work when i added it inline. i needed to wrap in a dashboard object and add in an input at the end.

two gotchas (maybe its documented), when i exported a dashboard i was working on, it didnt work when i added it inline. i needed to wrap in a dashboard object and add in an input at the end.

Any PRs for additional documentation from new users is highly appreciated. We're opinionated, we know these things, you have a fresh view on it. :slightly_smiling_face:
Documentation is everything. Without documentation things don't exist.

Anyone can tell me how to make it work? I just cannot

Have a look at https://github.com/coreos/prometheus-operator/tree/master/helm/grafana/dashboards
You will notice that the dashboard exported from Grafana is wrapped inside "dashboard" and there are additional fields like @shavo007 mentioned.

Please look at https://github.com/coreos/prometheus-operator/tree/master/helm/grafana/dashboards for examples.
You will notice that, as @shavo007, mentioned, you need to wrap it as a value to "dashboard" and add additional "input" field.


[feature request] Evaluation Metric During Training (FID, IS, KID, etc..)

Hi Phil,
Thanks again for the great job!
I did some experiments with image motion (such as optical flow) based on this repo, and the qualitative results look good. Thus I am wondering if the calculation of validation metrics (such as FID score) could be added to the training process, so that there would be a series of quantitative results to refer to?

@lhaippp yea sure! happy to accept PRs
maybe integrating something like https://github.com/mseitzer/pytorch-fid for starters?

@lucidrains Referring to (k-diffusion)[https://github.com/crowsonkb/k-diffusion] and (pytorch-fid)[https://github.com/mseitzer/pytorch-fid], I separatively implemented the evaluation metrics.
However, based on the same dataset, I got inconsistent results (178(k-diffusion) vs 146(pytorch-fid)). So maybe I still need some time to debug..


Can not access Team calendar in Azure

I am unable to get into the team calendar. Attached are 2 images. An error and a screenshot of the calendar page.

Hi thanks for reporting, the team will take a look

I was unable to reproduce on https://github.com/microsoft/vsts-team-calendar/commit/ce3f1c4961447bc19684c194f1148ccdb3a1d143

We have a similar issue. Team member is unable to view the calendar as teams list is not populated at all. They are a member of several teams. We have tried removing the user from the org and re-adding them with no effect. We see an error relating to "the team with id xxx does not exist or you do not have permission to access it" The team referenced does not exist. We have extension version 2.0.22.

Hmm, you could try referencing a team that exists... maybe that would work.

@pabrams, as described by @UweStein there is no option to select or change a team, the menu is empty. Perhaps there is a default team set somewhere against the user but I don't see it anywhere. Does the extension store or reference such information?


Problem deserializing byte array - InvalidOperationException caused by Decoders.InvalidArrayHeader.Read call

Hi together,
I'm facing a sporadic issue in my C# program deserializing a byte array using MessagePack.
When deserializing the following bytes
D9-A4-67-EC-F4-D4-79-4D-D5-A5-9A-1B-F7-14-50-65-48-69-00-00-94-C0-14-C0-0A-00-39-00-38-00-37-00-36-00-88-00-87-00-86-00-85-C0-19-00-3A-00-89-C0-0F-C0-05-00-35-00-84-C0-13-C0-09-00-33-00-32-00-31-00-30-00-9A-00-99-00-98-00-97-00-45-00-44-00-43-00-42-C0-18-00-34-00-9B-00-46-C0-0E-C0-04-00-2F-00-96-00-41-00-07-C0-11-C0-07-C0-16-00-18-C0-0C-C0-02-00-05-00-04-C0-12-C0-08-00-16-00-13-00-10-00-0D-C0-17-00-1B-C0-0D-C0-03-00-0A-00-15-00-12-00-0F-00-0C
I will get an InvalidOperationException "code is invalid. code:217 format:str 8".
Do you have a clue what may be the reason for this exception?
May it be a scrambled / not well transmitted message containing not all relevant deserialization data? (we are using NetMQ / sockets as underlying communication mechanism)
Is it possible that somehow the wrong decoder was chosen internally?
Call stack is:
MessagePack.dll!MessagePack.Decoders.InvalidArrayHeader.Read(byte[] bytes, int offset, out int readSize) Line 3543
MessagePack.dll!MessagePack.MessagePackBinary.ReadArrayHeader(byte[] bytes, int offset, out int readSize) Line882
MessagePack.Resolvers.DynamicUnionResolver!MessagePack.Formatters.CQRS_Messages_INetMesaageFormatter2.Deserialize(byte[] value, int value, MessagePack.IFormatterResolver value, ref int value)
MessagePack.dll!MessagePack.MessagePackSerializer.Deserialize<CQRS.Messages.INetMessage>(byte[] bytes, MessagePack.IFormatterResolver resolver) Line133
MessagePack.dll!MessagePack.MessagePackSerializer.Deserialize<CQRS.Messages.INetMessage>(byte[] bytes) Line124
Thanks in advance!
Dennis

I have this exact same problem. Stinks to know there is no response after this long. For me, it was ValueTuble<string, string> type this happened to, on .NET Core

We finally found the reason for this issue - it was not caused by MessagePack itself, but by faulty handling of our program. It actually injected data into the deserializer that was not originally serialized with MessagePack. Maybe it could be a hint for you to check if the data was really serialized with MessagePack beforehand.

I now suspect that I may be doing something similar. I realize now that NetworkStreams can only have one thread for reading, and one for writing. Fixed that and this issue largely went away. Although when I try to use a MessagePackStreamReader on the client, I get issues where I only get a few bytes, nothing that can be deserialized. I'm looking into that now. Thanks!

I am sorry to leave this issue open and did not comment it for a long time, and I appreciate you to communicate each other to share your experience to solve the problem!
But as I can see, the above stack trace looks another library -- so, this issue should be discussed on another repo.


Generate Lua API documentation from C++ comments

Summary
Adds a new tool, docgen, for generating the Lua API. It will now be easier to keep the API documentation in sync when changes are made.
The only part not generated is the EnumKinds part, but that should be changed to use strings eventually.
It requires Rust stable, but the documentation will be checked in so it won't be necessary to run it always.

docs folder was deleted intentionally?

It was confusing to have doc/ and docs/, so I moved it to
doc/generated.
2019年3月3日(日) 4:36 KI<EMAIL_ADDRESS>
docs folder was deleted intentionally?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ElonaFoobar/ElonaFoobar/pull/1206#issuecomment-469018759,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGY-XWCYacdyanzqeLv0mBCbEIQAmS1yks5vS8G9gaJpZM4bawhA
.


KAFKA-17300: add document for new tiered storage feature in v3.9.0.

Added document for disabling tiered storage at topic level
Added a notable change item in v3.9.0 for tiered storage quota.

The updated doc for "disabling tiered storage at topic level" looks like this:

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@kamalcph @satishd @clolov , document PR. Thanks.

@abhijeetk88 @satishd @kamalcph @clolov , in the document update PR, I added:

Added document for disabling tiered storage at topic level
Added a notable change item in v3.9.0 for tiered storage quota.
Added a notable change item in v3.9.0 for making tiered storage feature as a general availability feature.

Please take a look when available. Thanks.

A couple of unrelated test failures are observed in CI jobs. merging it to trunk.


Transformer: Don't crash if no files were fetched for a bundle

Can you add (or enable) testing around this?

Re-enabled transform tests, please take another look.


Image for 11g SE EE?

Hey I'm trying to run a Oracle Database 11g SE ot 11g EE as a Dockercontainer. But I can't find any dockerfile for this. Is it possible to get this work ?

Hi @nevyen, yes, it is possible to run Oracle 11g in Docker, we do that today with XE as there is no 12c XE available yet.
However, Oracle 11g Release 2 has been released 10 years ago! and we do not plan to provide any Docker images for that release anymore.
We highly encourage users to use Oracle 12c Release 2 instead.
That being said, nothing stops you from building your own Docker image for 11g or use one of the build files from the community.


python(release): metadata for 0.1.0-rc.3

Preparing for release candidate 3

Associated code changes
https://github.com/sift-stack/sift/pull/70/commits

Docs match code change: https://github.com/sift-stack/sift/pull/70/commits/f311d02ccd82883c19cdba6399ec533b5b165e35#diff-cf5c1291f9f2ab68279144eb23c7fb5737571eaf0031724aadc06953ab1ddf9eR34-R38

release candidate version bumped: https://github.com/sift-stack/sift/pull/71/commits/488ad36bd9f57c8e29fb628ad6e8ccc9be5138d8#diff-1a45bd938160f7761769e7b6fbc819d1cc7f84ce37f1a6a23ef83cc4e214abc8R3


reqmgr2 taskchain with different numEvents per task

HI,
@vlimant
we have specific case where a requests starting from same GS, but doing DR with multiple PU scenarios. In this specific case GS+3 DR's:
https://cmsweb.cern.ch/reqmgr2/data/request?name=pdmvserv_task_EXO-PhaseIIFall16GS82-00046__v1_T_170216_201031_2250
The number_of_events will be 20k as defined in GS request, and all further requests will run over same number of events. Can we specify (lets say) 5k events for Task{2;3} and these DR Tasks would run only on subset of GS events?
In this case we wouldn't need to submit a task with GS+single DR. And then when workflow completes, submit multiple DR's on subset of GS.
Best regards,
Antanas Norkus

You cannot run on only part of the output of the previous task. Number of events is also pointless when a task has an input dataset, since it uses the whole dataset (unless you specify blocks/run/lumilist, which can only be used for the first task in a request).
Since you don't have any input dataset on this case, you should just replace
"RequestNumEvents": 20000
by
"RequestNumEvents": 5000
and then the 3 DR tasks would run on 5k events only :-)

yeah, but GS would also generate only 5000 events too ;) which we do not want.

@amaltaro I wasn't sure RequestNumEvents would work for internal tasks and suggested the GH.
if RequestNumEvents is supported for limiting the number of events processed in a specific "branch" of the chain, then perfect

Antanas, then you need to request 20k events and get the 20k events in the DR output. There is no other option.
Jean-Roch, RequestNumEvents is only meaningful for the top level task AND if it's a production task (no input data).

@amaltaro the GH issue is for making the RequestNumEvents functioning to do sub-statistics within the chain : i.e. create only a limit number of jobs to bit as close as >RequestNumEvents.
I think it makes sense

This would be a major WMAgent development. The "operational" motivation is reasonable, now why you would need to have much more events in GS than in DR is not clear yet.
BTW, we need to evaluate the cost-benefit ratio. If this is going to be rarely used, I'd rather invest time on things that have a bigger impact for CMS.

In the example provided it's GS->DR1+DR2+DR3, DR1 and DR2 have full stats, but DR3 needs smaller stats.
In a view to using chains more and more, we should support this.
I say, in medium priority, that we have to estimate how deep we have to go to have this happen.

well, with more Upgrade high PU requests coming, we produce GS+DR_noPU for whole GS generated events. But then if we want to do DR with 140PU or 200PU, we want to run less events due to high PU. This means we end up in need of this feature: where subset tasks run on sub-statistics.
or
we submit GS+DR_noPU, wait for workflow to complete/announce, then submit the high PU DR's separately. This brings more manual work (especially when we have issues with rerunning/extensions, invalidations etc.) also brings delay to analysis when high PU datasets would be available.
Sure, we can run high PU for full dataset, but then we would not use production system efficiently (over producing events).

If DR3 needs smaller stats put a filter in the DR3 configuration. Doing this in the agent goes against basic design principles of the agent.

That being said, @amaltaro , there is an "easy" way to do this on the agent side. We would need a custom job splitter for Task3 (we can customize job splitting per task) that configures jobs with input filters, processing only some fraction of an input file or only selected input files. It's still somewhat hacky and IMO a filter on input would be better (also to give a better statistical sample), but it should work.

@hufnagel adding the filter on top is rather intrusive of the configuration. if there is a way to have to agent throttle the amount of files processed based on the recorded number of events, overall it would be less intrusive and makes more sense. but I appreciate the cost benefit

The only way I can see this being done is in the job splitter and the job splitter doesn't have a global view of the task. It only sees a random subset of the DR3 task input. (whatever is available to schedule new jobs on when it runs). Within that random subset it can apply filters (ie. have 3 files, lets only process 1). If the subset is too small, the selection breaks down though. What do you do if you only have one file ? So doing this in the job splitter is going to be very imprecise, which might be ok if the goal here is to save wasting resources and you don't care too much if you end up with 25%, 30% or 35% of the events processed.
Whether a file based selected or a lumi within file based selection works best I can't predict based of the top of my hat. Depends how the DR3 task input data is organized (do you expect multiple lumis per file ? do you expect multiple files to be available on average in a job splitting run ?). I don't know enough about the workflows to say.
If you are way off and implement a file or lumi based filter in the job splitting and then on average the job splitter only ever sees a single file with a single lumi you would still process almost all the data.
If you don't care about screwing up the accounting an event based filter should always work, but that will screw up the lumi accounting. The DR3 output will claim to contain lumis that are not complete. Which I think would be bad if you want to analyze this data and make sense of it.

Apart from the technicalities, I still think doing this in the agent opens a can of worms. You would expose a setting (fraction of files processed or fraction of lumis processed in task) that
a) is yet another switch by which workflow requesters can shot their legs off (if they want everything)
b) which is highly dependent on runtime behavior of workflow (number of new files produced per site within the JobCreator polling cycle, number of lumis in files) and where you have no idea what you are actually going to get upfront
IMO having a custom configuration for the DR3 task with an event filter (only process every Nth) event is the only reliable way to get this done and it can be done now without any agent changes.

I think this falls into possible use cases for the "do things by work" refactoring. One thing I envisage is being able to have a separate lumi mask for each step and/or task. So in this case, you'd have a parent task which generated everything and a mask on the DR3 step that could select only a portion of the output as input. But having this is many months away.


PrizmMirrorHolder for camera

prizm with mirrors
mirrors taken from https://www.aliexpress.com/item/32894388778.html

don't work really well


ImportError: cannot import name DataFetcher in v2.1.0, wrong tilequeue version in requirements

I have tileserver v2.1.0 checked out and correspondingly tilequeue v1.8.0 and vector-datasource v1.4.0 checked out. I created a new python virtualenv, installed the requirements from tileserver, and then went to  tilequeue v1.8.0 and vector-datasource v1.4.0 and ran python setup.py develop (btw, should I not be passing a develop argument if using numbered releases?).
When I run  python tileserver/__init__.py config.yaml I get
Traceback (most recent call last):
  File "tileserver/__init__.py", line 11, in <module>
    from tilequeue.query import DataFetcher
ImportError: cannot import name DataFetcher

Solution
I noticed the very bottom of the tileserver requirements.txt file has git+https://github.com/mapzen/tilequeue@master#egg=tilequeue. So I tried pip uninstall tilequeue and got
 pip uninstall tilequeue
Uninstalling tilequeue-1.9.0:
etc....

and then
cd ../tilequeue/
python setup.py develop
cd ../tileserver/
python tileserver/__init__.py config.yaml

Did not produce that error.

This would also be an issue if someone followed the current version of the vector-datasource install guide using the versions listed there.

Yea, good point, those do have master set for those releases. Those instructions are usually tested just with master, and I take the steps you describe above when switching versions. We should probably at a minimum update the documentation to call this out, and ensure that going forward releases have specific versions set in their requirements files.
Instead of having requirements files in each repo though, I think we should have a single set of requirements just in vector-datasource that assumes installation of everything for setup purposes, since that's the useful part practically anyway. We could either split apart just the upstream dependencies from the versions of the tilezen repos, and make separate explicit pip install steps for the install or tilezen repos which might make this more visible. That would also mean that we wouldn't have the problem of having to update the requirements files when we release. Or we just add a step to the instructions that says to edit the bottom of the requirements file for the particular versions desired.
What does everyone think?

So tilequeue seems to behave happily as a dependency of vector-datasource since AFAIK it doesn't require configuration. Would it be possible to configure vector-datasource's setup (or a version of it) to add tileserver as a git submodule, so that the tileserver config is easily accessible to configure (or otherwise put the tileserver/__init__.py and  config.yaml in an accessible location).

Thanks @radumas for posting this fix. I was stuck after following the install guide.

Instead of having requirements files in each repo though, I think we should have a single set of requirements just in vector-datasource that assumes installation of everything for setup purposes, since that's the useful part practically anyway.

I think that would be useful for people who want the easiest route to setting everything up.
We're releasing a bunch of packages to PyPI now. Would it make sense to use those for released versions, so that we didn't need git versions in requirements.txt? In other words, that we'd specify version constraints in setup.py to avoid things like tileserver referencing DataFetcher without having pulled in a sufficiently new version of tilequeue?

I think that would be useful for people who want the easiest route to setting everything up.

Which is where we have the problems anyway right? :)

We're releasing a bunch of packages to PyPI now. Would it make sense to use those for released versions, so that we didn't need git versions in requirements.txt?

We deploy off branches too, so we would need a workflow for that anyway.

I think PyPi makes even more sense for a simple, stable deployment.

We deploy off branches too, so we would need a workflow for that anyway.
You all can figure out what you need for your development :wink:

I think PyPi makes even more sense for a simple, stable deployment.

Yes, I think this is the best way. I thought it was possible now to pip install tileserver?

@pnorman Filed related issues this weekend that we're working on. Thanks everyone for the feedback!

Closing for inactivity.


check_license() and check_license1() from the README do not behave identical

The README introduces a non-obfuscated example check_license() code and an obfuscated check_license1() code. Logically, generating a key based on the user name and then checking the license should always return 1:
const auto user_name = "obfy";
const auto generated_license = generate_license(user_name);
const auto is_license_valid = check_license1(user_name, generated_license.c_str());
std::cout << "License valid: " << is_license_valid << std::endl;

If I run this code it actually prints 0 using check_license1() but 1 using check_license() regardless of debug or release build. Shouldn't both functions behave idental? Why don't they?

Thanks for reporting this issue, let me check the reason for this misbehaviour and I will get back to this thread when I have some conclusion why this happens.

The problem is with the post-increment operator in this line:
V(current) += user[V(i)++];

Changing it to
V(current) += user[V(i)];
V(i)++;

makes the sample work.
The root cause appears to be this implementation of the post-increment operator:
    /* post increment/decrement */
    refholder<T> operator++(int) { refholder<T> rv(*this); operator ++(); return rv; }

I only had a brief look at the code but it seems refholder<T> rv(*this) only creates a shallow copy, the reference continues to point to the same underlying value so it will get mutated by operator++.

The problem is with the post-increment operator in this line:
V(current) += user[V(i)++];

Changing it to
V(current) += user[V(i)];
V(i)++;

makes the sample work.
The root cause appears to be this implementation of the post-increment operator:
    /* post increment/decrement */
    refholder<T> operator++(int) { refholder<T> rv(*this); operator ++(); return rv; }

I only had a brief look at the code but it seems refholder<T> rv(*this) only creates a shallow copy, the reference continues to point to the same underlying value so it will get mutated by operator++.

Any updates on this matter regarding pull requests or commits to the repository?


Strange behaviour of decorators

Hi.
I have a simple CalendarView that shows events. The events are stored in a database that is updated every now and then. I set customs decorators inside OnCreateView for five posible events,
        calendar.addDecorator(RoutineDecorator(requireActivity(), viewModel, 1))
        calendar.addDecorator(RoutineDecorator(requireActivity(), viewModel, 2))
        calendar.addDecorator(RoutineDecorator(requireActivity(), viewModel, 3))
        calendar.addDecorator(RoutineDecorator(requireActivity(), viewModel, 4))
        calendar.addDecorator(RoutineDecorator(requireActivity(), viewModel, 5))

The RoutineDecorator generates the drawables acording to the last argument, and parses a list of events, comparing each day within a event to see if belongs to the Decorator 1 to 5.
When I open the app, the decorators do not show. If I scroll two months back and forth past the dates where I have events, everything works perfectly. If I update the database and scroll, the events get updated acordingly. In resume, if I move a couple of months back and forth, everything works like a charm.
I thought by reading the documentation that I should trigger  Calendar.invalidateDecorators() to refresh the decorators shown, but if I do it, the app crashes complaining of OOM. So I am wondering, what does the calendar do when I scroll to months that is different from this function and how can I trigger it manually.
Thanks

The CalendarView wasn't to blame, sorry


ci(actions): sql lint

git lfs merge driver destroys the files

git lfs merge driver destroys the files


Created OpenAiProvider and OpenRouterProvider

Closes #478
Summary:

created providers/OpenAiProvider.ts and providers/OpenRouterAiProvider.ts containing provider-specific methods

Code changes in this PR:
src/lib/providers/OpenAiProvider.ts:

created derived/child class of ChatCraftProvider to represent an OpenAi provider
copied provider-specific methods to this class

src/lib/providers/OpenRouterProvider.ts:

created derived/child class of ChatCraftProvider to represent an OpenRouter provider
copied provider-specific methods to this class

src/lib/ChatCraftProvider.ts:

modified fromJSON to be async and to return an OpenAiProvider or OpenRouterProvider instead of a ChatCraftProvider object. (OpenAiProvider and OpenRouterProvider are derived/child classes of ChatCraftProvider)
had to make method async to avoid circular dependency
changed supportedProviders to loadSupportedProviders(), which now no longer returns associative array of ChatCraftProvider objects. It now returns associatitve array of child objects (one OpenAiProvider and one OpenRouterProvider)

src/components/PreferencesModal.tsx:

added await and async since fromJSON method is now async
added useEffect and other code to call loadSupportedProviders since it is now async

src/components/Message/AppMessage/Instructions.tsx:

the API URL dropdown field now iterates through the list of supportedProviders (missed update from PR 423)
added useEffect and other code to call loadSupportedProviders since it is now async

These providers have too much copy-pasted code. Maybe make openrouter extend openai?

These providers have too much copy-pasted code. Maybe make openrouter extend openai?

I could remove the createClient function from the two providers and we just use the createClient function in ai.ts which tackles both.

@tarasglek for the duplicated methods such as createClient and queryModels from OpenAiProvider, OpenRouterProvider to avoid too much duplicate code and just kept them in ai.ts.
@Amnish04 Made the changes you requested:

removed createClient, queryModels methods from OpenAiProvider.ts and OpenRouterProvider.ts since it's better for those methods to stay in ai.ts (less duplicate code)
replaced hardcoded strings "https://api.openai.com/v1", "https://openrouter.ai/api/v1" with OPENAI_API_URL, OPENAI_API_URL exported from ChatCraftProvider.ts
removed OPENAI_API_URL, OPENROUTER_API_URL from lib/settings.ts and replaced imports to be importing from ChatCraftProvider.ts
removed duplicate code type ProviderName = "OpenAI" | "OpenRouter.ai"; by exporting it from ChatCraftProvider.ts
changed supportedProviders to loadSupportedProviders(), which now no longer returns associative array of ChatCraftProvider objects. It now returns associatitve array of child objects (one OpenAiProvider and one OpenRouterProvider). Made subsequent changes in Instructions.tsx and PreferencesModel.tsx for calling the async function loadSupportedProviders() using useEffects etc.

Code looks much better now. Is there any expected change in behavior or is this a pure refactoring?

Code looks much better now. Is there any expected change in behavior or is this a pure refactoring?

No change in behaviour. Mostly refactoring and the introduction of the OpenAiProvider and OpenRouterProvider classes as child classes of ChatCraftProvider.

lgtm

@humphd Need some guidance. Everything works well prior to commit d7d415c11771853de96216efc759401dfd8a481c.
But in commit d7d415c11771853de96216efc759401dfd8a481c I replaced settings.apiUrl and settings.apiKey with settings.currentProvider. This is a little buggy. I believe the reason it is buggy is because I am using useStates and useEffects in multiple files to access settings.currentProvider. I couldn't directly access settings.currentProvider since it needs to be deserialized (thus I decided to go with a useEffect). With the useEffects it was working well when I has it just in two files, but once I put it in many more files the buggy behaviour started appearing.

[UPDATE] Fixed buggy behaviour by switching from using useEffect and useStates to context. Deserialization of settings.currentProvider is now done in one use-settings file instead of the previous multiple useEffects. Code ready for testing and review. My tests so far have been successful.

@humphd @Amnish04 Pushed new code which resolves redundant checks (i.e. using '?' => currentProvider?.apiKey)
Also removed unecessary code changes
These two issues still in discussion:

dynamic import issue
migration code issue

@humphd
Solved these two issues as per our call

dynamic import issue - no more dynamic imports, moved code out of ChatCraftProvider.ts and into providers/index.ts
migration code issue - removed state variable, moved code out of hooks/use-settings.tsx and into deserializer function of lib/settings.ts. The code in the deserializer includes deserialization of currentProvider and migration code

Everything is working. However I have a few questions for you:

Right now the migration code is inside deserializer function of lib/settings.ts. However it runs many times as you can see by the console.warn messages below. Is this a problem? Once the migration finishes it stop running, but at the very beginning it will run many times. In my old approach when I had the migration code inside the useEffect in use-settings.tsx it only runs once. I left the old code commented out in there for now in case you want to compare the two.

The old code for the use-settings.tsx file:

After I added my code in settings.ts to deserialize currentProvider, if I do not change this useEffect's dependency from [settings] to [], then I get glitching whenever I try to swap providers by toggling the dropdown. It seems like by keeping [settings] as the dependency this useEffect is running at the same time that my swap provider code is running and so my code changes the provider, then this useEffect switches it back again. You will notice a "glitching" effect. By settings the dependency to [] I have fixed the problem but I just want to check with you if it is ok to make this change since I am not 100% clear.


Update ESLint

This project should use the latest .eslint from teraslice.

This project moved to kafka-assets


fix(grid-list): supportsDragImage undefined failure case

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


feat: add effect size direction to coloc output

✨ Context

Extracts the direction of effect from the study locus overlaps and appends it onto the colocalisation object.
🛠 What does this PR implement
Firstly adds a new method to StudyLocusOverlap to first calculate the ratio between each pair of left and right betas in each locus overlap. The sign of these betas is retained and then the averafe of these signs is returned as the output. See below diagram detailing process:

In theory this can return a value that is neither 1 or -1, however in practice this does not occur. See examples below when calculating overlaps between very large subsets of eQTL catalogue and a) Finngen

or b) GWAS catalog

Values between -1 and 1 could be captured by the front-end team if necessary and an acceptable threshold could be used e.g. beta_average_ratio > 0.8 = positive effect.
These values calculated and joined onto the colocalisation object.
🙈 Missing
No extensive testing of edge cases, wasn't sure how best to implement and the testing for colocs isn't particularly extensive as it is so didn't want to add a lot of extra.
🚦 Before submitting

[x] Do these changes cover one single feature (one change at a time)?
[x] Did you read the contributor guideline?
[x] Did you make sure to update the documentation with your changes?
[x] Did you make sure there is no commented out code in this PR?
[x] Did you follow conventional commits standards in PR title and commit messages?
[x] Did you make sure the branch is up-to-date with the dev branch?
[x] Did you write any new necessary tests?
[x] Did you make sure the changes pass local tests (make test)?
[x] Did you make sure the changes pass pre-commit rules (e.g poetry run pre-commit run --all-files)?

I added @DSuveges for review as well as there have been clashing changes coming from him

Please add fillterning by 0, otherwise is good for me.

@DSuveges  Have you had a chance to take a look?


Initialise large enough, same-const-initialised, arrays using loops

Description
Closes #5229
Previously, these arrays were initialised with repeated "load index from data area, store initialise constant to array". Now we just use a loop to store the constant initialise to every element of the array. To avoid overheads of the loop, it's only done, currently, when the array size is greater than 5 (can be tuned later).

Maybe I am misunderstanding, but the test doesn't actually check that the optimization is working right?

You're right, it just checks that, if the optimisation happens, it doesn't end up being incorrect.

We would need an IR test for that?

Ideally yes. The problem is that this isn't really an optimisation pass. It's just a different IR gen, so I can't test that with opt like how we test the other optimisation passes :-(.


Update docker image with latest cadence release

Fix config template to include new required config changes to bring up
the Cadence server.

Coverage increased (+0.03%) to 64.085% when pulling 10670968db82d80ab0282771cc6a59bf2e94d82c on docker into dff860e15f2b1cbac4add5a66d79aaed77764ba3 on master.


layout: make EqualColumnLayout take specific semantics

Desired behavior
What to make equal cols on a ul > li markup.  This is an accessibility issue.
Today's behavior
Can't insert own markup currently because the component owns the flex parent.  As a result, everything's a div
The Value Add
More semantic, more screen-readable.
The Tradeoffs
More dev time to specify markup required.  Maybe a way to default?
Perhaps a solution like this??:

done in 1f2b7725ad342c29cf2b3b47d37c3b1983b05bbd


System.IO.Pipelines.Tests PingPongTest intermittently fails for Linux

From: https://github.com/dotnet/corefxlab/blob/master/tests/System.IO.Pipelines.Tests/SocketsFacts.cs
RunStressPingPongTest
The test fails intermittently, but on Ubuntu16.04 machines only.
From recent CI jobs:
https://ci.dot.net/job/dotnet_corefxlab/job/master/job/ubuntu16.04_debug_prtest/532/console
https://ci.dot.net/job/dotnet_corefxlab/job/master/job/ubuntu16.04_release_prtest/534/console
12:30:25 The active test run was aborted. Reason: Unhandled Exception: System.IO.Pipelines.Networking.Libuv.Interop.UvException: Error -16 EBUSY resource busy or locked
12:30:25    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowError(Int32 statusCode)
12:30:25    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowIfErrored(Int32 statusCode)
12:30:25    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.loop_close(UvLoopHandle handle)
12:30:25    at System.IO.Pipelines.Networking.Libuv.Interop.UvLoopHandle.ReleaseHandle()
12:30:25    at System.Runtime.InteropServices.SafeHandle.InternalDispose()
12:30:25    at System.IO.Pipelines.Networking.Libuv.UvThread.RunLoop()
12:30:25    at System.IO.Pipelines.Networking.Libuv.UvThread.OnStart(Object state)
12:30:25    at System.Threading.Thread.ThreadMain_ParameterizedThreadStart(Object parameter)
12:30:25    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
cc @davidfowl, @pakrym

This still fails. Re-opening.
https://ci.dot.net/job/dotnet_corefxlab/job/master/job/ubuntu16.04_debug_prtest/1538/consoleFull#-8536224876a086b3e-df04-41d2-bc4d-43e8f9406d07
16:35:30 [xUnit.net 00:00:00.7491959]   Starting:    System.IO.Pipelines.Extensions.Tests
16:35:31 Ping: 500; Pong: 500; Time: 37ms
16:35:31 Ping: 500; Pong: 500; Time: 28ms
16:35:31 Ping: 500; Pong: 500; Time: 21ms
16:35:31 Ping: 500; Pong: 500; Time: 21ms
16:35:31 Ping: 500; Pong: 500; Time: 21ms
16:35:31 Ping: 500; Pong: 500; Time: 27ms
16:35:31 Ping: 500; Pong: 500; Time: 28ms
16:35:31 Ping: 500; Pong: 500; Time: 29ms
16:35:31 Ping: 500; Pong: 500; Time: 28ms
16:35:31 Ping: 500; Pong: 500; Time: 25ms
16:35:31 The active test run was aborted. Reason: Unhandled Exception: System.IO.Pipelines.Networking.Libuv.Interop.UvException: Error -16 EBUSY resource busy or locked
16:35:31    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowError(Int32 statusCode) in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/Interop/Uv.cs:line 79
16:35:31    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowIfErrored(Int32 statusCode) in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/Interop/Uv.cs:line 70
16:35:31    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.loop_close(UvLoopHandle handle) in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/Interop/Uv.cs:line 108
16:35:31    at System.IO.Pipelines.Networking.Libuv.Interop.UvLoopHandle.ReleaseHandle() in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/Interop/UvLoopHandle.cs:line 42
16:35:31    at System.Runtime.InteropServices.SafeHandle.InternalDispose()
16:35:31    at System.IO.Pipelines.Networking.Libuv.UvThread.RunLoop() in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/UvThread.cs:line 86
16:35:31    at System.IO.Pipelines.Networking.Libuv.UvThread.OnStart(Object state) in /mnt/j/workspace/dotnet_corefxlab/master/ubuntu16.04_debug_prtest/src/System.IO.Pipelines.Networking.Libuv/UvThread.cs:line 64
16:35:31    at System.Threading.Thread.ThreadMain_ParameterizedThreadStart(Object parameter)
16:35:31    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
16:35:31 --- End of stack trace from previous location where exception was thrown ---
16:35:31    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
16:35:31
16:35:31
16:35:31 Total tests: Unknown. Passed: 9. Failed: 0. Skipped: 0.
16:35:31 Test Run Aborted.
16:35:31 Test execution time: 2.3687 Seconds

cc @davidfowl, @pakrym, @benaadams
It is failing on Windows too now: Innerloop Windows_NT Debug Build and Test
https://ci.dot.net/job/dotnet_corefxlab/job/master/job/windows_nt_debug_prtest/1572/consoleFull#-410211996a086b3e-df04-41d2-bc4d-43e8f9406d07
23:40:53 [xUnit.net 00:00:00.6585043]   Starting:    System.IO.Pipelines.Extensions.Tests
23:40:54 Ping: 500; Pong: 500; Time: 46ms
23:40:54 Ping: 500; Pong: 500; Time: 35ms
23:40:54 Ping: 500; Pong: 500; Time: 36ms
23:40:54 Ping: 500; Pong: 500; Time: 30ms
23:40:54 Ping: 500; Pong: 500; Time: 28ms
23:40:54 Ping: 500; Pong: 500; Time: 60ms
23:40:55 Ping: 500; Pong: 500; Time: 68ms
23:40:55 Ping: 500; Pong: 500; Time: 61ms
23:40:55 Ping: 500; Pong: 500; Time: 58ms
23:40:55 Ping: 500; Pong: 500; Time: 58ms
23:40:55 The active test run was aborted. Reason: Unhandled Exception: System.IO.Pipelines.Networking.Libuv.Interop.UvException: Error -4082 EBUSY resource busy or locked
23:40:55    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowError(Int32 statusCode) in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\Interop\Uv.cs:line 79
23:40:55    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowIfErrored(Int32 statusCode) in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\Interop\Uv.cs:line 70
23:40:55    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.loop_close(UvLoopHandle handle) in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\Interop\Uv.cs:line 108
23:40:55    at System.IO.Pipelines.Networking.Libuv.Interop.UvLoopHandle.ReleaseHandle() in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\Interop\UvLoopHandle.cs:line 42
23:40:55    at System.Runtime.InteropServices.SafeHandle.InternalDispose()
23:40:55    at System.IO.Pipelines.Networking.Libuv.UvThread.RunLoop() in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\UvThread.cs:line 86
23:40:55    at System.IO.Pipelines.Networking.Libuv.UvThread.OnStart(Object state) in D:\j\workspace\windows_nt_de---4b678204\src\System.IO.Pipelines.Networking.Libuv\UvThread.cs:line 64
23:40:55    at System.Threading.Thread.ThreadMain_ParameterizedThreadStart(Object parameter)
23:40:55    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
23:40:55 --- End of stack trace from previous location where exception was thrown ---
23:40:55    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

We can delete this test.

Failed in VSTS: https://devdiv.visualstudio.com/DevDiv/_build?buildId=1447474
2018-03-06T19:59:16.9039937Z The active test run was aborted. Reason: Unhandled Exception: System.IO.Pipelines.Networking.Libuv.Interop.UvException: Error -4082 EBUSY resource busy or locked
2018-03-06T19:59:16.9040868Z    at System.IO.Pipelines.Networking.Libuv.Interop.Uv.ThrowError(Int32 statusCode) in E:\A\_work\1935\s\src\System.IO.Pipelines.Networking.Libuv\Interop\Uv.cs:line 79
2018-03-06T19:59:16.9041532Z    at System.IO.Pipelines.Networking.Libuv.Interop.UvLoopHandle.ReleaseHandle() in E:\A\_work\1935\s\src\System.IO.Pipelines.Networking.Libuv\Interop\UvLoopHandle.cs:line 43
2018-03-06T19:59:16.9042292Z    at System.Runtime.InteropServices.SafeHandle.InternalDispose()
2018-03-06T19:59:16.9042751Z    at System.Threading.Thread.ThreadMain_ParameterizedThreadStart(Object parameter)
2018-03-06T19:59:16.9043248Z    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
2018-03-06T19:59:16.9043754Z --- End of stack trace from previous location where exception was thrown ---
2018-03-06T19:59:16.9044200Z    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2018-03-06T19:59:16.9044451Z
2018-03-06T19:59:18.6079142Z
2018-03-06T19:59:18.6081262Z Test Run Aborted.

We can delete this test.

OK.

Delete!!

Removed the test in https://github.com/dotnet/corefxlab/pull/2153


can't have 2 special fields

I'm getting an error when trying to filter a query by two GeoPointFields as Ride.objects(Q(orig__within_distance=orig_point_and_dist) & Q(dest__within_distance=dest_point_and_dist)). This is related to my previous issue but now the issue is either related directly to pymongo or the way pymongo is being interfaced.
Here's the error:
OperationFailure: command SON([('count', u'ride'), ('query', {'dest': {'$within': {'$center': [[47.6062095, -122.3320708], 0.5]}}, '_types': 'Ride', 'orig': {'$within': {'$center': [[47.6587802, -117.4260466], 0.5]}}}), ('fields', None)]) failed: exception: can't have 2 special fields

whoops, apparently this works: Ride.objects(Q(orig__within_distance=orig_point_and_dist) and Q(dest__within_distance=dest_point_and_dist))

I'll have to take that back, while logical and does work, I actually need to use & as you would with other queries. Any thoughts?

Hi @maxcountryman unfortunately this isnt currently supported by mongodb

Thanks for the follow up. That's unfortunate. I had talked with some of the devs at 10gen and they've said as much. It sounds like they're hoping to support it eventually. I wonder if they ran into a technical limitation or just didn't have time to implement?
On Nov 10, 2011, at 10:53 AM, Ross Lawley wrote:

Hi @maxcountryman unfortunately this isnt currently supported by mongodb

Reply to this email directly or view it on GitHub:
https://github.com/hmarr/mongoengine/issues/343#issuecomment-2696877


StatefulSet.spec is missing required field "serviceName"

Using 1.7.0 with client on 1.25.5 (and server on 1.24.4+k3s1)

Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(StatefulSet.spec): missing required field "serviceName" in io.k8s.api.apps.v1.StatefulSetSpec

Cheers,

@greut
Thanks for reporting. I will take it on tomorrow or day after tomorrow. If you would have fix ready by then, please send a PR.

I did that quick fix, but it might be everything there is about it.
diff --git a/charts/azurite/templates/statefulset.yaml b/charts/azurite/templates/statefulset.yaml
index 3a5701b..a79acac 100644
--- a/charts/azurite/templates/statefulset.yaml
+++ b/charts/azurite/templates/statefulset.yaml
@@ -10,6 +10,7 @@ metadata:
     {{- toYaml . | nindent 4 }}
   {{- end }}
 spec:
+  serviceName: {{ $fullName }}
   replicas: {{ .Values.statefulset.replicaCount }}
   selector:
     matchLabels:

@greut
I've applied the change, although it will require to recreate the Azurite StatefulSet. serviceName is immutable.


function deprecated

Hi Noah: I am developing a object storage system using the rados object in ceph by your go-ceph on github. But when I compile my go script ,I get a warning that the function rados_read_op_omap_get_vals in librados.h:3389 is deprecated which is used in your go-ceph/rados/ioctx.go:453.Maybe you should use the rados_read_op_omap_get_vals2 according to librados.h:3395

Got the same error on ubutnu 18.04

Close this issue


changed shutdown order of iomgr and plugins

This PR changes the order of iomgr and plugin shutdowns in init.c

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


Newsletter Section Added

Fixes Issue
#1567

Changes proposed
Newsletter Section Added
Screenshots

Note to reviewers

Summary by CodeRabbit

New Features

Added a link in the footer for downloading the app from the Google Play Store.
Introduced a new newsletter section with a subscription form on the home page.

Thank you for your Contribution. You had modified it many time so I appreciate your efforts


Wrong attributes access in 'R0Container'

Hi,
When running image-extractor over a simtel file: gamma_20deg_0deg_run8___cta-prod3_desert-2150m-Paranal-HB9_cone10.simtel I have this error:
Traceback (most recent call last):
  File "image_extractor.py", line 641, in <module>
    extractor.process_data(data_file, args.max_events)
  File "image_extractor.py", line 462, in process_data
    event_row['run_number'] = event.r0.run_id
AttributeError: 'R0Container' object has no attribute 'run_id'
Closing remaining open files:./dataset.hdf5...done

I temporarily bypassed it by commenting the line 462. However, I'm not sure if this might cause trouble when reading/using the hdf5 produced.

The run_id attribute has changed to obs_id in the event object, a change in the code is needed. Try this and it should work just fine.

Thanks Lukas. This has now been addressed with the merging of your PR #18 in https://github.com/cta-observatory/image-extractor/commit/efe92aedc2ea422c4e3e1985061f7666c9f529e5.


0.15.0 broken - cannot use 'c' key

After the latest update, the key 'c' is unavailable when the insert mode of vim.
Is this a bug?

Description

Reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error '...'

Expected behavior

Context

Python package version:

Extension version:

Operating System and its version:
Browser and its version:

Command Line Output

Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.

Web Browser Output

Paste the output from your browser web console here.

Hi @shinypond  thanks for reporting!

Is this a bug?

If this is happening consistently in 0.15.0 and not in 0.14.5 then it is almost certainly a bug :(.
Can you please confirm that if you downgrade jlab vim to 0.14.5 in the same environment then c works again?

oh boy. It sure it broken. That's really not great. I wish we had tests that could check things like this.

Thanks for your reply!!
I have just installed jlab vim through the jupyter lab extension tab(leftside in the web), without any terminal command such as pip.
Then how can I downgrade jlab vim to 0.14.5? Use pip install?
Anyway, I hope this problem be solved soon...

I have just installed jlab vim through the jupyter lab extension tab(leftside in the web)

hmm. I don't know much about how to use that. I would in the terminal do the following:
jupyter labextension uninstall @axlair/jupyterlab-vim
pip install jupyterlab-vim==0.14.5

Anyway, I hope this problem be solved soon...

me too :disappointed: . Looking around I havne't been able to figure out the cause. If other people could put some eyes on it that'd be really helpful! Full diff here: https://github.com/jupyterlab-contrib/jupyterlab-vim/compare/0.14.5...0.15.0

Oh wow - you can't even type the letter c I though you just couldn't do things like ciw. That's really bad. Worth considering pulling that release off pypi if it's not an obvious fix. I'm going to bed but can try to think more about this tomorrow

Okay. Thanks for your efforts. Have a good night!

I spoke too soon :) I may have i figured it out

now I don't think i can sleep until I at least try this

ok. Thanks again for reporting!
new version should be published as soon as https://github.com/jupyterlab-contrib/jupyterlab-vim/runs/5520553204?check_suite_focus=true finished (and then conda-forge version a few hours later)

@shinypond if you get a chance could you try out the new version and confirm that it works for you? Now it truly is bedtime for me i think

Everything is now okay!!! Thanks a lot @ianhi  !!

Thanks a bunch. Quite excited to have this back.


Error on js plugin install

Expected behavior
JS Plugin should install
Actual behavior
JS plugin installation fails
Steps to reproduce
wget https://github.com/getgauge/gauge-js/releases/download/v2.3.4/gauge-js-2.3.4.zip   && gauge install js --file gauge-js-2.3.4.zip   && rm gauge-js-2.3.4.zip
 ---> Running in a36805b60df6
--2019-03-04 16:33:24--  https://github.com/getgauge/gauge-js/releases/download/v2.3.4/gauge-js-2.3.4.zip
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/44694442/c588c700-2480-11e9-81c8-9a362b....
SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dgauge-js-2.3.4.zip&response-content-type=application%2Foctet-stream [following]
--2019-03-04 16:33:25--  https://github-production-release-asset-2e65be.s3.amazonaws.com/44694442/c588c700-2480-11e9-81c8-9a362b0c8357?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190304%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190304T163325Z&X-Amz-Expires=300&X-Amz-Signature=d29d065b181&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dgauge-js-2.3.4.zip&response-content-type=application%2Foctet-stream
Length: 151596 (148K) [application/octet-stream]
Saving to: 'gauge-js-2.3.4.zip'

     0K .......... .......... .......... .......... .......... 33%  260K 0s
    50K .......... .......... .......... .......... .......... 67%  348K 0s
   100K .......... .......... .......... .......... ........  100%  465K=0.4s

2019-03-04 16:33:26 (337 KB/s) - 'gauge-js-2.3.4.zip' saved [151596/151596]

Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --library=static_library --module=/tmp/gauge_temp1551717206500407356/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc/grpc_node.node --module_name=grpc_node --module_path=/tmp/gauge_temp1551717206500407356/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)
Failed to install plugin 'js'.
Reason: exit status 1
Failed to install plugin 'js'.
Reason: exit status 1
The command '/bin/sh -c wget https://github.com/getgauge/gauge-js/releases/download/v2.3.4/gauge-js-2.3.4.zip   && gauge install js --file gauge-js-2.3.4.zip   && rm gauge-js-2.3.4.zip' returned a non-zero code: 1

Gauge version
gauge-1.0.5-all.x86_64

@ravi100 Where are you trying to run this script? Which OS? What is the version of node installed?

Hi @nehashri
NODE_VERSION 10.15.0
YARN_VERSION 1.13.0
CentOS Linux release 7.4.1708
Gauge 1.0.5

Thanks for help

@ravi100 It looks like you are trying to execute this in docker. Is it possible to share the dockerfile?

awaiting information, please feel free to reopen if you still face this issue

Hello @nehashri,
I have resolved the problem by using alpine edge version.
Thanks

Thanks for letting us know @ravi100


[IR Compiler] represent identity() as As(None) to support subgraph

What do these changes do?
as titled
Related issue number

Fixes

Codecov Report

Merging #1752 (41dc87a) into main (f844808) will decrease coverage by 32.97%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1752       +/-   ##
===========================================
- Coverage   73.25%   40.28%   -32.98%
===========================================
  Files          89       89
  Lines        9764     9764
===========================================
- Hits         7153     3933     -3220
- Misses       2611     5831     +3220

Impacted Files
Coverage Δ

python/graphscope/tests/unittest/test_java_app.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...ython/graphscope/tests/unittest/test_cython_ast.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...ython/graphscope/tests/unittest/test_serailaize.py
0.00% <0.00%> (-100.00%)
:arrow_down:

python/graphscope/analytical/udf/patch.py
3.47% <0.00%> (-96.53%)
:arrow_down:

python/graphscope/tests/unittest/test_lazy.py
0.00% <0.00%> (-96.30%)
:arrow_down:

...thon/graphscope/tests/unittest/test_scalability.py
0.00% <0.00%> (-96.16%)
:arrow_down:

python/graphscope/tests/unittest/test_app.py
0.00% <0.00%> (-95.66%)
:arrow_down:

...hon/graphscope/tests/unittest/test_create_graph.py
0.00% <0.00%> (-92.00%)
:arrow_down:

python/graphscope/tests/unittest/test_graph.py
0.00% <0.00%> (-85.57%)
:arrow_down:

python/graphscope/tests/unittest/test_context.py
0.00% <0.00%> (-81.04%)
:arrow_down:

... and 38 more

Continue to review full report at Codecov.

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


Initial proposal for a Gin wrapper that provide graceful shutdown.

The content of .github come from gin-contrib/logger and the test are inspired by gin test.

I think I have addressed all the first batch of comments. Is there anything I can do to help?

@cedric-appdirect Thanks.


WIP: add TW (taiwan) source

Summary
[What is this change about?  If it's related to an issue, please include the issue number (e.g., #426)]
[Short description, before this change ...]
[Short description, after this change ...]
Changes
[Short summary of the code.  List major points, and refer to the lines in the diff as needed.]
Additional notes

what are success/failure conditions?
any side effects?

dash3 has cumulative data but needs header
curl 'https://covid19dashboard.cdc.gov.tw/dash3' -H 'Origin: https://919644827-atari-embeds.googleusercontent.com'


Allow individual password encoders for handlers

Configuration of password encoders in CAS assumes a single encoder, while each handler in reality can carry its own encoder. The CAS auto-configuration needs allow for this option where each handler may be linked to its own encoder, if needed, with some reasonable fallback.

Handled via https://github.com/apereo/cas/pull/1834 See docs and new settings/properties for more info please.


Add naming utility

From the doc-string:
available_name(modl::Module, name::Symbol)

Function to replace, if necessary, a given name with a
modified one that ensures it is not the name of any existing object in
the global scope of modl. Modifications are created with numerical
suffixes.

Codecov Report

Merging #356 into dev will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #356      +/-   ##
==========================================
- Coverage   81.93%   81.91%   -0.03%
==========================================
  Files          39       39
  Lines        2619     2582      -37
==========================================
- Hits         2146     2115      -31
+ Misses        473      467       -6

Impacted Files
Coverage Δ

src/utilities.jl
74.68% <100.00%> (+9.62%)
:arrow_up:

src/sources.jl
59.25% <0.00%> (-7.41%)
:arrow_down:

src/composition/models/inspection.jl
95.23% <0.00%> (-4.77%)
:arrow_down:

src/measures/finite.jl
87.35% <0.00%> (-2.88%)
:arrow_down:

src/data/datasets.jl
86.11% <0.00%> (-2.78%)
:arrow_down:

src/composition/learning_networks/inspection.jl
87.80% <0.00%> (-0.84%)
:arrow_down:

src/hyperparam/one_dimensional_range_methods.jl
91.86% <0.00%> (-0.37%)
:arrow_down:

src/univariate_finite/types.jl
90.72% <0.00%> (-0.19%)
:arrow_down:

src/composition/learning_networks/machines.jl
95.71% <0.00%> (-0.18%)
:arrow_down:

src/univariate_finite/methods.jl
82.56% <0.00%> (-0.16%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


bug: NAF decomposition doesn't enforce checks on adjacent values

Description
The method focumentation is:

ToNAF returns the NAF decomposition of given input. The non-adjacent form (NAF) of a number is a unique signed-digit representation, in which non-zero values cannot be adjacent. For example, NAF(13) = [1, 0, -1, 0, 1].
But this check is not enforced, see

diff --git a/std/math/bits/hints.go b/std/math/bits/hints.go
index bb3da6d13..58a8ae42b 100644
--- a/std/math/bits/hints.go
+++ b/std/math/bits/hints.go
@@ -95,13 +95,14 @@ func nafDecomposition(a *big.Int, results []*big.Int) error {
 		if buf.Cmp(&zero) == 0 {
 			results[n].SetUint64(0)
 		} else { // aCopy odd
-			buf.And(&aCopy, &three)
-			if buf.IsUint64() && buf.Uint64() == 3 {
-				results[n].SetInt64(-1)
-				aCopy.Add(&aCopy, &one)
-			} else {
-				results[n].SetUint64(1)
-			}
+			results[n].SetUint64(1)
+			// buf.And(&aCopy, &three)
+			// if buf.IsUint64() && buf.Uint64() == 3 {
+			// 	results[n].SetInt64(-1)
+			// 	aCopy.Add(&aCopy, &one)
+			// } else {
+			// 	results[n].SetUint64(1)
+			// }
 		}
 		aCopy.Rsh(&aCopy, 1)
 		n++
diff --git a/std/math/bits/naf_test.go b/std/math/bits/naf_test.go
index 2ead74a68..a2ca467de 100644
--- a/std/math/bits/naf_test.go
+++ b/std/math/bits/naf_test.go
@@ -28,5 +28,5 @@ func (c *toNAFCircuit) Define(api frontend.API) error {

 func TestToNAF(t *testing.T) {
 	assert := test.NewAssert(t)
-	assert.ProverSucceeded(&toNAFCircuit{}, &toNAFCircuit{A: 13, B0: 1, B1: 0, B2: -1, B3: 0, B4: 1})
+	assert.ProverSucceeded(&toNAFCircuit{}, &toNAFCircuit{A: 13, B0: 1, B1: 0, B2: 1, B3: 1, B4: 0})
 }

We should either fix it or remove the method as it is not used anymore.
cc. @gbotrel, @yelhousni

I suggest to remove the method. Usually 2-NAF representation is used to reduce the number of operations because of the lower Hamming weight compared to the bit representation. But anyway in-circuit the number of operations is related to the number of bits and not the representation because of the lack of branching. Originally we implemented this method to experiment with but ended up never using it so I suggest to remove it.

ok to remove, will open a PR.


Add ability to change mode

Could have a subscriber that listens to a custom message for changing the mode of Create (OFF, PASSIVE, SAFE, and FULL). Or as a minimum, have a parameter to the node that starts the robot in SAFE or FULL mode.

Added functionality to set-modes branch. Will merge after testing.

@andrewrgross It was so long ago, I don't recall exactly why I stopped working on this. If I remember correctly, the branch is pretty much feature-complete, but I may have ran into a bug/behaviour issue that I didn't resolve.

@andrewrgross Did you find anything? I'm going to start working on this as well - just started working with ROS on a Roomba Create 2.

I did actually! It may or may not be useful to you depending on your function, but it turns out that if you send a docking command and it docks, it goes into passive mode! This is the command:
rostopic pub -1 dock std_msgs/Empty
If it's on the dock and you press this, it goes passive, and then if you undock, it becomes active again:
rostopic pub -1 undock std_msgs/Empty
I included a bit more info here: https://crashbot.atlassian.net/wiki/spaces/BOT/pages/31293441/Power
and here: https://crashbot.atlassian.net/wiki/spaces/BOT/pages/32014337/State+Overview


Error if opengraph image is not existing

If you paste url that don't contains preview image. php backend of editorjs can't validate whole URL block, because url field is empty, but string is required.

If i paste url with preview image, it is validating correctly