Dropped log messages

I am seeing many dropped log messages when using pino-opentelemetry-transport.
I am having these env variables:
OTEL_EXPORTER_OTLP_COMPRESSION==gzip
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://url:4317

And setup looks like this:
const pinoLogger = pino(
	{
		level: 'debug',
		timestamp: true,
	},
	pino.transport({
		targets: [
			{
				level: 'debug',
				target: 'pino-opentelemetry-transport',
				options: {
					sync: false,
				},
			},
		],
	}),
);

is there any way I can debug what the issue might be? any suggestions are appreciated

@Vunovati can you please check this?

Hello @Dhruv-Garg79
The way you have set up your log processor, it will export the record in batches. It will keep the records in a buffer, and then, at a certain point, it will send them to the collector.
Without more context I can only theoreticize ... for example
If your application crashes while your log record buffer is full, it is possible that buffer will be lost as the batch is not sent.
You can try reducing the size of your buffer or export more frequently by setting the batch logrecord processor env vars.
To rule out batch processing, you can also try additionally using a simple exporter like in this example where we use multiple log processors.
The simple exporter will try to export immediately as the log record is created. Then, you can compare the output you get from the batched processor and the output you get from the simple one.

Hey @Vunovati, Thanks for the reply.
Earlier I wasn't using batchLogProcessor, and still saw that messages were getting dropped. Is batchProcessor the default option, if no option is passed?
I don't think application crashes are a problem because I am using Kubernetes for deployments and I don't see any pod restarts or crashes. I also have a grace period set up for the cleanup tasks. Additionally, I have batch processing for traces, and those are not experiencing any issues.
is there anything else which might be causing issue? any suggestion to debug this issue?

Did you try having two log processor options, one logging to console and
the other sending to collector like in the example I linked above? Is that
an option for you? It would help identifying if the problem is with the
collector or the library/sdk.
What is the logs backend you are using? Is there some kind of limit or load
cap there?
Do you think it would be possible to create a minimal example that would
enable us to reproduce this issue?
On Wed, 9 Oct 2024 at 09:13, Dhruv garg @.***> wrote:

Hey @Vunovati https://github.com/Vunovati, Thanks for the reply.
Earlier I wasn't using batchLogProcessor, and still saw that messages were
getting dropped. Is batchProcessor the default option, if no option is
passed?
I don't think application crashes are a problem because I am using
Kubernetes for deployments and I don't see any pod restarts or crashes. I
also have a grace period set up for the cleanup tasks. Additionally, I have
batch processing for traces, and those are not experiencing any issues.
is there anything else which might be causing issue? any suggestion to
debug this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/pinojs/pino-opentelemetry-transport/issues/190#issuecomment-2401519067,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADLX5OFRKLTDOL4ANJOLWTZ2TJRXAVCNFSM6AAAAABPDEOUFGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBRGUYTSMBWG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

I checked the collector, it does not have any dropped messages, we have metrics for anything dropped by the OTEL collector and also checked logs of the OTEL collector for the same.
I can try logging to both console and OTEL, but then I need to send console logs somewhere for comparison. Can do this as the last option.

How do you identify what has been dropped?  Is there a way to be 100% sure?

I am sending logs to Signoz, it is self-hosted using k8s. The limits are quite high, so it's unlikely, since dropped messages at the collector will have logs/metrics.
minimal example with code and collector both? or just code?

Since we don't know if the problem is with the code or the collector, we'll need both, if possible.
The fastest way to do this would be to pick one of the examples here and modify it just enough to reproduce the issue. Then add instructions which make it clear how to configure and run a Signoz instance where this problem is visible.

There is record here, that's why I was confident that collector does not have issue. Also I am not facing this issue with traces.
Okay, let me try to create a reproducible example.

Hey, I just wanted to share the update, the issue was with the application side exporting itself. After tweaking these parameters, I can see that the log drop is lesser than before.
OTEL_BLRP_SCHEDULE_DELAY=500
OTEL_BLRP_MAX_QUEUE_SIZE=2048
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE=256

I also checked if the flush is happening when an app is killed, and I can see that pino.flush() occurs without any error. But there still seems to be some drop-off, do you have any other suggestions to tweak the parameters?

I do not. You will have to consult with the Otel documentation.
Is it possible to get a code example which would enable me to reproduce your issue? It would be a great way to identify if there is a problem with the library.


Future of Gridsome

Hello everyone!
I've just started a new project, where I'm considering Gridsome vs Nuxt. I really love what I'm seeing with Gridsome, and would love to start using it, but I'm a bit concerned by the fact that it's been almost 5 months since the last release.
In a tweet from December, it was stated that Gridsome 0.8 would be out soon.
I also see there are discussions regarding Vue 3 support etc., but sadly there doesn't seem to be a lot of momentum on these matters.
It would be much appreciated if the maintainer(s) could give a quick statement on the current state of this project, and on whether there will still be continued investments being made into Gridsome in the future, or not.
Thanks a lot :)

Hi, @hognevevle. I understand your concern about the development of this project. 2020 didn't exactly turn out as we planned... :) We have spent much time building a visual editor for Gridsome/Vue sites. And it has slowed down the development of Gridsome a bit. But we are eager to implement new features as soon as possible, especially Vue 3 support. The vue-next branch has been working well for a while now, but we are waiting to see where vue-meta and @vueuse/head are going to decide which of them that we'll use to handle metadata. But it will hopefully be ready later this spring.
Even though the development is a bit slow atm, we have long-term plans for Gridsome and the visual editor. So we'll probably write a blog post about it when things are a bit more settled. I hope that answers your question :)

Thank you very much for your reply, @hjvedvik -- it was the answer I was hoping for 🙂 I look forward to seeing more of your great work!

Folks, I really love Gridsome! Keep up the good work! You have a fan over here!

