DIfferent behavior between docker image and npm package (slug not recognized as a team ID)

Hi, I'm trying out very basic case with local filesystem as a storage backend.
I'm running turbo like this:
turbo run build --api="http://localhost:3000" --token=mytoken --team=myteam --remote-only

In case of docker image everything works as expected:
docker run -it --rm -p 3000:3000 -e STORAGE_PROVIDER=local -e TURBO_TOKEN=mytoken -e LOG_LEVEL=debug fox1t/turborepo-remote-cache:1.5.1
...
{"severity":"INFO","level":30,"time":1661781474850,"pid":8,"hostname":"7ae9741d9db3","reqId":"OpxpJZ7SSmyC3DTj5cV1tw-49","req":{"method":"PUT","url":"/v8/artifacts/1604679dd3f91bfc?slug=myteam","hostname":"localhost:3000","remoteAddress":"<IP_ADDRESS>","remotePort":61292},"message":"incoming request"}
{"severity":"INFO","level":30,"time":1661781474859,"pid":8,"hostname":"7ae9741d9db3","reqId":"OpxpJZ7SSmyC3DTj5cV1tw-49","res":{"statusCode":200},"responseTime":9.032999999821186,"message":"request completed"}

But when I run npx equivalent I get the following error:
STORAGE_PROVIDER=local TURBO_TOKEN=mytoken LOG_LEVEL=debug npx<EMAIL_ADDRESS>...
{"severity":"INFO","level":30,"time":1661781704349,"pid":72243,"hostname":"Vadims-MacBook-Pro.local","reqId":"3oYQdZzrRU6eocU3CQtKzg-4","req":{"method":"GET","url":"/v8/artifacts/834351818444d6ba?slug=myteam","hostname":"localhost:3000","remoteAddress":"<IP_ADDRESS>","remotePort":64930},"message":"incoming request"}
{"severity":"WARNING","level":40,"time":1661781704349,"pid":72243,"hostname":"Vadims-MacBook-Pro.local","reqId":"3oYQdZzrRU6eocU3CQtKzg-4","validation":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"teamId"},"message":"should have required property 'teamId'"}],"validationContext":"querystring","stack":"Error: querystring should have required property 'teamId'\n    at defaultSchemaErrorFormatter (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/context.js:40:10)\n    at wrapValidationError (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/validation.js:105:17)\n    at validate (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/validation.js:90:12)\n    at preValidationCallback (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/handleRequest.js:89:18)\n    at handler (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/handleRequest.js:72:7)\n    at handleRequest (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/handleRequest.js:20:5)\n    at runPreParsing (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/route.js:451:5)\n    at next (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/hooks.js:158:7)\n    at handleResolve (/Users/vadim/.npm/_npx/dd8a09686e5b1d7e/node_modules/fastify/lib/hooks.js:175:5)\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)","type":"Error","message":"querystring should have required property 'teamId'"}
{"severity":"INFO","level":30,"time":1661781704350,"pid":72243,"hostname":"Vadims-MacBook-Pro.local","reqId":"3oYQdZzrRU6eocU3CQtKzg-4","res":{"statusCode":400},"responseTime":0.24070799350738525,"message":"request completed"}

Seems like whatever version is published on npm doesn't recognize slug as team ID.

Turns out npm package doesn't contain this commit: https://github.com/fox1t/turborepo-remote-cache/commit/4ceb67f647a4e8754027a9bc7bb5620c67c9c596

This is so unfortunate. Which version are you downloading from npm?

Fixed in v1.6.0


Move last pasted item to the top of the drop down list

This PR attempts to fix the issue #5

@aefernandes  Is this project still being maintained? I require the proposed feature in day-today, and currently have manually compiled and installed on each VSCode installation that I have.


Add someone to GitHub

If you want to be able to assign bugs to someone, they only need Read access.
Please include:

GitHub ID to add: @mjsmike62
Project to be added to: Besu

One of:

Team to be added to: Besu Docs Maintainers
Role:

Read
Triage
Write
Manage
Admin

See https://github.com/hyperledger/besu-docs/pull/1433 for the approval to add him to the Besu Docs Maintainer list.

Invite sent!


Incorrect documentation ..  or sign of bug if docs are correct

https://github.com/jina-ai/docarray/blob/510dfc934c63c9480a20e8003243c8abee12a675/docs/fundamentals/dataclass/index.md?plain=1#L175
The tags from the example object are put into a sibling document to the other fields in the chunks and are not associated with the container document. In fact the container document is pretty empty except for the chunks.
Not sure if the docs are wrong or they indicate the intended behavior and this is just a bug.

you are right, the documentation is wrong.

In fact the container document is pretty empty except for the chunks.

btw, this is because _ underscore attributes are not plotted in .summary(). otherwise it will be too much. So it looks empty as our prettify is designed as so.

Pretty minor in the grand scheme of things, but thought I'd mention it as I noticed it right away. Intuitively my first instinct was that the fields stuffed into tags should be clustered on the parent doc as you think they'd apply to all the chunks and not be their "equivalent", but I have not spent any brain cycles on the design implications nor the intent so not married to that instinct.

oh actually.

you are wrong, it is not a bug or wrong documentation. 😆

What I read is that the intent and my instinct match up, but the subtlety is that in the example the meta is a JSON type so created as a sibling in the chunks. Fair enough the API docs do indicate that. I see changing the demo to:
from docarray import dataclass, Document, DocumentArray
from docarray.typing import Image, Text

@dataclass
class WPArticle:
    banner: Image
    headline: Text
    author: str
    column: str

a = WPArticle(
    banner='/Volumes/Work/docarray-test/dog-cat-filght.png',
    headline='Everything to know about flying with pets, from picking your seats to keeping your animal calm',
    author= 'Nathan Diller',
    column= 'By the Way - A Post Travel Destination'
)

Document(a)

Get's me the other paradigm.
Might be helpful to call out both avenues of structuring data or use the above in the overview as it matches that design description.

oh this is because your author and column are Python primitive types, so they behave differently comparing to JSON

I don't think we are communicating well. I understand how it all works and agree the examples all conform to the API doc. I still hold the front page code example doesn't well represent what is described in the paragraph

Having those in mind, to represent a multimodal document it seems that we need to put each modality as a separated Document and then nested them under a parent Document. For example, the article card from The Washington Post would be represented as follows:

The above code snippet I pasted would generate an example that does match. Figured it out by reading the API docs you linked.
In the end fell free to close this and move on as you prefer.
I do thank you for the time and attention you have given this little ticket and exercise. I did walk away understanding better how it works, and my suggestions are only put forth to make help the next person.


[Portuguese] Localize 'Security Chaos Engineering'

Localize https://glossary.cncf.io/security-chaos-engineering/

can I work on this issue ?


Config file for maxquant example in v3.0.0-dev4

We are trying to run the maxquant example in the development version but get an error when running it without config file or with this one: https://github.com/compomics/ms2rescore/blob/main/examples/maxquant-ms2rescore.toml
Is there a config file that works or what are we doing wrong?

Hi Veit,
Could you provide some more details on the errors that you are getting? You can always mail me the log. That might speed up the debugging.
Note that the example uses the old MaxQuant modification labels (e.g., ox instead of Oxidation (M)).


SPM and API v1.6 support

2 issues have appeared with the download options.
Force unwrapping the placeholder leads the app to crash so it needs to be guarded.
Also the duplicate app installation option appears 2-3 times on the table view.

Is it possible to use this ?? Like is there an updated (unstable) IPA we could use in the mean time ? Thanks for all your work

This update will never come out


[FEATURE-REQ] SHA256 of geohashes in the intersection code

Issue type

This builds on top of #806. This is going to be a change that we need to apply to the intersect logic. See the old PR for reference - relevant file diff from the PR
When we load the location data from the Asyncstorage, instead of reading the raw data, we need to read from Geohashes. The next step is as follows -

read geohashes
Append timestamp to the geohash
Apply SHA256([geohash, timestamp])
Compare it with the received points in the intersect.js

My view is that these should use a slow hash algorithm, and scrypt is my favoured approach for various reasons detailed here:
https://pathcheck.atlassian.net/wiki/spaces/TEST/pages/61112371/Design+for+MVP1+HA+JSON+Changes

@tremblerz  - If I'm reading your issue description correctly, #806 is the first step in this process that can be done independently, and this can be added only after #806 is finished. Did I understand that correctly?

For anyone who wants to work on tis please see Jira SAF-268 for a proposed alternate plan of attack.
Same basic outcome, but proposing different sequencing to ensure Safe Paths & Safe Places retain compatibility as much as possible during this change.

To clarify, we're going to hash the concatenation of the geohash and timestamp using Scrypt, not SHA256


GKE cleanup fails

Run gcloud container clusters delete cilium-cilium-cli-1046557892-vm --zone us-west2-a --quiet --async
ERROR: (gcloud.container.clusters.delete) Some requests did not succeed:
 - args: ["ResponseError: code=404, message=Not found: projects/***/zones/us-west2-a/clusters/cilium-cilium-cli-1046557892-vm.\nNo cluster named 'cilium-cilium-cli-1046557892-vm' in ***."]
   exit_code: 1

ERROR: (gcloud.compute.instances.delete) Could not fetch resource:
 - The resource 'projects/***/zones/us-west2-a/instances/cilium-cilium-cli-1046557892-vm' was not found

