Model build error

lsmith-lsmith-1  |   if any(s % default_overall_up_factor != 0 for s in sample.shape[-2:]):
lsmith-lsmith-1  | ERROR:    Exception in ASGI application
lsmith-lsmith-1  | Traceback (most recent call last):
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
lsmith-lsmith-1  |     result = await app(  # type: ignore[func-returns-value]
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
lsmith-lsmith-1  |     return await self.app(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 270, in __call__
lsmith-lsmith-1  |     await super().__call__(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 124, in __call__
lsmith-lsmith-1  |     await self.middleware_stack(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 184, in __call__
lsmith-lsmith-1  |     raise exc
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 162, in __call__
lsmith-lsmith-1  |     await self.app(scope, receive, _send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 92, in __call__
lsmith-lsmith-1  |     await self.simple_response(scope, receive, send, request_headers=headers)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 147, in simple_response
lsmith-lsmith-1  |     await self.app(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 79, in __call__
lsmith-lsmith-1  |     raise exc
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 68, in __call__
lsmith-lsmith-1  |     await self.app(scope, receive, sender)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
lsmith-lsmith-1  |     raise e
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
lsmith-lsmith-1  |     await self.app(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 706, in __call__
lsmith-lsmith-1  |     await route.handle(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 276, in handle
lsmith-lsmith-1  |     await self.app(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 69, in app
lsmith-lsmith-1  |     await response(scope, receive, send)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 266, in __call__
lsmith-lsmith-1  |     async with anyio.create_task_group() as task_group:
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 662, in __aexit__
lsmith-lsmith-1  |     raise exceptions[0]
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 269, in wrap
lsmith-lsmith-1  |     await func()
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 258, in stream_response
lsmith-lsmith-1  |     async for chunk in self.body_iterator:
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/concurrency.py", line 63, in iterate_in_threadpool
lsmith-lsmith-1  |     yield await anyio.to_thread.run_sync(_next, iterator)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/anyio/to_thread.py", line 31, in run_sync
lsmith-lsmith-1  |     return await get_asynclib().run_sync_in_worker_thread(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
lsmith-lsmith-1  |     return await future
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
lsmith-lsmith-1  |     result = context.run(func, *args)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/starlette/concurrency.py", line 53, in _next
lsmith-lsmith-1  |     return next(iterator)
lsmith-lsmith-1  |   File "/app/./modules/diffusion/tensorrt/engine.py", line 154, in build
lsmith-lsmith-1  |     engine = build_engine(
lsmith-lsmith-1  |   File "/app/./modules/diffusion/tensorrt/engine.py", line 46, in build_engine
lsmith-lsmith-1  |     torch.onnx.export(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/__init__.py", line 350, in export
lsmith-lsmith-1  |     return utils.export(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 163, in export
lsmith-lsmith-1  |     _export(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 1074, in _export
lsmith-lsmith-1  |     graph, params_dict, torch_out = _model_to_graph(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 727, in _model_to_graph
lsmith-lsmith-1  |     graph, params, torch_out, module = _create_jit_graph(model, args)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 602, in _create_jit_graph
lsmith-lsmith-1  |     graph, torch_out = _trace_and_get_graph_from_model(model, args)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 517, in _trace_and_get_graph_from_model
lsmith-lsmith-1  |     trace_graph, torch_out, inputs_states = torch.jit._get_trace_graph(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/jit/_trace.py", line 1175, in _get_trace_graph
lsmith-lsmith-1  |     outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
lsmith-lsmith-1  |     return forward_call(*input, **kwargs)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/jit/_trace.py", line 127, in forward
lsmith-lsmith-1  |     graph, out = torch._C._create_graph_by_tracing(
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/jit/_trace.py", line 118, in wrapper
lsmith-lsmith-1  |     outs.append(self.inner(*trace_inputs))
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
lsmith-lsmith-1  |     return forward_call(*input, **kwargs)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1118, in _slow_forward
lsmith-lsmith-1  |     result = self.forward(*input, **kwargs)
lsmith-lsmith-1  |   File "/app/./submodules/diffusers_0_7_2/src/diffusers/models/unet_2d_condition.py", line 301, in forward
lsmith-lsmith-1  |     sample = self.conv_in(sample)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
lsmith-lsmith-1  |     return forward_call(*input, **kwargs)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1118, in _slow_forward
lsmith-lsmith-1  |     result = self.forward(*input, **kwargs)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/conv.py", line 457, in forward
lsmith-lsmith-1  |     return self._conv_forward(input, self.weight, self.bias)
lsmith-lsmith-1  |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/conv.py", line 453, in _conv_forward
lsmith-lsmith-1  |     return F.conv2d(input, weight, bias, self.stride,
lsmith-lsmith-1  | RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

It's probably related to #29. I fixed it earlier, so please check again.

Apparently it had nothing to do with #29. We are currently investigating.

Seeing this error as well.

Closing this issue as the project has been significantly updated. Please reopen if you still have problems.


fix[download]: use request id is instead of request url

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


Readme examples new features

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Documentation

What is the current behavior? (You can also link to an open issue here)
There aren't examples for multimodal combination fields and queries with weights in the README

What is the new behavior (if this is a feature change)?
There are examples for multimodal combination fields and queries with weights in the README that match the documentation

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No

Have unit tests been run against this PR? (Has there also been any additional testing?)
README.md renders correctly

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)

do the tests need to be updated @pandu-k ? that can probably happen as a second PR

Good point @jn2clark . @OwenPendrighElliott , can you create a Py-Marqo test that ensures that the new README works as intended? See here for test.


fix (README): typo in steps

Which issues are addressed?
fixing a minor typo in readme.md cripts --> scripts

[x] Everything works.
[x] Test are present and pass.
[ ] Documentation has been updated.

Thanks @wilau2! 👍


Get custom amount of items

Feature Request
Form
Put an [x] if you meet the condition, else leave [ ].

[x] I've searched the Issues
[x] I've read the basic concepts
[x] I'm using the latest version

Description
A specific description of your feature, so it's understandable to anyone.
You can add pictures.
Now, you have to use .items() method to get 12 items and, as far as I know, there isn't any other way. However, when you want to get 60 items, you have to do
[ await userFeed.items(), await userFeed.items(), await userFeed.items(), await userFeed.items(), await userFeed.items()]

Which isn't really DRY nor readable. This is why it could be a nice feature to allow the items method to have a number param which could be the amount of items the user wants to get.
Also, it could be really good to allow the items method to have a  condition parameter. It'd work the following way: When the method gets N (default: 12) quantitity of items that satisfy that condition, then the promise resolves.

However, when you want to get 60 items, you have to do ...
Which isn't really DRY nor readable.

You could make a function that gets you 60 items. You could even make a function that gets you n items.
Option 1

This is why it could be a nice feature to allow the items method to have a number param which could be the amount of items the user wants to get.

Take a look at Feed#items$. With it you can do something like
feed.items$.pipe(mergeMap(x => x), take(60)) /* .subscribe(item => console.log(item)) */
// or
await firstValueFrom(feed.items$.pipe(mergeMap(x => x), take(60), toArray()));

The takeaway here is that items$ is an observable. You can even control how it polls the feed: here.

Also, it could be really good to allow the items method to have a condition parameter.

That's really easy now. Just put a filter(fn) in the pipe and you're ready to go.
Option 2
Make a wrapper function to convert the feed into an async iterator:
async function* feedToIterator<T>(feed: Feed<any, T>) {
  do {
    const items = await feed.items();
    yield items;
  } while(feed.isMoreAvailable());
}

Then you can use transformers acting on async iterables (or iterator helpers once they are in V8 and Node).
So for example flatten and filter:
async function* flatten<T>(iter: AsyncIterable<T[]>) {
  for await(const items of iter) {
    yield* items;
  }
}

async function* filter<T>(iter: AsyncIterable<T>, fn: (item: T) => boolean) {
  for await(const item of iter) {
    if(fn(item)) yield item;
  }
}

Then you can do something like:
for await(const item of filter(flatten(feedToIterator(feed)), myFn)) {
  console.log(item);
}

ANd how would you combine both?

Observables
feed.items$.pipe(mergeMap(x => x), filter(myFn), take(60))

AsyncIterables
You'd need an additional take:
async function *take<T>(iter: AsyncIterable<T>, n: number) {
  if(n <= 0) return;
  let i = 0;
  for await(const item of iter) {
    yield item;
    i++;
    if(i >= n) break;
  }
}

If you want to put it in an array you also need a function toArray:
async function toArray<T>(iter: AsyncIterable<T>) {
  const arr = [];
  for await(const item of iter) {
    arr.push(item);
  }
  return arr;
}

Then it's
const items = await toArray(take(filter(flatten(feedToIterator(feed)), myFn), 60));

I prefer the observables for now since they are easier to read and rxjs is already a dependency of the library.

Oh, and mergeMap, take, filter are all functions from rxjs?

Oh, and mergeMap, take, filter are all functions from rxjs?

Right all of them are in rxjs/operators.

The object which is not iterable is from this function: feedToIterator

Yes, I copy paste the code

Maybe it's because I'm using JS and I changed it wrongly. Could you provide a javascript Version?


Cultural Delights disables vanilla recipes

The vanilla recipes for beetroot soup, bread, mushroom stew and rabbit stew are disabled by Cultural Delights.
This unexpected change can negatively impact Minecraft gameplay as some of these dishes are the only way to refill hunger in some situations (such as mushrooms for stew in the Nether), along with triggering recipe errors in the log.

These changes were made as their old recipes do not make sense when Farmer’s Delight is installed, although the bread recipe should not have been removed
This may be added to a config in the future

Hi @MarioSMB just seeing this now and I'm having the same issue with many errors on my server log. How did you solve this issue?

@Nyancatpig With all due respect this change does not fit into an addon of Farmer's Delight and should be presented to the Farmer's Delight developers themselves, as otherwise those who install addons for FD will be caught off guard by these recipes randomly being disabled - not to mention the errors in the console!
Would you please consider re-opening this if not for the parts of it that are planned to be resolved?
I don't mind submitting a pull request for it if so desired.

What are you talking about? If you mean bread now being made from dough, which now requires an egg, that is a good thing and makes far more sense. Also you can use the dough to make dumplings. The three soups you mentioned though seem to work fine for me

Farmer's Delight does not disable the vanilla recipes, why should Cultural Delights (an addon for Farmer's Delight)?

There are errors in the console from recipes being removed incorrectly
Nether survival is negatively impacted (mushroom stew is one of the only food sources readily available)

This is an addon, not a regular mod, disabling things Farmer's Delight is otherwise fine with can be considered intrusive.
For example, if you install a mod that adds new zombie types but doesn't mention that it also disables creepers, you would not be expecting that, it would be an intrusive design choice that negatively affects your gameplay.
If you don't agree with vanilla soup recipes being available in Farmer's Delight, make an issue on the Farmer's Delight page, don't change it in a random addon among many that people are playing Farmer's Delight with.


Fixed dependencies and stubs

This will fix some dependencies, e.g. vue-jest < 5 does not work with vue3.

Added eslint plugins which were configured, but missing as dependency
'jest/globals' was configured, so jest has to be configured as plugin (or eslint will fail).
Also replaced some deprecated packages with their successors.
Fixed some component stubs, as setup is supposed to return a render function, not directly VNodes.

(I also had to set the version for qcalendar to 4.0.0-alpha.1 (or the like) to get it all work locally)

Thanks for catching this! :heart:


"ConfigMgrInstallation.adm" can´t handle strings larger than 255 characters

"ConfigMgrInstallation.adm" can´t handle strings larger than 255 characters
VALUENAME SetupParameters
MAXLEN 255
This causes that you can´t enter Multiple Parameters for example long CCMCERTISSUERS.
I worked arround it by setting it to:
VALUENAME SetupParameters
MAXLEN 511
But maybe this old adm-Template needs a refresh.
(admin edit: adding metadata to link with target article)

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

ID: 7d990303-ea50-35f3-fc68-1b983c7fa6db
Version Independent ID: 58425268-9a47-1ce6-f489-1a2c3ae9c6bb
Content: Deploy clients to Windows - Configuration Manager
Content Source: sccm/core/clients/deploy/deploy-clients-to-windows-computers.md
Product: configuration-manager
Technology: configmgr-client
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Thanks @PehDeh for the feedback. That's a good tip to include in this article.
To share your idea about refreshing the group policy template, I want to make sure it gets directly into the hands of the engineering team. Fortunately, we've got dedicated channels for that very purpose. :) See the Product feedback section in our docs. I think it’s important that you submit it directly, because that allows you to receive notifications and more closely monitor the progress.

Done, thanks for the quick reply.

I added this tip to the article, it should publish live tomorrow


Type error on 'yarn run build'

Hi,

create-cosmos-app -> my-app -> connect-chain: log
cd my-app -> yarn && yarn dev: working fine: log
yarn run build -> Type error: 'Component' cannot be used as a JSX component: log

I didn't do pretty much. is there anyone with me?
Thanks

@behumble  Try adding ts-igonre comment

@behumble  Great! Thanks!


[BUG] After deleting the condition node, the save workflow prompts an error

Which version of Dolphin Scheduler:
-[dev-1.3.0]

@break60

already fixed


Getting some warnings when shutting down an instance using grpc

Description
Sometimes there is a warning issued:
INFO[0000] [hostagent] Received SIGINT, shutting down the host agent
INFO[0000] [hostagent] Shutting down the host agent
INFO[0000] [hostagent] Stopping forwarding "/run/lima-guestagent.sock" (guest) to "/home/anders/.lima/default/ga.sock" (host)
WARN[0000] [hostagent] connection to the guest agent was closed unexpectedlyrpc error: code = Canceled desc = context canceled

Maybe it now needs to stop the guest agent watch, before killing the hostagent ?

I'm still seeing some "weird" warnings, when running against an instance with the old lima-guestagent (without rpc)
WARN[0006] [hostagent] guest agent events closed unexpectedlyrpc error: code = Unavailable desc = connection error: desc = "error reading server preface: http2: frame too large"
But upgrading the lima-guestagent and restarting it makes them go away, so it should not be an issue for new installs...

@afbjorklund is this also happening on the latest master ??

when running against an instance with the old lima-guestagent

Shouldn't guestagent get auto upgraded when running against new lima instance ??

Shouldn't guestagent get auto upgraded when running against new lima instance ??

Yes, doing a stop and start fixes it. Just that those error messages are a bit scary.


you need to push to Pypi

or bump the version number

Thanks. I released version 1.5.1 on pypi just now.


'WriteAll' replication logic works in series. Why?

I see that Read data-path has ability to do parallel-read (ReadSpread), but write does not have. Any reasons?

@Ramzec I do not think there is a reason other than simplicity of failure handling to start. Probably we need to optimize it. Do you want to help on it?

Ok, i will try.

I tried it once, but didn't get much benefit, as all the writes needed to complete anyway. Though that was many iterations ago, so it couldn't hurt to try it again.

@barakmich I think he wants to do parallel writes and waits for all to finish. We should have some gain there when the replication factor is 3 or 5.

There are two implementations can be:

wait for all writes
wait for N successful writes

Current implementation of "WriteAll" allows to have one successful write, in this case do not need to wait all writers. This can be implemented as separate write-level.


Dragonsreach Great Porch DyndoLOD error

Screenshot below shows the issue on the Great Porch.
Doesn't actually cause a crash in my experience, but the message keeps repeating every few seconds.  Might be an install issue on my end, but it's minor enough that I don't feel like testing via reinstalling/troubleshooting mid playthrough.

Can confirm this issue on 2.6.2 as well

An issue with the current Dyndolod version that Elysium is using for grass LODs. Nothing game-breaking, though.


/weather command doesn't work on heroku

/weather command doesn't work on Heroku:

A problem occurs with the weather command. Please contact the Admin Kevin L.

No logs are print.

Come from problems with env variable on Heroku Dyno. Solved


Get All App API not working as documented

I have taken the MSFT Store Services API 'Create an app submission' example code [1] and from that made a repo that tests the 'Get all apps' API.   This call in the API does not work as documented instead only returning at most the first 10 applications in your Dev Center.  The variation that skips N and returns M apps also only returns the first 10 apps in your Dev Center.  Please see my GitHub repo here: https://github.com/rfreytag/MSFTDevCenterGetAppInfo.
You will need:

Azure AD Tenant ID
A Dev Center with more than 10 applications
Register a native program in your Azure AD Tenant/directory
Granted access to said Azure AD native program in your Dev Center
record your native program's 'Client ID' and 'Client Secret'.

NOTE: the README in my GitHub repository has a lot more pointers to documentation and steps.
[1] https://docs.microsoft.com/en-us/windows/uwp/monetize/csharp-code-examples-for-the-windows-store-submission-api#create-app-submission

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

ID: 1afba821-9f64-035b-e8c3-f2abd41b2fb8
Version Independent ID: f50cc88b-c015-ea07-244c-7a44b21870dc
Content: Get all apps - UWP app developer
Content Source: windows-apps-src/monetize/get-all-apps.md
Product: uwp
GitHub Login: @Xansky
Microsoft Alias: mhopkins

Thank you for this extensive research and feedback. I'll do some investigation and update the documentation as necessary.

I have also filed support request #618110891279430 with the Dev Center team pointing to this problem in the API.  It may be that your documentation is correct and the API needs repair.

Great, thanks. I'm going to go close this issue since you have a support request filed.

I recently got some info from the engineering team.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications will return the top 10 apps. The default value of top query parameter is 10.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications?top={totalAppNum} will return all the applications in one page. This is at user’s own risk and is not guaranteed to work with a large payload.

To summarize:

?top={totalAppNum} if the system can handle it.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications
Then recursively call
GET https://manage.devcenter.microsoft.com/v1.0/my/{nextLink}
aka
GET https://manage.devcenter.microsoft.com/v1.0/my/applications?skip=10&top=10
GET https://manage.devcenter.microsoft.com/v1.0/my/applications?skip=20&top=10
Until nextLink = null or doesn’t exist in response.


refactor(applications): remove accounts field from applications

It's a low-value, confusing, misleading field.
(some additional context in https://github.com/spinnaker/orca/pull/1291)

@ttomsu any concerns with this? Accounts would still come back from Gate, but would represent the list of accounts the application actually deploys into.

LGTM - Fiat doesn't have any concern with account fields from Front50, just Clouddriver.


Add support for Android NDK 16

This PR adds support for Android NDK 16, as discussed in https://github.com/rust-lang/rust/issues/31119#issuecomment-192957651 :smile:

Perhaps this could be tested out first? I think that this'll also need to install an API level 16 emulator and also switch to using that emulator instead of the arm-18 emulator.

No problem Alex! Just point me in the right direction and I'll get it done.
On Mon, Mar 7, 2016 at 6:16 PM Alex Crichton<EMAIL_ADDRESS>wrote:

Perhaps this could be tested out first? I think that this'll also need to
install an API level 16 emulator and also switch to using that emulator
instead of the arm-18 emulator.
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/rust-buildbot/pull/65#issuecomment-193133999
.

Ah yeah sure. What you'll basically want to do is emulate what the bots themselves do. Our buildbot has a ton of builders, but you're most likely only interested in the android one. You can take a look at a recent successful build to get an idea of how we run the build.
Basically what you'll want to do is:

Modify the slave images here to install a level 16 NDK
Modify the image to have a level 16 emulator (may need to install some more things, see install-sdk.sh
Spin up the image
Clone Rust
Configure rust for cross compilation
Run the build
Start up right emulator in the background
Run the tests in the emulator

The builder should show you the commands that are needed to run all this, but once that's all up and running this should be good to go! We'll likely want to land the standard library changes first, and then I'll merge these changes here, test them in dev, merge them to master, and deploy them to prod.

Got it. Leave it with me. :- )
Thanks so much for all the help!
On Mon, Mar 7, 2016 at 6:36 PM Alex Crichton<EMAIL_ADDRESS>wrote:

Ah yeah sure. What you'll basically want to do is emulate what the bots
themselves do. Our buildbot http://buildbot.rust-lang.org/ has a ton of
builders, but you're most likely only interested in the android one
http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t. You
can take a look at a recent successful build
http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/8272
to get an idea of how we run the build.
Basically what you'll want to do is:

Modify the slave images here to install a level 16 NDK
Modify the image to have a level 16 emulator (may need to install
some more things, see install-sdk.sh
Spin up the image
Clone Rust
Configure rust for cross compilation
Run the build
Start up right emulator in the background
Run the tests in the emulator

The builder should show you the commands that are needed to run all this,
but once that's all up and running this should be good to go! We'll likely
want to land the standard library changes first, and then I'll merge these
changes here, test them in dev, merge them to master, and deploy them to
prod.
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/rust-buildbot/pull/65#issuecomment-193137848
.

Neat!

I presume #99 would resolve this too.

I'm hoping to add API level 9 support soon, so hopefully that'll be more than enough to target API level 16, so I'm gonna close this for now. Thanks though for the PR @kanerogers!

No worries, Alex! Sorry I didn't get a chance to take this any further. :- (
On Wed, May 25, 2016 at 3:46 AM Alex Crichton<EMAIL_ADDRESS>wrote:

I'm hoping to add API level 9 support soon, so hopefully that'll be more
than enough to target API level 16, so I'm gonna close this for now. Thanks
though for the PR @kanerogers https://github.com/kanerogers!
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/rust-buildbot/pull/65#issuecomment-221345420


[Main StreetCode block] Verify that the "Оживити картинку" button is clickable upon the availability of the AR item (on the desktop).

Priority: high
Description:
The test case verifies that the "Оживити картинку" button is clickable upon the availability of the AR item (on the desktop).
Preconditions:

Go to the "StreetCode" page.

Steps to reproduce:

Click on the "Оживити картинку" button.
Verify that the page will scroll to the AR item.

Expected result:
The page automatically scrolls to the section "AR-історія в Інсті!" and the user can see the QR code.

User story:https://github.com/ita-social-projects/StreetCode/issues/20
Epic: https://github.com/ita-social-projects/StreetCode/issues/19

UPDATE to:
Description:
Test case verifies working of "Оживити картинку" button on desktop and mobile version
Preconditions
Go to the “StreetCode” page
Steps to reproduce
Click on "Оживити картинку" button
Expected result
On Desktop user automatically goes to the end of the page to the section "Грай з AR в Instagram"
What was wrong?

According to the requirements, this button should be in the desktop version and not in the mobile version. The presence/absence of the button was already checked in the [UI] test case.
The test case`s title should be renamed.
Expected result was written incorrectly and the mockup screenshot was not added.

NEW:
Description:
The test case verifies that the "Оживити картинку" button is clickable upon the availability of the AR item (on the desktop).
Preconditions:
Go to the "StreetCode" page.
Steps to reproduce:

Click on the "Оживити картинку" button.
Verify that the page will scroll to the AR item.

Expected result:
The page automatically scrolls to the section "AR-історія в Інсті!" and the user can see the QR code.

UPDATE:
The corresponding Epic and User story were added to this test case:
User story:https://github.com/ita-social-projects/StreetCode/issues/20
Epic: https://github.com/ita-social-projects/StreetCode/issues/19

The 'Оживити картинку' button is removed (according to the Customer`s requirement).


[RFC] Any impact of enable live-restore=true  of docker in hosts managed by Rancher

Does Rancher support docker engine with live-restore enabled? Any potential impact to Rancher/cattle side?

Useful
Info

Versions
Rancher v1.6.2 Cattle: v0.181.4 UI: v1.6.5

Access
localauth admin

Orchestration
Cattle

Route
stacks.index

live-restore=true will not work with Rancher.

@deniseschannon why won't it work? Can you provide more context please?


Broken Links

Female Attrition, Retention and Barriers to Careers in SET Academic Research
http://www.wisecampaign.org.uk/files/useruploads/files/resources/female_attrition,_retention_and_barriers_to_careers_report_08_12_09.pdf
Girl Geek Dinners
http://girlgeekdinners.com/
A Question of Belonging: Race, Social Fit, and Achievement
https://web.stanford.edu/~gwalton/home/Resources_files/Walton %26 Cohen-A Question of Belonging.pdf
Tynker
http://shescoding.org/www.tynker.com
Geek Girl Academy
http://girlgeekacademy.com/

Question of Belonging: Race, Social Fit, and Achievement is now located at: http://gregorywalton-stanford.weebly.com/uploads/4/9/4/4/49448111/walton_&_cohen-a_question_of_belonging.pdf

Female Attrition, Retention [...] now located at https://www.wisecampaign.org.uk/uploads/wise/files/archive/female_attrition__retention_and_barriers_to_careers_report_08_12_09.pdf

@natsteinmetz
Can you assign this to me please? I have fixed the links on my own local code but the way the code is setup, it is actually duplicating the resource since the url is 'new'. I'd like to discuss what I think could fix the issue.


Add health check for frontend-service

please also add a healthcheck to the deployment.

https://github.com/freiheit-com/kuberpult/blob/main/charts/kuberpult/templates/cd-service.yaml#L60
both liveness and readiness


PostgreSQL BulkInsert Error

Hi Team,
When we try to use bulk insert method for the PostgreSQL, we are getting an error like this "42601: syntax error at or near "0"".
We looked deeply exception details and there is a SQL query running background and this not available for the PostgreSQL.
Is there any solution for the disable this query? Or Is there any property "BulkConfig" class to disable that?
SELECT
TOP 0  //Not a correct syntax for the PostgreSQL
T.[Id], T.[Email], T.[Name] INTO [UsersTemp24499146]
FROM [Users] AS T LEFT JOIN [Users] AS Source ON 1 = 0
var context = _userRepository.GetContext();
using (var ts = context.Database.BeginTransaction())
{
var config = _userRepository.GetBulkConfig();
config.PreserveInsertOrder = false;
context.BulkInsert(users, config);
ts.Commit();
}
"EFCore.BulkExtensions" Version="5.4.2"
"Microsoft.EntityFrameworkCore.Design" Version="5.0.7"
"Microsoft.EntityFrameworkCore.Tools" Version="5.0.7"
"Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.7"

Unable to reproduce it with current versions.
Try updating to newer v. and if still have issue write a test, new one or alter existing where it occurs.


connection error

Hello,
I am trying to connect to my netbox host using the example on github readme page, but the error occurred:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=8000): Max retries exceeded with url: /api/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0321AE50>: Failed to establish a new connection: [WinError 10057] Запрос на отправку или получение данных  (when sending on a datagram socket using a sendto call) no address was supplied'))
When i use Postman all is fine.

What does your pynetbox.api() call look like?


Update log-analytics-data-collector-api - signature string format example

Update signature string format to replace \n with `n for carriage return. \n results in a bad authorization header.

@kylecweeks : Thanks for your contribution to the Azure documentation! The author, @bwren, has been notified to review your proposed change.


Perturbation

Hello,
How can I set perturbation for the Quadreped A1 robot?
Thank you

Is there any other way? Like using Perturb API and the XFRC_APPLIED?

Forces and torques can be applied to a specific body in the GUI using the click-and-drag interface, please see the docs.

Currently, there is not a way to do this from the GUI. You could modify the line before mj_step here or here to set xfrc_applied at certain times.
Alternatively, you can use the Python interface to set xfrc_applied.

Hello Thowell,
Thank you for your previous response and suggestions. I have been using the click-and-drag option as mentioned, which has worked well for my needs so far.
Recently, I attempted to implement the code changes you suggested to set xfrc_applied before mj_step. However, I encountered some difficulties and am unable to get it to work as expected. Below is the test code I used. I can verify that the force is being applied after 5 seconds (as the value is being printed), but I do not notice any difference in the simulation:
            if (d->time >= 5) {
                d->xfrc_applied[6 * 3 + 1] = 1000;
                std::cout << d->xfrc_applied[6 * 3 + 1] << std::endl;
            }

Could you please provide some additional guidance or an example on how to correctly implement this? Any help would be greatly appreciated.
Thank you for your assistance!

Where are you setting xfrc_applied in the code? Can you please provide a link to your fork?

@scakki in app.cc set xfrc_applied here and here.

Thank you very much for your response. Perturbation is now working.


Custom resource is failing

I'm getting the following error from customResourceResult, any idea?
11:07:04 PM | CREATE_FAILED        | AWS::CloudFormation::CustomResource         | initialize/customResourceResult/Default
Received response status [FAILED] from custom resource. Message returned: Error: Unable to import module 'index': No module named 'psycopg2._psycopg'

https://github.com/schuettc/cdk-private-rds-with-lambda/commit/f8df432df136982b167688c0caf229e3c2ecb304
This should fix that issue.  Updated with several other fixes as well.


Fix UBSan kokoro config

Corrects a UBSan-related flag.

Kokoro is not happy about a ubsan ctest.

Yes - looks like there is at least one existing UB that it is picking up. I will look later, and if the required fixes aren't easy I'll disable this CI check until the fixes can be done.


Single category support for liquid posts

Thanks for your PR!

You are welcome.
Now I migrate my blog from pure jekyll to pretzel. New PR coming soon.


A step by step guide on how to use Typescript with Node.js

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
Your title should be descriptive of the article/tutorial. Be Specific. Use keyword research to gain your article higher ranking.
Introduction paragraph (2-3 paragraphs):
Please write the Introductory paragraph(s), that would be included in your article. We will use this writing snippet to help us assess overall quality before approval. We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Take your time and write the content as you would intend to get it published.
Key takeaways:
What is Node.js
What is typescript
Node.js trends
Typescript trends
Why they are both popular
A step-by-step guide to integrate and run Node.js and typescript together
Using Node.js and typescript to build a simple HTTP server
References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@Faithdroid seems like a helpful topic - we just want to be sure that it does not retread or repeat much of what has been written about already here

Yes, this article has no redundancy on the published blogs


More benchmarks and better naive code

This pull request benchmarks more scenarios and uses a better "naive" implementation.
The new implementation uses binaries and Erlang/OTP's ability to avoid allocating new binaries. It performs within the same order of magnitude as UniRecover in all benchmarks except one.
The new scenarios consider when the string is valid ASCII, valid Unicode (japanese characters) and also frequently invalid. You will notice UniRecover performs poorly when frequently invalid, using 56672 more memory than the new naive solution.

$ mix run benchmarking/benchmark.exs
Operating System: macOS
CPU Information: Apple M1 Max
Number of Available Cores: 10
Available memory: 32 GB
Elixir 1.16.0-dev
Erlang 26.0.2

Benchmark suite executing with the following configuration:
warmup: 2 s
time: 10 s
memory time: 2 s
reduction time: 0 ns
parallel: 1
inputs: 200KB Valid ASCII, 200KB Very Often Invalid, 207KB JSON Once Invalid, 210KB Valid Unicode
Estimated total run time: 1.87 min

Benchmarking Binary with input 200KB Valid ASCII ...
Benchmarking Binary with input 200KB Very Often Invalid ...
Benchmarking Binary with input 207KB JSON Once Invalid ...
Benchmarking Binary with input 210KB Valid Unicode ...
Benchmarking UniRecover with input 200KB Valid ASCII ...
Benchmarking UniRecover with input 200KB Very Often Invalid ...
Benchmarking UniRecover with input 207KB JSON Once Invalid ...
Benchmarking UniRecover with input 210KB Valid Unicode ...

##### With input 200KB Valid ASCII #####
Name                 ips        average  deviation         median         99th %
UniRecover       1937.10      516.24 μs    ±10.36%      512.08 μs      548.66 μs
Binary            833.40     1199.90 μs     ±8.35%     1145.63 μs     1502.78 μs

Comparison:
UniRecover       1937.10
Binary            833.40 - 2.32x slower +683.67 μs

Memory usage statistics:

Name          Memory usage
UniRecover            40 B
Binary               128 B - 3.20x memory usage +88 B

**All measurements for memory usage were the same**

##### With input 200KB Very Often Invalid #####
Name                 ips        average  deviation         median         99th %
Binary            806.73        1.24 ms     ±1.51%        1.23 ms        1.31 ms
UniRecover        157.10        6.37 ms    ±22.85%        6.15 ms       10.42 ms

Comparison:
Binary            806.73
UniRecover        157.10 - 5.14x slower +5.13 ms

Memory usage statistics:

Name          Memory usage
Binary               128 B
UniRecover       7254120 B - 56672.81x memory usage +7253992 B

**All measurements for memory usage were the same**

##### With input 207KB JSON Once Invalid #####
Name                 ips        average  deviation         median         99th %
UniRecover       1838.19      544.01 μs     ±1.60%      541.71 μs      579.69 μs
Binary            849.26     1177.50 μs     ±1.23%     1173.88 μs     1238.14 μs

Comparison:
UniRecover       1838.19
Binary            849.26 - 2.16x slower +633.49 μs

Memory usage statistics:

Name          Memory usage
UniRecover           296 B
Binary               128 B - 0.43x memory usage -168 B

**All measurements for memory usage were the same**

##### With input 210KB Valid Unicode #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.14 K      879.31 μs     ±1.87%      875.79 μs      924.80 μs
Binary            1.09 K      920.40 μs     ±1.39%      917.08 μs      972.20 μs

Comparison:
UniRecover        1.14 K
Binary            1.09 K - 1.05x slower +41.09 μs

Memory usage statistics:

Name          Memory usage
UniRecover            40 B
Binary               128 B - 3.20x memory usage +88 B

**All measurements for memory usage were the same**

For completeness, here is how I would effectively implement the algorithm:
defmodule UniRecover.Benchmark.Simple do
  @dialyzer :no_improper_lists

  @doc """
  Replaces illegal sequences by building a new string, sans the bad sequences.
  Naive but does not compute the minimal sequence and is slower.
  """
  def sub(s) when is_binary(s) do
    IO.iodata_to_binary(sub_valid(s, 0, 0, s))
  end

  defp sub_valid(<<cp::utf8, rest::binary>>, size, start, original) do
    sub_valid(rest, size + codepoint_byte_size(cp), start, original)
  end

  defp sub_valid(<<_, rest::binary>>, size, start, original) do
    valid = binary_part(original, start, size)
    [valid | sub_invalid(rest, start + size + 1, original)]
  end

  defp sub_valid(<<>>, size, start, original), do: binary_part(original, start, size)

  defp sub_invalid(<<cp::utf8, rest::binary>>, size, original) do
    ["�" | sub_valid(rest, codepoint_byte_size(cp), size, original)]
  end

  defp sub_invalid(<<_, rest::binary>>, size, original) do
    sub_invalid(rest, size + 1, original)
  end

  defp sub_invalid(<<>>, _size, _original) do
    "�"
  end

  @compile {:inline, codepoint_byte_size: 1}
  defp codepoint_byte_size(cp) when cp <= 0x007F, do: 1
  defp codepoint_byte_size(cp) when cp <= 0x07FF, do: 2
  defp codepoint_byte_size(cp) when cp <= 0xFFFF, do: 3
  defp codepoint_byte_size(_), do: 4
end

And here are the results I get:
##### With input 200KB Valid ASCII #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.94 K      515.64 μs     ±8.72%      511.71 μs      547.80 μs
Binary            1.35 K      738.33 μs     ±6.31%      736.08 μs      833.49 μs

Comparison:
UniRecover        1.94 K
Binary            1.35 K - 1.43x slower +222.69 μs

Memory usage statistics:

Name          Memory usage
UniRecover            40 B
Binary                40 B - 1.00x memory usage +0 B

**All measurements for memory usage were the same**

##### With input 200KB Very Often Invalid #####
Name                 ips        average  deviation         median         99th %
Binary            354.31        2.82 ms    ±20.38%        2.75 ms        4.61 ms
UniRecover        158.47        6.31 ms    ±21.78%        6.05 ms       10.82 ms

Comparison:
Binary            354.31
UniRecover        158.47 - 2.24x slower +3.49 ms

Memory usage statistics:

Name          Memory usage
Binary             1.53 MB
UniRecover         6.92 MB - 4.53x memory usage +5.39 MB

**All measurements for memory usage were the same**

##### With input 207KB JSON Once Invalid #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.84 K      544.26 μs     ±1.60%      542.21 μs      576.26 μs
Binary            1.78 K      562.25 μs     ±1.46%      560.21 μs      592.55 μs

Comparison:
UniRecover        1.84 K
Binary            1.78 K - 1.03x slower +17.99 μs

Memory usage statistics:

Name          Memory usage
UniRecover           296 B
Binary               120 B - 0.41x memory usage -176 B

**All measurements for memory usage were the same**

##### With input 210KB Valid Unicode #####
Name                 ips        average  deviation         median         99th %
Binary            1.15 K      873.28 μs     ±1.59%      871.54 μs      901.19 μs
UniRecover        1.14 K      877.30 μs     ±1.56%      875.37 μs      903.66 μs

Comparison:
Binary            1.15 K
UniRecover        1.14 K - 1.00x slower +4.03 μs

Memory usage statistics:

Name          Memory usage
Binary                40 B
UniRecover            40 B - 1.00x memory usage +0 B

As you can see, it performs quite well, however, I think the best solution would be one that combines both of our approaches.
What is fast in your approach is that you explicitly check for patterns that are invalid. That's the slowest part of my algorithm. What is fast in my approach is that it is recursive and avoids creating tuples, that's the slowest part of your algorith.
If you can change my code above, in particular this clause:
  defp sub_valid(<<cp::utf8, rest::binary>>, size, start, original) do
    sub_valid(rest, size + codepoint_byte_size(cp), start, original)
  end

To a clause that precisely matches on invalid patterns and computes the valid/invalid size parts, I think you will have a solution cleaner and faster than the current ones. :)

Actually, I did a double check on your algorithm and I saw that you still had this at the top:
  defp find_bad_sequences(<<_::utf8, rest::binary>>, acc) do
    find_bad_sequences(rest, acc)
  end

Therefore, I was wrong! What was slow in my algorithm and fast on your was not the matching! What makes your algorithm fast is this very smart trick that you use where, instead of computing the size as you go, you compute the size to slice based on the rest.
If I change my implementation to use the same trick:
defmodule UniRecover.Benchmark.Simple do
  @dialyzer :no_improper_lists

  @doc """
  Replaces illegal sequences by building a new string, sans the bad sequences.
  Naive but does not compute the minimal sequence and is slower.
  """
  def sub(s) when is_binary(s) do
    IO.iodata_to_binary(sub_valid(s, s))
  end

  defp sub_valid(<<_::utf8, rest::binary>>, original) do
    sub_valid(rest, original)
  end

  defp sub_valid(<<_, rest::binary>>, original) do
    valid = binary_part(original, 0, byte_size(original) - byte_size(rest) - 1)
    [valid | sub_invalid(rest)]
  end

  defp sub_valid(<<>>, original), do: original

  defp sub_invalid(<<_::utf8, rest::binary>> = binary), do: ["�" | sub_valid(rest, binary)]
  defp sub_invalid(<<_, rest::binary>>), do: sub_invalid(rest)
  defp sub_invalid(<<>>), do: "�"
end

I get these results:
##### With input 200KB Valid ASCII #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.94 K      514.32 μs    ±11.69%      510.42 μs      535.58 μs
Binary            1.94 K      516.15 μs    ±10.41%      511.42 μs      550.97 μs

Comparison:
UniRecover        1.94 K
Binary            1.94 K - 1.00x slower +1.83 μs

Memory usage statistics:

Name          Memory usage
UniRecover            40 B
Binary                40 B - 1.00x memory usage +0 B

**All measurements for memory usage were the same**

##### With input 200KB Very Often Invalid #####
Name                 ips        average  deviation         median         99th %
Binary            238.16        4.20 ms    ±15.97%        4.11 ms        6.48 ms
UniRecover        162.35        6.16 ms    ±10.20%        6.04 ms        9.02 ms

Comparison:
Binary            238.16
UniRecover        162.35 - 1.47x slower +1.96 ms

Memory usage statistics:

Name          Memory usage
Binary             5.34 MB
UniRecover         6.92 MB - 1.30x memory usage +1.58 MB

**All measurements for memory usage were the same**

##### With input 207KB JSON Once Invalid #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.84 K      543.33 μs     ±1.22%      542.25 μs      565.95 μs
Binary            1.84 K      543.34 μs     ±1.56%      540.50 μs      575.04 μs

Comparison:
UniRecover        1.84 K
Binary            1.84 K - 1.00x slower +0.00747 μs

Memory usage statistics:

Name          Memory usage
UniRecover           296 B
Binary               200 B - 0.68x memory usage -96 B

**All measurements for memory usage were the same**

##### With input 210KB Valid Unicode #####
Name                 ips        average  deviation         median         99th %
UniRecover        1.14 K      876.35 μs     ±2.11%      874.65 μs      902.07 μs
Binary            1.14 K      878.81 μs     ±2.33%      875.46 μs      918.40 μs

Comparison:
UniRecover        1.14 K
Binary            1.14 K - 1.00x slower +2.46 μs

Memory usage statistics:

Name          Memory usage
UniRecover            40 B
Binary                40 B - 1.00x memory usage +0 B

As you can see, our results are pretty similar now. You can also notice that my implementation for the "very often invalid" got slower and more expensive than the previous one. :) That's because we are building a sub-binary whenever we find an invalid codepoint (which happens when we call byte_size(rest)). However, it is still faster than yours since it is recursive and avoid building the tuples.

Btw, feel free to consider all of the snippets above under the MIT license (the same license as this project). You are welcome to use/reuse any part of them.

Thank you so much!!! :D
One sticking point's that the original comparisons didn't properly handle valid-but-truncated code points. Without going into the Unicode standard's jargon:

Valid-but-truncated sequences are replaced with 1x "�"
Everything else's replaced with 1x "�" per byte

I iterated on your implementation in this livebook and included it in benchmark.exs along with other derived permutations. They're much more grok-able and benchmark better. I reckon I'll sleep on it for a day and pick a winner.

Oh, I see. FWIW I like the new implementation, it looks cleaner to me and it should hopefully perform as well as the current one?

On a second look, I think we can further improve your code:

We can make it body recursive
All case clauses seem to be equal, so we can remove them. Here is what I got:

defmodule SimpleIII do
  @dialyzer :no_improper_lists

  def sub(s) when is_binary(s) do
    IO.iodata_to_binary(sub_valid(s, s))
  end

  defp sub_valid(rest, original)

  defp sub_valid(<<_::utf8, rest::binary>>, original) do
    sub_valid(rest, original)
  end

  defp sub_valid(<<rest::binary>>, original) do
    valid = binary_part(original, 0, byte_size(original) - byte_size(rest))
    [valid | sub_invalid(rest)]
  end

  defp sub_valid(<<>>, original), do: original

  defp sub_invalid(<<_::utf8, rest::binary>> = binary), do: sub_valid(rest, binary)

  # 2/3-byte truncated
  defp sub_invalid(<<0b1110::4, _::4, 0b10::2, _::6, n_lead::2, n_rest::6, rest::binary>>)
       when n_lead != 0b10 do
    ["�" | sub_invalid(<<n_lead::2, n_rest::6, rest::binary>>)]
  end

  # 2/4-byte truncated
  defp sub_invalid(<<0b11110::5, _::3, 0b10::2, _::6, n_lead::2, n_rest::6, rest::binary>>)
       when n_lead != 0b10 do
    ["�" | sub_invalid(<<n_lead::2, n_rest::6, rest::binary>>)]
  end

  # 3/4-byte truncated
  defp sub_invalid(
         <<0b11110::5, _::3, 0b10::2, _::6, 0b10::2, _::6, n_lead::2, n_rest::6, rest::binary>>
       )
       when n_lead != 0b10 do
    ["�" | sub_invalid(<<n_lead::2, n_rest::6, rest::binary>>)]
  end

  defp sub_invalid(<<_, rest::binary>>), do: ["�" | sub_invalid(rest)]
  defp sub_invalid(<<>>), do: <<>>
end

Ah - I think you've actually caught a mistake of mine! All cases were adding one replacement character for the sequence, but the default cases should've added one replacement character per byte. I've updated the code to reflect that.
There's two conditions those clauses account for:

Surrogate code points (range U+D800 - U+DFFF) which are reserved for utf-16, and never constitute valid utf-8 code points (relevant in 2/3-byte truncated sequences).
"Overlong" encodings which are mathematically possible in utf-8 but not allowed by the standard. I've added overlong.livemd for an interactive reference.

With that amended I think Simple_Trunc, SimpleIII, and SimpleIII_BinAcc are all correct per the recommended spec. That said I really ought to write some test cases! I endeavored to at one point but fell short of time.

As an aside, Livebook's awesome :D
I find it an amazing tool for working a problem, documenting/brain-dumping my thought process, and having that to return to as a reference for myself.
I really hope more folks in the Elixir ecosystem embrace adding livebooks to repos. So often in programming solutions are documented, but less often how their authors came about implementing them.

I took some time to clean up the benchmarks, making sure each method conformed to the standard.
In an upset, the successor Simple method's pulled ahead 🤯
I added a case to test for valid ascii bytes before utf-8. That greatly boosted the JSON benchmark and pure ascii test, although the pure Japanese characters took somewhat of a hit.
The real upshot's how BEAM's optimizes the memory usage down to a constant 128 Bytes in all cases. Barring any outliers or bugs I haven't found, I hugely favor that. May not the absolute fastest in many cases, but it's extremely stable.


bookshelf, needed or not?

I have a good knowledge in sql and writing complex queries.
I am struggling why should I use bookshelf.js,
it seems that knex provide everything needed for using sql.
is bookshelf main feature is the 'withRelated', if so I can use leftJoin
if its simpler create, I can use insert.
So I am missing something?, should using only knex its ok for full production app?

It also provides a framework for augmenting database objects, i.e. giving them more methods, so it all around (relationships too) gives you more abstraction on your data.

can you give a real world use example for something that is much better to use bookshelf then knex?
do you think bookshelf is  a must for a a professional server api?

@shai32 You need some ORM in addition to knex if you like to be able to automatically convert DB rows to javascript objects, which allows you to fetch related data (for example through many to one relation) automatically as nested object hierarchy instead of just joined attributes (creates lots of data duplication because many joins duplicates parent tables fields for example where there is something-many relation).
ORM's also provides you hooks to do stuff and for example modify query before / after actually executing it and hooks for doing validations before inserts / data updates etc.
If you are not using any ORM most probably you will end up writing many of the features that ORM provides out of the box by hand.
Feel free to continue discussion here even that issue is closed.

When i am using knex, I am getting the result as  javascript object. so why do i need ORM?

anyone?

@shai32 I already listed bunch of reasons in my last comment. TL;DR most importantly to work with related data efficiently and to be able to get different type of JS object for rows from different tables etc.


Allow both CMS 4 and CMS 5 installs

The upgrade from CMS 4 to CMS 5 support involved a single number change in composer.json. I propose this should have been ^4 || ^5 instead.
There is no dependency difference between the two branches (no API change was needed for CMS 5 support), and fixes from the main branch are having to be "backported" (#58 & #59) to the CMS 4 branch, where rebase "merging" has occurred - diverging the commit history. This likely makes the normal "merge-up" routine more difficult.
Simplifying maintainer support by changing the framework requirement (and probably removing the CMS requirement too - no code relies on it) would make things easier for everyone until such time that an actual codebase deviation is required for multiple version support.

CMS 4 is end of life in just a few months.
It's too late for this now. The 2 branch can be end of life too in time with the CMS.


Add fuzy search to the emoji picker

Summary
Add fuzzy search to emoji picker in order to get emojis outside of the searchTerm.
Includes fusejs library.
Device Information
This PR was tested on:

iPhone 6 Simulator
Nexus 6P Emulator

Screenshots

@enahum.  Missed that component. I'll add that in emoji_picker. Nice catch

@enahum I've added fuzzy search support to the emoji picker.


add parameter max_num_negatives to add_negative_coref_relations()

Codecov Report
Attention: Patch coverage is 85.71429% with 2 lines in your changes missing coverage. Please review.

Project coverage is 95.68%. Comparing base (86c85d6) to head (76fc27b).

Files with missing lines
Patch %
Lines

src/pie_modules/document/processing/text_pair.py
85.71%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #123      +/-   ##
==========================================
- Coverage   95.71%   95.68%   -0.04%
==========================================
  Files          61       61
  Lines        5066     5070       +4
==========================================
+ Hits         4849     4851       +2
- Misses        217      219       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fetch error in Android https GET

When i call the url https://www.cchd.de/ct/api/info with the fetch api on Android i always get the error: Network request failed. On iOS it works fine.
I use an android simulator for my tests:

Nexus_5X_API_27

This is the code is use to test it:
        fetch('https://www.cchd.de/ct/api/info')
            .then(response => {
                console.log('Fetch success', response);
            })
            .catch(error => {
                console.log('Fetch error', error);
            });

I also read some other issues about similar issues but none of them solved my issue.
Other urls like this one work fine: https://testdavid.church.tools/api/info
For me it seems like that is an issue with certificates but i cannot figure out what is wrong here.
React Native version:
info
  React Native Environment Info:
    System:
      OS: macOS 10.14.5
      CPU: (4) x64 Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz
      Memory: 589.11 MB / 8.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.15.1 - ~/.nvm/versions/node/v10.15.1/bin/node
      Yarn: 1.13.0 - /usr/local/bin/yarn
      npm: 6.4.1 - ~/.nvm/versions/node/v10.15.1/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
      Android SDK:
        API Levels: 23, 25, 26, 27, 28
        Build Tools: 23.0.1, 25.0.1, 26.0.2, 27.0.3, 28.0.0, 28.0.3
        System Images: android-23 | Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom_64, android-27 | Google APIs Intel x86 Atom
    IDEs:
      Android Studio: 3.2 AI-181.55<IP_ADDRESS>56338
      Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.8 => 0.59.8
    npmGlobalPackages:
      react-native-cli: 2.0.1

https://github.com/facebook/react-native/issues/10404
https://github.com/facebook/react-native/issues/24120
Maybe this will help you ?

I already read these issues, but i couldn't find a solution there.

Any progress? I have the same problem. HTTP works, HTTPS doesn't work.

I can fetch from that endpoint just fine (API 28, API 24). Can anyone provide repro repo (react-native init + minimal changes to achieve bug)?
thanks.

@Krizzu which URL did you try?

@djschilling https://www.cchd.de/ct/api/info and testdavid.church.tools/api/info, both did not throw any error


Docker deployment, address Spark app and cluster in system menu

For a Docker deployment of Combine, the links for the Spark application and cluster in the system menu are wrong:

As looking likely moving away from Spark cluster, may make sense to remove that section entirely.

Addressed.


The user's container name can be occupied by others.

A user's all container names are unique but he/she can create container having names used by other user.

@lk668

merged in #59 .Thanks @lk668


Add Sepolia to addresses.json

If we modify addresses and ship a new version of protocol contracts, we might as well fix these issues:
https://github.com/zeta-chain/protocol-contracts/issues/104
https://github.com/zeta-chain/protocol-contracts/issues/105
https://github.com/zeta-chain/protocol-contracts/issues/106


Gh pages with travis

#MAJOR# so as to stop with the 0.x releases

Fixing package.json so as not to require internal packages
Adding gh-pages stuff

@agonza40 self-merging to try out the github-pages CI


optimizer: prune unused generated columns on sources

Sources with generated columns are transformed to a PhysicalSource -> PhysicalProject for execution. However, by doing this we lose the opportunity to do ColPrune on these generated columns since it's only applicable to logical plan nodes.
https://github.com/risingwavelabs/risingwave/blob/07bbdb73343789523c140a0f4564372d33f492c6/src/frontend/src/optimizer/plan_node/logical_source.rs#L237-L254
A more consistent implementation could be optionally attaching a LogicalProject on LogicalSource::create. Actually, we somehow have the implementation in our codebase but it's dead now. 😄
https://github.com/risingwavelabs/risingwave/blob/07bbdb73343789523c140a0f4564372d33f492c6/src/frontend/src/optimizer/plan_node/logical_source.rs#L99-L128
cc @st1page @yuhao-su

maybe we need to add output_indices on the LogicalSource?

Now we have output_exprs, which I guess should be sufficient for this task. However, one should carefully handle the schema of LogicalSource after pruning.
https://github.com/risingwavelabs/risingwave/blob/3abd7cb3e8abc0bdf05a823364b2db1d08def7e7/src/frontend/src/optimizer/plan_node/logical_source.rs#L54-L56

please ping me if you have any conclusion on this topic

Hey, should we do this? cc. @st1page @BugenZhao


Create a plugin loader, that is able to load externally packaged plugins

Create a mechanism to load external plugins that implement Marathon's public interfaces.
JIRA: MARATHON-228

seems like a plugin store?
need hack the classloader I think.


constance not initialized when setting up context processor

I'm running into a problem where constance is not properly initialized before config/context_processor.py attempts to get one of the configuration values form constance, resulting in the following AttributeError:
AttributeError: module 'constance.settings' has no attribute 'CONFIGURATION_KEY'
When I use the management command to list keys I can verify that the config key is indeed there. So it seems like constance is not loaded/initialized before the context processor. How do I get values from constance in this case?

Sorry, never mind. I made a mistake when importing constance. I didn’t realize the object name was config, not settings.
Changing:
from constance import settings

to:
from constance import config

fixed the issue. I must’ve incorrectly assumed this object name because I was migrating from Django’s settings object and I thought the names would be the same. If anybody wants to migrate without changing the name then use the as import:
from constance import config as settings


[FEA]: Add testing framework for examples directory

Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
High
Please provide a clear description of problem this feature solves
The examples directory is starting to grow and include many different pipelines that should be included in testing. We should include this in regular testing whenever possible.
Describe your ideal solution
Ideally, each example would have a tests folder which would get picked up by pytest and run as part of the CI test stage. However, the examples often include difficult to resolve dependencies which makes it impossible to run them all with the same image or conda environment.
We would need a testing solution which would do the following for each example folder:

Clone the base conda environment into a temporary environment
Install the dependencies for the current example
Run pytest on the example's test folder
Delete the temp conda envronment
Move to the next example

Describe any alternatives you have considered
While the outlined solution wouldnt be quick due to constantly creating conda environments, we dont have much of an option. The alternative would be to try and create an image with all of the dependencies which would be nearly impossible.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I have searched the open feature requests and have found no duplicates for this feature request

Closing this issue since we plan on using the rapids dependency file generator to manage all dependencies moving forward


Core panic with edge-captive

ESP's logs:
I (611) wifi_init: rx ba win: 6
I (611) wifi_init: tcpip mbox: 32
I (621) wifi_init: udp mbox: 6
I (621) wifi_init: tcp mbox: 6
I (621) wifi_init: tcp tx win: 5760
I (631) wifi_init: tcp rx win: 5760
I (631) wifi_init: tcp mss: 1440
I (641) wifi_init: WiFi IRAM OP enabled
I (641) wifi_init: WiFi RX IRAM OP enabled
Guru Meditation Error: Core  0 panic'ed (Stack protection fault).

Detected in task "main" at 0x42007dda
0x42007dda - async_lock::once_cell::OnceCell<T>::get
    at /home/mawoka/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-lock-3.4.0/src/once_cell.rs:173
Stack pointer: 0x3fc9b380
Stack bounds: 0x3fc9b388 - 0x3fc9d4c0

Core  0 register dump:
MEPC    : 0x42007ddc  RA      : 0x42007d30  SP      : 0x3fc9b380  GP      : 0x3fc92c00
0x42007ddc - async_lock::once_cell::OnceCell<T>::get
    at /home/mawoka/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-lock-3.4.0/src/once_cell.rs:173
0x42007d30 - async_lock::once_cell::OnceCell<T>::get_or_try_init_blocking
    at /home/mawoka/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-lock-3.4.0/src/once_cell.rs:445
0x3fc92c00 - __global_pointer$
    at ??:??
TP      : 0x3fc56c98  T0      : 0x00000000  T1      : 0x42007cba  T2      : 0x00000000
0x42007cba - core::result::Result<T,E>::expect
    at /var/home/mawoka/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1059
S0/FP   : 0x3fc95240  S1      : 0x00000001  A0      : 0x3fc95240  A1      : 0x00000001
0x3fc95240 - $d
    at ??:??
0x3fc95240 - $d
    at ??:??
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x00000000  A5      : 0x600c2194
A6      : 0x00000001  A7      : 0x3fc9be10  S2      : 0x3fc9b414  S3      : 0x3fc9c5c8
S4      : 0x00000000  S5      : 0x00000000  S6      : 0x3fc9c118  S7      : 0x3fc9c100
S8      : 0x3fc9c090  S9      : 0x3fc9c09c  S10     : 0x3fc9c1f0  S11     : 0x00000001
T3      : 0x3fc95dac  T4      : 0x00000036  T5      : 0x00000000  T6      : 0x420790a2
0x3fc95dac - s_vfs
    at ??:??
0x420790a2 - sys_mutex_unlock
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/port/freertos/sys_arch.c:79
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x0000001b  MTVAL   : 0x0000c606
0x40380001 - _vector_table
    at ??:??
MHARTID : 0x00000000

Stack memory:
3fc9b380: 0x3fc9dd78 0x00002140 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b3a0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0x3fc9c124 0x3fc95040 0x3fc9bb80 0x42007ab8
0x42007ab8 - async_io::reactor::Reactor::get::{{closure}}
    at /home/mawoka/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-io-2.3.4/src/reactor.rs:104
3fc9b3c0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b3e0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b400: 0x3fc95040 0x3fc9bdb3 0x00000000 0x3fc95040 0x3fc9bdb3 0xa5000000 0x3fc95040 0xa5a5a5a5
3fc9b420: 0x40387b9c 0x403872da 0x3fc9bc20 0x3fc92c00 0x40387b9c 0x403872da 0x3fc9bc30 0x3fc92c00
0x40387b9c - vPortClearInterruptMaskFromISR
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:520
0x403872da - xQueueGenericSend
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:1057
0x3fc92c00 - __global_pointer$
    at ??:??
0x40387b9c - vPortClearInterruptMaskFromISR
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:520
0x403872da - xQueueGenericSend
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:1057
0x3fc92c00 - __global_pointer$
    at ??:??
3fc9b440: 0x3fc56c98 0x3fc9dfe0 0x00000008 0x403822e6 0x3fca9178 0x00000000 0x00000001 0x00000001
0x403822e6 - heap_caps_malloc
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/heap/heap_caps.c:202
3fc9b460: 0x3fc99000 0x3fc99000 0x00000000 0x600c2194 0x00000006 0x00000006 0x00000000 0x3fc9bc7c
0x3fc99000 - phy_version_str
    at ??:??
0x3fc99000 - phy_version_str
    at ??:??
3fc9b480: 0xffffffff 0x00000002 0x3fca9188 0x3fc9c100 0x3fc9c090 0x3fc9c09c 0x3fc9c1f0 0x00000001
3fc9b4a0: 0x00000000 0x4205b792 0x00000000 0x3fc9dfb0 0x3fc9c1f0 0x3fc9c09c 0x3fc9c090 0x4038780c
0x4205b792 - pthread_setspecific
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/pthread/pthread_local_storage.c:230
0x4038780c - xQueueSemaphoreTake
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:1731
3fc9b4c0: 0x00000004 0x00000002 0x3fc9bdc2 0xffffffff 0x00000004 0x00000002 0x3fc9bdc2 0x3fc9bdc0
3fc9b4e0: 0x0000001c 0x4207ad84 0x3fc9bdc2 0x3fc9bdc0 0x0000001c 0x00000000 0x3fca8fa8 0x40386d10
0x4207ad84 - lwip_netconn_do_bind
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/lwip/src/api/api_msg.c:1281
0x40386d10 - prvCopyDataToQueue
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:2470
3fc9b500: 0x00000000 0x00000000 0x3fca8fa8 0x40387284 0x00000000 0x4207ad84 0x3fc9bcc8 0x00000000
0x40387284 - xQueueGenericSend
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:966
0x4207ad84 - lwip_netconn_do_bind
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/lwip/src/api/api_msg.c:1281
3fc9b520: 0x00000004 0x00000002 0x3fc9bdc2 0x3fc9bdc0 0x00000004 0x00000002 0x3fc9bdc2 0x3fc9bdc0
3fc9b540: 0x0000001c 0x00000000 0x00000000 0x420790a2 0x3c117bc4 0x3fc90035 0x3fc95dac 0x42067ce6
0x420790a2 - sys_mutex_unlock
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/port/freertos/sys_arch.c:79
0x3c117bc4 - __func__.9
    at ??:??
0x3fc95dac - s_vfs
    at ??:??
0x42067ce6 - done_socket
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/lwip/src/api/sockets.c:398
3fc9b560: 0x3fc9bde0 0x00000036 0x3fcaa780 0x00000000 0x0000001c 0x00000000 0x3fca8fa8 0x40386d10
0x40386d10 - prvCopyDataToQueue
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:2470
3fc9b580: 0x00000000 0x00000000 0x3fca8fa8 0x40386d10 0x00000000 0x00000000 0x3fca8fa8 0x40387284
0x40386d10 - prvCopyDataToQueue
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:2470
0x40387284 - xQueueGenericSend
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:966
3fc9b5a0: 0x3fc9bde0 0x00000036 0x00000000 0x00000000 0x3fc9c118 0x00000000 0x00000000 0x3fc9c5c8
3fc9b5c0: 0x3fc9c118 0x00000000 0x00000000 0x3fc9c5c8 0x00004002 0x00000000 0x00000000 0x420790a2
0x420790a2 - sys_mutex_unlock
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/port/freertos/sys_arch.c:79
3fc9b5e0: 0x00000000 0x00000036 0x3fc95dac 0x42067ce6 0x3fc9be10 0x00000001 0x3fc9be40 0x00000000
0x3fc95dac - s_vfs
    at ??:??
0x42067ce6 - done_socket
    at /var/home/mawoka/projects/td-free-rs/firmware/.embuild/espressif/esp-idf/v5.2.2/components/lwip/lwip/src/api/sockets.c:398
3fc9b600: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b620: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b640: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b660: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b680: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b6a0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b6c0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b6e0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b700: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b720: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b740: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fc9b760: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5

ELF file SHA256: 000000000

Rebooting...
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x40381fea

main.rs
#![feature(iter_intersperse)]

use std::borrow::Cow;
use std::net::Ipv4Addr;
use std::str::FromStr;

use core::time::Duration;
use embedded_hal::delay::DelayNs;
use esp_idf_svc::hal::sys::nvs_flash_init;
use esp_idf_svc::hal::task::block_on;
use esp_idf_svc::http::server::EspHttpServer;
use esp_idf_svc::http::Method;
use esp_idf_svc::io::Write;
use esp_idf_svc::ipv4::{
    ClientConfiguration as IpClientConfiguration, ClientSettings as IpClientSettings,
    Configuration as IpConfiguration, Mask, RouterConfiguration, Subnet,
};
use esp_idf_svc::netif::{EspNetif, NetifConfiguration, NetifStack};
use esp_idf_svc::nvs::EspDefaultNvsPartition;
use esp_idf_svc::timer::EspTaskTimerService;
use esp_idf_svc::wifi::{
    AccessPointConfiguration, AsyncWifi, BlockingWifi, Configuration, EspWifi, WifiDeviceId,
    WifiDriver,
};
use esp_idf_svc::{
    eventloop::EspSystemEventLoop,
    hal::{
        delay::FreeRtos,
        i2c::{I2cConfig, I2cDriver},
        peripherals::Peripherals,
        prelude::*,
        reset,
    },
};
use log::{info, warn};
use smol::block_on as smol_block_on;
use smol::io;
use smol_macros::main;
// use wifi::get;
mod dns;
mod led;
mod wifi;

main! {
async fn main() -> io::Result<()> {
    // It is necessary to call this function once. Otherwise some patches to the runtime
    // implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71
    esp_idf_svc::sys::link_patches();

    // Bind the log crate to the ESP Logging facilities
    esp_idf_svc::log::EspLogger::initialize_default();

    let peripherals = Peripherals::take().unwrap();

    let sysloop = EspSystemEventLoop::take().unwrap();

    // let app_config = CONFIG;
    let nvs = EspDefaultNvsPartition::take().unwrap();
    let timer_service = EspTaskTimerService::new().unwrap();
    let driver = EspWifi::new(peripherals.modem, sysloop.clone(), Some(nvs)).unwrap();
    let mut wifi = AsyncWifi::wrap(driver, sysloop, timer_service).unwrap();
    let stack = edge_nal_std::Stack::new();
    let mut tx = [0; 1500];
    let mut rx = [0; 1500];

    // let http_server = block_on(start_http()).unwrap();
    smol_block_on(edge_captive::io::run(
        &stack,
        edge_captive::io::DEFAULT_SOCKET,
        &mut tx,
        &mut rx,
        Ipv4Addr::new(192, 168, 0, 1),
        Duration::from_secs(60),
    )).unwrap();
    // block_on(start_ap(&mut wifi)).unwrap();
    loop {
        FreeRtos.delay_ms(500);
    }

}

Cargo.toml
[package]
name = "td-free-rs"
version = "0.1.0"
authors = ["Mawoka<EMAIL_ADDRESS>edition = "2021"
resolver = "2"
rust-version = "1.77"

[[bin]]
name = "td-free-rs"
harness = false     # do not use the built in cargo test harness -> resolve rust-analyzer errors

[profile.release]
opt-level = "s"

[profile.dev]
debug = true    # Symbols are nice and they don't increase the size on Flash
opt-level = "z"

[features]
default = ["std", "embassy", "esp-idf-svc/native"]
#critical-section-impl = ["critical-section/restore-state-none"]

pio = ["esp-idf-svc/pio"]
std = ["alloc", "esp-idf-svc/binstart", "esp-idf-svc/std"]
alloc = ["esp-idf-svc/alloc"]
nightly = ["esp-idf-svc/nightly"]
experimental = ["esp-idf-svc/experimental"]
embassy = [
    "esp-idf-svc/embassy-sync",
    "esp-idf-svc/critical-section",
    "esp-idf-svc/embassy-time-driver",
]

[dependencies]
log = { version = "0.4", default-features = false }
esp-idf-svc = { version = "0.49", default-features = false, features= ["experimental"] }
veml7700 = "0.2.0"
embedded-hal = "1"
smol = { version = "2" }
smol-macros = {version = "0.1"}
toml-cfg = "0.2"
anyhow = "1"
embedded-svc = "0.28"
ws2812-esp32-rmt-driver = { version = "0.9", features = ["smart-leds-trait"] }
smart-leds = "0.4"
enumset = "1"
heapless = "0.8"
edge-captive = { version = "0.3", features = ["std", "io"] }
edge-nal-std = "0.3"

[build-dependencies]
embuild = "0.32.0"

It doesn't matter whether I use smol::block_on or esp_idf_svc::hal::task::block_on

Did you increase the default stack size of your main task? You can do that by changing the according value in your sdkconfig file. Otherwise you spawn a thread that has a appropriated stack_size set on spawning with the std::thread api. Keep in mind that the default stack size is only ~3kb

Sorry for annoying, but how do I do that, how's the parameter called?

Oh, nevermind, it's set to CONFIG_ESP_MAIN_TASK_STACK_SIZE=8000

Apparently you either did not increase it, or you have to increase it even more.
But the error can't be any clearer than that:
Guru Meditation Error: Core  0 panic'ed (Stack protection fault)
Two more suggestions:

async-io-mini (there is such a feature in edge-nal-std) uses less stack
Don't block directly in the main thread if you continue using the stock async-io. The main thread has a too low priority so the main thread will constantly starve. Spawn a separate thread (and set a bigger stack size programmatically)

Oh, one more thing: if you stick with the stock async-io, you need to increase the pthreads' stack sizes too, as async-io spins a hidden pthread stack too. Look at the esp-idf-template generated project for the pthread stack size conf.

Okay, I now got this code:
    let handle = thread::Builder::new()
        .stack_size(100 * 1024)
        .spawn(move ||{smol_block_on(edge_captive::io::run(
        &stack,
        edge_captive::io::DEFAULT_SOCKET,
        &mut tx,
        &mut rx,
        Ipv4Addr::new(192, 168, 0, 1),
        Duration::from_secs(60),
    )).unwrap()}).unwrap();

To my understanding, this spawns a new thread with 100KB memory, right? If I go above the 100KB, It throws an OutOfMemory. Like this, it's still a core panic. How high does the stack size has to be? This seems to me like it's way too much memory used for the captive portal part.

Oh, one more thing: if you stick with the stock async-io, you need to increase the pthreads' stack sizes too, as async-io spins a hidden pthread thread too. Look at the esp-idf-template generated project for the pthread stack size conf.

Did you also read this?

I did, though I misread it. Turns out, setting CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=10000 made the code above work with adding vfs::initialize_eventfd(5).unwrap();. This is fixed, though a note about increasing the PTHREAD stack size would be awesome! Still many thanks for the lightning fast replies here!

This is fixed, though a note about increasing the PTHREAD stack size would be awesome!

I'm a bit unsure how far deep the esp-rs rabbit hole we have to go in the edge-* crates. The thing is, they are supposed to work on any MCU, not just Espressif's, and not just with ESP-IDF.
But maybe I can add something generic in the readme w.r.t. stack-sizes, and then refer to the ESP-IDF docu or something

Still many thanks for the lightning fast replies here!

Always welcome!


Unhandled Promise: No such file or directory

Describe the bug
After build, I install like your doc says. but when I try to run I get
[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "/bin/sh: line 0: cd: /Users/damon/Documents/My: No such file or directory
".] {
code: 'ERR_UNHANDLED_REJECTION'
}
To Reproduce
Steps to reproduce the behavior:
Clone https://github.com/flame-app-studio/svelte_capacitor_tailwind_starter
(npm run dev and npm run build works great)
then follow your electron community install
and try to open app.
New update everything.
I tried changing 	"publishAutoUpdate": false
in electron config file with no success
what am I missing?

Hi,
I had the same issue (ERR_UNHANDLED_REJECTION), after updating @capacitor/cli from v4 to v5. Just saw that svelte_capacitor_tailwind_starter is running capacitor v3.
According to the docs it should work, but have you tried to migrate to v4?

line 0: cd: /Users/damon/Documents/My: No such file or directory

It's ending the path at the "My" in what I assume is "My Documents" or similar
So it's having issue with the space in the path, try with the project in a path without a space


Many lines in the docstring are folded into one line in the tooltip, and whether to fold or not is mysterious

Environment data

Language Server version: 2021.8.0
OS and version: Windows 10 Home 20H2
Python version (& distribution if applicable, e.g. Anaconda): 3.9.6

Expected behaviour
Never fold many lines into one line
Actual behaviour
Some lines are folded into one line, others not, which makes it harder to read the docstring.
Logs

I don't think it matters here.

Code Snippet / Additional information

I don't think it matters here.

Take super as example, here's its actual docstring(in the terminal):

However, when I hover on super, some lines are folded into one line.

When a docstring contains patterns like:
expression1 -> its meaning
expression2 -> another meaning
...

, folding them into one line makes it harder to tell expressions and meanings/explanations apart.

Moving this issue to discussion as an enhancement request for comments and upvotes.


Import ssh keys doesn't work

Some days ago I've installed Connectbot 1.8.6 in my new Lenovo TAB3 Plus tablet (Android 6.0.1).
It works very fine.
With ConnectBot I've generated a new RSA pair priv/pub key. Then I've imported the pub key into my remote Linux systems and SSH connection from ConnectBot to remote Linux systems works fne.
I've made a tablet factory reset and then reinstalled ConnectBot.
I choose to import the priv key previously generated but app tell me that there was a problem during importing.
I've installed ConnectBot in my smarphone Sony Xperia Z3 (Android 6.0.1) and I've the same import problem.
Reading the content of priv text file , it looks correct.
Any idea ?

This was probably fixed by db3a2a95bbc88f3ecda3e91d534e6c962fd02530 which was included in Release 1.9.0.


Use compile file as default

Taking a note from catppuccin compile by default. This would help remove the precompiled files and simpler to understand.
Note this should be checked with vim support.

Note that it actually compile to lua bytecode now which is twice as fast :)
https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/lib/compiler.lua#L21
https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/init.lua#L77

Thanks for the note. I have a question that you might be able to help me with. I am trying to understand the caching. Looking at the implementation it the current date and compares to the date of the cached config hash and compiled function.
How would this handle making a multiple config changes in the same day? My understanding is that it would compile and save the first change and write the current date. Then there is a second change made but the cached date is the same so it would not check if the config hashes are the same.

Ahh looking into more of how debug.getinfo works that the cur_date it built of the stat of the git plugin and the file that called setup. Since the stat of the file that calls setup should change when a user makes a change they will be different even when it is the same date.


OCC-183: Check 'Maximum Order Quantity' update on Cart

OCC-183
Fixes #340

I assume the PR was left as draft by mistake.

As in display them on the pages you mentioned (as follows)?

Ah, I suppose you mean setting the min and max attributes on the inputs.

Ah, I suppose you mean setting the min and max attributes on the inputs.

Yes, for the quantity inputs.


message namespace

@edolix I still need to write some tests, but otherwise the functionalities are done. cloud you please review the code? The differences between Consumer and Component make it a bit hard to decide where to call applyEmitterTransforms  but for now I have a work around for that, also in the BaseComponent's _setEmitterTransform i removed the check !this.eventNames().include(internalEvent) since I need emitter transform to be able to call before adding event listener on Message object. It would be great to have some feedback from you. Thanks.

tests added for message api


[e2e]: nodejs push main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4848583035
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 05:04:54 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4848782780
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 05:35:02 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4848933609
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 06:08:06 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4849020620
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 06:20:31 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4849178028
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 06:48:52 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4849428616
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 07:33:47 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4849532490
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 07:56:19 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4849611192
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Mon May  1 08:10:19 UTC 2023
Tests are passing now. Closing this issue.


libcpr/cpr update to 1.6.2

Library name: libcpr/cpr
New version number: 1.62
cpr is a C++ library which wraps cURL.  The current release is 1.6.2 and adds a number of new features especially in the area of SSL/TLS support.  CPR documentation advises to create an issue on the vcpkg repo:
https://github.com/libcpr/cpr#building-cpr---using-vcpkg
thanks!

@rossbrin, Thanks for posting this issue, the cpr latest version is 1.6.2,update by #18386,plesase update your vcpkg and use

My mistake - many thanks for the quick reply.


proposes to disable (at least for now) few flags for arm64 as they ar…

…e missing in raspberry

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

I just propose here, if not merged as it s surely available in other arm64 boards, this is fine by me.

I don't think this is necessary? It doesn't hurt to have some extra constants defined, it's just that trying to use them will return a runtime error since the libc/kernel doesn't support them.
The libc tests will fail due to the missing constants in the C headers, but we only guarantee that these tests pass on our CI platforms.

understood :)


r-rmarkdown failing to build on macOS for R 3.4.1

r-rmarkdown is consistently failing to build with R 3.4.1 on macOS (I restarted the build but it failed with the same error). The problem package appears to be r-htmltools, which is also currently failing only with R 3.4.1 on macOS (travis). r-htmltools is failing to build because of its Rcpp dependency, so the issue is presumably related to the changes to the compiler on macOS introduced in R 3.4.
* installing *source* package ‘rmarkdown’ ...
** package ‘rmarkdown’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object
'/Users/travis/miniconda3/conda-bld/r-rmarkdown_1503329119425/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/R/library/htmltools/libs/htmltools.so':
dlopen(/Users/travis/miniconda3/conda-bld/r-rmarkdown_1503329119425/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/R/library/htmltools/libs/htmltools.so,
6): Library not loaded: @rpath/libintl.9.dylib
  Referenced from:
  /Users/travis/miniconda3/conda-bld/r-rmarkdown_1503329119425/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/R/library/htmltools/libs/htmltools.

It should be fixed. Sorry for the trouble.

It should be fixed. Sorry for the trouble.

Thanks for the quick fix, @bgruening!
If it's not too hard to explain, how did you fix the problem? Both r-rmarkdown and r-htmltools are now built with R 3.4.1 without any new commits to either repo. I'm hoping to one day I'd like to close more issues than I open :-)


Synthesize API Programmer's Guide research findings into actionable items

Info
This is the last step to complete research around migrating the API Programmer's Guide from a PDF to web-based content. After this, designing and building the API guide into the website should be able to proceed.
Acceptance criteria

[x] List of actionable items for the design and build phase of putting the API Programmer's Guide onto the website

@jillian-hammer Relevant files:

Edit copy with full suggestions/comment threads from working sessions
Clean copy with edits applied and only design notes/misc in comments
Mural working space

@chris-kuryak closing this


Small proposal in the form of a PR: Add the release stage of the feature to the feature guide.

To make using features and the guarantees more transparent, I think it
would be nice to include the release stage of the feature. I've only
done two features in this commit to preserve clarity of the idea.

Kinda creates an inconsistency since we didn't do this for anything else, plus use-once-and-destroy information like that makes for a poor opener. Can it be a section inline? Instead of at the top, just add #### Launch stage as a heading and put the info there, someplace towards the bottom most likely?

Kinda creates an inconsistency since we didn't do this for anything else

My plan was to go back add add this to as many of the user-guides as I could find, but I didn't want to do that until there was consensus on the approach.

plus use-once-and-destroy information like that makes for a poor opener. Can it be a section inline? Instead of at the top, just add #### Launch stage as a heading and put the info there, someplace towards the bottom most likely?

Sure, that's easy. However, I'm still pro-putting it at the top -- I think it's really important to frame the support of all APIs. NodeJS does this to great effect: https://nodejs.org/api/cluster.html#cluster_cluster.

Jared -- what do you think?

I'm going to abandon this for now while I work on getting the mungers working.