Thank you for your answer on this @hjvedvik
I'm using gridsome nearly exclusively for more than 50 small businesses in production and in general love the approach of gridsome.
Is there anything we could do to help you guys? As I am heavily invested into this ssg I would be more than happy to work on the project. For me the most pressing issues I would like to update are g-image (support more formats, configure global options like custom defined sizes, working with static assets, picture element support) and an option to remove vue from the production build (fully static html/css websites with vanilla js - it's a rare use case, but I personally need it quite often and would invest time in feature development).

@MrMacStripe

option to remove vue from the production build (fully static html/css websites with vanilla js

This would be lovely for a more easy path.... but! you can kind of do this now (with maybe some extra cruft in the markup for vue-meta and such).
https://gridsome.org/docs/overriding-index/
then remove ${ scripts }. You can also (I think you might, its been a while) remove ${ head } and replace it with any of the following that you need:
htmlAttrs
bodyAttrs
head
title
base
hash
vueMetaTags
vueMetaLinks
resourceHints
styles
vueMetaStyles
vueMetaScripts
noscript
app
script

You can see the code for this, here: https://github.com/gridsome/gridsome/blob/master/gridsome/lib/server/createRenderFn.js
Its undocumented but was put into place in 2019, I think. For the very use case you are mentioning! Hope it helps you in the mean time!

Out of curiosity, when can we expect the next gridsome release?

I'm just glad to know gridsome development is still alive 🙌🏼

@hjvedvik Thanks for the statement. As a freelance developer, I build custom sites and small business web apps and wanted to depend on an SSG, not the overly used Wordpress, nor did I want to use Gatsby, so to hear that Gridsome is still on track for further development is a good sign, as I'm using it almost exclusively for all my client's static websites. I definitely understand the whole 2020 situation as well as the dependencies on Vue Meta and such (I think Directus is also having similar slow growth on their latest v9.0.0 release because of some libraries and Vue 3 migrations, so you're not the only ones). Thanks and may the project continue to succeed! Hopefully themes, or a concept of it is on the roadmap too.

@courcelan Thanks for that tip! I tried removing ${scripts} which accounted for most of Google Lighthouse's JS criticisms. However, if you remove ${scripts}, and rely on g-image, your site will never load the images; only the blurred-up versions.

@djmtype that may make sense depending on how it creates the HTML element. It most likely relies on JS to switch out the src to a srcset. You may have to do it manually unfortunately.

This thread might be interested in this tweet - https://twitter.com/gridsome/status/1436343468717191172

Still waiting for a release :sob:

I think the project is dead

I can see a bunch of recent commits by the main author (@hjvedvik). I do hope the project is still alive. It is an awesome framework.

It is dead.

Grindsome vs Nuxt 3?

Gridsome. You can't even SSG on the current Nuxt 3.

Such a pity. But I look at the bright side: We are still happy with Gridsome - just went live 2 month ago coming from Wordpress:

our page speed is super fast now
everybody on the team is familiar with VueJS and can make changes
we have not hit any limits

So we really hope there is more progress in the future, but even if not, we do not miss anything essential (sure a lot of nice to haves ;) )

Same - Gridsome just works and does what I need it to very well. There are things I'd like to use which require Vue 3 but it's by no means anything which is a necessity or blocker. So I keep using Gridsome. Maybe it is premature to criticise Gridsome for not using Vue 3 yet for SSG when Nuxt doesn't offer that either. If that changes, I'll reassess then.

It's sad to admit, but the project died quietly...

Can anyone suggest any alternatives to migrate from Gridsome? Is Nuxt 3 the best solution? Thank you!

Can anyone suggest any alternatives to migrate from Gridsome? Is Nuxt 3 the best solution? Thank you!

It depends on what you want to do. Nuxt, or Astro with Vue, are 2 great options.

Can anyone suggest any alternatives to migrate from Gridsome? Is Nuxt 3 the best solution? Thank you!

I moved to Next and documented what I had to do to make the change: https://terabytetiger.com/lessons/migrate-from-gridsome-to-nuxt
Newer version of Next it might be slightly out of date, but maybe this will help save someone some time 🎉

Can anyone suggest any alternatives to migrate from Gridsome? Is Nuxt 3 the best solution? Thank you!

For static sites: Astro with Vue
For Vue-centric SSR apps: Nuxt (though Astro 4.0 just introduced SSR, so it depends on if you need SPA mode)
For documentation focused sites: Vitepress, you can still use it for regular websites but it seems that it has an aesthetic for tech documentation
If you want to try a new framework, go SvelteKit, it's really good.
Avoid React like the plague.

Can anyone suggest any alternatives to migrate from Gridsome? Is Nuxt 3 the best solution? Thank you!

I can recommend https://iles.pages.dev, its a simple yet powerful static site generator.
While astro introduced a new component format (.astro) that uses jsx in it, Iles uses Vue single-file-component as the build blocks. Both supports partial hydration aka islands architecture.
For anyone familiar with Vue, lies probably will be easy to adopt. But that said, astro's release cadence has been phenomenal, while lies has been pretty much community driven (just like the rest of Vue ecosystem).
Here is a sample Iles mpa static site - https://natures-delight-with-iles-tailwindcss.netlify.app/ (github repo - https://github.com/Pinegrow/natures-delight-with-iles-tailwindcss).


Feature request: cloud-stored editor configurations

I use Atom on multiple computers and VMs.  It'd be great if my package installations and configuration settings could be stored in one spot and applied to multiple atom installations.  I'm thinking of this like sync'd browser bookmarks being stored in the cloud.
The feature should be optional, but if implemented like Google does with Chrome, I could imagine creating different profiles with different settings (as a more advanced implementation).  In a simpler implementation, I'd get one profile on the cloud and could simply decide in a given installation whether or not I wanted it to use the stored settings.

Thanks for the suggestion! This looks like a duplicate of https://github.com/atom/atom/issues/3572 though – please subscribe there for updates.

Thanks @mnquintana, sorry for the dupe.


Load string as views than from file system

Is your feature request related to a problem? Please describe.
In 2.x it was ok to load ETA files as string, then I compile the string as views and render them later. With this approach I could compile the whole project into a single JS file. My code looks like this:
// eta.d.ts
declare module '*.eta' {
  const text: string;
  export default text;
}

import { compile, render } from 'eta';

import './eta.d';
import fooTemplate from './foo.eta';

const compiledFoo = compile(fooTemplate);

console.log(render(compiledFoo, { bar: 42 }, { autoEscape: false, autoTrim: false, rmWhitespace: false }));

esbuild src/main.ts --bundle --loader:.eta=text --outfile=dist/main.js

Now the dist/main.js is just a single file to deploy.
Describe the solution you'd like
Keep the same API or provide an easy way to compile/render string as template, rather than have to load files from file system.
Describe alternatives you've considered
Please keep the same API or update the docs how to do it in 3.x.
Additional context
Can you please be more carefully when you want to break the API? I appreciate your work as open-source lib. However I'm sort of regret now. I should have chosen a big lib that the maintainers dare to break their API.

@nebrelbug
How to achieve this functionality in v3?
import type { EtaConfig } from 'eta/dist/types/config.d';
import {
  compile,
  getConfig,
  render,
  templates,
} from 'eta';

const etaXmlConfig: EtaConfig = getConfig({
    autoEscape: true,
    autoTrim: false,
    filepathCache: false,
    rmWhitespace: false,
    templates,
  });

const compiledTemplates: Record<string, ReturnType<typeof compile>> = {};

// I can use `<%~ E.include('my-partial-view-key', { ... }) %>` in my views later
partialViewKeys.forEach((key) => {
  templates.define(key, compiledTemplates[key]);
});

With
eta.loadTemplate(key, compiledTemplates[key]);

It raises
undefined:17
__eta.res+=E.include('foo', { table: it.table, context: it.context })
           ^

ReferenceError: E is not defined
    at Eta.eval (eval at compile (file://xxx/node_modules/.pnpm/eta@3.0.1/node_modules/eta/src/compile.ts:29:12), <anonymous>:17:12)

Without E it raises
file://xxx/node_modules/.pnpm/eta@3.0.1/node_modules/eta/dist/eta.module.mjs:578
    throw new EtaError("Views directory is not defined");
          ^

EtaError [Eta Error]: Views directory is not defined
    at Eta.resolvePath (file:///xxx/node_modules/.pnpm/eta@3.0.1/node_modules/eta/src/file-handling.ts:39:11)

Has this functionality removed?

@eGust will you provide me with a more concrete example?
I think the problem is in your templates themselves. With eta@3, you just write <%~ include("template-name") %> rather than E.include.
You should name all of your templates that aren't on the filesystem with an "@" at the beginning, e.g. <%~ include("@my-partial") %>. Otherwise, Eta will assume it's a filepath and attempt to resolve it from the filesystem.

Managed to get it work with prefixed partial name
https://stackblitz.com/edit/stackblitz-starters-ohl9zk
I just checked the docs again. Nowhere in v3 mentioned with loadTemplate nor @ for partial views. In v2 the example did not show I should name it with @ https://eta.js.org/docs/2.x.x/api/templates-partials

@eGust this behavior was only implemented in v3. I'll update the docs to make it more clear.


Make QuestionnaireSchema immutable

What is the context of this PR?
Following on from the initial spike https://github.com/ONSdigital/eq-questionnaire-runner/pull/208, this PR makes the QuestionnaireSchema immutable.
Additional changes
The existing questionnaire schema mutates the questionnaire JSON on initialisation to add parent ids to the relevant properties. I have refactored this so that the questionnaire JSON is no longer mutated by keeping a map of parent ids. This highlighted an issue in validator in which duplicate ids between blocks and questions are allowed. This has been addressed by: https://github.com/ONSdigital/eq-questionnaire-validator/pull/54
Therefore, some Census schemas will break part way until https://github.com/ONSdigital/eq-questionnaire-schemas/pull/144 has been merged/released and updated in runner.
How to review
Ensure:

app still behaves as expected.
QuestionnaireSchema is in fact immutable.
changes are suitable and make sense.

Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

I've resolved my comments re deepcopy - we shouldn't be implementing the __deepcopy__ method on this object, as we need to return a different object


Throw "Uncaught RangeError: Invalid array length" in testharness.js

Calling a undefined object's property in setup() function will throw this exception.
For example:
setup(function(){a.b;});

So that setup function throws a RangeError?

This issue has been moved to https://github.com/w3c/web-platform-tests/issues/7152; please continue all discussion there.


Fail faster on download failure

I hit this problem today during a Grinder run. The URL did not point to something that could be retrieved and gave a 404. To aid debugging it would be useful to have a "Download failed" message instead of just an error occurring on decompression:
19:28:21  TESTDIR: /home/jenkins/workspace/Grinder/openjdk-tests
19:28:21  get jdk binary...
19:28:21  _ENCODE_FILE_NEW=UNTAGGED curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/riscv64/jdk/openj9/normal/adoptopenjdk
19:28:25  _ENCODE_FILE_NEW=UNTAGGED curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/riscv64/testimage/openj9/normal/adoptopenjdk
19:28:32  unzip file: adoptopenjdk ...
19:28:32
19:28:32  gzip: adoptopenjdk: not in gzip format
19:28:32  tar: This does not look like a tar archive
19:28:32  tar: Exiting with failure status due to previous errors
[Pipeline] }

PR is delivered. Close this issue


feature request: TransformerEngine in torch-extras

I'd like to try out TransformerEngine. The reason is that I profiled our Tensor Parallel layers and the communication happens sequentially with the computation, which makes it very slow as the number of TP shards increases. Megatron supports overlapping communication with computation, but it calls out to TransformerEngine to make it happen. I wasn't able to find any other way to overlap unless I used nvidia primitives.
I wasn't able to install TE in my own image, because the Github Actions run times out.
It worked using this command to install the dev build: RUN export MAX_JOBS=4 && export NVTE_WITH_USERBUFFERS=1 && export NVTE_FRAMEWORK=pytorch && pip3 install -v git+https://github.com/NVIDIA/TransformerEngine.git@main
4 jobs was a total guess. Not sure that NVTE_FRAMEWORK=pytorch does anything.
There's a catch here. TE 1.4, the latest stable which was released 5 days ago, forces FlashAttention<=2.4.2. The version check was recently bumped to 2.5.6: https://github.com/NVIDIA/TransformerEngine/commit/965803c9dcf889f7e9820921cb811c2bf9b91dbc but that probably won't appear in TE stable for a while.
So if you add TE stable, then FA will have a version restriction. On the other hand, the nightly torch-extras image had a broken PyTorch 2/2 times I tried it. So it's up to you which image might want TE added, and which version of TE.
The image I normally use is torch-extras, NCCL, CUDA 12.2.2 (latest), Ubuntu 22.04.

We're not exploring TE anymore.

Thank you. We'll add TE in the near future, as other customers may want it.


Full compliance with OAF

Check and implement any missing functionality to be fully compliant with the OGC API - Features 1.0 specification.

Looking through the app I think we're good to go here.
http://docs.opengeospatial.org/DRAFTS/17-069r1.html#rfc2616

Are all of the responses compliant as well?


WIP: Initial support for Spark 3.5.0

Part of https://github.com/NVIDIA/spark-rapids/issues/8121
This draft PR adds support for Spark 3.5.0.
To build this PR against 3.5.0 you will first need to install Spark 3.5.0-rc1 by running mvn install -DskipTests against Apache Spark tag v3.5.0-rc1.
To run the integration tests, you will beed to build a Spark distribution from the v3.5.0-rc1 tag by running ./dev/make-distribution.sh --tgz -Pkubernetes -Phive.
Status:

Scala tests pass
There are some integration test failures, in these areas:

cast_test.py - cast map/array to string formatting difference when first value is null. This is a regression in Spark 3.5.0. See https://github.com/apache/spark/pull/42434
regexp_test.py - regexp_extract - additional validation has been added and we now need to throw an exception if groupIndex is out of range for any rows in a batch
row-based_udf_test.py - Hive UDF exceptions, but is Spark issue https://issues.apache.org/jira/browse/SPARK-44719
udf_cudf_test.py / udf_test.py - falling back to CPU because we have no GpuPythonUDAF yet (but we can maybe implement fairly easily based on GpuPythonUDF)

Delta Lake is not yet supported
Some of the shim refactoring is a little heavy-handed. GpuFileSourceScanExec and GpuHiveTableScanExec were moved entirely to the shim layer but this could probably be improved

Here is a partial list of changes between Spark 3.4.0 and 3.5.0 that impacted us:

fromAttributes and toAttributes moved from StructType to DataTypeUtils
getPythonRunnerConfMap moved from ArrowUtils to ArrowPythonRunner
Apache Commons NullOutputStream.NULL_OUTPUT_STREAM deprecated, replaced with INSTANCE
LegacyBehaviorPolicy moved from SQLConf to top-level class
BroadcastExchangeExec.runId cannot be overriden
BatchScanExec refactor to move some attributes to StoragePartitionJoinParams
Spark added code generation support for Hive UDFs, resulting in a significant refactor
AggregateInPandasExec signature change to use PythonUDAF instead of PythonUDF
Spark now uses FileStatusWithMetadata instead of FileStatus in PartitionedFileUtils

@kevnzhao fyi

@mimaomao for awareness.

cc @NvTimLiu to help setup internal spark build with https://github.com/apache/spark/tree/branch-3.5 thanks!

To get a pre-built RC binary from apache, please check https://dist.apache.org/repos/dist/dev/spark/v3.5.0-rc1-bin/
though the rc1 commit has some known bugs

build

build

build

build

build


Support creating ADSDataset through pandas accessor

Support creating ADSDataset through pandas accessor
Example
df =<EMAIL_ADDRESS>
# create ADSDataset
df.ads.dataset()

# create ADSDatasetWithTarget
df.ads.dataset_with_target(target="Attrition")

Notebook

Please add a check for if a user picks a column that does not exist.

Just an additional comment about the requested improvement. The issue is whether the column exists. This should be checked and a warning should be returned if it does not exist. The corresponding unit test should test against this check.

Just added the checker, please take a look

Just an additional comment about the requested improvement. The issue is whether the column exists. This should be checked and a warning should be returned if it does not exist. The corresponding unit test should test against this check.

Just added the checker, please take a look


feature: SES Scaffolder Action

🔖 Feature description
Create a scaffolder action that can send an email with SES.
🎤 Context
The notification system in Backstage is lacking - this would be a good start to getting in touch with people + meeting them where they are.
✌ Possible Implementation
No response

Thanks for raising this @billabongrob We'll keep an eye on interest.
One way to implement this already would be to use the EventBridge scaffolder action to fire an event from the Backstage scaffolder then configure an EventBridge rule to invoke a Lambda function that sends the email via SES. This is of course more work to implement but is available today.


Bug: drop downs in configuration for light groups don’t work

Describe the bug
Cannot configure light groups because drop downs for options aren’t showing any entries. Cannot choose states or
To Reproduce
Steps to reproduce the behavior:

Go to configuration for a magic area in the settings for HASS.
Click through till you reach light groups configuration
Scroll down to the two drop downs for state and when.
Drop down is empty

Expected behavior
Earlier, drop downs worked fine. You would see the available options and be able to select.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can you confirm that you area has lights on it?

Closing due inactivity, please reopen if you still have this issue.


External store declaration is wrong

Ah, interesting, so I guess it will be a bad pattern to declare store like that. Alternatively this has to be used if an external definition of store is desired, but there are some Typescript issues. I think ultimately I would go the way of custom hooks that only declare store. I will update documentation later.
Originally posted by @FredyC in https://github.com/mobxjs/mobx-react/issues/684#issuecomment-498117462

yeah, as suggested before, this is the idiomatic way to do it, and afaik it has actually less TS issues as well.

closing this issue as all documentation in this repo already used this

Ah, I made it in wrong repo, I wanted to copy that comment to docz repo 🙈
Btw it is going to hurt over time. This repo recommends this everywhere and docz site has closures as a recommendation. People will be confused. Can you please have a look at https://github.com/mobxjs/mobx/issues/1954 soon? There is a reproduction of this not working properly.


[Discussion] About 3D Parallelism

I read the paper Maximizing Parallelism in Distributed Training for Huge Neural Networks. The idea is elegant and does make sense to me. However, I just wonder about the compatibility of this method with gradient checkpointing (I mentioned it in #117, We call it GC afterward).
Using 3D parallelism, on the activations we have to conduct all-gather across (N/P^2) processors (it is a partial collective communication), where N is the number of GPU for 3-D linear. At least three times such partial collective communication has to be done, during forward, backward, and recomputing of activation during backward using GC. Therefore, it introduces more communication overhead compared with the model parallelism not splitting activations. Did you consider the overhead in the experiment section of the paper?
Also, the tensor of activations is in small size. If partition an activation tensor into N pieces, and send/recv in granularity of one piece of tensor. The bandwidth utilization will be extremely low? This is different from communication on parameters. We can pack a number of layers of parameter tensors and send/recv them in a larger volume to better utilize network bandwidth, but activations come one after another, you cannot treat them the same as the parameter tensors.
PS: a small typo in the arXiv paper. Page 5, 1st line, Bij = [lnp : lnp + np + 1]

Hi, @feifeibear . Thank you for sharing the idea! In our opinion, this is basically a trade-off between memory cost and communication cost.
The current design of 3D Linear layer applies an all-gather on the input matrix A and a reduce-scatter on the output matrix C in the forward pass (all-gather on the gradients of C and reduce-scatter on the gradients of A in the backward pass), so that each activation can be 1/N of the original size.
An alternative design is to use an all-reduce on C in the forward pass as well as on the gradients of A in the backward pass, but the activations are 1/N^(2/3) of the original size.
Considering activation checkpointing, as the forward pass is recomputed, the first design applies 2 * all-gather + reduce-scatter on A and 2 * reduce-scatter + all-gather on C in total, while the second design applies 3 * all-reduce. Since all-reduce of the ring algorithm has similar cost to all-gather + reduce-scatter, the total communication costs of both designs seem to be similar.
However, we indeed concern that small tensors decrease the bandwidth utilization, and it is hard to fuse them up. To find the optimal performance, we are testing as much models and networking environments as possible, and let the results tell.

I agree 3D parallel can shrink the peak activation footprint in one GPU at cost of more communication. The method definitely works in some special cases. Maybe a simple searching method can be derived to figure out which part of the DNN is suitable for 3D parallelism in the constraint of a limited memory budget.

I agree 3D parallel can shrink the peak activation footprint in one GPU at cost of more communication. The method definitely works in some special cases. Maybe a simple searching method can be derived to figure out which part of the DNN is suitable for 3D parallelism in the constraint of a limited memory budget.

This can be a good idea. For example, self-attention blocks usually consume more than mlp (ffn) blocks.

@1SAA communication profiling results may support some of my assumption iin discussion.

We have updated a lot. This issue was closed due to inactivity. Thanks.


possible out of bound access in find_rawstring_end ?

Describe the bug
I've hit a crash here, seems that vim have similar code  so maybe it has similar problem (I haven't confirm this)
in src/search.c:1931
static int
find_rawstring_end(char_u *linep, pos_T *startpos, pos_T *endpos)
{
    char_u	*p;
    char_u	*delim_copy;
    size_t	delim_len;
    linenr_T	lnum;
    int		found = FALSE;

    for (p = linep + startpos->col + 1; *p && *p != '('; ++p)
	;
    delim_len = (p - linep) - startpos->col - 1;
    delim_copy = vim_strnsave(linep + startpos->col + 1, delim_len);
    if (delim_copy == NULL)
	return FALSE;
    for (lnum = startpos->lnum; lnum <= endpos->lnum; ++lnum)
    {
	char_u *line = ml_get(lnum);

	for (p = line + (lnum == startpos->lnum
					    ? startpos->col + 1 : 0); *p; ++p)
	{
	    if (lnum == endpos->lnum && (colnr_T)(p - line) >= endpos->col)
		break;
	    if (*p == ')' && p[delim_len + 1] == '"' //<- didn't check if delim_len+1 exceeds strlen(p)
			  && STRNCMP(delim_copy, p + 1, delim_len) == 0)
	    {
		found = TRUE;
		break;
	    }
	}
	if (found)
	    break;
    }
    vim_free(delim_copy);
    return found;
}

I cannot reproduce the problem with valgrind or asan.  How can it be reproduced?

  So that we can turn it into test and check that it gets fixed and doesn't come back.

I recall seeing a similar crash a couple of months ago, but I could then never reproduce it.
It happened for me while editing a c++ file, but I don't recall the exact steps I did.
I see that bug submitter uses vim-8.2.360.  Can you try to reproduce with the latest vim
i.e. vim-8.2.1340 at the time I write this.

for some reason I can not make my rust code publicly avaiable, so I have to reduce it into minimal first. I didn't dig into vim code, just a question,find_rawstring_end didn't care about line length before access element ? or it has some special assumption ?

steps to trigger this bug :

install vim plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

.vimrc (.vim/bundle is empty folder, no plugins in it)

set nocompatible
filetype off

call plug#begin('~/.vim/bundle')
call plug#end()

open attachment file (rename it to .rs extension to makes it rust file)

crash.txt

moving cursor to last line by 'G', then press 'O'

vim 100% crash

@dpelle how to easily build a asan-enabled vim ? I tried
CFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" make

but seems that linker flags didn't passed and vim not link.
that's why I only testing Gentoo-8.2.0360 from asantoo (which can quickly build any package with ASAN)

@comicfans asked:

how to easily build a asan-enabled vim ?

uncomment the following line in vim/src/Makefile:

SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer

clean and rebuild vim

$ cd vim/src/
$ make clean
$ make -j8

reproduce the issue while redirecting stderr of vim into a file

$ ./vim 2> asan log
(perform steps to reproduce the issue)

If a memory error is found (overflow, use of free memory…) the file asan.log should contain useful information.

@dpelle
Those information seem to be requested quite often and tend to be buried in various issue reports. I have now taken your steps and put it into the GH wiki: https://github.com/vim/vim/wiki/Debugging-Vim-Bugs
Feel free to amend as required. Thanks!

Note that the stack trace indicates that in some situation find_rawstring_end() reads past the end of a line.  But the crash only happens if that line just happens to be the last line in a data block (which means it's the first line, order is reversed). This it matters very much in what text the command is being executed.  Since you say you cannot make that text available, perhaps you can try using code with similar text.
This is about cindent searching for the start of a raw string, but it may just have started at an invalid position.
Thus what happened before (perhaps indent was changed) might matter.

latest version<PHONE_NUMBER>8b544a1fe4e2a4f8be954b98c696fc ( 8.2.1359) still have same issue, steps exactly same as my previous comment.   full gdb backtrace here:
#7  0x0000555555aa9176 in find_rawstring_end (linep=0x62100079e89e ' ' <repeats 12 times>, "&Paaa::aaa(&aaa::aaa::aaa(\"CARGO_AANAAEST_DIR\").aaaaaa()),",
    startpos=0x555555f2cec0 <pos>, endpos=0x625000002938) at search.c:1931
#8  0x0000555555aab71e in findmatchlimit (oap=0x0, initc=0, flags=1, maxtravel=70) at search.c:2461
#9  0x00005555556ac603 in find_start_rawstring (ind_maxcomment=70) at cindent.c:197
#10 0x00005555556b63ce in get_c_indent () at cindent.c:2115
#11 0x00005555556c3202 in f_cindent (argvars=0x7fffffffad50, rettv=0x7fffffffbb80) at cindent.c:4137
#12 0x000055555575c10f in call_internal_func (name=0x6020000789f0 "cindent", argcount=1, argvars=0x7fffffffad50, rettv=0x7fffffffbb80) at evalfunc.c:1236
#13 0x0000555555bed4e3 in call_func (funcname=0x6020000789d0 "cindent(a:lnum)", len=7, rettv=0x7fffffffbb80, argcount_in=1, argvars_in=0x7fffffffad50,
    funcexe=0x7fffffffafd0) at userfunc.c:2181
#14 0x0000555555be5363 in get_func_tv (name=0x6020000789d0 "cindent(a:lnum)", len=7, rettv=0x7fffffffbb80, arg=0x7fffffffbac0, evalarg=0x7fffffffbba0,
    funcexe=0x7fffffffafd0) at userfunc.c:674
#15 0x0000555555744116 in eval_func (arg=0x7fffffffbac0, evalarg=0x7fffffffbba0, name=0x603000037ae8 "cindent(a:lnum)", name_len=7, rettv=0x7fffffffbb80,
    flags=1, basetv=0x0) at eval.c:1881
#16 0x0000555555749b30 in eval7 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0, want_string=0) at eval.c:3104
#17 0x0000555555748611 in eval6 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0, want_string=0) at eval.c:2760
#18 0x00005555557476d9 in eval5 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0) at eval.c:2564
#19 0x0000555555746cba in eval4 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0) at eval.c:2440
#20 0x000055555574636b in eval3 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0) at eval.c:2311
#21 0x0000555555745a79 in eval2 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0) at eval.c:2194
#22 0x0000555555745166 in eval1 (arg=0x7fffffffbac0, rettv=0x7fffffffbb80, evalarg=0x7fffffffbba0) at eval.c:2089
#23 0x0000555555744e3e in eval0 (arg=0x603000037ae8 "cindent(a:lnum)", rettv=0x7fffffffbb80, eap=0x7fffffffbd20, evalarg=0x7fffffffbba0) at eval.c:2042
#24 0x0000555555bf9b83 in ex_return (eap=0x7fffffffbd20) at userfunc.c:3911
#25 0x00005555557c2fdb in do_one_cmd (cmdlinep=0x7fffffffc090, sourcing=1, cstack=0x7fffffffc1b0, fgetline=0x555555bfb92e <get_func_line>,
    cookie=0x61d00001cc80) at ex_docmd.c:2585