Looks like a VM is trying to be deleted as a cluster? Or maybe a delete that can't find a resource should not fail the test?
https://github.com/cilium/cilium-cli/pull/444/checks?check_run_id=3107899715

The issue here is that the GCP VM failed to create:
Run gcloud compute instances create cilium-cilium-cli-1046557892-vm \
WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - The resource 'projects/***/regions/us-west2/subnetworks/default' is not ready

The workflow then stopped and there was nothing to clean up because neither the VM nor the cluster were created.
This is known flake: I had tried to fix that in #338 but was unsuccessful. At least having the setup reversed makes it a bit more reliable when tearing down (as cluster deletion is asynchronous, it was causing more issues the other way around).
From GCP documentation, this comes from simultaneous resource operations (https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-vm-creation) however we have no control over that. Their only recommendation is to add retries. I think we should do that considering it's an infrastructure issue and it also is easily contained to the GCP VM creation step.
But I haven't gotten around to it yet xD
Since we hadn't tracked this in an issue, I propose we repurpose this one if that's OK with you.
PS: I recommend to use permanent Actions links, and not the Check links which are temporary and disappear when checks are refreshed (see non-working link in OP). Permanent links look this:

https://github.com/cilium/cilium-cli/actions/runs/1046557892
https://github.com/cilium/cilium-cli/runs/3107899715?check_suite_focus=true

You can find the permanent links either by:

Clicking on the workflow name from the Checks page.
Finding the workflow run from the Actions tab (can be filtered by workflow / branch / event).

From GCP documentation, this comes from simultaneous resource operations (https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-vm-creation) however we have no control over that.

Between the cluster deletion and the subsequent VM creation? Do we really need to make the cluster deletion asynchronous? IIRC, it's pretty fast on GKE anyway.

PS: I recommend to use permanent Actions links, and not the Check links which are temporary and disappear when checks are refreshed (see non-working link in OP).

I don't think a lot of contributors are aware of this. Maybe worth mentioning it in other venues (calls & Slack)?

Between the cluster deletion and the subsequent VM creation? Do we really need to make the cluster deletion asynchronous? IIRC, it's pretty fast on GKE anyway.

No, it can conflict with any operation running on GCP at the same time (another workflow, etc.). Anything you do in GCP is actually always asynchronous even when it looks like it synchronous, because what most commands do is call the operations API and log a new operation (check out gcloud container operations list if you're curious) and then wait for that operation to end.

I don't think a lot of contributors are aware of this. Maybe worth mentioning it in other venues (calls & Slack)?

Already did on both 😁

@michi-covalent The fix in action: https://github.com/cilium/cilium-cli/actions/runs/1102850699

Adds warnings in the logs:

Run nick-invision/retry@45ba062d357edb3b29c4a94b456b188716f61020

WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - The resource 'projects/***/regions/us-west2/subnetworks/default' is not ready

Warning: Attempt 1 failed. Reason: Child_process exited with error code 1

WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - The resource 'projects/***/regions/us-west2/subnetworks/default' is not ready

Warning: Attempt 2 failed. Reason: Child_process exited with error code 1

WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
Created [https://www.googleapis.com/compute/v1/projects/***/zones/us-west2-a/instances/cilium-cilium-cli-1102850699-vm].
NAME                             ZONE        MACHINE_TYPE                   PREEMPTIBLE  INTERNAL_IP   EXTERNAL_IP     STATUS
cilium-cilium-cli-1102850699-vm  us-west2-a  custom (e2, 2 vCPU, 4.00 GiB)  true         <IP_ADDRESS>  <IP_ADDRESS>  RUNNING
Command completed after 3 attempt(s).

Even adds warnings directly on the workflow run page. Nice!


Configurator not working offline (without the internet) + weird requests

I've noticed that Configurator needs internet access to start. Many resources (js, css, png's) are downloaded while opening Configurator:

Many resources are downloaded from cloudflare, gstatic and googleapis.
I noticed that there are some avatars downloading from github, but there are 3 requests to drive.google.com. What are they for?
In Chrome I get this warning:

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://drive.google.com/uc?export=view&id=0B6wTGzSOtvNBeld4U09LQkV0c2M with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.

Would it be possible to make Configurator work offline? All files required by Add-on should be included in addon and not downloaded from the internet every time You go to Configurator.
I think that this would be a great improvement, because now (especially on slow internet) You must wait really long for Configurator to load. Also sometimes the user wants to set up HA to work offline (without the internet). Currently this isn't possible

That is out of scope for the add-on.
Add-ons wrap existing applications, you are requesting a change to that application.
Please file a feature request to the upstream project.
👍


💥Feat:Payment Method Selection Page

Describe the feature
As a user, I want to be able to select my preferred payment method during checkout, including options such as:

UPI (Unified Payments Interface)
COD (Cash on Delivery)
Credit Card
Debit Card

Previously I made the Debit Card section now the remaining section will be in this PR.
Add ScreenShots
Here is the proposed design
https://github.com/user-attachments/assets/85e92d7c-db69-4778-b6c5-fd70bbcfab55
Record

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

Please add a level 3 label as it is a big change in UI.


UPSTREAM: docker/distribution: 3068: Add dualstack option to S3 stora…

…ge driver
Allow the storage driver to optionally use AWS SDK's dualstack mode.
This allows the registry to communicate with S3 in IPv6 environments.
Fixes #3067
Signed-off-by: Adam Kaplan<EMAIL_ADDRESS>

/assign @dmage
Removing WIP. The existing unit test passes with dualstack enabled. I was able to confirm locally that with dualstack enabled, the driver is able to create and delete objects on s3.

/assign @dmage

/assign @dmage

/hold
Let's see how much feedback we get upstream (if any)

/lgtm

/hold cancel
We've given docker sufficient time to review.

/approve

@adambkaplan apparently approve magic doesn't work here because we don't have OWNERS

Adding OWNERS here: https://github.com/openshift/docker-distribution/pull/13

/approve

/approve


Soroban getEvents cursor is giving empty response

What version are you using?
Node is implemented with Soroban v21.5.1
getNetwork response is:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "friendbotUrl": "https://friendbot.stellar.org/",
    "passphrase": "Public Global Stellar Network ; September 2015",
    "protocolVersion": 21
  }
}

getHealth response is:
{
  "jsonrpc": "2.0",
  "id": 8675309,
  "result": {
    "status": "healthy",
    "latestLedger": 53866455,
    "oldestLedger": 53849176,
    "ledgerRetentionWindow": 17280
  }
}

What did you do?
When calling getEvents, without cursor, it worked fine. node returns data, but when using cursor in the params, it then returns empty response.
Working payload without cursor :
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getEvents",
  "params": {
    "startLedger": 53849842,
    "pagination": {
      "limit": 3
    }
  }
}

Empty response when query with cursor, tried recent block within 24 hrs, the same behaviour
{
  "jsonrpc": "2.0",
  "id": 8675309,
  "method": "getEvents",
  "params": {
    "pagination": {
      "limit": 3,
      "cursor": "0231283310285574144-0000000001"
    }
  }
}

What did you expect to see?
It looked like the nodes aren't able to recognise cursor.
If calling the same payload on this url: https://soroban-rpc.mainnet.stellar.gateway.fm/
data is returned.
Is there config we missed out from the node?

@Shaptic did you get to make any progress on this?

Iirc my working theory was having to do with the 10k scan limit; I couldn't find a reasonable explanation otherwise

This is closed by v22.0.0


net/http r.MultipartForm.RemoveAll() not working at all

Go version
go1.23.1 windows/amd64
Output of go env in your module/workspace:
irrelavant

What did you do?
call r.MultipartForm.RemoveAll() on windows, the temporary file will not be cleared. and net/http should be able to call this function automatically without user intervention at the first place. Many developers dont know this and clog their temp folder with gigabytes of data.
What did you see happen?
above
What did you expect to see?
above

Related Issues and Documentation

net/http: finishRequest() fails to clean up files generated after modifying request using context #67713 (closed)
net/http: multipart ReadForm fails to remove temporary files on io.Copy error #16296 (closed)
mime/multipart: TempFile file hangs around on disk after usage in multipart/formdata.go #20253 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Related Issues and Documentation

net/http: finishRequest() fails to clean up files generated after modifying request using context #67713 (closed)
net/http: multipart ReadForm fails to remove temporary files on io.Copy error #16296 (closed)
mime/multipart: TempFile file hangs around on disk after usage in multipart/formdata.go #20253 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Ah I see, but I wish go can handle this automatically

Related Issues and Documentation

net/http: finishRequest() fails to clean up files generated after modifying request using context #67713 (closed)
net/http: multipart ReadForm fails to remove temporary files on io.Copy error #16296 (closed)
mime/multipart: TempFile file hangs around on disk after usage in multipart/formdata.go #20253 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Sorry, I don't get it. It's still a bug and I am calling the file handle close and everything else correctly, it just won't clear the folder. Not sure why some of those issues were closed?

see #58809, it can only automatically clean up if you don't interfere with it.


docs: fix links to Youtube Player

🔗 Linked issue
❓ Type of change

[x] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
When I accessed the Youtube Player page using the following flow line, a 404 error was returned.

🆖 / page: Click Youtube Logo
🆖 /scripts page: Click Youtube Iframe content
🆗 scripts page, side menu: Click Content > Youtube Player

When we investigated the cause, we found that it failed in the case of Youtube Iframe.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Hi @harlan-zw , I found a bug in the documentation and fixed it.
Please review when you have time. 🙏