#26 0x00005555557b9920 in do_cmdline (cmdline=0x0, fgetline=0x555555bfb92e <get_func_line>, cookie=0x61d00001cc80, flags=7) at ex_docmd.c:981
#27 0x0000555555bea29a in call_user_func (fp=0x61300004ccc0, argcount=1, argvars=0x7fffffffd3d0, rettv=0x7fffffffe150, funcexe=0x7fffffffd650, selfdict=0x0)
    at userfunc.c:1554
#28 0x0000555555beb649 in call_user_func_check (fp=0x61300004ccc0, argcount=1, argvars=0x7fffffffd3d0, rettv=0x7fffffffe150, funcexe=0x7fffffffd650,
    selfdict=0x0) at userfunc.c:1695
#29 0x0000555555bed3da in call_func (funcname=0x603000037060 "GetRustIndent(v:lnum)", len=13, rettv=0x7fffffffe150, argcount_in=1,
    argvars_in=0x7fffffffd3d0, funcexe=0x7fffffffd650) at userfunc.c:2163
#30 0x0000555555be5363 in get_func_tv (name=0x603000037060 "GetRustIndent(v:lnum)", len=13, rettv=0x7fffffffe150, arg=0x7fffffffe130,
    evalarg=0x555555f0eda0 <EVALARG_EVALUATE>, funcexe=0x7fffffffd650) at userfunc.c:674