Public Preview, I'm very excited. Thank you for implementing it. ❤


CONTRIBUTING.md

Finally! Solves issue #2

What do you mean by style guide? (example?) also code of conduct I'm only familiar with for events not open source work, care to link an example?

style guide aka all the things that mihok nit picks when tees writes javascript for him ;)
code of conduct generator

Thats what prettier and eslint are for ;)

Cool, ill add a CoC!


Fix: losing this context when multiple server functions are calls in one useResource$ hook

Overview
So, this PR fixes losing this context in server functions if they are called inside useResource$ hook (#4417) and also introduce a new helper function to the passed object to the resource callback function called call.
The idea is to keep tracking of current context of the resource when initially called and use it in any inner function calls that uses promises to perform some actions (i.e calling multiple server functions sequentially).
Usage
import { server$ } from<EMAIL_ADDRESS>import {
  $,
  Resource,
  component$,
  useResource$,
} from<EMAIL_ADDRESS>
const sleep = async (ms: number) =>
  new Promise((resolve) => setTimeout(resolve, ms));

const serverFunctionA = server$(async function SererA() {
  await sleep(4000);

  return "A";
});

const serverFunctionB = server$(async function ServerB(name: string) {
  await sleep(3000);

  return name;
});

const serverFunctionC = server$(async function ServerC() {
  await sleep(2000);

  return "C";
});

export const ResCaller= component$(() => {
  const resource = useResource$(
    $(async ({ call }) => {
    /**
     * The call function is used to keep track of the current context it accepts any function that
     * will be executed and rest of params are passed as arguments to the function using `call`
     * function is only needed when there functions (i.e server functions) that run sequentially and
     * need to be executed in the same context
     */
      const a = await call(serverFunctionA);
      const b = await call(serverFunctionB, "Hello");
      const c = await call(serverFunctionC);

      return { a, b, c };
    }),
  );

  return (
    <Resource
      value={resource}
      onResolved={(d) => {
        console.log("Resolved!", d);

        return
Done
;
      }}
    />
  );
});

I've tested it in multiple concurrent requests and it works fine.

What is it?

[ x ] Feature / enhancement
[ x ] Bug
[ ] Docs / tests / types / typos

Description
This PR fixes #4417 when server functions are called in sequence in useResource$ hook.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Thanks @hassanzohdy
Did you try with concurrent request?
This kind of implementation with a global variable is not "request safe". multiple requests at the same time can recreate the problem because the global variable mess us things.

@gioboa You're right, the previous solution failed with concurrent requests, i fixed it by introducing a new helper function to the resource object called call which will be mainly needed when sequential functions are needed to be called, it keeps the resource context.
If everything is okay, i'll update the docs to highlight the call function in the useResource$ docs.

@hassanzohdy unfortunately invoke isn't magic either, as soon as the called function goes async things are broken again.
The solution is using async localstorage and I started a PR but didn't finish it.

@wmertens the idea here is simple, each time an async function will be called in sequence, it should be wrapped with call helper function, it will use the same context by calling the async function and will not lose the context.

whenever a server function awaits, another server function can be called and it will change the global context that invokeFn maintains. You're just moving the problem.
If invokeFn worked, it would already work.
See https://github.com/BuilderIO/qwik/pull/5510


Fix a bug when the last curve on a contour is a cubic using the first point as point2

Ran into this with the XITS.otf font. Character 𝑗.

https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/raster/ftraster.c#n1951 for reference

Thanks!


Quick-fixed issue #892 with empty string instead of undefined

With methods used in issue, restangular concats an undefined string in URL, because elemUrl is not defined sometimes. I think the real bug is deeper, but this is a quick-fix for a huge problem.

Hey @benno208, do you remember the places where you did get that error? Generally, we are going to throw an error there as in most cases this is wrong implementation.
Also related -> #1010. Thanks for the PR, will take a look at this snippet while checking the rest of the issues related to this particular behaviour.

Unfortunately, there was a misuse of one that caused undefined to appear. We are going to throw an Error there as one() is not meant to create a new resource (see issue #892 for my code sample or check readme where @mgonto has showed how to do so). Having said so, replacing undefined with empty string is not going to do the trick and will even produce more confusing errors in the future.


Initialize test structure

Feature type

[ ] UI
[X] Implementation
[ ] Specification
[ ] CI/CD
[ ] Other

Feature description
Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Your code builds clean without any errors or warnings.
[ ] Tests for changes have been added (for bug fixes / features). If no, why?

@dqtkien Please help me implement github action for test and make sure it work.

@magestrio Please solve the conflict


Add obsolete snapshot file name to the error message

🚀 Feature Proposal
Current output {n} obsolete snapshot files found...
Desired output {n} obsolete snapshot files found... + {/dir/filename(s)} ...
Motivation
Making jest output more informative to improve developers' productivity
Example
See above
Pitch
Why does this feature belong in the Jest core platform?
Common feature proposals that do not typically make it to core:

New matchers (see jest-extended)
Changes to the default reporter (use custom reporters instead)
Changes to node/jsdom test environments (use custom environments instead)

@pedrottimark, something for you 🙂

@SimenB has this change already been made recently? Here is what I see right now in my chore:

P.S. There is a problem, though. It also reports “obsolete” snapshots when I filter with -t CLI option :(

@elengart which version of jest are you using?

It looks like available in Jest 22.4.4 or later from #6181 which closed #6074
Maybe affected by other CLI options? For example, I am not running in watch mode.

we are a couple of versions behind...thank you!

So we can close this?


Roll Flutter Engine from 63dd50788d4a to 8e44867f8882 (2 revisions)

https://github.com/flutter/engine/compare/63dd50788d4a...8e44867f8882
2024-07-12<EMAIL_ADDRESS>Prepare engine for deprecation of async_minitest.dart (flutter/engine#53560)
2024-07-12<EMAIL_ADDRESS>[Impeller] Refactor and document Android rendering related TUs. (flutter/engine#53802)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Use HTML5 table ordering based on Unix epoch

So turns out HTML5 allows you to add additional data to sort by independently from the displayed data: https://datatables.net/manual/data/orthogonal-data#HTML-5
Also Django has a filter for outputting the Unix time: https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#std:templatefilter-date (see option -U)
So this seems to work great on my end. My only concern is it only prints the number of seconds since epoch, not microseconds, so it may not be totally exactly in chronological order if multiple tickets are submitted within one second (but at that level does it matter?)
This addresses #450 .

Current coverage is 51.58% (diff: 100%)

Merging #455 into master will not change coverage

@@             master       #455   diff @@
==========================================
  Files            32         32
  Lines          2900       2900
  Methods           0          0
  Messages          0          0
  Branches        468        468
==========================================
  Hits           1496       1496
  Misses         1261       1261
  Partials        143        143

Powered by Codecov.  Thanks very much @gwasser! 🍰


Won't switch to PVP

Describe the bug
made a macro to have specific spells/skills to use during pvp battlegrounds and the macro just uses the default sets , when flagged for pvp it uses the pvp macro sets as normal but in battle grounds it either uses raid , party or default
To Reproduce
Steps to reproduce the behavior:

Make sets of macros for pvp and set it for PVP
go on battlegrounds
macro spams only raid, party or default ones even if you dropped down it to be used in pvp

Expected behavior
since its pvp I should be using the macro from the pvp when I placed it
Screenshots

Desktop (please complete the following information):

OS: Windows 10 64bit
Game Version WoW Classic TBCC

GSE Version

Version: 2.6.54
Downloaded From: https://www.curseforge.com

Are you entering Solo or as a group?

Solo queue in Random Battlegrounds , it only bugs out on Random Battlegrounds never tried Arena yet too low level .
If I flag myself into PVP mode solo or party it auto switches to the pvp macro with no issues its only Random Battlegrounds for now that's the issues it uses the party/raid macros now that I've tested it again on Eye of the Storm tonight .

I have fixed this on the 3.0 branch.  It will be in the next beta release for GSE 3


CPU benchmark utility hangs

When running the CPU benchmark utility (https://cdn.rawgit.com/resonance-audio/resonance-audio-web-sdk/master/examples/benchmark.html) it hangs.
Steps to Reproduce:

Open https://cdn.rawgit.com/resonance-audio/resonance-audio-web-sdk/master/examples/benchmark.html
Click Begin
Says 'Please Wait' for hours.
Happens in Chrome on OSX but I believe it's platform agnostic.

Underlying issue:
Looking in the Browser Console (F12) I see the following error:
benchmark.js:119 Uncaught TypeError: audioContext.createMediaElementSource is not a function     at startBenchmark (benchmark.js:119)
which points to this code:
let audioContext =  new OfflineAudioContext(numberOutputChannels,  durationSeconds * sampleRate, sampleRate);                                                                                let audioElementSource = audioContext.createMediaElementSource(audioElement);
It seems OfflineAudioContext no longer has the createMediaElementSource function (see https://github.com/WebAudio/web-audio-api/issues/308 and https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext). Looks like OfflineAudioContext now inherits from BaseAudioContext which does not have the necessary function.

This would be great to be fixed, as performance comparisons between the systems don't seem to exist anywhere else on the web.

When running the CPU benchmark utility (https://cdn.rawgit.com/resonance-audio/resonance-audio-web-sdk/master/examples/benchmark.html) it hangs.
Steps to Reproduce:

Open https://cdn.rawgit.com/resonance-audio/resonance-audio-web-sdk/master/examples/benchmark.html
Click Begin
Says 'Please Wait' for hours.
Happens in Chrome on OSX but I believe it's platform agnostic.

Underlying issue:
Looking in the Browser Console (F12) I see the following error:
benchmark.js:119 Uncaught TypeError: audioContext.createMediaElementSource is not a function at startBenchmark (benchmark.js:119)
which points to this code:
let audioContext = new OfflineAudioContext(numberOutputChannels, durationSeconds * sampleRate, sampleRate); let audioElementSource = audioContext.createMediaElementSource(audioElement);
It seems OfflineAudioContext no longer has the createMediaElementSource function (see WebAudio/web-audio-api#308 and https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext). Looks like OfflineAudioContext now inherits from BaseAudioContext which does not have the necessary function.

Do you know if this could then be replaced with createBufferSource()?


Todo app is not working

Project name
Todo App
Project link
https://github.com/khushi-purwar/WebDev-ProjectKart/tree/master/TO-DO App
Improvements suggested
Todo app neither working ,nor having UI. Neither edit button is working nor delete button is.
Please assign me this under gssoc22, I will make everything

/assign


no such file to load -- radius

When I clone the radiant repo, run bundle and then try to run any rake task, I get no such file to load -- radius. Even installing the radius gem "by hand" doesn't solve this issue.

 I overlooked the "uncomment gemspec line" thing in Gemfile. D'oh!


Update DialogsWindow.cpp

everyone always uses hex!

Misty, I don't think it matters because hex and dec are similar for the dialogs ill give u an example: when I put the DoA dialogs in I used Dec not Hex

I accept it, because in info window we give the dialog value in hex. Make sense to have it by default.


Bigdesk behind Nginx RP

Hi
When i install Bigdesk and access http://myip/_plugin/bigdesk/
I works fine. However, i have Nginx RP in front now and changed ES YML to http.host: <IP_ADDRESS>
Kopf works fine with Nginx but Bigdesk cant find localhost:9200 End restpoint?
Help lease?
Thanks

I am archiving this repository now. Thanks for contributions.


Problem with installation

Operating system and version:
Debian 8

nvm debug output:
No file found

nvm ls output:

         v7.7.1
default -> stable (-> v7.7.1)
node -> stable (-> v7.7.1) (default)
stable -> 7.7 (-> v7.7.1) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.8.0 (-> N/A)
lts/boron -> v6.10.0 (-> N/A)

How did you install nvm? (e.g. install script in readme, homebrew):
su
#here I'm root
which node
#nothing
which npm
#nothing
adduser nodejs
#jaddajadda I create the user
su nodejs
cd ~
#here I'm nodejs@debian:~/
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
#Here I exit the terminal, I even tried rebooting.
nvm install stable
nvm alias default stable
#jaddajadda everything is installed.
#Here I've rebooted again and I'm root again
su nodejs
#Error log:

Error: EACCES: permission denied, scandir '/root'

Error: EACCES: permission denied, open 'npm-debug.log.4042825254'

nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v7.7.1 --silent` to unset it.

#Note: this error appears every time I change user to nodejs.
#I tried running the given command, but when logging as nodejs again it was there again.
su nodejs
node
#command not found
nvm install stable
node
#here node works
reboot
su nodejs
#Errors like before
node
#command not found
Note that no commands I'm running are run as su, as I think that's the whole point of it.
So I've that error on the console every time I log to nodejs user, and node stops working every time (it says that it was already installed (after the first time) but the command was not usable). This leads to other consequences and other issues.

Is there anything in any of your profile files (.bashrc, .bash_profile, .zshrc, etc) that modifies the PATH?

No, I'm testing this on a clean installation just out of a debian 8 netinstall ISO. I've created this VM specifically to test this.

NOTE:
I tried following the same step that I described above, except creating the new user, with the default user that I created with Graphic Installation. The default user was not root, and with that user everything worked fine. This issue appears only with the user I created with "adduser". I'm trying to repeat the whole process again to confirm this (but I broke the original VM snapshot that I use to create clones to test, so currently I'm reinstalling again).

When you su, I believe that doesn't reset environment variables.
Log in directly as the user instead of using su, or re-source the user's profile files after switching, and I'd expect it to work.

How do I "re-source" the user's profile files after switching?

. ~/.bashrc, for example

cd ~
source ~/.bashrc

This worked.

For others, when switcing users using su  the .bashrc wont be sourced. You need to swith to login shell instead of interactive:
su -l $username

source: https://unix.stackexchange.com/a/29811/16043


[Bug] Incorrect total value returned from authorizeAndFilterReadResponse

Describe the bug
When the authorizeAndFilterReadResponse function runs it does a check to determine whether the user access by the hasAccessToResource function. If they do not it removes it rum the array. The return shows a total of 4
"type": "searchset", "total": 4,
But in the entry section there are only 3 records.
Expected behavior
The total should match the number of entries being returned or potentially have another value that shows it.

Thanks for reporting this. We will be adding this to our backlog!

Hey! Just wanted to update on this: a fix for this has just been merged into mainline! I'm going to go ahead and close this issue for now, but please feel free to reopen or reach out if the issue is not resolved.


chore!: drop support for Node.js v14 and v19

The latest version of tsd-lite dropped support of Node.js v14 and v19. These are EOL versions. I think it makes sense to do the same here before upgrading tsd-lite (see #174).
In a way everything still works on Node.js v14. This is more like an attempt to keep things fresh.

Thanks. All is fine with that 👍

@SimenB If you have a minute, could I ask to publish a new major of jest-runner-tsd? Current version installs<EMAIL_ADDRESS>(the lates is 0.8.0).

https://github.com/jest-community/jest-runner-tsd/releases/tag/v6.0.0


Hydration attribute mismatch, when using the Modal in Nuxt 3

Describe the bug
In the nuxt framework, using the modal, a Hydration attribute mismatch warning, will be prompted in the console.

Reproduction
https://stackblitz.com/edit/nuxt-starter-uewfwc?file=app.vue
Steps to reproduce

<template>

    <VButton type="primary" @click="active = !active"> Open </VButton>

    <VModal
      v-model:active="active"
      transfer
      title="Title"
      :width="500"
      :height="300"
      modal-class="demo-modal"
    >
      <VNativeScroll use-y-bar height="100%" scroll-style="padding: 14px;">

Some content

      </VNativeScroll>
    </VModal>

</template>

System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vexip UI issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

duplicate of #463.

of sorry, i don't know if the modal module is the same as the drawer


New DominatorViewTask to print dominator tree.

Resolves https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/issues/256.

Build failed https://gradle.com/s/p6obyrj33ctvo

Build failed https://gradle.com/s/eobg3hh3pb73c

Build failed https://gradle.com/s/6j5bhwvojm54c

Build failed https://gradle.com/s/zo3k7co2wf5rq

@vlsi I have a final draft now with improved console output. The core code is also generic with the idea that I might be able to spin it off in the future, but that's speculative only.
What remains is some way of asking it to print different configurations, but the PR is already so large I'd rather tackle that separately. That is also non-trivial when you consider the Android use-case, which differs in significant ways from the JVM.
Could you give it another look and let me know what you think?

Build failed https://gradle.com/s/m6ozgvl4uo5po


Any update about IONIC-2 stable version release date ?

Hi..
Can some one please let me know the release date for the stable version of IONIC-2 ?

Ionic is a lot like baking a cake. Take it out of the over too soon, it's still raw in the middle. It will be ready when it's ready

Best analogy ever!

Any tentative date ?


guys i've tried this bout it does'nt runn  out correctly!

Challenge Word Blanks has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
  var result = "";
  // Your code below this line

result= myNoun + myAdjective + myVerb + myAdverb;
  // Your code above this line
  return result;
}

// Change the words here to test your function
wordBlanks("dog", "big", "ran", "quickly");

Hi @kellykevin, I've taken a look at your code and the challenge and determined that there is no bug. I would suggest going back and taking a closer look at the challenge instructions 😄
For help with coding challenges, please click the "help" button on the challenge on Free Code Camp, which will take you to the help chatroom for that specific challenge. You can also view our [full list of official chatrooms](http://forum.freecodecamp.com/t/free-code-camp-official-chat-rooms/19390).


Merge Musse to main branch (#102)

Uni-Fold Musse

mv plm to ssmultimer

update readme

udpatereadme

ss to musse

rename fn

fix monomer bug

I think a better way is to put musse folder to the root path.


Falcor-router doesn't follow $ref, and follow only one instead of multiple routes

Hello,
I am new to Falcor, I really love the idea and can't wait to use it on production. We already are working with Falcor in one of our commercial project :-) ... unfortunately I've spent good chunk of my time to solve what's the problem and I couldn't find what am I missing so please give me any hint.
The issue:

In that console log (^^) there is a response from the falcor-router. The problem is that I've definied the path for the productsById but for some reasons the falcor-router doesn't follow the path on the backend, but unfortunately sends back to the client side an array of ["productsById", 123]
On the backend it looks as following:

In a summary: the $ref (red arrows on the screenshot) doesn't follow the route of route: "productsById[{integers}].name". To be more precise, the falcor-router doesn't execute the console.log from the example
        console.log("IS productsById !!!");
        console.log("IS productsById !!!");

so it stucks somewhere here for some reason:
        return {
          path:["_view", 123, "name"],
          value: $ref(['productsById', 123])
        };

The complete example is available here:

server.js: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server.js#L58
index.html: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/index.html

I've also created a short screencast video of that behaviour: https://www.youtube.com/watch?v=0OoiIZDkRZc&feature=youtu.be
My question to more experienced people in Falcor - WHAT I AM MISSING :-( ? I was really hard looking for answers in documentation/examples. Probably it's something very simple that I am missing, but looking forward to your feedback.

@przeor essentially same fix as this issue. Drop ".name" in the definition of your second route, and add "name" to the end of the paths returned by your first route and things should start working. Cheers.

thank you @trxcllnt - this is the hotfix: https://github.com/przeor/falcor-netflix-shopping-cart-example/commit/53174ec0fed439a33a4c789da80dd4387673e0cb
In general, I need to get my head around how to build those routes - the curious thing is that other unofficial examples also has the same error as I've done it in my shopping cart example.
Thank you Falcor Team :-)


implement BatchAppend RPC

closes #53
closes #45
BatchAppend is a new RPC in the Streams API that was added in v21.6.0. It's a bi-directional append: the client emits chunks to the server to commit and the server sends back acknowledgements when it's done.
The real-world application I see for this is for the replicator ("shovel" as we call our internal version): it should work nicely to really push the append throughput, especially since you can commit batches of events belonging to different streams.
This ended up being much more work than I thought that it would be because of how intricate the behavior is: it supports framentation by configuring Spear.append_batch/5 with the options done?: false and passing old :batch_ids. See the tests for some examples.
For the life of me I can't figure out what the :deadline option actually does, even when attempting to read through the EventStoreDB implementation of the BatchAppend handler. I may have to poke around to see if it's just my understanding or a bug

tx for answers @the-mikedavis


Migrate all code-snippets from fuel-gauge to docs-snippets

We currently have quite a few tests that references documentation from fuel-gauge. These scenarios are at times improperly formed in order to be more verbose and illustrate techniques rather than validate the end to end functionality of the SDK. As that is the intended usage of fuel-gauge, we should instead move fuel-gauge/src/doc-examples.test.ts to appropriate places in apps/docs-snippets. The documentation references will also need to be altered as the links will have been broken.

@danielbate pls

Sorry meant to assign you @petertonysmith94

Notes:

vector-4
Doesn't show a return value in the documentation // expect value would be beneficial.

@petertonysmith94, should only the code-snippets be changed? (that it's with // #region)


Change the ansys-sphinx-theme to use Ansys logo

Now that the repo belongs to the @ansys org, we should Aldo force the docs to use the Ansys logo instead of the PyAnsys logo. We should also review the docs to check more references to PyAnsys (e.g. breadcrumbs).

We should also handle the modification to the PyAnsys badge in the main README of the repo, to use the Ansys badge and redirect to the main @ansys org page.


If I want to get a 1G file, may AFN get it?

which method or delegate can get it? And there isn't drain a lots of mem?

I'd recommend using a download task, which uses NSURLSession.
In the future, please direct questions like these to stack overflow, so we can focus on bug fixes and features requests here.
Thanks :beers:


Add initial init/term assignment

IMPORTANT: Please search among the Pull requests before creating one.
Description

Allow for easier setting of initial states and add :meth:cellrank.estimators.GPCCA.predict_initial_states, remove alias :meth:cellrank.estimators.GPCCA.compute_states, use :meth:cellrank.estimators.GPCCA.plot_states to plot macrostates.
TODOs:

[x] update docs
~[ ] get rid of remaining TODOs in the code~ in a future PR
[x] fix existing tests
[x] ensure that initial/terminal states cannot overlap
[x] tests

How has this been tested?

Add new tests to check for overlaps and modified existing tests.
Closes

closes #908

Let me know once you want me to review/test this.

I'm trying to run this to a GPCCA estimator initialized from a VelocityKernel. I computed 4 marcostates and run `g.predict()´, which gives me:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Input In [9], in <cell line: 1>()
----> 1 g.predict()
      2 g.plot_terminal_states(discrete=True, legend_loc='right', s=100)

File ~/Projects/cellrank/cellrank/estimators/terminal_states/_gpcca.py:274, in GPCCA.predict(self, method, which, n_cells, alpha, stability_threshold, n_states)
    271     raise RuntimeError("Compute macrostates first as `.compute_macrostates()`.")
    273 # fmt: off
--> 274 if len(self._macrostates.cat.categories) == 1:
    275     logg.warning(f"Found only one macrostate. Making it the single {which} state")
    276     self.set_states_from_macrostates(names=None, which=which, n_cells=n_cells, params=self._create_params())

AttributeError: 'StatesHolder' object has no attribute 'cat'

Note: this wasn't actually done with a VelocityKernel, I saved the transition matrix to file and then worked with a precomputed kernel because of https://github.com/theislab/cellrank/issues/933

Hi @michalk8, can I try again?

Hi @michalk8, can I try again?

Yes, the above error should've been fixed, but most likely there are other bugs still.

Hi Mike, just going through your PR. This is beautiful work, as always. Of course, I do still have a few comments 🙃
My first comment concerns the two methods g.plot_states and g.plot_macrostates, for GPCCA estimator g. I'm just not sure we really need two different plotting functions here - essentially, they do the same thing and the behavior could be entirely controlled via the which parameter. I think we could only keep the g.plot_macrostates method and use

which=all to show all macrostates, mimicking the current output of g.plot_macrostates
which=initial/terminal, to show initial or terminal states, mimicking the current output of g.plot_states
which=['state_1', 'state_2', ...] to plot a custom list of macrostates

One reason for my suggesting this is that the two methods also behave a bit differently at the moment. For example, calling g.plot_macrostates(discrete=True, legend_loc='right', s=100) gives me Fig. 1, while g.plot_states(which='terminal', legend_loc='right', size=100) gives me Fig. 2 below. Notice how the size parameter is set to the same value, yet in Fig. 1, this seems to only have an effect on the highlighted cells in color, while in Fig. 2, it seems to affect all cells. I like the former behavior better, e.g. just increasing the size of the cells we are highlighting, and I even think this should be done by default.

My next comment concerns the g.predict method used to classify the macrostates. While g.predict(which='terminal') works fine and gives me the expected output, g.predict(which='initial') does not work because it gives me the exact same states. In this PR, we don't want to change how we used to compute initial states via outliers in the coarse-grained stationary distribution; we only want to change how we interact with these functionalities. Fig. 1 shows the output I get from running
g.predict(which='initial')
g.plot_states(which='initial', legend_loc='right', s=100)

So clearly these are the terminal states. Interestingly, only the highlighted cells are colored as in the macrostates plotting function, see my comment above.
The ways in which we identify initial and terminal states differ, and depending on the which parameter, we have to change method defaults. I think this gets leads to confusion when we do it via a single method, and I would suggest having two methods:

g.predict_terminal_states: pretty much with the current parameters and defaults of g.predict(which='terminal)
g.predict_initial_states: similar to what we used to have in g._compute_initial_states(); which seems to have been removed in this PR.

Fig. 1

Before classifying macrostates as initial or terminal, the estimator prints an empty field for terminal states, but not for initial. I would suggest to make this consistent, either show for both initial and terminal or for none.

I would strongly vote for removing the g.compute_states() alisas, it just adds confusion. While this method sounds super similar to g.compute_macrostates, it does something really different.

Before classifying macrostates as initial or terminal, the estimator prints an empty field for terminal states, but not for initial. I would suggest making this consistent, either show for both initial and terminal or for neither.

Even once I predict initial states, this still only shows terminal states. I would add initial states to this representation - we should treat both equally.

I would also vote for writing macrostates to the underlying AnnData's .obs field, same as for initial and terminal states. I have a usecase in which I want to visualize the distribution of marker genes over macrostates - I can manually write the macrostates to AnnData but then I still have the wrong color assignment, it would be much more convenient to have this written automatically upon computation.

To get a feeling for how I plan to use this PR in the new initial & terminal states tutorial, please check this related PR in the notebooks repo: https://github.com/theislab/cellrank_notebooks/pull/56

Discussion outcome

remove alias g.compute_states
unify g.plot_statesand g.plot_macrostates
introduce g.predict_terminal_statesand g.predict_initial_states, where the latter uses the coarse-grained stationary distribution (check old code)
no overlap between initial and terminal states (Warning and rename, or throw an error)
only print initial and terminal states (not macrostates)
writing macrostates to AnnData

Hi Mike, happy new year! Did you have time to implement some of the changes already?

Thanks @michalk8, here my comments:

As suggested before, I would prefer to have a g.plot_macrostates, rather than g.plot_states method. I think this makes more sense, as everything we are dealing with are macrostates (initial macrostates, terminal macrostates, etc. ). Is there a reason you choose to call the method g.plot_states? It's quite confusing now, we have a g.compute_macrostates method, but then a g.plot_states method. Also, internally, we refer to stuff as macrostates.
Plotting does not work yet, calling g.compute_macrostates(cluster_key='clusters', n_states=[4, 12], method='brandts')followed by g.plot_states() gives Error 1 below
g.plot_states does not have a which parameter as we discussed above

I think it makes more sense to have another meeting to discuss the anticipated workflow before we continue.
Error 1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In [19], line 1
----> 1 g.plot_states()

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:445, in register_plotter.<locals>.wrapper(wrapped, instance, args, kwargs)
    442 else:
    443     raise TypeError(f"Unable to plot a value of type `{type(obj)}`.")
--> 445 return wrapped(
    446     *args,
    447     _data=data,
    448     _colors=colors,
    449     _title=f"{attr} states",
    450     discrete=discrete,
    451     **kwargs,
    452 )

File ~/miniforge3/envs/py39_arm/lib/python3.9/site-packages/scanpy/_utils/__init__.py:119, in deprecated_arg_names.<locals>.decorator.<locals>.func_wrapper(*args, **kwargs)
    117 # reset filter
    118 warnings.simplefilter('default', DeprecationWarning)
--> 119 return func(*args, **kwargs)

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:366, in _plot_dispatcher(self, states, color, discrete, mode, time_key, same_plot, title, cmap, **kwargs)
    336 """
    337 Plot continuous or categorical observations in an embedding or along pseudotime.
    338
   (...)
    363 %(just_plots)s
    364 """
    365 if discrete:
--> 366     return _plot_discrete(
    367         self,
    368         states=states,
    369         color=color,
    370         same_plot=same_plot,
    371         title=title,
    372         cmap=cmap,
    373         **kwargs,
    374     )
    376 return _plot_continuous(
    377     self,
    378     states=states,
   (...)
    385     **kwargs,
    386 )

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:166, in _plot_discrete(self, _data, _colors, _title, states, color, title, same_plot, cmap, **kwargs)
    153 def _plot_discrete(
    154     self: PlotterProtocol,
    155     _data: pd.Series,
   (...)
    163     **kwargs: Any,
    164 ) -> None:
    165     if not isinstance(_data, pd.Series):
--> 166         raise TypeError(
    167             f"Expected `data` to be of type `pandas.Series`, found `{type(_data).__name__}`."
    168         )
    169     if not is_categorical_dtype(_data):
    170         raise TypeError(
    171             f"Expected `data` to be `categorical`, found `{infer_dtype(_data)}`."
    172         )

TypeError: Expected `data` to be of type `pandas.Series`, found `NoneType`.

Thanks @michalk8, here my comments:
* As suggested before, I would prefer to have a `g.plot_macrostates`, rather than `g.plot_states` method. I think this makes more sense, as everything we are dealing with are macrostates (initial macrostates, terminal macrostates, etc. ). Is there a reason you choose to call the method `g.plot_states`? It's quite confusing now, we have a `g.compute_macrostates` method, but then a `g.plot_states` method. Also, internally, we refer to stuff as `macrostates`.

* Plotting does not work yet, calling `g.compute_macrostates(cluster_key='clusters', n_states=[4, 12], method='brandts')`followed by `g.plot_states()` gives Error 1 below

* `g.plot_states` does not have a `which` parameter as we discussed above

I think it makes more sense to have another meeting to discuss the anticipated workflow before we continue.
Error 1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In [19], line 1
----> 1 g.plot_states()

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:445, in register_plotter.<locals>.wrapper(wrapped, instance, args, kwargs)
    442 else:
    443     raise TypeError(f"Unable to plot a value of type `{type(obj)}`.")
--> 445 return wrapped(
    446     *args,
    447     _data=data,
    448     _colors=colors,
    449     _title=f"{attr} states",
    450     discrete=discrete,
    451     **kwargs,
    452 )

File ~/miniforge3/envs/py39_arm/lib/python3.9/site-packages/scanpy/_utils/__init__.py:119, in deprecated_arg_names.<locals>.decorator.<locals>.func_wrapper(*args, **kwargs)
    117 # reset filter
    118 warnings.simplefilter('default', DeprecationWarning)
--> 119 return func(*args, **kwargs)

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:366, in _plot_dispatcher(self, states, color, discrete, mode, time_key, same_plot, title, cmap, **kwargs)
    336 """
    337 Plot continuous or categorical observations in an embedding or along pseudotime.
    338
   (...)
    363 %(just_plots)s
    364 """
    365 if discrete:
--> 366     return _plot_discrete(
    367         self,
    368         states=states,
    369         color=color,
    370         same_plot=same_plot,
    371         title=title,
    372         cmap=cmap,
    373         **kwargs,
    374     )
    376 return _plot_continuous(
    377     self,
    378     states=states,
   (...)
    385     **kwargs,
    386 )

File ~/Projects/cellrank/cellrank/estimators/mixins/_utils.py:166, in _plot_discrete(self, _data, _colors, _title, states, color, title, same_plot, cmap, **kwargs)
    153 def _plot_discrete(
    154     self: PlotterProtocol,
    155     _data: pd.Series,
   (...)
    163     **kwargs: Any,
    164 ) -> None:
    165     if not isinstance(_data, pd.Series):
--> 166         raise TypeError(
    167             f"Expected `data` to be of type `pandas.Series`, found `{type(_data).__name__}`."
    168         )
    169     if not is_categorical_dtype(_data):
    170         raise TypeError(
    171             f"Expected `data` to be `categorical`, found `{infer_dtype(_data)}`."
    172         )

TypeError: Expected `data` to be of type `pandas.Series`, found `NoneType`.

Updated to reflect all the changes as mentioned above. However, I removed the default which, because I think user should always supply it.

Oh, exciting, thanks for the updates! I will check this out soon! Looking fwd. to this.

Thanks, Mike, here are a number of comments (we're alomst there!)

in g.plot_macrostates, please change which="macro" to which="all" to show all macrostates. I think this makes more sense syntactically - you're calling a method that has "macrostates" in its name, so I don't think we should have a parameter that re-iterates this.
Please remove the g.predict() alias for the g.predict_terminal_states(). It is unintuitive why that alias points to  g.predict_terminal_states() and not  g.predict_initial_states() as we want to treat them equally in CR2

I'll post these now and add a few more later

There is a bit of an inconsistency now between automatic and manual identification of initial and terminal states:

In automatic mode, we have two methods, g.predict_terminal_states and g.predict_initial_states
In manual mode, we only have one method, g.set_states_from_macrostates, and we control the behavior via the which parameter

You could argue that the second mode of action is a bit similar to macrostate plotting. However, when we plot macrostates, the method is called g.plot_macrostates, which I much prefer over the old g.plot_states.  In general, I would avoid the term states and restrict our vocabulary to macrostates, terminal_statesand initial_states, to keep things simple.
So I suggest having g.set_terminal_states_from_macrostatesand g.set_initial_states_from_macrostates for consistency. What is your opinion here @michalk8 ?

in g.plot_macrostates, please change which="macro" to which="all" to show all macrostates. I think this makes more sense syntactically - you're calling a method that has "macrostates" in its name, so I don't think we should have a parameter that re-iterates this.

Ok!

Please remove the g.predict() alias for the

predict cannot be removed since it's an abstract method of the base estimator (alongside fit).

So I suggest having g.set_terminal_states_from_macrostatesand g.set_initial_states_from_macrostates for consistency. What is your opinion here @michalk8 ?

I think the proposed names are too long.

in g.plot_macrostates, please change which="macro" to which="all" to show all macrostates. I think this makes more sense syntactically - you're calling a method that has "macrostates" in its name, so I don't think we should have a parameter that re-iterates this.

Ok!

Please remove the g.predict() alias for the

predict cannot be removed since it's an abstract method of the base estimator (alongside fit).

That's an issue! It's very arbitrary what predict points to! We should talk about whether we really want our estimators to follow this fit-predict mechanism - I have the feeling this is a bit forced at the moment and might not actually work for us.

So I suggest having g.set_terminal_states_from_macrostatesand g.set_initial_states_from_macrostates for consistency. What is your opinion here @michalk8 ?

I think the proposed names are too long.

Note to self: the coarse-grained stationary distribution changes compared to the tutorial version on master, I think this has something to do with the way in which I define the VelocityKernel
Previous version of the velocity kernel
12 macrostates
We correctly identify the Ngn3 low EP 1 state as initial:

15 macrostates
We correctly identify the Ngn3 low EP 1 state as initial:

Ok, in summary:

We agreed on the first point about "macro" -> "all" (and I think this would be a good default value)
We can further discuss the predict alias tomorrow, as well as the naming/mechanism for semi-manual macrostate finding
One more feature that would be fantastic to add to the plot_macrostates method is a mode which="initial_and_terminal", which shows both initial and terminal states. To tell them apart, the names should be modified in the legend such that they show up as initial: macrostate_1, terminal: macrostate_2 etc. I suggested this above already, what do you think? I think this would be a very useful aggregate plotting mode.

Discussion outcome:

Unify set_states_from_macrostates with the set_states method into two methods: set_initial_states and set_terminal_states, which can either set terminal/initial states from macrostates or purely manually from pandas Series or similar, depending on the input.

@WeilerP, this PR introduces quite a few changes to the way we compute initial and terminal states - not the actual methods we use under the hood, only how we call the corresponding methods etc. Just to let you know that there will be some breaking changes here. I can guide you through this in more detail next week.

Uh, I'm excited to check this out @michalk8!


Use Mod, not Ctrl; warn against default hotkeys

Default hotkeys should usually not be provided for commands, and Mod is the correct way to specify the Ctrl-or-Cmd key in the event such a hotkey is provided.

There are some valid use cases, including a plugin written for personal use, a plugin whose purpose is to provide a command set emulating another editor or other toolkit, a plugin whose function has an industry-standard key (e.g. F11 for fullscreen), a plugin with a large set of commands with useful mapping to letters or numbers (e.g. Pane Relief's numbered jump/move commands),
etc.  There just aren't very many, and they're all very special-casey.
If you drop the docs altogether, you may still need/want to document "Mod" somewhere, since you need to use Keymap.isModifier("Mod") on a click event to determine whether to open a new pane.


Adopt DC mission 4441 (SAP Build Code) to correspond to Booster

Purpose

Changes and reorders resources to be in line with the SAP Build Code Booster configuration.
Improve documentation

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Documentation content changes
[ ] Other... Please describe:

Other Information

@markusbalsam sorry, fixed.


Conflicting between /// <response ...> document and [SwaggerResponse] attribute

I put multiple [SwaggerResponse] attributes to my Web API controller actions to enumerate all possible responses, it's good I can see they are all listed in swagger page. However, I noticed in the top part of the swagger page for a API, it still displays "Response Class (Status 200)", but I want the response code to be 201. Then I learned I should put   /// <response code="201"></response>
code like this:
/// <response code="201" cref="ViewModel"></response>
[SwaggerResponse(HttpStatusCode.Created)]
[SwaggerResponse(HttpStatusCode.BadRequest)]
[SwaggerResponse(HttpStatusCode.InteralServerError)]
public async Task<HttpResponseMessage> Post()
{
     //
}

Then I see the document is changed to "Response Class (Status 201)", but unfortunately, I found the 400 and 500 return types are loss from the API document bottom. seems /// <response> and [SwaggerResponse] attributes are conflicting.

You can only use one strategy or the other - not a hybrid.
In your case, you should stick with the annotations as this is the preferred approach. In fact the XML approach won't be supported in the next major version. To resolve your issue, you'll need an additional attribute to tell Swashbuckle your explicitly providing "all"  response codes and don't want to infer anything from the action signature.
[SwaggerResponseRemoveDefaults]
[SwaggerResponse(HttpStatusCode.Created)]
[SwaggerResponse(HttpStatusCode.BadRequest)]
[SwaggerResponse(HttpStatusCode.InteralServerError)]
public async Task<HttpResponseMessage> Post()
{
     //
}

Oh! Sorry, I did not notice this attributed. Thanks!


Add "precommands" to benchmark

Pull Request
Related issue
Helps for https://github.com/meilisearch/meilisearch/issues/4493
What does this PR do?

Add support for precommands for cargo xtask bench
update benchmark docs
update workload files

bors merge


proxy: fix hang on chunked websocket server

Signed-off-by: Tw<EMAIL_ADDRESS>
1. What does this change do, exactly?
When proxying to a chunked websocket server, we will hang when closing the response's body because underlying connection isn't closed. Now we defer this action until the proxying is finished.
2. Please link to the relevant issues.
#1316
3. Which documentation changes (if any) need to be made because of this PR?
N/A.
4. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I am willing to help maintain this change if there are issues with it later

I can confirm it fixes the WS issue from Home Assistant. 👍


Refactor Metadata to a record

@ryanjbaxter one more to look at. thank you. I'll probably put one more PR today or tomorrow and I'm off your back for a week. :) thank you


missing ' in doc

Hi, sorry I've introduced this in my previous PR, a missing ' which is fixed in this PR

@jmau111 Thanks for catching and following up. I should have caught this before merging 🤦♂


spec: add environment/sysctl isolator

This PR introduces an "environment/sysctl" isolator, which applies at pod-level.
Closes #645

Arbitrary/controversial choices made here:

isolator type, as it applies inside pod-context (like other isolators) instead of the host (like top-level stanzas: volumes, ports)
new "environment" isolator category, as it can also accommodate "ulimit" ones

I tossed on some nits, but I think this makes sense, both in terms of naming and as an isolator.

bump - this still needs a rework right?

It does, plus a decision on https://github.com/appc/spec/pull/647#discussion_r75478277

Second iteration of this: renamed isolator to os/unix/sysctl and reworded the key validation note. PTAL.

LGTM
@vbatts any comments?

LGTM as well


Think about Domain Types

For now the request themselves are strongly typed, but these request and response types are not (really).
Those deliver basic types like string and int, while the domain type would be something like GameId.
I'm not sure if this is something from which the library would benefit or if it would be annoying, because applications would define their own types.
I want to have a look at that and maybe provide both variants in a way?

I decided to just use domain types. It is much easier to see what result has a place inside what other request without messing up.

I introduces some domain stuff. I guess this is enough for now.


Export response types when clients aren't

Response types were inadvertently not being exported when exporting
clients is disabled.

I feel like I'm missing something obvious here--why would someone want to export these types but not the client?

I feel like I'm missing something obvious here--why would someone want to export these types but not the client?

For data-plane, the default is to not export the clients but export everything else.  The idea was that there would be hand-written clients that leverage the internal, generated ones, and all of the other types would be exported as-is.
The response types were being inadvertently not exported due to the clients being renamed before they were synthesized.

Ah, I see. A handwritten client would be able to use the generated one provided they were in the same package, and the generated models would be exported to applications. Would we really ship a module like that? Sounds like DPG 😄

It's currently what we're doing for azblob with limited success.  The path we took for aztables and key vault works much better.


[User Story] Approved screen - Ability to sort table

User Story
Approved screen - Ability to sort table

T-shirt size:

User Story
"As an Approver in NexT, I need to be able to sort through my history of approvals and find the one I am looking for...  I should be able to sort this table by any of the available columns."

Acceptance Criteria/Tests
show how easy it is to sort the table in various ways by resorting on the columns.  Is it safe to assume that I can sort by the column by clicking the title and clicking it again reverses the sort.  Demo should include viewing a very long table (if we paginate and then reverse the sort do we just resort the current page or quickly swap to the last page?).

migrated to new tmobile/sawtooth-next-directory repo


Add error number 2 into ShouldRetryOn

Enable the default EnableRetryOnFailure() to work with the following errror.

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

@cnblogs-dudu - Can you explain why EF should retry on this error number?

@smitpatel We occasionally encountered this error on Alibaba Cloud. It also happens when stopping then starting SQL Server.

@cnblogs-dudu While this might be a transient error generally it isn't and we don't recommend it to be retried by default. However if it makes sense for a particular application you can add it to the error list of the strategy configured in the options.


[FLINK-25758][flink-gs-fs-hadoop] Fix licensing issues

What is the purpose of the change
Fix licensing issues in Java 11 build.
Brief change log
Exclude javax.annotation.* in flink-gs-fs-hadoop via filter in pom.xml.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no) No
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no) No
The serializers: (yes / no / don't know) No
The runtime per-record code paths (performance sensitive): (yes / no / don't know) No
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know) No
The S3 file system connector: (yes / no / don't know) No

Documentation

Does this pull request introduce a new feature? (yes / no) No
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@MartijnVisser I'm not sure how to run these license checks locally, so this is a bit of a guess. Previously, javax.annotation was excluded via a dependency exclusion, which seemed to work fine for Java 8 but, apparently, not for Java 11. With this change, javax.annotation.* is excluded via a filter in maven-shade-plugin, perhaps this will work better for Java 11.

@MartijnVisser
The issues with the Java 11 build were with respect to package.html files; perhaps excluding javax.annotation as a dependency doesn't prevent such files from making it into the jar?
I added a filter rule that excludes any file matching javax/annotation/** from the jar file, and I confirmed that there are no files in the Java 11 jar files that start with javax/annotation/. So hopefully this will fix the issue.

I will merge this PR once AZP gives green light.

Sounds good - thanks!


OpenSSL::Test: If __cwd() is to create the directory, do it early

This is to ensure that abs_path() has an existing directory to look at.

This removes the issue I saw previously in AppVeyor.  I feel confident about this.

Merged
7afef721ff93018a66f8e2e6b9e1ce3d48321bdf OpenSSL::Test: If __cwd() is to create the directory, do it early


Be able to specify the type of the object we will get in return of the get function, whatever the type of the key

Context
Describe / explain why we should do this: motivations, context or other info. Keep it brief and simple - PM
Improve developer experience
User flow
Describe the user flow using user stories so the end result is super clear - PM
const amount: Amount = Storage.get<Amount>('key');
How to
List the step-by-step to get it do if needed - PM
Technical details
Give the technical insights so anyone in the team can tackle the tasks - Dev

add another type parameter as the return value
if/else if for each return type we want to implement
for each of these types: de-serialize the data

First batch of types we want to implement:

String
Address
Amount
Currency

QA testing
Does this task require some QA tests?
If yes, explain how to validate it
We must write the unit tests that cover all cases.

I thought of 3 solutions but maybe I miss something
Solution 1

export function get<T, R>(key: T): R {
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<R>(value);
}

// We must specify the generics type when calling the function
Storage.get<String, Address>("myKey")

Problem: We are not able to call the function without specifying the generics types
so if we write get("myKey) we will get an error. This would be a breaking change
This does not work
export function test<T, R = T>(key: T): R {
  log(sizeof<T>());
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<R>(value);
}

Solution 2
// We don't change the original function
export function get<T>(key: T): T {
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<T>(value);
}

// We write new functions for each possible return type
export function getArgs<T>(key: T): Args {
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<Args>(value);
}

export function getStaticArrayU8<T>(key: T): StaticArray<u8> {
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<StaticArray<u8>>(value);
}

export function getString(key: T): String {
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<String>(value);
}

No breaking change but code repetition
Solution 3
export function get<T, R = string>(key: T): R {
  log(sizeof<T>());
  const value: StaticArray<u8> = env.get(toDatastoreFormat(key));

  return fromDatastoreFormat<R>(value);
}

In that case get("myKey") still works but we assume that the return type is a string so if we have get(new Args().add("Something")) and we expect an Arg in return, the code will break. We would have to write instead  Storage.get<Args, Args>("myKey")

Thank you for investigating and proposing alternatives!
I would prefer solution 2 to avoid breaking changes and have a cleaner code.
Let's ask some other people what they thing @massalabs/innovation

Imho, as we are still in testnet, i don't really care about breaking changes if its bringing cool features and/or clean code.
I dont understand the added value of having several types for the datastore key.
I key is a key, the type doesnt really matter. so i thing we are trying to do useless generic stuff here that brings complexity.
I don't know if it can help, but here is a nice exemple of use of AS type templating:
https://github.com/JairusSW/as-tbs/blob/master/assembly/src/tbs.ts

I agree with both of Pierre's remarks.
It would be nice to have opinions on the generic type of the key. Is it used ?
I'll take a look as-tbs

Another thing: I dont understand the added value of having several types for the datastore key. I key is a key, the type doesnt really matter. so i thing we are trying to do useless generic stuff here that brings complexity.

So what type would you use for the key ? StaticArray?  Which one is simpler ?

simpler one is String imo

simpler one is String imo

I'm personnally not a big fan of requiring strings as keys because the "normal" use case is to use bytes. For example if I want to create an ERC20, I'm better off encoding address keys directly as bytes because:

less storage overhead (base58 vs bytes)
less steps to serialize/deserialize (binary copy VS string copy => base58 decode => binary copy) => less gas and less code
in any programming language I know, it is transparent to use any hashable and/or ordered object as key, without having to convert it to string beforehand. Example: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map  "Any value (both objects and primitive values) may be used as either a key or a value."

At the beginning, we added type parameter to avoid doing the conversion in the smart contract code itself.
Storage.set(args); // I get an args in return
The live presentation about this brought this idea: be able to specify the return type. because some time we do new Args(Storage.get('key_as_string')); or Storage.get(new Args().add('key_as_string')); // get an args in return.
So in this issue we would like do to Storage.get<Args>('string_as_key'); // get an args in return.
This issue is about the return type of Storage.get.
If we want to change the rules about the key type of the storage, don't hesitate to create a new issue.
If we are mistaking, solution 2 proposed by Ben is the less risky because it only add 3 functions. It doesn't matter if none use them, we don't break existing code. For these reason I prefer solution 2.
If some of you prefer to close this issue without changing anything, why not.

Thank you all for this discussion which will help me a lot. I will try to talk to some builders to get a better idea of how they would like to use this feature. Then I will come back with a version that takes your comments into account.

@Ben-Rey wherre are we on this subject?
After reviewing the storage package, I realy think that the key should only be of type StaticArray or String.
Other types just add useless complexity.

I have to sync with @BatiGencho


Different collision behaviour y-up / z-up

Semi-related issue #12
CC @timediv
Hi,
I noticed a difference in simulation behavior which I can't explain when using different coordinate systems. My assumption would be that cannon.js should/does not care about whether the rendering uses an y-up approach or an z-up approach and thus what gravity direction is being used (right?).
However, I noticed the following differences. The scene is a box falling down on an endless plane:

Y-up (gravity= 0, -300, 0, ground plane rotated 90° around x-axis to face y-up) ends up with the following correct result - the box lies flat on the ground:

Z-up (gravity=0,0,-300, ground plane rotation unchanged) ends up with a glitched box. ignore the background, the ground plane isn't visible here, but the box itself is partly glitched into the ground plane (blue line), which should not happen. Expected behavior would be that the box lies flat on the ground as well

Any ideas why this is and how this can be fixed?
Thanks!

Really weird! But still, why such large gravity? Cannon default values were not made for that kind of gravity values.. try keeping objects around 1m large, gravity around 10m/s2 and mass around 1kg. Better?

Yes, and what did the trick for me was a scaled mapping from THREE.js to cannon. Originally, size dimensions would be like 10010010, but scaled down to a 10101 yields to better, although not perfect, results


Add ability to detect if exception if caught or uncaught

and then be able to edit the payload

This issue was created based upon a discussion with support.
The motivation is to be able to be able to add some meta data to the next Exception that is sent up to rollbar.
Ideally this would be possible for both explicitly created Exceptions throw new CustomException and uncaught exceptions. The former could be solved by passing in a String reason, but I am not sure how the latter would be possible using Rollbar?


PostReport and PostException switch in Http Submission

Hi,
I've added two property to the Http Sender to allow to POST the report and the Exception within the archive.
I need this to be able to extract some info about the exception without opening the archive.
The properties "PostReport" and "PostException" (maybe you can find a better name) can be set to true in code or using the connectionString:
<add name="NBug.Properties.Settings.Destination1" connectionString="Type=Http;Url=http://alfresco.bcsoa.it/cmissync/reports/upload.php;PostReport=true;PostException=true" />
My upload.php will store the archive and send an email to my address (i could have used the MailSender, but i don't like the App user to know my email address) and i need the Report and The exception to write some info in the message body. This way i only need to open the archive if i need some extra info.

Good feature but seems very specific. As far as I remember, protocols are pluggable from the outside also so you can create an external implementation of IProtocol... and plug it in. This feature doesn't need to be in the core package.
I would like to keep Http package bare bones.

Thanks for the effort btw!


Consider normalizing path used for Discriminator

https://github.com/aspnet/DataProtection/blob/46dadbb18683164a918873f43624aee3b5b0510c/src/Microsoft.AspNetCore.DataProtection/Internal/HostingApplicationDiscriminator.cs#L23
One specific instance where I hit this was running an app from the command line produced a cookie in my browser. And then running the exact same app without any changes from VS Code would fail to unprotect the cookie because VS Code environment returned e:/... and command line environment returned E:/...

This would probably end up being platform specific - because it shouldn't be case sensitive on windows, but should on linux.
Is there a path normalization function? (You'd be doing the work yourself anyway)

This issue was moved to aspnet/Home#2507


Using SFM with API Management and On-Prem Database

Hi,
I've now got a Mesh application up and running with a couple of services.  However, they're currently sat there on the open internet, since all the guides and docs seem to use this scenario in their examples.
I think where I want to get to is:

The service mesh services on their own internal-to-Azure network
An Azure API Management instance facing the public internet, authenticating, logging and routing requests into the mesh network
Plus, the Mesh network being able to communicate with our on-prem SQL servers (I believe we have a VNET which already links on-prem with Azure)

Are there any guides (or can anyone offer some examples) on how to construct the JSON/YAML deployment templates to achieve this?
Thanks!
Chris

Any comment on this?  I've since been told by support that Azure API Management doesn't work with Mesh, but I've been told by Azure support that on-prem connectivity and limiting access to the application to connections originating on-prem was supported.

This is not supported right now but is on the roadmap.


Ios 13.3 beta unsupported

Is it not compatible or its just a bug?

@ios13-3beta Beta versions of iOS are not supported. Please close your ticket.


Bring over openshift-migration-plugin to a unified repo

Do not merge until CAM team has blessed the PR.

This PR's not quite as scary as it first looks. There are only about 22 files changed that aren't vendor or vendor related. And 3 of those are Dockerfile, Makefile, and Readme.md. I'm willing to VISIACK it since it's been getting tested with OADP. I think merging it and getting any issues resolved is going to be the best bet.


Problem with blend mode add

Hi
We're using pixi particles a lot and we're quite happy with such features in our games. For designing particles we've been using pixi particles editor but our graphic artist needed upgrade. So i decided to to create new editor. (Just putting together angular, bootstrap, pixi and pixi particles. I have only basic knowledge about all modules that i used. Ok, maybe pixi, and pixi particles a little deeper).
I've run to a problem:
I have tested same emitter and image in both particle editors, mine and yours.
But result is different. problem is when blend mode add is set. Could you please give me a hint what has changed in particles, or even pixi? I'm googling around and asking around for a while and cannot find a solution
I'm attaching image and emitter to post
Archive.zip
When webgl renderer is used particles are different. In new editor is much brighter. In canvas result is the same.
Thank you for your cooperation
.mrtn

Hmm, I haven't tested the blend modes since PIXI 3, it's possible something changed. At the time, I did notice that the blending can look odd if you have a transparent canvas with no background within the stage to be blended into. Could you provide a few screenshots of what is going on? Also, the link to your particle editor is broken.

oh sorry, i did not check how links here work, so link should be external ke.sowhat.sk/files/ig2g/particles-editor
Archive 2.zip
cheers
.mrtn

i just found out that there is difference between pixi 3.0.9 and 3.0.10. I switched pixi in my version of particles editor to 3.0.9 and got same results as your particles. Then i looked around in pixi repo and found out that WebGLRenderer.js was changed between versions. (commit 0ccef7a).
So after more than year case closed :-)
I'll probably dig around a little bit more

To assist your  investigation, the relevant changelog is probably "BlendModes tweaked in webGL to work with pre-multiplied alpha sprites." I don't know exactly what changed there, but that is probably the difference.

I'm already using hotfix like this:
renderer.state.blendModes[PIXI.BLEND_MODES.ADD] [renderer.gl.SRC_ALPHA, renderer.gl.DST_ALPHA] for older games produced in pixi3.
Dirty solution, but good enough for me :-S


Adds bindings for WebView methods

Adds bindings for goForward(), goBack(), reload() and stopLoading() on WebView.
These methods are still missing in the React-Native documentation but here is a PR to fix that https://github.com/facebook/react-native-website/pull/363

LGTM