#31 0x0000555555744116 in eval_func (arg=0x7fffffffe130, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>, name=0x603000037030 "GetRustIndent(v:lnum)",
    name_len=13, rettv=0x7fffffffe150, flags=1, basetv=0x0) at eval.c:1881
#32 0x0000555555749b30 in eval7 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>, want_string=0) at eval.c:3104
#33 0x0000555555748611 in eval6 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>, want_string=0) at eval.c:2760
#34 0x00005555557476d9 in eval5 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>) at eval.c:2564
#35 0x0000555555746cba in eval4 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>) at eval.c:2440
#36 0x000055555574636b in eval3 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>) at eval.c:2311
#37 0x0000555555745a79 in eval2 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>) at eval.c:2194
#38 0x0000555555745166 in eval1 (arg=0x7fffffffe130, rettv=0x7fffffffe150, evalarg=0x555555f0eda0 <EVALARG_EVALUATE>) at eval.c:2089
#39 0x000055555573b7f6 in eval_to_number (expr=0x603000037030 "GetRustIndent(v:lnum)") at eval.c:555
#40 0x0000555555893a59 in get_expr_indent () at indent.c:1774
#41 0x00005555558959f6 in fixthisline (get_the_indent=0x55555589379f <get_expr_indent>) at indent.c:2031
#42 0x00005555556c3048 in do_c_expr_indent () at cindent.c:4114
#43 0x00005555556a5bd9 in open_line (dir=1, flags=2, second_line_indent=0) at change.c:2225
#44 0x000055555596af61 in n_opencmd (cap=0x7fffffffe620) at normal.c:6353
#45 0x0000555555972716 in nv_open (cap=0x7fffffffe620) at normal.c:7455
#46 0x0000555555949322 in normal_cmd (oap=0x7fffffffe750, toplevel=1) at normal.c:1077
#47 0x0000555555cfccd8 in main_loop (cmdwin=0, noexmode=0) at main.c:1505
#48 0x0000555555cfba74 in vim_main2 () at main.c:895
#49 0x0000555555cfb13c in main (argc=1, argv=0x7fffffffe9a8) at main.c:439

crash point
lnum = 133 ,
p  :   ");"
        aaaaaa_aa!(
            a0aaa
                .aaaaaaaa_aa(&aaaaaa::NaaaaDaaa::aaaa_aaa(0000, 0, 00), 0)
                .0,
            "A0000"
        );                    <----------- this line (see my previous comment attachment)
    }
}

startpos = {lnum = 83, col = 57, coladd = 0}
endpos={lnum = 136, col = 0, coladd = 0}
delim_len=8
delim_copy=").aaaaaa"

I can now reproduce it 100% of the times with vim-8.2.1359 using valgrind:
$ cd vim/src
$ valgrind --num-callers=60 ./vim --clean crash.txt -c'setfiletype rust' -c'norm GO' -c'q!' 2>valgrind.log
$ cat valgrind.log
==3214== Memcheck, a memory error detector
==3214== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==3214== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==3214== Command: ./vim --clean crash.txt -csetfiletype\ rust -cnorm\ GO -cq!
==3214==
==3214== Invalid read of size 1
==3214==    at 0x2F5D04: find_rawstring_end (search.c:1931)
==3214==    by 0x2F6CAB: findmatchlimit (search.c:2461)
==3214==    by 0x161A77: find_start_rawstring (cindent.c:197)
==3214==    by 0x16519C: get_c_indent (cindent.c:2115)
==3214==    by 0x1692FA: f_cindent (cindent.c:4137)
==3214==    by 0x1A6EFD: call_internal_func (evalfunc.c:1236)
==3214==    by 0x37739A: call_func (userfunc.c:2181)
==3214==    by 0x373EDE: get_func_tv (userfunc.c:674)
==3214==    by 0x19DCF9: eval_func (eval.c:1881)
==3214==    by 0x19FDF8: eval7 (eval.c:3104)
==3214==    by 0x19F658: eval6 (eval.c:2760)
==3214==    by 0x19F04A: eval5 (eval.c:2564)
==3214==    by 0x19EC51: eval4 (eval.c:2440)
==3214==    by 0x19E8EA: eval3 (eval.c:2311)
==3214==    by 0x19E583: eval2 (eval.c:2194)
==3214==    by 0x19E249: eval1 (eval.c:2089)
==3214==    by 0x19E131: eval0 (eval.c:2042)
==3214==    by 0x37BC5C: ex_return (userfunc.c:3911)
==3214==    by 0x1CE4AA: do_one_cmd (ex_docmd.c:2585)
==3214==    by 0x1CB53C: do_cmdline (ex_docmd.c:981)
==3214==    by 0x375F9C: call_user_func (userfunc.c:1554)
==3214==    by 0x376628: call_user_func_check (userfunc.c:1695)
==3214==    by 0x377326: call_func (userfunc.c:2163)
==3214==    by 0x373EDE: get_func_tv (userfunc.c:674)
==3214==    by 0x19DCF9: eval_func (eval.c:1881)
==3214==    by 0x19FDF8: eval7 (eval.c:3104)
==3214==    by 0x19F658: eval6 (eval.c:2760)
==3214==    by 0x19F04A: eval5 (eval.c:2564)
==3214==    by 0x19EC51: eval4 (eval.c:2440)
==3214==    by 0x19E8EA: eval3 (eval.c:2311)
==3214==    by 0x19E583: eval2 (eval.c:2194)
==3214==    by 0x19E249: eval1 (eval.c:2089)
==3214==    by 0x19AD21: eval_to_number (eval.c:555)
==3214==    by 0x224FC2: get_expr_indent (indent.c:1774)
==3214==    by 0x225798: fixthisline (indent.c:2031)
==3214==    by 0x169287: do_c_expr_indent (cindent.c:4114)
==3214==    by 0x15F70A: open_line (change.c:2225)
==3214==    by 0x2738A8: n_opencmd (normal.c:6353)
==3214==    by 0x2757CF: nv_open (normal.c:7455)
==3214==    by 0x269C25: normal_cmd (normal.c:1077)
==3214==    by 0x1D8943: exec_normal (ex_docmd.c:8065)
==3214==    by 0x1D888B: exec_normal_cmd (ex_docmd.c:8028)
==3214==    by 0x1D86BC: ex_normal (ex_docmd.c:7949)
==3214==    by 0x1CE4AA: do_one_cmd (ex_docmd.c:2585)
==3214==    by 0x1CB53C: do_cmdline (ex_docmd.c:981)
==3214==    by 0x1CAA57: do_cmdline_cmd (ex_docmd.c:589)
==3214==    by 0x40E8FB: exe_commands (main.c:3090)
==3214==    by 0x40B262: vim_main2 (main.c:790)
==3214==    by 0x40AB2E: main (main.c:439)
==3214==  Address 0x12526e06 is 6 bytes after a block of size 4,096 alloc'd
==3214==    at 0x4C2FECB: malloc (vg_replace_malloc.c:307)
==3214==    by 0x2594DA: lalloc (misc2.c:925)
==3214==    by 0x259385: alloc (misc2.c:828)
==3214==    by 0x410975: mf_alloc_bhdr (memfile.c:895)
==3214==    by 0x40FE9C: mf_new (memfile.c:376)
==3214==    by 0x24BCFD: ml_new_data (memline.c:3963)
==3214==    by 0x249AC3: ml_append_int (memline.c:2897)
==3214==    by 0x24A86E: ml_append_flush (memline.c:3231)
==3214==    by 0x24A90A: ml_append_flags (memline.c:3266)
==3214==    by 0x24A8A3: ml_append (memline.c:3253)
==3214==    by 0x1EA4DB: readfile (fileio.c:2180)
==3214==    by 0x14F5DF: open_buffer (buffer.c:255)
==3214==    by 0x40E213: create_windows (main.c:2860)
==3214==    by 0x40B08C: vim_main2 (main.c:721)
==3214==    by 0x40AB2E: main (main.c:439)
==3214==
==3214== Invalid read of size 1
==3214==    at 0x2F5D04: find_rawstring_end (search.c:1931)
==3214==    by 0x2F6CAB: findmatchlimit (search.c:2461)
==3214==    by 0x161A77: find_start_rawstring (cindent.c:197)
==3214==    by 0x161B8E: ind_find_start_CORS (cindent.c:241)
==3214==    by 0x166EF5: get_c_indent (cindent.c:2913)
==3214==    by 0x1692FA: f_cindent (cindent.c:4137)
==3214==    by 0x1A6EFD: call_internal_func (evalfunc.c:1236)
==3214==    by 0x37739A: call_func (userfunc.c:2181)
==3214==    by 0x373EDE: get_func_tv (userfunc.c:674)
==3214==    by 0x19DCF9: eval_func (eval.c:1881)
==3214==    by 0x19FDF8: eval7 (eval.c:3104)
==3214==    by 0x19F658: eval6 (eval.c:2760)
==3214==    by 0x19F04A: eval5 (eval.c:2564)
==3214==    by 0x19EC51: eval4 (eval.c:2440)
==3214==    by 0x19E8EA: eval3 (eval.c:2311)
==3214==    by 0x19E583: eval2 (eval.c:2194)
==3214==    by 0x19E249: eval1 (eval.c:2089)
==3214==    by 0x19E131: eval0 (eval.c:2042)
==3214==    by 0x37BC5C: ex_return (userfunc.c:3911)
==3214==    by 0x1CE4AA: do_one_cmd (ex_docmd.c:2585)
==3214==    by 0x1CB53C: do_cmdline (ex_docmd.c:981)
==3214==    by 0x375F9C: call_user_func (userfunc.c:1554)
==3214==    by 0x376628: call_user_func_check (userfunc.c:1695)
==3214==    by 0x377326: call_func (userfunc.c:2163)
==3214==    by 0x373EDE: get_func_tv (userfunc.c:674)
==3214==    by 0x19DCF9: eval_func (eval.c:1881)
==3214==    by 0x19FDF8: eval7 (eval.c:3104)
==3214==    by 0x19F658: eval6 (eval.c:2760)
==3214==    by 0x19F04A: eval5 (eval.c:2564)
==3214==    by 0x19EC51: eval4 (eval.c:2440)
==3214==    by 0x19E8EA: eval3 (eval.c:2311)
==3214==    by 0x19E583: eval2 (eval.c:2194)
==3214==    by 0x19E249: eval1 (eval.c:2089)
==3214==    by 0x19AD21: eval_to_number (eval.c:555)
==3214==    by 0x224FC2: get_expr_indent (indent.c:1774)
==3214==    by 0x225798: fixthisline (indent.c:2031)
==3214==    by 0x169287: do_c_expr_indent (cindent.c:4114)
==3214==    by 0x15F70A: open_line (change.c:2225)
==3214==    by 0x2738A8: n_opencmd (normal.c:6353)
==3214==    by 0x2757CF: nv_open (normal.c:7455)
==3214==    by 0x269C25: normal_cmd (normal.c:1077)
==3214==    by 0x1D8943: exec_normal (ex_docmd.c:8065)
==3214==    by 0x1D888B: exec_normal_cmd (ex_docmd.c:8028)
==3214==    by 0x1D86BC: ex_normal (ex_docmd.c:7949)
==3214==    by 0x1CE4AA: do_one_cmd (ex_docmd.c:2585)
==3214==    by 0x1CB53C: do_cmdline (ex_docmd.c:981)
==3214==    by 0x1CAA57: do_cmdline_cmd (ex_docmd.c:589)
==3214==    by 0x40E8FB: exe_commands (main.c:3090)
==3214==    by 0x40B262: vim_main2 (main.c:790)
==3214==    by 0x40AB2E: main (main.c:439)
==3214==  Address 0x12526e06 is 6 bytes after a block of size 4,096 alloc'd
==3214==    at 0x4C2FECB: malloc (vg_replace_malloc.c:307)
==3214==    by 0x2594DA: lalloc (misc2.c:925)
==3214==    by 0x259385: alloc (misc2.c:828)
==3214==    by 0x410975: mf_alloc_bhdr (memfile.c:895)
==3214==    by 0x40FE9C: mf_new (memfile.c:376)
==3214==    by 0x24BCFD: ml_new_data (memline.c:3963)
==3214==    by 0x249AC3: ml_append_int (memline.c:2897)
==3214==    by 0x24A86E: ml_append_flush (memline.c:3231)
==3214==    by 0x24A90A: ml_append_flags (memline.c:3266)
==3214==    by 0x24A8A3: ml_append (memline.c:3253)
==3214==    by 0x1EA4DB: readfile (fileio.c:2180)
==3214==    by 0x14F5DF: open_buffer (buffer.c:255)
==3214==    by 0x40E213: create_windows (main.c:2860)
==3214==    by 0x40B08C: vim_main2 (main.c:721)
==3214==    by 0x40AB2E: main (main.c:439)
==3214==
==3214==
==3214== HEAP SUMMARY:
==3214==     in use at exit: 2,302,881 bytes in 18,244 blocks
==3214==   total heap usage: 41,786 allocs, 23,542 frees, 77,301,822 bytes allocated
==3214==
==3214== LEAK SUMMARY:
==3214==    definitely lost: 0 bytes in 0 blocks
==3214==    indirectly lost: 0 bytes in 0 blocks
==3214==      possibly lost: 14,294 bytes in 287 blocks
==3214==    still reachable: 2,288,587 bytes in 17,957 blocks
==3214==                       of which reachable via heuristic:
==3214==                         newarray           : 1,536 bytes in 16 blocks
==3214==         suppressed: 0 bytes in 0 blocks
==3214== Rerun with --leak-check=full to see details of leaked memory
==3214==
==3214== For lists of detected and suppressed errors, rerun with: -s
==3214== ERROR SUMMARY: 4 errors from 2 contexts (suppressed: 0 from 0)

crash.txt is the file already attached by bug submitter: https://github.com/vim/vim/files/5011455/crash.txt

Thanks Dominique, now I can see what the problem is: It checks for the trailing quote before checking for the delimiter.


feat(args): Add -d option

I was thinking about an additional command line switch to just use default commit types without modifying Cargo.toml.
The rationale for this would be: when collaborating on a bigger project where Cargo.toml changes are frequent I would like to exclude the [package.metadata.commits] section from my commits so as not to force my private preference of tools onto the rest of the team.
Does this make sense?

Yes! Will merge this soon.


Build process: manually repair paths in mosaic datasets

Issue with RepairMosaicDatasetPaths gp tool, which does not currently work on UNC paths where server name started with "n". So after file geodatabases are copied from the data server, all the paths in all the mosaic datasets will need to be manually repaired to replace UNC path with local path C:\OpsServer\Data.

@ACueva The RepairMosaicDatasetPath gp tool has been fixed in Desktop 10.4. So after the data files have been copied to build location run the ops-server-config\Publish\Server\RepairMosaicDatasets.py (new script for this next ops server release) on a desktop 10.4 machine to replace the UNC path with C:\OpsServer\Data.

Manually executing ops-server-config\Publish\Server\RepairMosaicDatasets.py script on 20151002_1949 build "data" to replace UNC Path with C:\OpsServer|Data.


Build failing on android

Current behaviour
After installing this library build is failing on android
/Users/kawee/Desktop/work/insol/InsolClientApp/android/app/build/generated/assets/createBundleStagingDebugJsAndAssets/index.android.bundle:162057:65: warning: the variable "Character" was not declared in function "allNumberGroupsRemainGrouped" ...rRegion(region, true) != null && Character.isDigit(normalizedCandidate.cha... ^~~~~~~~~ e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:9:40 Unresolved reference: ReactNativeScannerViewManagerInterface e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:10:40 Unresolved reference: ReactNativeScannerViewManagerDelegate e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:14:48 Unresolved reference: ReactNativeScannerViewManagerInterface e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:19:17 Unresolved reference: ReactNativeScannerViewManagerDelegate e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:30:3 'enableFlashlight' overrides nothing e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:34:3 'disableFlashlight' overrides nothing e: file:///Users/kawee/Desktop/work/insol/InsolClientApp/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt:38:3 'releaseCamera' overrides nothing FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':pushpendersingh_react-native-scanner:compileDebugKotlin'.
Expected behaviour
How to reproduce?

Install library
run using react-native run-android

What have you tried so far?

Your Environment
      buildToolsVersion = "34.0.0"         minSdkVersion = 21         compileSdkVersion = 34         targetSdkVersion = 34

software
version

ios
x

android
x

react-native
0.73.5

@pushpendersingh/react-native-scanner
x.x.x

node
x.x.x

npm or yarn
x.x.x

Hi @mak12, can you please let me know are you using Mac Machine or Window Machine?

Hi @mak12, can you please let me know are you using Mac Machine or Window Machine?

Hi, I have the same problem as mentioned here, in my case I use a Mac to develop.

System:
OS: macOS 14.6.1
CPU: (10) arm64 Apple M2 Pro
Memory: 55.83 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.5.0
path: /usr/local/bin/node
Yarn:
version: 4.1.1
path: /opt/homebrew/bin/yarn
npm:
version: 10.2.3
path: ~/.nvm/versions/node/v20.10.0/bin/npm
Watchman:
version: 2<IP_ADDRESS>
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.13.0
path: /usr/local/bin/pod

Using mac here aswell.

@oularrea @mak12 are you using the  new architecture? in you project

@pushpender-singh-ap no, I not use new architecture

@oularrea this is why you are facing this issue this library only for new architecture.

If you wanna use new architecture please read the readme and follow the step for using this library.

@pushpender-singh-ap
Then you should also specify in the readme if it is so important which version of React Native this library works for.
since this is not clear and brings a lot of confusion

@oularrea this library work 0.70+ react native version i don't test this on latest version but pretty sure it's work well.

@mak12 , I confirm that I have updated to the latest version 0.75.3 of RN and enabled the new architecture and it worked.
@pushpender-singh-ap  It's about giving better feedback to the community, not being so arrogant with the answers.

@oularrea Thank you for your input. I'll keep that in mind and aim for clearer, more respectful communication moving forward. Let's work together to create a better environment for everyone.


Small install JSON option tweak

Thanks!

Thanks! v1.0.2 is now live. https://eager.io/app/crisp/install

Great!

Le 13 déc. 2015 à 21:07, Adam Schwartz<EMAIL_ADDRESS>a écrit :
Thanks! v1.0.2 is now live. https://eager.io/app/crisp/install https://eager.io/app/crisp/install
—
Reply to this email directly or view it on GitHub https://github.com/crispchat/crisp-plugin-eager/pull/1#issuecomment-164294048.


The Thurstone Mosteller implementations incorrectly pass in kappa (the regularization parameter) instead of epsilon (the draw margin) to the V and W update functions

The second input of those update functions is supposed to be the draw margin.

I can't find a draw margin attribute, so maybe the assumption of no draws was intentional, but the kappa still shouldn't be there.
Here's an example
https://github.com/vivekjoshy/openskill.py/blob/a7d6206f15f3aac930f4bba9aa747b4d3cf75766/openskill/models/weng_lin/thurstone_mosteller_full.py#L800

Adding this here since it was also brought up on the discord.
TLDR: I completely forgot about this issue. Also completely busy these coming weeks. It's a simple enough change, so feel free to send a PR.


[release-1.11] Upgrade to latest dependencies

release-1.11 http/2 cve -dprotaso
/cc knative-extensions/eventing-writers
/assign knative-extensions/eventing-writers
Produced by: knative-extensions/knobots/actions/update-deps

/override codecov/patch


Add vader sentiment classifier

Might not be a bad thing to have around.
https://github.com/cjhutto/vaderSentiment#demo-including-example-of-non-english-text-translations

This has moved to the sentimany repo


[TB] Resolve vulnerability scanning issues

Problem/Concern
We are getting vulnerability scanning issues that are leading to warnings on PRs.  This issue is to resolve the warnings and errors and ensure Theme Builder is properly updated.

Proposed Solution

Completed on dev in c0909c7, closing.

Reopening this issue to handle fixing the scanning error reporting axios v1.7.3


DOCS-339: MinIO ILM Migration + Tiering

Summary
Create and update reference documentation + tutorials for MinIO ILM + Remote Tiers
Goals

Refresh mc ilm for missed updates
Add mc admin remote command
Add tutorials for transitioning objects to s3, gcs, azure
Add tutorial for object expiration
Create landing page for object lifecycle management

Non-Goals

Complete cleanup of reference pages

Build Instructions
The MinIO docs require Python 3.9+ and Node for building. For Node, use v14.5.0 or later.

Clone the repo, Checkout the branch (git checkout -B installation-fixes origin/DOCS-339)
Run npm install from the branch
Create a python venv (python -m venv venv). You can skip this step if it already exists
Activate the venv (source venv/bin/activate)
Install requirements (pip install -r requirements.txt)
Run make html
Run python -m http.server --directory build/DOCS-339/html
Open <IP_ADDRESS>:8000 in your browser and take a poke around.

If you run into an error running python -m http.server related to --directory, you're python version is likely older. CD into the build/<branch>/html directory and run the command without the --directory argument.
Errors related to wheel are likely due to missing wheel + other OS-specific dependencies. See https://stackoverflow.com/a/59596814
Key URLS

http://<IP_ADDRESS>:8000/lifecycle-management/lifecycle-management-overview.html
http://<IP_ADDRESS>:8000/lifecycle-management/create-lifecycle-management-expiration-rule.html
http://<IP_ADDRESS>:8000/lifecycle-management/transition-objects-to-s3.html
http://<IP_ADDRESS>:8000/lifecycle-management/transition-objects-to-gcs.html
http://<IP_ADDRESS>:8000/lifecycle-management/transition-objects-to-azure.html
http://<IP_ADDRESS>:8000/reference/minio-cli/minio-mc/mc-ilm.html#mc-ilm-add
http://<IP_ADDRESS>:8000/reference/minio-cli/minio-mc-admin/mc-admin-tier.html

Holding off on merging until we have the latest release of minio + and the mc changes from the pending PR on mc admin tier.


host: Add configurable tags, broadcast via service discovery

This is a prerequisite for implementing tag based constraints in the scheduler (i.e. run a job only on hosts tagged with role=db).
Tags can be set in a number of ways:

Via the --tags flag when starting flynn-host daemon
Via the host API (POST /host/tags)
Via the CLI (flynn-host tags set <hostid> key=val...)

The tags are set in service discovery instance metadata so that they can be easily seen by services which already watch the flynn-host service (e.g. the scheduler), and the keys are prefixed with tag: so it is clear which metadata should be interpreted as tags.

Realised these tags need to survive an update, will implement.

Updated so that tags are maintained through an update: 4c08a55
Please review.

@titanous @imjorge comments addressed

LGTM


Additional sub folder with IntunePackage.intunewin

Running the Add-IntuneWin32App create a sub folder in the folder containing the intunewin package file with the name of the setup file containing an IntunePackage.intunewin, which is a duplicate of the file given in the FilePath parameter.
If this is necessary, it should be deleted after finishing the command.

The file is actually not a duplicate, it's essentially the encrypted file that's being uploaded originally extracted from within the packaged .intunewin file. It makes sense to clean it up though afterwards, i'll fix that for 1.2.0.


Question/Feature request capped schema option

Hello the author of the great project.
I would like to create capped collection. Is it possible to do with getModelForClass ?
I tried, but have the error
Argument of type '{ capped: { size: number; }; schemaOptions: { timestamps: boolean; versionKey: boolean; }; }' is not assignable to parameter of type 'GetModelForClassOptions'.

Oh, sorry, my fault.
Closing it.
i used the followed code:
getModelForClass(ActionsLog, {...defaultConfig, {capped: {size: 4096}}});
the fix is :
getModelForClass(ActionsLog, {...defaultConfig, schemaOptions: {capped: {size: 4096}}});


runtime: fix some typos

This PR will be imported into Gerrit with the title and first
comment (this text) used to generate the subject and body of
the Gerrit change.
@ianlancetaylor @benshi001

@googlebot I signed it!


✨ Docs: Page on Example Device

Issue
To get a quick feeling for QDMI, esp., device developers, they need to dig deep into the code. There are already example implementations for devices in C and C++ but to see those, one needs to inspect the GitHub repository.
Solution
This PR includes those example implementations of the devices in small snippets into an example page that is part of the documentation.
Remarks
This PR also tries to finally fix the resizing issue of the Documentation button and fixes some minor issue in the device implementations.

Ok, the Documentation button in the README.md is still not really responsive... the property min-widthis somewhere lost.

Just fyi: the clang-tidy warnings are popping up here now because this is the first PR after its introduction touching these files.
They should be easily addressed and you can use the last couple of PRs that went into develop as inspiration.


How to import ExchangeType?

I'm getting:
Argument "exchange_type" to "exchange_declare" of "Channel" has incompatible type "str"; expected "ExchangeType"  [arg-type]

So, I'm thinking I can annotate my str argument as ExchangeType instead, but I'm not sure what the import line needs to look like.

This corresponds to the ExchangeType Enum added in v1.2.0: https://github.com/pika/pika/pull/1260
I think it might be possible to get casted strings to work if we gave ExchangeType's members Literal["..."] annotations, but that seems like an abuse, especially since ExchangeType is only declared as ExchangeType(Enum) rather than ExchangeType(str, Enum)
Have you tried just using that Enum? e.g.:
import pika
from pika.exchange_type import ExchangeType

connection = pika.BlockingConnection()
channel = connection.channel()

exchange_type = ExchangeType.topic
reveal_type(exchange_type)
channel.exchange_declare(exchange='foobar', exchange_type=exchange_type)

connection.close()

seems to work for me:
$ mypy --strict test.py
test.py:8: note: Revealed type is "pika.exchange_type.ExchangeType"

Yes, seems to just be a pika documentation issue. In their examples they use strings like "direct" instead of ExchangeType.direct. It works now using from pika.exchange_type import ExchangeType :)


Fix Ethos-U driver build.

The updated Ethos-U driver v24.05 (introduced in #2626), contains a second set of device functions for the U85. This can cause the linker to link the functions of the U85, instead of the U55-U65, if they're both included in the driver's sources files. Therefore a glob pattern can no longer be used to collect the driver's source files in the Makefile.
BUG=#2639

@rascani I'm just curious, how long does the Cortex-M workflow take to finish ? I triggered it manually in my fork, on this patch, and it's been running for an hour.

Just a heads up there might still be an issue with the FPV, it seems to get stuck. I'm not sure I can fix this one, but I did try a newer platform (23.x and 24.05), with your patches, but that didn't fix it. If there's a way to debug it or get some output out of it, let me know I could give it another shot. I did try telnet but there's no output.

@rascani I found the issue and will send another fix.


[android] kotlin version for react-native 0.71

With react-native 0.71 because of new version of gradle plugin we have next error on build project
FAILURE: Build failed with an exception.

* What went wrong:
The Android Gradle plugin supports only kotlin-android-extensions Gradle plugin version 1.6.20 and higher.
The following dependencies do not satisfy the required version:
project ':amplitude_analytics-react-native' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8s

Expected Behavior
All libraries should get rootProject version of koltinVersion instead hardcode
Current Behavior
android/build.gradle
buildscript {
    ext.kotlinVersion = '1.5.30'
...

Possible Solution
buildscript {
    ext.kotlinVersion = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.6.20"
...

Steps to Reproduce
No applicable
Environment
No applicable

Hi, facing the same problem, seems like this was fixed and then reverted, when will this be released?


Overlapping focused tab, misaligned new tab button

Hello,
Firefox version: 130
Wavefox version: 1.7.130

The focused tab over laps with other tabs and new tab button is hidden behind the tab.
Please note I'm using compact toolbar.
I switched to Wavefox 123 and it works fine except now I don't see options (tab style, saturation etc) in about:config even though they are there in perfs.js.
Any help will be greatly appreciated.

On my side everything works. Probably you didn't select the tabs shape.

@QNetITQ Thank you for the response. Yes, that was it, tab option key was missing, now everything works. Though I couldn't for the life of me figure out how to get Lepton icons to work, the description doesn't say if I have enable all the keys or just one key. I went back to 123 and I have everything the way I want to.
Also, the fact that there are no borders with shadows is also a deal breaker. I hope you could simplify how to get Lepton icons to work and get Borders as well as shadows.
Looking forward to more amazing work from you.
Kind regards

Due to CSS features, I can't allow shadow and border to be active at the same time. Lots of side effects. If an optimal way appears in the future, I'll implement it.
I've added explanations to the icons. Nothing complicated there.

Alright, I understand about shadows and borders.
I've added all the keys in the icons and this is what I've got but they don't seem like Lepton icons.

Do I have this right ?

Alright, I understand about shadows and borders.

Thank you for understanding.

I've added all the keys in the icons and this is what I've got but they don't seem like Lepton icons.

That's them.
https://user-images.githubusercontent.com/25581533/123762962-d4bf0980-d8b2-11eb-8492-d497d330c72a.png

This feature is already supported by the browser, but not available to everyone. Activate the browser.newtabpage.activity-stream.newtabWallpapers.enabled key. After that, you should be able to choose the design of the main page in the main page settings. It seems that there should also be a key for showing the weather browser.newtabpage.activity-stream.system.showWeather

@QNetITQ
I've found an extension for the Home page, it has many options to choose from. All that will be a lot of work to do with userChrome.
I have one request: Can we do something about making icons everywhere crispy like the icons in caption bar ?
See the difference below.

Notice how icons on top are so crispy and fine and below such ugly. Would really love this modification included in Wavefox.

It is possible, but it may require changing all the icons and inserting them manually. I will think about it, but I make no promises.


cub::NumericTraits has no methods "Lowest", "Max"

When trying to compile the reduction example, the following error message overflows the stack. They all look like:
../../test/test_util.h(987): error: class "cub::NumericTraits" has no member "Lowest"

Can you provide the compiler commandline you're invoking?
Which reduction example?  I can't reproduce a problem with either...
$nvcc -arch=sm_XX example_device_reduce.cu -I../.. -lcudart -O3
and
nvcc -arch=sm_35 example_block_reduce.cu -I../.. -lcudart -O3
compile fine for me on both windows and linux.

Closing for lack of feedback.


Contact Modal

A contact modal that will contain links to help, feature requests, feedback, and social media. This is a solution to the original issue here...
https://github.com/ozone-development/ozp-center/issues/348
This will also be in...
Hud
https://github.com/ozone-development/ozp-hud/issues/126
Webtop
https://github.com/ozone-development/ozp-webtop/issues/635

I have tested this locally in IE9,11, Firefox and Chrome and found no issues. Ready for testing on master.

Waiting for resolution of Webtop-635.


400 on /authorize should result in error being set and/or loading being false

Describe the problem you'd like to have solved
In the screenshot below I have loaded our landing page, auth0 is silently trying to hit <auth0_tenant>/authorize and is getting a 400 back. isAuthenticated is false, isLoading is true, error is undefined, so I should just sit and wait for auth0 to do something...

Once the internal auth0 timeout eventually triggers (60s? 120s? I forget), isLoading is set to false / and error is set to Timeout.
I can then happily show my user a login page, but the user has probably gotten bored and closed the tab by that point.
Describe the ideal solution
User should not be sat at our loading screen waiting for auth0's timeout to trigger
Alternatives and current work-arounds
Don't show user a loading page whilst auth0 is loading...
Screenshot from Network tab

Hi @tfmark - thanks for raising this.
Unfortunately, there's no way for the browser window to know what the status (or the content) of the /authorize page is. All the SDK can do is listen for an event from the other window and timeout if it doesn't get one.

I can then happily show my user a login page, but the user has probably gotten bored and closed the tab by that point.

You should only get this when the client is incorrectly configured, so this should only happen during development.

Thanks for the swift reply @adamjmcgrath - is it possible to tweak the timeout (to e.g. 5 seconds)? We are seeing clients sat on the Loading page until the timeout is hit - it's not just something that is happening in dev, so would be nice to only have them sat for a few seconds rather than a minute+.

You can use authorizeTimeoutInSeconds
But you shouldn't be getting 400s with a correctly configured client - you tenant logs should tell you what the issue is and you should be able to resolve it in code.

Aha, am seeing Failed Silent Auth (The specified redirect_uri 'https://.tradefeedr.com' does not have a registered origin.). I guess that is related to having useRefreshTokens={true} so gonna deploy that change and check in the morning once my token has expired.
Failing that I'll also set a timeout to 5 seconds 👍 - will report back tomorrow and hopefully close out this ticket.

Hi @adamjmcgrath ,
Thanks for your anwser, had the same problem and setting useRefreshTokensFallback: false fixed the issue.
In my particular case, this was a capacitor / angular application with refresh tokens enabled.
https://community.auth0.com/t/auth0-app-id-doesnt-link-with-the-android-application/67288/4
The problem here is that the auth0 logs is telling to add "<app_id>:///capacitor/<app_id>/callback" as an Allowed origin, which leads to a much dificult error.


merge package template from arlac77/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Introduce dedicated "repeat n-times" loop

As of now, we can use the LoopOperator to emulate a loop that repeats the loop body a given number of times. However, this bloats the actually executed plans by the ExecutionOperators necessary to do the counting, thereby introducing performance overhead, making the optimization harder, and complicating debugging.
With the "repeat n-times" being such a recurring programming pattern (and so far the only real use case for the LoopOperator), it is worthwhile to create a dedicated RepeatLoopOperator (or similar).

This issue was moved to rheem-ecosystem/rheem#12


[TW#26639] [request] esp_ble_gattc_get_service result incompatible with esp_ble_gattc_search_service event result

In most usage cases its not a problem, but when we have peripheral/server with multiple services with the same UUID then get services from cache will return inaccurate data because of lack inst_id.
Could we add inst_id to esp_gattc_service_elem_t or make esp_ble_gattc_get_service result type of gattc_search_res_evt_param?
Unless inst_id i local value, in that case i can set inst_id on my own.

@chegewara  Sorry, I didn't understand what you mean. What is the error?

@Weijian-Espressif Theoretically when we have multiple services with the same uuid, we can distinguish which is which by inst_id. If we have data in cache we can get it with esp_ble_gattc_get_service but result returned is without inst_id. Now i see it is most likely not required since we can access services by stored handle. It would be useful to have it if for instance application logic require to find service by inst_id, but i missed that we still get ESP_GATTC_SEARCH_RES_EVT event even if we have result returned from esp_ble_gattc_get_service. I dont know if i explained clear enough what i meant. I will close this issue since its just optional parameter, but not required. You just explained me some information in the other issue about ble data stored in cache.
This is structure from esp_ble_gattc_get_service result:
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/bluetooth/esp_gatt_defs.html#_CPPv224esp_gattc_service_elem_t
and this is from ESP_GATTC_SEARCH_RES_EVT event:
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/bluetooth/esp_gattc.html#_CPPv2N24esp_ble_gattc_cb_param_t26gattc_search_res_evt_paramE
This is what i would like to see in first structure, or at least inst_id:
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/bluetooth/esp_gattc.html#_CPPv2N24esp_ble_gattc_cb_param_t26gattc_search_res_evt_param7srvc_idE


Ubuntu 19.04 no usable libssl

Hello
I want to install a self hosted agent onto a ubuntu 19.04(non lts) but after entering PAT i get error no usable libssl i installed everything that has libssl from 19.04 repos.

Hello,
I had the same problem after upgrading from unbuntu 18.xx to unbuntu 19.04.
The problem is in the dotnet SDK 2.1 and it is fixed in SDK 2.2.
I made a local clone for testing and upgrade from dotnet sdk2.1 to sdk2.2. That works for me.
Should I make a pull request?

I dont realy know, maybe
On Sun, 21 Jul 2019, 22:18 flashdog<EMAIL_ADDRESS>wrote:

Hello,
I had the same problem after upgrading from unbuntu 18.xx to unbuntu 19.04.
The problem is in the dotnet SDK 2.1 and it is fixed in SDK 2.2.
I made a local clone for testing and upgrade from dotnet sdk2.1 to sdk2.2.
That works for me.
Should I make a pull request?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azure-pipelines-agent/issues/2349?email_source=notifications&email_token=ABUZ5OPPDAEGITSNAUFIGM3QATACHA5CNFSM4ICMUYB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2OK2QI#issuecomment-513584449,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUZ5OOBS5ZNFLVBD7ZZSCLQATACHANCNFSM4ICMUYBQ
.

I can confirm this issue.
Installing 'libopenssl1_0_0' can fix this. However we're running SLES 15.1, on which openlibssl1_1 can only be installled if we enable legacy modules. (Currently we're not allowed to enable those modules)

Hi @bigpod98, can you try out installing this (unofficial) package and try configuring the agent? Let me know if it works for you.
https://1drv.ms/u/s!AkcNSSfO5EWU203yB2etXzMwZOsU?e=byfT3H
This package was built against the latest LTS version of the .NET Core 2.1 SDK, which contains the fix to use OpenSSL 1.1 if the dependency is available. I'll open a PR to bump up the version upon confirmation.

@juliobbv Configuration went without a problem installed in a ubuntu 19.04 after configuration it connected ok to my azure dev ops

Hi @bigpod98,
I checked the official .NET Core 2.1 Linux OS documentation, which indicates they do not support Debian 10. We'll need to wait for the final version of .NET Core 3.0 to be released in order for us to start offering agent support.
In the meantime, you can run the agent in any of the supported OS from this list.


Intel Compiler fails to build mxnet

Description
Unable to build libmxnet from git.
Facing at least 2 errors. Able to workaround just one of them
Environment info (Required)
----------Python Info----------
Version : 3.5.2
Compiler : GCC 5.4.0 20160609
Build : ('default', 'Nov 12 2018 13:43:14')
Arch : ('64bit', 'ELF')
------------Pip Info-----------
Version : 8.1.1
Directory : /usr/lib/python3/dist-packages/pip
----------MXNet Info-----------
Version : 1.5.0
Directory : /home/stsukrov/workspace/mxnet/python/mxnet
Hashtag not found. Not installed from pre-built package.
----------System Info----------
Platform : Linux-4.4.0-1074-aws-x86_64-with-Ubuntu-16.04-xenial
system : Linux
node : ip-172-31-1-212
release : 4.4.0-1074-aws
version : #84-Ubuntu SMP Thu Dec 6 08:57:58 UTC 2018
----------Hardware Info----------
machine : x86_64
processor : x86_64
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 72
On-line CPU(s) list: 0-71
Thread(s) per core: 2
Core(s) per socket: 18
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
Stepping: 4
CPU MHz: 3000.000
BogoMIPS: 6000.00
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 25344K
NUMA node0 CPU(s): 0-17,36-53
NUMA node1 CPU(s): 18-35,54-71
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single kaiser fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f rdseed adx smap clflushopt clwb avx512cd xsaveopt xsavec xgetbv1 ida arat pku
----------Network Test----------
Setting timeout: 10
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0155 sec, LOAD: 0.0708 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0348 sec, LOAD: 0.2342 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0010 sec, LOAD: 0.3944 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0896 sec, LOAD: 0.7671 sec.
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0006 sec, LOAD: 0.9998 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.2689 sec, LOAD: 1.0834 sec.
Build info (Required if built from source)
Compiler (gcc/clang/mingw/visual studio):
icc version <IP_ADDRESS> (gcc version 5.4.0 compatibility)
MXNet commit hash:
d684c59049970794e8f7365f58b03e13801b44a3
Build config:
cmake -DUSE_CUDA=OFF -DCMAKE_C_COMPILER="/home/stsukrov/intel/bin/icc" -DCMAKE_CXX_COMPILER="/home/stsukrov/intel/bin/icpc" ..
Error Message:
/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc(84): error: parallel loops with collapse must be perfectly nested
        for (int shape0 = 0; shape0 < static_cast<int>(dshape[0]); shape0++) {
                 ^
          detected during:
            instantiation of "void mxnet::op::L2NormalizationOpCPU<DType>::Forward(const mxnet::OpContext &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &) [with DType=float]" at line 39
            implicit generation of "mxnet::op::L2NormalizationOpCPU<DType>::~L2NormalizationOpCPU() [with DType=float]" at line 39
            instantiation of class "mxnet::op::L2NormalizationOpCPU<DType> [with DType=float]" at line 39
            instantiation of "mxnet::op::L2NormalizationOpCPU<DType>::L2NormalizationOpCPU(mxnet::op::L2NormalizationParam) [with DType=float]" at line 129

Error: the OpenMP "single" pragma must not be enclosed by the "for" pragma
          detected during:
            instantiation of "void mxnet::op::L2NormalizationOpCPU<DType>::Forward(const mxnet::OpContext &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &) [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            implicit generation of "mxnet::op::L2NormalizationOpCPU<DType>::~L2NormalizationOpCPU() [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            instantiation of class "mxnet::op::L2NormalizationOpCPU<DType> [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            instantiation of "mxnet::op::L2NormalizationOpCPU<DType>::L2NormalizationOpCPU(mxnet::op::L2NormalizationParam) [with DType=float]" at line 129 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"

/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc(108): error: parallel loops with collapse must be perfectly nested
        for (int shape0 = 0; shape0 < static_cast<int>(dshape[0]); shape0++) {
                 ^
          detected during:
            instantiation of "void mxnet::op::L2NormalizationOpCPU<DType>::Forward(const mxnet::OpContext &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &) [with DType=float]" at line 39
            implicit generation of "mxnet::op::L2NormalizationOpCPU<DType>::~L2NormalizationOpCPU() [with DType=float]" at line 39
            instantiation of class "mxnet::op::L2NormalizationOpCPU<DType> [with DType=float]" at line 39
            instantiation of "mxnet::op::L2NormalizationOpCPU<DType>::L2NormalizationOpCPU(mxnet::op::L2NormalizationParam) [with DType=float]" at line 129

Error: the OpenMP "single" pragma must not be enclosed by the "for" pragma
          detected during:
            instantiation of "void mxnet::op::L2NormalizationOpCPU<DType>::Forward(const mxnet::OpContext &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &, const std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob>> &) [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            implicit generation of "mxnet::op::L2NormalizationOpCPU<DType>::~L2NormalizationOpCPU() [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            instantiation of class "mxnet::op::L2NormalizationOpCPU<DType> [with DType=float]" at line 39 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"
            instantiation of "mxnet::op::L2NormalizationOpCPU<DType>::L2NormalizationOpCPU(mxnet::op::L2NormalizationParam) [with DType=float]" at line 129 of "/home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc"

compilation aborted for /home/stsukrov/workspace/incubator-mxnet/src/operator/l2_normalization.cc (code 2)
CMakeFiles/mxnet_static.dir/build.make:1271: recipe for target 'CMakeFiles/mxnet_static.dir/src/operator/l2_normalization.cc.o' failed
make[2]: *** [CMakeFiles/mxnet_static.dir/src/operator/l2_normalization.cc.o] Error 2

Minimum reproducible example
(If you are using your own code, please provide a short script that reproduces the error. Otherwise, please provide link to the existing example.)
Steps to reproduce
(Paste the commands you ran that produced the error.)

Get intel compiler
cmake -DUSE_CUDA=OFF -DCMAKE_C_COMPILER="/home/stsukrov/intel/bin/icc" -DCMAKE_CXX_COMPILER="/home/stsukrov/intel/bin/icpc" ..
make -j20

What have you tried to solve it?

extract the temporary variables for for-loop boundaries - can build at least mxnet
Unable to fix the test internal error

@mxnet-label-bot add [build, compiler error]

@TaoLv has successfully built the  MXNet with ICC.  We can provide the detail information later (maybe early of next week).

@pengzhao-intel
I was able to fix the issue by extracting the for-loop boundaries.
Will appreciate if you can provide the instructions.

@stsukrov May I know which version of ICC you are working with? I'm using ICC19.

icc version <IP_ADDRESS>

I had a simple integration here. But it's not rebased to master branch yet. Please let me know if it works for you.

@TaoLv
Really confused :)
Unable to find any documentation on --new_cilkfor
I assume it's some kind of magic internal Intel flag, that's used to preevaluate for-upperbound.
l2_normalization.cc is compilable now.
Confirming, that it partially fixes the first issue - I'm able to build libmxnet.so.
It doesn't fix the second internal error:
icpc  -DCUB_MKL=1 -DDMLC_USE_CXX11 -DDMLC_USE_CXX11=1 -DMSHADOW_IN_CXX11 -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_CUDA=0 -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_SSE=1 -DMXNET_USE_LAPACK=1 -DMXNET_USE_MKLDNN=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_OPENCV=1 -DMXNET_USE_OPENMP=1 -DMXNET_USE_OPERATOR_TUNING=1 -DNDEBUG=1 -DUSE_JEMALLOC -DUSE_MKL=1 -I/home/stsukrov/workspace/incubator-mxnet/build/mklml/mklml_lnx_2<IP_ADDRESS>80928/include -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/mkldnn/include -I/home/stsukrov/workspace/incubator-mxnet/include -I/home/stsukrov/workspace/incubator-mxnet/src -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/mshadow -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/cub -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/tvm/nnvm/include -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/tvm/include -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/dmlc-core/include -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/dlpack/include -I/home/stsukrov/workspace/incubator-mxnet/3rdparty/googletest/googletest/include -I/home/stsukrov/workspace/incubator-mxnet/tests/cpp/include -isystem /usr/include/opencv  -Wall -Wno-unknown-pragmas -Wno-sign-compare -O3 -msse2 -std=c++11 -mf16c -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -qopenmp -std=c++0x -fPIE   -o CMakeFiles/mxnet_unit_tests.dir/cpp/operator/batchnorm_test.cc.o -c /home/stsukrov/workspace/incubator-mxnet/tests/cpp/operator/batchnorm_test.cc -Qoption,cpp,--new_cilkfor
/home/stsukrov/workspace/incubator-mxnet/tests/cpp/include/./././test_util.h(225) (col. 5): internal error: 04010002_1506

compilation aborted for /home/stsukrov/workspace/incubator-mxnet/tests/cpp/operator/batchnorm_test.cc (code 4)

@stsukrov I think it's something new in recent version of ICC (since 2019) and not well documented. I will communicate with compiler team and let you know if there is any public available document for it.
Also thank you for pointing out the internal error. I didn't have a try on compiling cpp test with ICC. Will try to reproduce the error and get back to you later.

@stsukrov one more, do you mind providing some backgrounds and the goal of the compiler switching so that we can have a big picture and thinking about the final solution, such as how to deliver the patch in ICC?

@pengzhao-intel
We have just evaluated, if it's possible to compile mxnet with ICC.
I assume it's still an issue, since we face 2 internal errors.

@stsukrov thanks for the information. I think it's not a big problem. Intel team can fix it :)

Sure.
Looking forward

@pengzhao-intel
@TaoLv
Any feedback on the topic?

@stsukrov The two internal error are reproduced and tracked internally. Will let you know once they are got fixed. Probably we need patch release of the compiler but it needs time.

@TaoLv
Thanks.
Feel free to request any testing on the issue.


[Feature Proposal] - Allow 'flex-' to be optional when specifying flex-wrap utilities

Clear and concise description of the problem
I would like to use a shorter syntax when specifying flex wrap behavior
Example:
class="flex flex-wrap" => class="flex wrap"
Current implementation:
https://github.com/unocss/unocss/blob/8505f48d4ccba055c0613bd22f120312447682ca/packages/preset-mini/src/_rules/flex.ts#L30
// wraps
  ['flex-wrap', { 'flex-wrap': 'wrap' }],
  ['flex-wrap-reverse', { 'flex-wrap': 'wrap-reverse' }],
  ['flex-nowrap', { 'flex-wrap': 'nowrap' }],

Suggested solution
// wraps
  ['/^(:?flex-)wrap/', { 'flex-wrap': 'wrap' }],
  ['/^(:?flex-)wrap-reverse', { 'flex-wrap': 'wrap-reverse' }],
  ['/^(:?flex-)nowrap', { 'flex-wrap': 'nowrap' }],

Alternative
No response
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the README.md of using the package.
[X] Already used the Interactive Docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I am not sure about this, as it can create confusion with whitespace: nowrap and so

Yeah, makes sense. In our project, we use flex wrap properties way more frequently than whitespace so it's more convenient to use the flex version with shorter syntax, and for whitespace just specify it in full but I agree that from the point of common usage, it may be debatable. Closing.


Garfield Hills household members are listed incorrectly

Should start w/ Applicant not HH1

PDF is coded wrong, to Clarify table list look slike
HH1Name [Head]
HH2Name HH2Relationship
Should be:
Name [Head]
HH1Name HH1 Relationship

@emanuelfeld updated PDF with new names here https://drive.google.com/open?id=0B8rQX6ajIoEMcGg1dEJraHdTbHc. Issue #324 can be closed.


Temporarily lock utxos

We had a few issues where the wallet selected the same UTXOs twice. This is because the wallet thinks a UTXO is free to use unless it was seen in the mempool.
This can be an issue for us because of our long running contract setup. It could happen that two threads use the same UTXO for two different CFDs. One of them will fail on broadcasting the transaction.
We should lock UTXOs once we selected them for a transaction. When creating a transaction we can provide a list of UTXOs which should not be selected:
https://github.com/bitcoindevkit/bdk/blob/aa13186fb08b5bcf630b439ae77053d58ba41d52/src/wallet/tx_builder.rs#L394-L401
A rough flow could be:

in contract_setup we load locked utxos and create a tx_lock
as soon as we created tx_lock we update the locked utxos
if publishing of tx_lock failed we remove the locked utxos
a. on a regular interval we could clean up this table so that it does not outgrow too much

@thomaseizinger proposed to store this list in memory inside wallet::Actor. That way it will get cleaned up automatically on a restart.
Originally posted by @bonomat in https://github.com/itchysats/itchysats/issues/781#issuecomment-985091885

This is related to #768 and #780.
In order to solve these two tickets we should fail the contract setup gracefully (put the CFD in an error state) if publishing the tx_lock fails.


Documentation about the pricing

I know that there is a bit about the pricing but I think it would be good to add a rough estimation of the cost based on time. 😄
I have been a bit naive and let it run which cost me $30 😨 . It's quite hard to tell for how long it ran as the first time I ran the environment cleanup it didn't removes everything but it must be between 10/20 hours. It would be good to also add in the section "Environment cleanup" how to manually check that things a properly deleted 💯

It's really difficult to come up with an estimate. While we will certainly try if we can find a way to do that, this is why we have this point called out in the home page and ask the user to cleanup the resources after usage.


error: Undefined name 'toPosts'.

I'm going to get the QuerySnapshot and change it to Post Model.
return FirebaseFirestore.instance
      .collection(COLLECTION_POSTS)
      .where(KEY_USERKEY, isEqualTo: userKey)
      .snapshots()
      .transform(toPosts);

I wrote it like this, and there's an error. In the error, it says that there is no to Posts, but even though I made it into a class, I can't get an imprint even if I try to make it's an error.
final toPosts =
  StreamTransformer<QuerySnapshot, List<PostModel>>.fromHandlers(
      handleData: (snapshot, sink) async {
        List<PostModel> posts = [];
        snapshot.docs.forEach((documentSnapshot) {
            posts.add(PostModel.fromSnapshot(documentSnapshot));
        });

What should I do?

This seems to be related to cloud_firestore plugin which is 3rd party. Please open this issue in dedicated repo:  https://github.com/FirebaseExtended/flutterfire/issues

Thank you so much!


Should we remove the embedded-hal-nb trait implementations?

I checked the dependent crates for this package and almost all of them are HALs, there were maybe a single-digit number of device drivers which actually implemented this traits. None of these drivers seemed to have an especially large number of downloads.
I never personally hear of or see people using these trait implementations.
What are we gaining by keeping these trait implementations? Or are we just carrying around extra baggage for the sake of it?

I agree they are probably not super useful these days. On the other hand, I think they don't add a lot of maintenance burden and even embassy_stm32 still implements the traits
But t.b.h. I don't have a strong opinion on this

They are good for non-async code that use event loops, as async and sync are like two worlds in Rust. Especially for DMA I think.

Imo there is no harm in keeping them, if they start to become a maintenance burden we can revisit this decision.


chore: Update prettier & its workflows

Thanks for contributing to react-virtualized!
Before submitting a pull request, please complete the following checklist:

[ ] The existing test suites (npm test) all pass
[ ] For any new features or bug fixes, both positive and negative test cases have been added
[ ] For any new features, documentation has been added
[ ] For any documentation changes, the text has been proofread and is clear to both experienced users and beginners.
[ ] Format your code with prettier (npm run prettier).
[ ] Run the Flow typechecks (npm run typecheck).

Here is a short checklist of additional things to keep in mind before submitting:

Please make sure your pull request description makes it very clear what you're trying to accomplish. If it's a bug fix, please also provide a failing test case (if possible). In either case, please add additional unit test coverage for your changes. :)
Be sure you have notifications setup so that you'll see my code review responses. (I may ask you to make some adjustments before merging.)

Codecov Report

Merging #1455 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1455   +/-   ##
=======================================
  Coverage   90.35%   90.35%
=======================================
  Files          59       59
  Lines        1742     1742
=======================================
  Hits         1574     1574
  Misses        168      168

Impacted Files
Coverage Δ

source/Grid/Grid.js
94.44% <ø> (ø)
:arrow_up:

...e/Collection/utils/calculateSizeAndPositionData.js
92.3% <ø> (ø)
:arrow_up:

source/Masonry/Masonry.js
95.45% <ø> (ø)
:arrow_up:

source/Table/Table.js
88.39% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Other controls

Do you have any plans to do the following components?
https://material-ui.com/components/selects/
https://material-ui.com/components/pagination/
Thanks!!

yes. adding more components from material-ui is next major work. would you like to contribute any of the components? feel free to do so.

I guess the <Backdrop /> component already available under Modal project. could you please try if you could achieve the demo https://material-ui.com/components/backdrop/?

Backdrop works! I had tried it on a  different project, not sure why it did not then.  Anyways, I need to get somewhere with a project and after that I can look at contributing in for sure.  Thanks!!

Sure. No issues. Welcome anytime.

closing it now. will be tracked along with #19 when we start developing Pagination and Select.


ci: setup a config per package

This PR adds a code-pushup.config.ts to a couple of packages.
Included changes:

✏ edit code-pushup.config.ts at root with only plugins lighthouse, js-packages
➕ add code-pushup.config.ts to 📦 models with plugins eslint, js-packages
➕ add code-pushup.config.ts to 📦 utils with plugins eslint, js-packages
➕ add code-pushup.config.ts to 📦 core with plugins eslint, js-packages
➕ add code-pushup.config.ts to 📦 cli with plugins eslint, js-packages
➕ add code-pushup.config.ts to 📦 plugin-eslint with plgins eslint, js-packages
➕ add code-pushup.config.ts to 📦 plugin-lighthouse with plugins eslint, js-packages
➕ add code-pushup.config.ts to 📦 plugin-coverage with plgins eslint, js-packages

We could merge it like this and I'll simplify it later with mergeConfig helper