Added filterM

Looks good. Could you please add a comment?

Could this be generalised to Foldable or Traversable instead of []?

Also, semi related #14 is still open...

add a comment

Do you mean a commit comment? Or...

generalised to Foldable or Traversable instead of []

It's not obvious to me how one would do that. filter itself is currently only defined for []. It could be generalized to filter :: MonadPlus m => (a -> Bool) -> m a -> m a, but I don't think that helps for filterM. With that filter you'd need to have the ability to swap (Monad m, Monad n) => m (n a) -> n (m a).

I think we need a Refoldable class :)
Yes, I was just asking for some documentation. We're going to go back and add things retrospectively, but going forwards, I'm going to ask for documentation comments on all new PRs.

Do participants automatically get notified upon a new commit?

No, but I check my pull requests list on a fairly frequent basis. Your best bet is to just ping me with a @-mention.

Looks good to me. @garyb ?

:+1:

Oops, could you please bring this up to date with master, and rebase, @pseudonom ?

Rebased

Thanks!


[BUG] Nested AFTs scale actors in odd ways.

This has been an issue I've seen for some time but wasn't sure if should report it.
I'm currently on latest Steam release. (20230307)
Context: bitEye is a library I made to preview BGA's and backgrounds and have quick access on ScreenEdit for charters. It previews backgrounds creating an AFT texture and works fine until the scripts of a BGA contain AFTs (like beat4sprite scripts). So it becomes a case of an AFT within an AFT and it ends up scaling the actors in unexpected ways.
Pay attention to the green overlay.
https://i.imgur.com/FD8At99.png (when the AFT texture is invisible or alpha 0)
https://i.imgur.com/tIRR5yR.png (when the AFT texture is visible)

do you have the code for this library? how does it set up the aft?

https://github.com/EngineMachiner/bitEye

I have run some tests and I have noticed that it has to do with the main AFT having different dimensions / size compared to the nested ones.

Ok it seems fine until the resolution of the first AFT is bigger than the screen size, comparing SCREEN_WIDTH * 2, SCREEN_HEIGHT * 2 to SCREEN_WIDTH and SCREEN_HEIGHT.

to me that sounds like the aft context is bigger than the sprite its displaying on, which sounds like its doing what i would expect it to do, it may not be a bug if this is the case

Indeed, I just put the BUG tag because I wasn't sure. I basically am using the same screen size for these cases so I don't have to deal with the offset but I wanted to report it to check up the intended behaviour or what alternatives there are.

Can you confirm this is still an issue for me?

I just did the tests on latest test build and the green overlay of the pics I posted doesn't seem to be offset or scaled anymore and the actors seem to be positioned according to their own AFT. Good job. We can close this now.


Add possibility to cancel download

When downloading a large file, I show a progress bar with a cancel button in my UI.
Can you add a function to abort the download, i.e., call abort() on the underlying request object?
With this code, I can cancel the request, but the finally block is never being called, meaning the Promise never gets resolved.
async function downloadFile() {
  const activity = createActivity(props.file.fileName)
  try {
    const downloader = new JsFileDownloader({
      url: getUrlPath(props.file),
      timeout: 0,
      autoStart: false,
      process(event) {
        activity.determinate = event.lengthComputable
        if (!event.lengthComputable) return
        activity.update(event.loaded / event.total)
      },
    })
    activity.cancel = () => downloader.request.abort()
    await downloader.start()
  } finally {
    activity.remove()
  }
}

Hi @vincesp , so the await keep waiting.
I'll take a look asap. if you need it urgently fell free to send a PR.
Thanks

hi @vincesp , please take a look:
https://github.com/AleeeKoi/js-file-downloader#abort


Test cases and JSDOC comments for Path2D

Hope that you like these!

Awesome PR @z3dev ! Lots of clean api documentation & updates!
My only beef is innerToCAG itself, but good catch on finding it was missing in some cases.
I think it might be possible to get rid of it/ an alternative to fromPoints I'll do some experiments.
Merging this one in the meantime , great work !


Timeout-failing jobs vs providers which correctly report failing jobs

Describe the bug
The parsl slurm provider reports finished jobs as COMPLETED when they disappear from the default queue list. In the context of this bug, specifically slurm jobs which end because of walltime expiry are marked as COMPLETED, even though slurm believes that walltime expiry was a failure.
When using parsl + the exaworks PSI/J slurm provider via https://github.com/ExaWorks/psi-j-parsl when a slurm job ends due to walltime expiry, it is reported as FAILED because slurm regards that as a failure - the PSI/J slurm provider more closely transcribes slurm exit information into python-land land the regular parsl slurm provider.
In the higher level model of parsl's pilot job model for htex and work queue, walltime expiry is not a failure.
In execution modes where it is expected that many blocks will be submitted over time, and that all of them (except perhaps the final one) will end by walltime expiry rather than by parsl cancelling them, this leads, in the PSI/J case, to simple_error_handler fairly rapidly causing that workflow to shut down due to repeatedly failing blocks.
To Reproduce
This is reproducible with the regular pytest suite vs slurm using psi/j with a walltime set so low (eg 2 minutes) that the test suite would need multiple blocks to complete.
Expected behavior
This is not an error and workflows should complete.

I have also observed this behaviour with Parsl's LocalProvider: if htex's process worker pool is killed, even after it has successfully executed a lot of tasks, then the local provider reports this as a failure.
To reproduce:
import parsl

from parsl.tests.configs.htex_local import fresh_config

@parsl.python_app
def sleep():
  import time
  time.sleep(5)

parsl.load(fresh_config())

while True:
  print(">", end='', flush=True)
  sleep().result()
  print("< ", end='', flush=True)

and after some time, killall process_worker_pool.
The program ends with an exception from sleep().result() showing that the executor has been shut down, rather than scaling up a new process worker pool.
Setting the block_error_handler parameter to False makes execution proceed. This parameter was introduced in #2406


Add SupportsSharedFolders to preview

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Contributing.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

docs/reference/manifest/desktopformfactor.md
:white_check_mark:Succeeded

docs/reference/manifest/supportssharedfolders.md
:white_check_mark:Succeeded

docs/reference/objectmodel/preview-requirement-set/outlook-requirement-set-preview.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Contributing.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

docs/reference/manifest/desktopformfactor.md
:white_check_mark:Succeeded

docs/reference/manifest/supportssharedfolders.md
:white_check_mark:Succeeded

docs/reference/objectmodel/preview-requirement-set/outlook-requirement-set-preview.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Merge ZW and PSA base workflows

There's a lot of overlap/repetition between the ZW and PSA base workflows (e.g. in calculating things like the streamfunction zonal anomaly). They could be merged.

No time.


Allow setting custom highWaterMark via node-fetch options (#386)

Fixes #386
This PR uses some bits from #563, but instead of passing the custom highWaterMark to clone method, it is passed via node-fetch options:
- fetch(url).then(res => res.clone(10).buffer());
+ fetch(url, {highWaterMark: 10}).then(res => res.clone().buffer());

I used the same tests from #563 to confirm that everything works as expected. However, it would be great if someone could review my changes to check whether I made any mistakes :smile:

ping @jimmywarting @gr2m for comments:

Should we add this API extension?

Should we set a larger highWaterMark on clone()?

Otherwise, should we just provide a segment on how clone streams work in our readme?

See my comment above for why I don't like this solution: https://github.com/bitinn/node-fetch/pull/671#issuecomment-531094040

I don't have strong opinions either way. If we introduce the new option then we should add documentation for it

In theory I don't want to set a larger highWaterMark at all, it basically means we are hiding an issue from users: that they didn't fully understand how stream works, and let 1 of the cloned stream buffer the entire content in memory instead. (because content flow into both cloned streams at the same time, if one is filling up, it will cause back-pressure on upstream, which pauses both streams.)

Fair point.

So here is the thing:

We introduce an API extension that will for sure make isomorphic users not happy.
We can't share similar highWaterMark as browsers, and people will surely run into back-pressure issue not experienced in browsers, mostly because of their own misunderstanding.
I don't know what we should do, let people experience their own fault or shield them from it in common cases.

Sticking to our motto "stay as close to the spec as possible without much differences".
what's the status of bringing whatwg streams into node?
If we switch to whatwg streams would it break stuff?
could we maybe increase the/set highWaterMark by some % of available memory but maybe still limit it to something with Math.max?
I have not had any problem with how it currently works, never had to clone anything using node-fetch so i don't have a strong opinion either

could we maybe increase the/set highWaterMark by some % of available memory but maybe still limit it to something with Math.max?

probably not safe, people do parallel fetching all the time, handling that means a lot more complexity.

what's the status of bringing whatwg streams into node?

Stream spec is getting more complex by the days, I just don't know if it's ever going to be in nodejs core. I do want to support the polyfill at some point though.

When creating this PR, I was following the suggested solution from this comment. I think what we should do, no matter what solution we choose, is to throw a specific error message, when the default highWaterMark limit is surpassed, so that users will know about the fact, that the default Node.js limit is different, than the one in the browser.

When creating this PR, I was following the suggested solution from this comment.

It's indeed my suggestion to pass highWaterMark via options. Though I always have some reservations on fixing the problem this way. Let me explain below.

no matter what solution we choose, is to throw a specific error message, when the default highWaterMark limit is surpassed

I don't think this is possible or desirable: back-pressure is simply a core mechanism of streams, it keeps the memory usage of nodejs process to a reasonable level.

We don't know the size of the stream beforehand, hence can't provide a message on clone() to inform users it may trigger back-pressure.
And when back-pressure kicks it, it simply pause the upstream and wait for the blocking downstream to drain, there is no inherent issues here.
What nodejs is saying: Users are solely responsible to let their downstream drain and not fill up.
But to the user's eyes: Their isomorphic application appears to "hang forever", and "it doesn't happen in browsers".

So my reservation on the fix has been:

The user will need to know their issue is caused by back-pressure to rise the highWaterMark cap.
But if they already know that, they might as well realize the correct solution is to pipe both of your clone stream to somewhere.
That is: say you have got a large JSON response stream, you want to run 2 different operations on it, so you clone it, then you are responsible to do them in parallel, not one after another.
Because doing it in sequence will require the idle stream to hold all data in memory, causing back-pressure.

So the solution we offer here is for users to be lazy, "just hold all of them in memory instead", well, my question is: if you don't care about memory, why use stream or clone? why not get a buffer() or text() or blob()?
/rant over

But all in all, I think users aren't going to think much on this:

That clone is essentially tee-ing the response stream (as defined in Fetch spec);
But instead copy-ing the content of response object (this is much more nature);
Fetch is after all, an easy to use, low-level API.

So I say, fine, merge this PR, give users an easy way out ^_^

(by the way, our tests actually illustrate 2 ways a cloned response can be used, and the reason people keep running into this problem is because they chose the sequential version, it's more nature to think that way...)

Before merging this PR, I will document this option ;)

I think we still need a doc section specifically to explain “why” and “why not” to change the highWaterMark, and some examples regarding how to resolve clone() stream in parallel, anyone up for the PR?
(From my phone)

On Sep 25, 2019, at 3:00, Antoni Kepinski<EMAIL_ADDRESS>wrote:
Merged #671 into 3.x.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@bitinn I agree, we should also edit the LIMITS.md file and update the section related to highWaterMark.


private event handlers, change watchers, databinding doesn't work

Uncaught Illegal argument(s): "_something" is a private identifier
It seems like a name is inferred from private members ending with 'Changed'
This is a regression since 0.7.6

This issue has been moved to dart-lang/smoke#11.


Inputs allow negative value

The Issue
The claim deposit input inside publish page allows a negative value.
Steps to reproduce

Open publish page
Go to Content URL > deposit
Add a negative value.

Expected behaviour
It should probably allow  0 or minimum but not negative.
Actual behaviour
A negative value it's assigned,
System Configuration

Configuration
Version

App
0.14.3

Daemon (lbrynet)
0.14.2

Wallet (lbryum)
3.1.4

Platform
Linux (Linux-4.10.0-28-generic-x86_64-with-elementary-0.4.1-loki)

Screenshots

https://github.com/lbryio/lbry-app/issues/398

Don't think #398 has anything to do with this one.

ok, I was just pointing out a similar issue, they are kind of related because both of them are: ux issue )

Less then two. I understand that this is not critical issue. I think you can change it to something like "pending" instead of negative value.

Fixed in Publish page, as well as in all LBC/USD hybrid inputs.

are you sure?? ^^ what about? -> #471

Merged #471.

Also I think would be better set  default prop min -> 0

If themin isn't a multiple of step, Chrome has some undesirable behavior when using the arrows (e.g. it will step 5 down to 4.91, with min=0.01 and step=0.1).


Allow to modify PythonProjectNodeProperties.CommandLineArguments

Added a set method on the PythonProjectNodeProperties.CommandLineArguments to allow extensions to modify this property.
I wanted to add support to Python Projects for https://github.com/MBulli/SmartCommandlineArgs/issues/9.
However, I couldn't find an easy way to modify the CommandLineArguments property without messing with your internal objects.
I don't know if there was a good reason not to put the set method, but I figured it might just be because there was no need before.

Hi @Cellule, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Michael Ferris). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Related issue #1078


Addition of more searching algorithms

i think i can add many searching algorithms for data structures here like linear,binary and sentinal search

Hey ! I feel this would be a really addition to the repository.
Go ahead @varsha-kss . Assigning this issue to you.


minor Flutter Tutorial 1.4: minor fix

For this tutorial:
https://developers.google.com/codelabs/first-flutter-app-pt1?continue=https%3A%2F%2Fdevelopers.google.com%2Flearn%2Fpathways%2Fintro-to-flutter%3Fhl%3Den%23codelab-https%3A%2F%2Fdevelopers.google.com%2Fcodelabs%2Ffirst-flutter-app-pt1&hl=en#3
On this section:
        body: Center(
          //child: Text('Hello World'),   // Replace this text...
          child: Text(wordPair.asPascalCase),  // With this text.

You might need to add this comment on the first line
        body: Center(  // Remove 'const'
          //child: Text('Hello World'),   // Replace this text...
          child: Text(wordPair.asPascalCase),  // With this text.

as the previous section "3. Create the initial Flutter app" has it as a "body: const Center"
This causes an error: "Error: Not a constant expression." which is not very helpful too.
yk

i would like to work on this issue can u guide me through?

@M-A-D-A-R-A this issue can only be fixed by the flutter team. afaik, its code isn't public.

The code is public in https://github.com/flutter/codelabs but the codelabs themselves are mostly Google Docs that go through a private publishing pipeline. Sorry @M-A-D-A-R-A, thanks for offering to help!

This was fixed at some point...


Why overwrite the original coordinates? It seems to be inconsistent with the description of the paper

https://github.com/zhulf0804/PointPillars/blob/a0e8af7204168a1823d8679cf2379576b4795a27/model/pointpillars.py#L77

Thanks for your question.
Please refer to this issue https://github.com/open-mmlab/mmdetection3d/issues/1307 I raised before.
Best regards.

Got it, thanks for the reply!


Add source

Describe your suggested feature
Add source (https://pandamtl.com/)
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.14.
[X] I will fill out all of the requested information in this form.

If this is an issue with a source, I should be opening an issue in the sources repository.


Use RTT when calculating remaining credit of flow control

To avoid blocking a sender, and to reasonably account for
the possibiity of loss, a receiver should send a MAX_DATA or
MAX_STREAM_DATA frame at least two roundtrips before it expects the
sender to get blocked.

How to get smooth rtt in QUICStream ? Should we save the pointer for loss detector ?

That would be a simplest way. I'd introduce RTTProvider interface if we are going to go that way because "Loss Detector" is not needed for flow control.

It seems we need to calculate the average  recv rate to "expect"  the sender to get blocked.

Yes, we need that too.
Receiver should send MAX_DATA frame before remaining credit gets lower than the calculated value (average recv rate * smoothed rtt * 2).

Closed with  #3441


w2field of type "enum" not working as expected in 1.5

I've noticed that the enum field in the demo will remove enum items from the drop-down menu that are already in the input.
However, in 1.5 this seems no longer to be working.
Furthermore searching does not work either in 1.5
You can reproduce the issue in this fiddle: https://jsfiddle.net/z0fngmac/2/
The problem still exists if you use items:  [ { id: 'ENUM_1', text: 'enum item 1' }, { id: 'ENUM_2', text: 'enum item 2' }, { id: 'ENUM_3', text: 'enum item 3' }, ] instead of items:  [ 'ENUM_1','ENUM_2','ENUM_3',  ]

Hi mike, please i need your help to save the date entries and list in mysql. I am a rookie and I tried but can not get to make it work. I could send my code. please ask you to help me or tell me where to look. my mail<EMAIL_ADDRESS>

@mendozada I'm assuming you've got the PHP server example running?
I don't know your date format for the column and I don't know your DB layout, but you should be able to log the data you receive on the server side and then figure out how to transform your w2ui date to a form that fits your database.
As for list items, they might be sent as a JSON object in the form { "id": "some id", "text": "some text" }, again, you should just log what your server receives and then transform the data accordingly.
If you've got a specific programming problem, you should create a question on http://stackoverflow.com/

Hi Mike, thank you very much for your interest and answer. If it is correct I'm using the server / php example. From mysql properly bring the json data and position on the grid.
I pass this link with example files.
https://mega.nz/#!8kUnSLiL
The problem is when I want to save.
Of course many many thanks

PR has been merged, closing issue.


gnupg: fix build on darwin

Can't use libusb on darwin

This build has failed trying to download something from hydra. I'm not sure how to re-run the build, but it should pass.

Looks fine to me, why not just push?

I am unaware of the process. It's been a while since I contributed anything, so I thought I should get some review before hand.

The re-ordering of the buildInputs will cause a mass-rebuild of anything that depends on gnupg. It would be better to do
   buildInputs
     = [ readline zlib libgpgerror libgcrypt libassuan libksba pth openldap bzip2 ]
    ++ stdenv.lib.optional (!stdenv.isDarwin) libusb
    ++ [ curl libiconv ];

even though it's ugly..

Ehh, it's only a handful of packages 10-20 that are mailreaders and the likes so it's not a big deal.

Ah true, I misread the giant list of packages to be fetched as to-be-built, and thought it was a mass-rebuild :)

Looks good to me then, any objections to merging?


Search players & clans

Implement player and clan searching. This screen should base on the current search screen with some minor improvements.

This is implemented in 34264d66.


upload  field only work up to 2 files and it is impossible to set the height in V1.5rc1

I have 2 problems with the file type field.
I'm using V1.5
Here is the definition of the field:
                        { field: 'file', type: 'file',
                          html: { label: 'Attachment', attr: 'style="width: 350px; height: 90px"', span: 7},
                          options: {
                            maxHeight: 90
                          }},

What is current behavior
1st problem:
Even though I've set the height of the field it sets to the default height which grows by adding files
2nd problem:
I cannot add by clicking or dropping more then 2 files.
But if I select from the same folder more than 2 files, it works, but afterwords there is no way to add more
I do not see in the source file where this limitation is set

I think, I've found the issue:
In the // adjust height section in w2fields.js you are never taking into account the defined size of the field.
By adding if (cntHeight < w2utils.getSize(div, 'height')) cntHeight = w2utils.getSize(div, 'height'); before the line if (div.length > 0) div[0].scrollTop = 1000; would solve both problems

I tried to repeat to do your suggestion, but do not see how it fixes the problem. I assume you are using it in the form. Can you provide a pull request, may be I am applying it wrongly. Then I can test too and see if all is good.
As for problem #2, it is a valid one. I have fixed it in 2.0, and the problem is because  is beneeth the list of files  and it is the same width. When there is more then one line, it will completely cover the input and would not respond to click. It can be fixed by css, I think. It is fixed here https://w2ui.com/web/demos/#/fields/5

Please submit PR to 1.5 branch


Improve Performance

Is your feature request related to a problem? Please describe.
Improve performance on tooling to allow faster build times.
Describe the solution you'd like

[ ] Rebuild tooling for get exported variables. Indicate whether variable is default or type. Do this using import/export slicer that get exported loader uses.
[ ] Add tests for get exported variables.
[ ] Remove extra imports/exports package.
[ ] Migrate type checker to alternative package for faster linting.
[ ] Add linting for all build files.
[ ] Add elapsed build time to build output and manifest.

Describe alternatives you've considered
N/A
Additional context
N/A

https://oxc-project.github.io/docs/guide/usage/linter.html

https://tsh.io/blog/how-to-speed-up-your-typescript-project/


invalid argument for ipv6 addr

Nov 23 09:59:27 san coredns[57145]: [DEBUG] plugin/geodns: Get "http://[fe80::8da:87ff:fe24:7d6b]:80": dial tcp [fe80::8da:87ff:fe24:7d6b]:80: connect: invalid argument
Nov 23 09:59:27 san coredns[57145]: [DEBUG] plugin/geodns: Get "http://[fe80::8e8:7eff:fef1:1207]:80": dial tcp [fe80::8e8:7eff:fef1:1207]:80: connect: invalid argument

It looks like this is a normal behaviour for link locals:
% telnet fe80::8da:87ff:fe24:7d6b 80
Trying fe80::8da:87ff:fe24:7d6b...
telnet: Unable to connect to remote host: Invalid argument


Color Error in Docker on WSL2

Windows Terminal version
1.18.2822.0
Windows build number
10.0.19045.0
Other Software
Docker Desktop 4.24.1
Zsh 5.9
Python 3.11
Steps to reproduce
Using docker exec -it <container> /usr/local/bin/zsh to attach to the running container.
Using python rich module to test color.
Expected Behavior
Color palette should be full and smooth.
Actual Behavior

This looks exactly like what I'd expect if docker was using ReadConsoleOutput to read the attributes of the text buffer manually, instead of using ConPTY to get the raw escape sequences. When an app does that, we've got to "round" the color to the nearest color table entry. I could have swore that we worked with the CExecSvc / dockerd folks to move over to conpty though... maybe they're using ConPTY in xterm mode instead of xterm-256color.
The last email I have on the subject was from 2018 with @jstarks - maybe he's got a better idea than me?

Docker for WSL2 does not use conpty. We should repro this and investigate this further.


need to rebuild certificate

The dem, as is doesn't work and I suspect it's because the certificates are now expired.

Nice catch! I think they are probably expired. I'll try to take a look this week or next.

Maybe do 9999 days instead? Btw. I get the error:

Error: self signed certificate


Youtube Downloading at low quality

By inputting a url of a video, it is always really bad quality, even though there are multiple higher-quality options on the video itself. I tried setting the frame_quality to 1, but that didnt change anything. I even tried modifying the link to have a higher quality (vq=hd2160).
Is there a fix for this, or is it a known bug?

There's a simple fix for this, but its in the code. You can modify the python file if you want. Around line 16 where it says name = YouTube(url).streams.first().download() replace that with name = YouTube(url).streams.get_highest_resolution().download()


Running pulsar 2.3.0 locally as standalone throws an exception

Describe the bug
I am trying to run pulsar 2.3.0 locally as standalone but i am getting an exception upon startup. I have successfully run it with pulsar 2.2.1. This is the corresponding stucktrace.
To Reproduce
Steps to reproduce the behavior:
Follow the instructions here to run pulsar 2.3.0 locally as standalone:
wget https://archive.apache.org/dist/pulsar/pulsar-2.3.0/apache-pulsar-2.3.0-bin.tar.gz
$ tar xvfz apache-pulsar-2.3.0-bin.tar.gz
$ cd apache-pulsar-2.3.0
$ bin/pulsar standalone

Expected behavior
Startup pulsar 2.3.0 locally as standalone successfully.
Desktop (please complete the following information):

OS: Linux

Hi!
The problem here is that there are not enough threads for jetty to initiate. One way I found to reproduce this on linux box is: taskset -c 0 ./bin/pulsar standalone
Also, I wasn't able to reproduce this with latest changes (master version) therefore, this issue might be already solved for future release 2.4, but is probably worth the effort to found it and backport the fix to 2.3 version, idk.
Are you trying to startup pulsar on a very limited machine or container (only 1 cpu available)?

This was fixed in #3776 and it's scheduled for 2.3.1 release

Oh great! I was driving crazy trying to find where the num of threads are being defined, thanks @merlimat !


relaunch nix-pypi-fetcher

The maximum size quota of the repo is reached: https://github.com/DavHau/nix-pypi-fetcher/actions/runs/3556707373/jobs/5974260270#step:4:3180
Solve this by:

creating a new repo: nix-pypi-fetcher-2
creating a commit on the old repo which throws an error when the default.nix is imported

I'd like to point out that at the current rate (one instance is about 200 MB, twice a day > 400MB/day),
and with git essentially having no'diff' based sharing between revisions - we're going to be here again in less than 250 days.

Why is there no diff based sharing. I thought git only stores the diff, and therefore it's more efficient than that.

BTW, today I put up https://github.com/DavHau/nix-pypi-fetcher-2

Re: does git store diff/patches
Let me refer to that mightiest of reference works, which has poisoned the search engines  so magnificently, StackOverflow:
https://stackoverflow.com/questions/40617288/a-commit-in-git-is-it-a-snapshot-state-image-or-is-it-a-change-diff-patch-delta/65375440#65375440
Do we have to be able to read the data with nix, or 'just' with python for mach-nix?

@TyberiusPrime In dream2nix we start using it as well and are reading with nix.
@DavHau @TyberiusPrime Instead of rewriting all files, we could experiment with formats where existing dumps are unchanged and info for new versions ends up in new files.

Expressing diffs withing the repo as files will impact evaluation performance as nix then has to merge attribute sets.
We could have one file per package name. That would minimize the git commit size significantly I assume, because only a fraction of the packages on pypi are actively maintained. All the rest would never or rarely be changed.
Though there is also a cost to having many small files.
Looking at all-cabal-json for example, there we have 3 files per package release, which is more than 500k files in total. Despite its tarball being 30% smaller than nix-pypi-fetcher's it takes more than twice the time to unpack (I'm running this on a modern SSD):
grmpf@grmpf-nix /t/test> ls -lah
total 485M
...
-rw-r--r--  1 grmpf users 194M Dec  8 23:19 all-cabal-json.tar.gz
-rw-r--r--  1 grmpf users 291M Dec  8 23:17 nix-pypi-fetcher.tar.gz

grmpf@grmpf-nix /t/test> time tar xf all-cabal-json.tar.gz
________________________________________________________
Executed in   27.61 secs    fish           external
   usr time   28.55 secs    0.00 millis   28.55 secs
   sys time    9.78 secs    1.86 millis    9.77 secs

grmpf@grmpf-nix /t/test> time tar xf nix-pypi-fetcher.tar.gz
________________________________________________________
Executed in   12.45 secs    fish           external
   usr time   12.19 secs    1.03 millis   12.19 secs
   sys time    2.67 secs    1.01 millis    2.67 secs

grmpf@grmpf-nix /t/test> find all-cabal-json-hackage/ | wc -l
537384

grmpf@grmpf-nix /t/test> find nix-pypi-fetcher-master/ | wc -l
276

Pypi currently has 433,794 packages, therefore, having one file per project would result in similar unpack performance like all-cabal-json.
Maybe some solution that combines the best of both world would be optimal, like for example:

reduce the update interval to once a day instead of twice a day.
Keep the current structure with 256 files
for the daily updates, add individual files to the repo containing only changes
once per month, aggregate the small files and add the information to the 256 large fields

With this we would still have regular updates, but the large files would only be touched every once in a while, which should reduce the total size of the repo history.

Sounds like a plan.
For lots of files, I'd suggest a prefix tree directory structure - my nix store gets troublesome when it exceeds a few 100k derivations.

@DavHau @TyberiusPrime How about:

one file per package and release containing hashes for all its files - this should never change again
use prefix tree directory structure as suggested by @TyberiusPrime
don't unpack the full tarball, but only extract the exact file needed?

What queries do we have against the nix-pypi-fetcher db?

What queries do we have against the nix-pypi-fetcher db?

Usually we know the list of packages that we want to query upfront, so this could work in principle.
The problem with that is, that nix itself does not have an operation for extracting a single file from a tarball. We would have to use an IFD for that, which would impact performance and have some other unwanted side-effects.
Another way to implement this, could be to create a new FOD fetcher, which gets as an input the nix-pypi-fetcher.tar.gz, and the metadata for the requested package, then extracts only that information within the FOD and fetches it. That prevents any usage of IFD for that operation and should still be efficient. We might want to use the .zip file instead of the tarball, as tarballs don't have an index and random access is more expensive than with .zip.

Another way to implement this, could be to create a new FOD fetcher, which gets as an input the nix-pypi-fetcher.tar.gz, and the metadata for the requested package, then extracts only that information within the FOD and fetches it. That prevents any usage of IFD for that operation and should still be efficient. We might want to use the .zip file instead of the tarball, as tarballs don't have an index and random access is more expensive than with .zip.

OOps, that won't work, because we need to know the hash upfront, before constructing the FOD :/

Ok, so the naive implementation of one file per package in a prefix tree, named 'package.json' more than doubles the size of the zip file, and the unpack time goes from 5 seconds to 45. (on tmpfs / ramdisk).
Using 'ckage' as the file name makes on difference to the zip size.
A tar with those files is only 97M. I think tar is able to compress across files
while zip only compresses within a file (=not at all in this case).
The tar ball unpacks in 25 seconds.
But just for storage space in the git repo, we might gzip the individual 256 files we have right now?  That'd be transparent for python, not sure about nixlang. We gain a factor of 2.
The only way I see around 'not fetching the complete database' is if we turn it into a multi level thing... first level (the hash the user enters) provides all the FOD-hashes for the second level with the actual data.
Sharding would take some creativity though.
Just 1st+2nd letter causes very different sized blocks - min 1K, max 26M (way too many packages with 'py' ;)).

How about we don't use file content at all, but encode everything in the file names?

How about we don't use file content at all, but encode everything in the file names?

I like this idea!
An alternative. Have one repo (e.g. flake) that keeps track of the state. And then another n amount of contents repos containing the data of interest. Every week or so a new repo is created. The state repo is always aware of the contents repo it needs to refer and which revision.


minus_op and so on

Removing the const reference from operator() functions in the mimus_op and other structures gives us more faster code even for complex classes.
https://godbolt.org/g/nug99B
for the add_op the best solution is that
struct add_op : arithmetic_op {
template<class Lhs, class Rhs>
constexpr auto operator()(Lhs lhs, const Rhs& rhs) const noexcept(noexcept(lhs += rhs)) -> decltype(lhs+rhs) {
    lhs += rhs;
    return lhs;
}
};

Thanks for the observations. I aim to provide zero-cost abstractions but put most of my effort into ensuring the right API design so any feedback on performance is very valuable.
Your example, cls is a more complex than a fundamental type but it may still be pretty easy to optimize for compared to more complicated types such as, say, Boost.Multiprecision. Also, when I add the -O3 flag, the compiler eats up all of the code in your example so it's hard to determine what really strains the optimizer.
Also, I have not really explored using uvalues (xvalues? I loose track), i.e. (Rhs&& rhs).
Regarding the technique of passing a copy as the first parameter, that's a good approach. But unfortunately, I am maintaining support for C++11 which does not allow statements which mutate state (or indeed anything that isn't a return statement). So the lhs += rhs; generates a compiler error.


[eckit] spack install --test=root -n -v eckit @1.20.0 is flaky

spack install --test=root -n -v eckit @1.20.0 sometimes works on balfrin https://jenkins-mch.cscs.ch/job/Spack/job/spack_PR/1099/artifact/log/balfrin/system_test/Eckit-install_1_20_0.log and sometimes doesn't https://jenkins-mch.cscs.ch/job/Spack/job/spack_PR/1102/artifact/log/balfrin/system_test/Eckit-install_1_20_0.log. This is why the test was deactivated.
This was the error:
==> Testing package eckit-1.20.0-folst6i
==> [2023-06-27-16:54:21.993727] Running build-time tests
==> [2023-06-27-16:54:21.994035] ('RUN-TESTS: build-time tests [check]',)
==> Error: ProcessError: Command exited with status 2:
    'make' '-j12' 'test'

66 warnings found in build log:
     425     cd /scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack
             _PR/spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawh
             w626co7ke6tnm/spack-build-folst6i/src/eckit && /scratch/e1000/mete
             oswiss/scratch/jenkins/workspace/Spack/spack_PR/spack/lib/spack/en
             v/gcc/g++ -Deckit_EXPORTS -I/scratch/e1000/meteoswiss/scratch/jenk
             ins/workspace/Spack/spack_PR/spack-build_stage/spack-stage-eckit-1
             .20.0-folst6igt6243o4yawhw626co7ke6tnm/spack-build-folst6i/src -I/
             scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack_PR/
             spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawhw626
             co7ke6tnm/spack-src/src -pipe -Wall -Wextra -Wno-unused-parameter
             -Wno-unused-variable -Wno-sign-compare -O2 -g -DNDEBUG -fPIC -std=
             gnu++11 -MD -MT src/eckit/CMakeFiles/eckit.dir/filesystem/FileMode
             .cc.o -MF CMakeFiles/eckit.dir/filesystem/FileMode.cc.o.d -o CMake
             Files/eckit.dir/filesystem/FileMode.cc.o -c /scratch/e1000/meteosw
             iss/scratch/jenkins/workspace/Spack/spack_PR/spack-build_stage/spa
             ck-stage-eckit-1.20.0-folst6igt6243o4yawhw626co7ke6tnm/spack-src/s
             rc/eckit/filesystem/FileMode.cc
     426     In file included from /scratch/e1000/meteoswiss/scratch/jenkins/wo
             rkspace/Spack/spack_PR/spack-build_stage/spack-stage-eckit-1.20.0-
             folst6igt6243o4yawhw626co7ke6tnm/spack-src/src/eckit/container/BTr
             ee.h:274,
     427                      from /scratch/e1000/meteoswiss/scratch/jenkins/wo
             rkspace/Spack/spack_PR/spack-build_stage/spack-stage-eckit-1.20.0-
             folst6igt6243o4yawhw626co7ke6tnm/spack-src/src/eckit/container/Cac
             heManager.cc:18:
     428     /scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack_PR
             /spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawhw62
             6co7ke6tnm/spack-src/src/eckit/container/BTree.cc: In instantiatio
             n of 'bool eckit::BTree<K, V, S, L>::insert(long unsigned int, con
             st K&, const V&, std::vector<long unsigned int>&) [with K = eckit:
             :FixedString<32>; V = eckit::CacheManagerBase::cache_entry_t; int
             S = 65536; L = eckit::BTreeLock]':
     429     /scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack_PR
             /spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawhw62
             6co7ke6tnm/spack-src/src/eckit/container/BTree.cc:144:12:   requir
             ed from 'bool eckit::BTree<K, V, S, L>::set(const K&, const V&) [w
             ith K = eckit::FixedString<32>; V = eckit::CacheManagerBase::cache
             _entry_t; int S = 65536; L = eckit::BTreeLock]'
     430     /scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack_PR
             /spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawhw62
             6co7ke6tnm/spack-src/src/eckit/container/CacheManager.cc:101:22:
              required from here
  >> 431     /scratch/e1000/meteoswiss/scratch/jenkins/workspace/Spack/spack_PR
             /spack-build_stage/spack-stage-eckit-1.20.0-folst6igt6243o4yawhw62
             6co7ke6tnm/spack-src/src/eckit/container/BTree.cc:206:12: warning:
              'void* memmove(void*, const void*, size_t)' writing to an object
             of type 'struct eckit::BTree<eckit::FixedString<32>, eckit::CacheM
             anagerBase::cache_entry_t, 65536, eckit::BTreeLock>::LeafEntry' wi
             th no trivial copy-assignment; use copy-assignment or copy-initial
             ization instead [-Wclass-memaccess]
     432       206 |     memmove(e + 1, e, count * sizeof(LeafEntry));
     433           |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     434     In file included from /scratch/e1000/meteoswiss/scratch/jenkins/wo
             rkspace/Spack/spack_PR/spack-build_stage/spack-stage-eckit-1.20.0-
             folst6igt6243o4yawhw626co7ke6tnm/spack-src/src/eckit/container/Cac
             heManager.cc:18:

Same thing also happens on daint:
Here it worked: https://jenkins-mch.cscs.ch/job/Spack/job/spack_PR/1099/artifact/log/daint/system_test/Eckit-install_1_20_0.log
And here it didn't: https://jenkins-mch.cscs.ch/job/Spack/job/spack_PR/1102/artifact/log/daint/system_test/Eckit-install_1_20_0.log
That's the error:
==> Testing package eckit-1.20.0-axqrvlc
==> [2023-06-27-16:58:54.179786] Running build-time tests
==> [2023-06-27-16:58:54.179942] ('RUN-TESTS: build-time tests [check]',)
==> Error: ProcessError: Command exited with status 2:
    'make' '-j12' 'test'

63 warnings found in build log:
     432     cd /scratch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_s
             tage/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spa
             ck-build-axqrvlc/src/eckit && /scratch/snx3000/jenkins/workspace/S
             pack/spack_PR/spack/lib/spack/env/gcc/g++ -Deckit_EXPORTS -I/scrat
             ch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_stage/spac
             k-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-build-
             axqrvlc/src -I/scratch/snx3000/jenkins/workspace/Spack/spack_PR/sp
             ack-build_stage/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5
             emoa6il/spack-src/src -pipe -Wall -Wextra -Wno-unused-parameter -W
             no-unused-variable -Wno-sign-compare -O2 -g -DNDEBUG -fPIC -std=gn
             u++11 -MD -MT src/eckit/CMakeFiles/eckit.dir/filesystem/FileSpace.
             cc.o -MF CMakeFiles/eckit.dir/filesystem/FileSpace.cc.o.d -o CMake
             Files/eckit.dir/filesystem/FileSpace.cc.o -c /scratch/snx3000/jenk
             ins/workspace/Spack/spack_PR/spack-build_stage/spack-stage-eckit-1
             .20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-src/src/eckit/filesys
             tem/FileSpace.cc
     433     In file included from /scratch/snx3000/jenkins/workspace/Spack/spa
             ck_PR/spack-build_stage/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ
             2owd6rp5emoa6il/spack-src/src/eckit/container/BTree.h:274,
     434                      from /scratch/snx3000/jenkins/workspace/Spack/spa
             ck_PR/spack-build_stage/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ
             2owd6rp5emoa6il/spack-src/src/eckit/container/CacheManager.cc:18:
     435     /scratch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_stag
             e/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-
             src/src/eckit/container/BTree.cc: In instantiation of 'bool eckit:
             :BTree<K, V, S, L>::insert(long unsigned int, const K&, const V&,
             std::vector<long unsigned int>&) [with K = eckit::FixedString<32>;
              V = eckit::CacheManagerBase::cache_entry_t; int S = 65536; L = ec
             kit::BTreeLock]':
     436     /scratch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_stag
             e/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-
             src/src/eckit/container/BTree.cc:144:12:   required from 'bool eck
             it::BTree<K, V, S, L>::set(const K&, const V&) [with K = eckit::Fi
             xedString<32>; V = eckit::CacheManagerBase::cache_entry_t; int S =
              65536; L = eckit::BTreeLock]'
     437     /scratch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_stag
             e/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-
             src/src/eckit/container/CacheManager.cc:101:33:   required from he
             re
  >> 438     /scratch/snx3000/jenkins/workspace/Spack/spack_PR/spack-build_stag
             e/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ2owd6rp5emoa6il/spack-
             src/src/eckit/container/BTree.cc:206:12: warning: 'void* memmove(v
             oid*, const void*, size_t)' writing to an object of type 'struct e
             ckit::BTree<eckit::FixedString<32>, eckit::CacheManagerBase::cache
             _entry_t, 65536, eckit::BTreeLock>::LeafEntry' with no trivial cop
             y-assignment; use copy-assignment or copy-initialization instead [
             -Wclass-memaccess]
     439       206 |     memmove(e + 1, e, count * sizeof(LeafEntry));
     440           |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     441     In file included from /scratch/snx3000/jenkins/workspace/Spack/spa
             ck_PR/spack-build_stage/spack-stage-eckit-1.20.0-axqrvlcs74spf3squ
             2owd6rp5emoa6il/spack-src/src/eckit/container/CacheManager.cc:18:


mixer.c: Don't affect the music fade by master volume

Made instead of #390. Instead of making the master volume feature work with music too, there is a fixed bug that distorts the behavior of the music fade when the master volume is not maximum.

Ouch... gonna update my branch and push this again...

Hasn't this already been done? https://github.com/libsdl-org/SDL_mixer/commit/c0f1cffbbf8f693ad74a1be51b44d6f7fed661ba

Right, didn't seen that yet.


[planning] Apollo stops for pedestrian behind.

Hi team,
I ran some testings with LGSVL and Apollo 5.0 stack.
and came across this issue where Apollo stopped for a pedestrian it already passed.
Here's video
Here's runtime recording with cyber_recorder
Steps to Reproduce
start Apollo 5.0 docker containers
start bootstrap.sh
open browser, select vehicle Lincoln2017MKZ, and map Borregas Ave
cyber_recorder play -f xxx.rec.0000 -l
Expected behavior
Since Apollo has already passed the pedestrian, I'm not sure why it still chose to brake for the pedestrian crossing behind.
Desktop
OS: Ubuntu 1804
Browser chrome

@ntutangyun this is as expected. based on the position/heading/speed of the pedestrian, planning makes the decision to stop for the pedestrian. When the stop wall shows up, the pedestrian is still ahead of ADC longitudinally.  But because of the safety longitudinal distance between ADC and the pedestrian, the stop wall falls on the ADC body and would cause hard brake.  We can improve this in future release (probably by ignoring this pedestrian in this case, not sure still need to investigate further to see how safe it is). For now, safety is our #1 consideration. You should stop when you should.


Does GetValueAsync() Timeout ?

Hi.
Is there a way to timeout GetValueAsync() ? If I login, then disable my wifi and then do a GetValueAsync() it blocks indefinitely. I'm running the following code inside a Task.Run(() => {})
static public bool Exists(string something)
{
    bool exists = false;
    DatabaseReference db = FirebaseDatabase.DefaultInstance.RootReference;
    db.Child("Something").OrderByChild("SomeProperty").EqualTo(something).GetValueAsync().ContinueWith(s =>
    {
        if (s.IsFaulted || s.IsCanceled)
        {
            throw new SomeException();
            return;
        }
        exists = true;
    }).Wait();

    return exists;
}

Should I be checking for the existence of a child in some other way ?
Thanks!

ok

@rvlietstra you need to perform your own network detection I'm afraid.  The API is designed to complete a transaction when the network becomes available.

Hi @stewartmiles.
Ok, so I guess  Application.internetReachability == NetworkReachability.NotReachable is what I need to check before I do anything with firebase.
There does then seem to be a race condition where I could check for connectivity which is then dropped before I execute the code. The mobile's awareness of connectivity could probably also be delayed by seconds.
It seems I cannot do the simplest data operation, checking if a value exists, without possibly hanging my app. Is there a way to cancel the task if it takes too long ? I'm using .net 3.5. There really needs to be an example for this (Maybe I'm just missing it)
Thanks for the reply!

@rvlietstra there is an example here https://github.com/firebase/quickstart-unity/blob/master/database/testapp/Assets/TestApp/UIHandler.cs#L77 that shows how you could respond to changes from the server.
If you're setting values and want to ensure they're sent, you'll need to check connectivity for the duration of the transaction.  In your example, you're blocking on sending the value but you can poll tasks as well (e.g turning the task into a coroutine https://github.com/firebase/quickstart-unity/blob/master/storage/testapp/Assets/TestApp/UIHandler.cs#L116).

@stewartmiles ok, by polling the task's completion and throwing a TimeoutException I believe I'm getting what I expect. The task still runs when connectivity is reestablished, but its just setting a local variable, so no harm.   I would be interested in any comment on this code, how do I make this better ?
Thanks!
static public bool Exists(string somePropertyValue, CancellationToken cancellationToken)
    {
        // Get the root reference location of the database.
        DatabaseReference db = FirebaseDatabase.DefaultInstance.RootReference;

        // Check if we already have an entry for this post
        bool exists = false;
        Task task = db.Child("Something").OrderByChild("SomeChildProperty")
                           .EqualTo(somePropertyValue).GetValueAsync().ContinueWith(t =>
        {
            exists = t.Result.Exists;
        });

        // Poll the task's status
        DateTime startTime = DateTime.Now;
        while(!task.IsCompleted)
        {
            // Check if we are waiting too long o
            if ((DateTime.Now - startTime).TotalSeconds > TimeoutSeconds)
                throw new TimeoutException();

            // Check if a cancelation has been requested
            cancellationToken.ThrowIfCancellationRequested();

            // Wait a bit more
            Thread.Sleep(100);
        }

        // Check if the task is faulted
        if (task.IsFaulted)
            throw task.Exception;

        //
        return exists;
    }


[Tooltip] Clicking link inside Tooltip doesn't open

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
https://codesandbox.io/s/kind-kowalevski-xnncgc?file=/demo.tsx

Click the icon button. (Just hovering doesn't reproduce the issue.)
Click the link.

Current behavior 😯
The tooltip closes on the second mousedown event, and the link doesn't open.
Expected behavior 🤔
The tooltip stays open on the second mousedown events, so that the link opens.
Context 🔦
The link opens if you only hover the icon button.
Adding PopperProps: { onMouseDown: e => e.preventDefault() } to Tooltip's default props fixes the issue.
Your environment 🌎
Chrome - Version 106.0.5249.119 (Official Build) (x86_64)
macOS Monterey 12.6

@emlai
I tried to test this in Brave browser, and I am able to redirect to the link.

@PunitSoniME I reproduced this on Chrome. Added more details to the issue description.

I have tested in both Chrome and Firefox and it worked properly

I can reproduce it with Chrome. @jesrodri @PunitSoniME Did you click IconButton before the link?

I tried to reproduce this error in different ways and I noticed that the IconButton is not the problem at all. It may be something with the button element: if you replace the IconButton with a simple button, the behavior is the same. There is no problem when the button is replaced with another element, such as div or h1, for example.

The problem is probably in the Tooltip or Popper since overriding PopperProps.onMouseDown fixes the issue.

I think this issue is likely to have the same origin of the bug as this issue https://github.com/mui/material-ui/issues/34973

Text selection inside the tooltip is also overridden. Updated the issue accordingly.

To prevent the tooltip from closing upon clicking inside its content try adding this to the Tooltip component:
PopperProps: {
      onClickCapture: e => { e.preventDefault(); },
    },

@emlai, the tooltip closes due to a blur event triggered when clicking inside it after the focus event on the icon button.
It seems like the Icon button doesn't show any visual indication of being focused. However, based on my understanding, the focus event occurs before the click event, and we're triggering the tooltip to open when its child receives focus.
It is also related #30973. You can resolve this issue by using the disableFocusListener prop. You can see this in the following sandbox: https://codesandbox.io/p/sandbox/thirsty-meadow-lml54z.
Does this work for you? Should we close the issue?


[feature request] Add open in collab badge

have a look at these notebooks:
https://github.com/HelmholtzAI-Consultants-Munich/XAI-Tutorials/tree/main/xai-model-agnostic


Is there any option to replace Resource View with time and vice versa

Is there any option to replace Resource View with time and vice versa? for example i need timings on top and the resources on left.

Unfortenutly not possible
I will close this as not planned
I don't think I can add this anytime soon


Qutebrowser@ manifest adapted to version 3.0.0 /no win-32 support anymore

Closes #11806

Relates to #XXXX

[x] I have read the Contributing Guide.

/verify


DBDAART-5011 Update CODEOWNERS to remove DC members

What is this and why are we doing it?
Earlier this month, we cut-over production of TAF to the DataConnect platform. Now that the run has completed, we need to refine the individuals responsible for maintaining the ETL contained in this repository.

Link to the Jira ticket for this change: https://jiraent.cms.gov/browse/DBDAART-5011

What are the security implications from this change?
This change does not introduce any new security implications.
How did I test this?
I confirmed my changes to CODEOWNERS were syntactically correct in the branch's commit history.
Should there be new or updated documentation for this change? (Be specific.)
I don't think any specific documentation is needed for this change, as the contents of the CODEOWNERS file should be sufficient.
PR Checklist

[x] The JIRA ticket number and a short description is in the subject line
[x] My code follows any applicable style guides
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

@a-pfeiffer FYI, not sure I should merge this since there are several feature branches for CCB changes?

What's going on with this PR. I would certainly like to no longer be in the CODEOWNERS.

@C1KB-tensileai Scott, I am good with you merging this in when you see fit.


default margin and padding

hi
how can i change default margin and padding for CustomDropdown?

Yup. Can you allow to play with margin and padding.

I am waiting also for this.
Want to handle custom padding and margin also shadow option.
BTW after using 4-5 dropdowns packages finally i am satisfied with this package.
Thanks.

Hey everyone @quensh93 @mufazmi @92sajid110
I'll be releasing version 2.1.0 in few days. It will include the properties related to dropdown shadow and overall paddings (header, list item, overlay) :blush:
Thanks for taking interest :thumbsup:

We are waiting eagerly for this update.
Thanks in advance.

Hey everyone @quensh93 @mufazmi @92sajid110 I'll be releasing new version in few days. It will include the properties related to dropdown shadow and overall paddings (header, list item, overlay) 😊 Thanks for taking interest 👍

The package is great and I appreciate your effort in making it better but things like this shouldn't be breaking in the first place since the package is already in 2.0.0. Suddenly all of my dropdowns UI was changed and I need to wait for the update now.

Hey everyone @quensh93 @mufazmi @92sajid110 I'll be releasing new version in few days. It will include the properties related to dropdown shadow and overall paddings (header, list item, overlay) 😊 Thanks for taking interest 👍

The package is great and I appreciate your effort in making it better but things like this shouldn't be breaking in the first place since the package is already in 2.0.0. Suddenly all of my dropdowns UI was changed and I need to wait for the update now.

Hey @arafaysaleem Thanks for the feedback. The things I mentioned above are not related to any fixes so shouldn't be breaking anything at all. It just customisation of this package (overall) was not made available and you may feel restricted due to this.

Hey everyone @quensh93 @mufazmi @92sajid110 I'll be releasing new version in few days. It will include the properties related to dropdown shadow and overall paddings (header, list item, overlay) 😊 Thanks for taking interest 👍

hey what is the expected time for this release ?? btw nice work though!!

Hey @AyushTripathi28 Thanks. Hopefully, in a day or two!

Hey guys @quensh93 @mufazmi @92sajid110 @arafaysaleem @AyushTripathi28
Just released 3.0.0. Lots of new changes with some breakings. You guys can check, Thanks 👍


added ValidateMapsConnection

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/7961

Dear @JohanFreelancer9,
kindly do the copy editor review for this PR.
Dear @e0i, for your information
Thank you


Is this project still hot?

This project has 47 pull requests and some of them look legit and are becoming old.
What about upgrading to React 15?
Thanks for the good work guys.

Doesn't look like it. I just came here to report that the async-connect package that this project uses is abandoned as well then I saw the number of open issues and latest commits.

Should upgrade to use this?https://github.com/makeomatic/redux-connect

I already did. I was omv here to report that it fits nicely with little work.

I opened this ticket because I am worry to see 47 PR waiting and a lot of them look legit.
Is there any reason why those PR are not merged to master?
This project is great so I am sure there is a good reason behind.

@ciokan Could you share your integration/solution in a gist or PR?

Just search the project for every instance of redux-async-connect and replace with redux-connect. Worked out of the box for me


Add CallbackHandle to pallet-assets

This PR adds an option to register callbacks for pallet-assets which are invoked when a new asset is created or an existing one destroyed.
It's a simple change but requires a small runtime code update.
Benchmarks shouldn't be impacted in case default empty implementation is used.
cumulus companion: https://github.com/paritytech/cumulus/pull/1947
Closes #12279
TODO

[x] unit test
[x] Companion PR

@Dinonard Thanks for making this PR!
I've thinking a bit about this and it raises two questions:

Is this not a usecase that could be covered by subscribing to the generated events?
How will these callbacks interact with extrinsic weights? For eg, what if the caller of the function does very expensive calculations or storage operations in the callback? Won't we be unable to generate a correct weight in that state? And won't that be a possible attack vector?

cc @joepetrowski @jsidorenko

Hi @tonyalaribe!

Is this not a usecase that could be covered by subscribing to the generated events?
Event subscription is for interacting with the client, it's not part of the state transition function, so I don't believe this is applicable here.

How will these callbacks interact with extrinsic weights?
In case current pallet-assets users don't use this callback, they can just keep the weight as they are. In case they decide to introduce new custom logic, they have to rerun the benchmarks themselves and use the new generated weights instead.

The CI pipeline was cancelled due to failure one of the required jobs.
The job name - cargo-check-benches
The job logs - https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/1966720

The CI pipeline was cancelled due to failure one of the required jobs.
The job name - cargo-check-benches
The job logs - https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/1966721

The CI pipeline was cancelled due to failure one of the required jobs.
The job name - cargo-check-benches
The job logs - https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/1969864

The CI pipeline was cancelled due to failure one of the required jobs.
The job name - cargo-check-benches
The job logs - https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/1969865

I put it into the audit queue.

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2119553

@ggwpez sorry if this is a silly question, but could you tell me if and what I can do next?
Should I prepare cumulus companion? I see that contributing guide references polkadot companions, doesn't mention cumulus though.

Sorry did not see.
We are waiting for audit. I will give them another ping. Better not change any code anymore then.
Your Cumulus companion looks good! Exactly how its done :laughing:

bot merge

Can this be merged? :slightly_smiling_face:

bot merge

Can this be merged? slightly_smiling_face

@Dinonard Well, i tried. You see the error message from the bot:

Error: Github API says "Allow edits from maintainers" is not enabled for https://github.com/paritytech/cumulus/pull/1947. The bot would use that permission to push the lockfile update after merging this PR. Please check https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.

@Dinonard Well, i tried. You see the error message from the bot:

Thanks!
Not sure what to make of that error but in cumulus companion it says:

Rule "Runtime files" needs in total 2 DISTINCT approvals, but 1 were given.

Quite strange given that that there are two distinct approvals.

Quite strange given that that there are two distinct approvals.

You need another approval from someone in the polkadot-review group.

bot merge

You still did not update the Cumulus PR to be edit-able by maintainers @Dinonard

You still did not update the Cumulus PR to be edit-able by maintainers @Dinonard

Do you know how we can enable "allow edits by maintainers" from a fork that lives under an org account? This thread suggests that that is not possible. Worst case, we'll have to close this PR and open a new one from an individual account fork

…or you manually merge this.

Yea. Then we know this for the future.

…or you manually merge this.

Yea. Then we know this for the future.

Thanks!
I initially checked with @hoonsubin since I thought it might be due to me not having admin privileges under AstarNetwork/cumulus.
Should I modify the companion PR by updating the .lock file to point to latest master?

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-37/1736/1


Node inventory: dynamic

Support changing of plugins etc installed on a node
Reschedule jobs based on these changes

We should pick this up again, since Engine now generates events for plugin actions. #840 might need to be fixed first, in case it's still an issue.

Bumping this to P1.
We don't need to actually re-schedule tasks though. What we do need however is to refresh the list of plugins at the orchestration layer.
This list comes from the agent when it calls Describe on the executor.
What I propose is the following:

At the beginning, Agent calls Describe and sends that up as part of the session (already implemented)
The agent periodically calls (every few seconds) Describe and does a deep comparison with the previous version. If it detects changes, it somehows sends them up to the dispatcher
There are multiple ways to do so. Probably the easier is to just kill the session and start a new one. @stevvooe ?

This will give us a few nice properties:

Loading a plugin on a node will be reflected on the scheduler
Changing a label of an engine dynamically will be taken into account by the constraints

@aluzzardi We are doing this on session startup, but it may be okay to have a separate service method for the node to update characteristics, as this seems to be a coming use case. Session tear down can be expensive and having a timer do it may be problematic, verses just spawn a loop that calls a method every so often.

@nishanttotla @stevvooe Friendly ping - what have we decided with this? Are we going to re-revert for 1.13?

@aluzzardi @nishanttotla and @dperny have some nice PRs that need to get merged for 1.13.

We have #1230 that's ready to merge, following which I need to reopen #1174, which should be mostly stable with that. Should we do this before 1.12.1, or after?

@nishanttotla This will be for 1.13.
Open a new PR for the changes from #1174 and get the lineage organized so we can merge it cleanly after 1.12.1.

BTW, there's no need to wait for 1.12.1 to do the merge. We're maintaining a special branch that will be vendored in 1.12.1 (bump_v1.12.1). Every change that targets 1.12.1 gets cherry-picked to that branch.

Indeed - feel free to merge whatever you want (as long as it's not a refactoring - it'd make cherrypicking a nightmare)


standard --fix does not recognize plugin 'classPrivateMethods'

What version of this package are you using?
What operating system, Node.js, and npm version?
OS: Debian GNU/Linux 10 (buster) x86_64
Node: 14.3.0
NPM: 6.14.5
What happened?
Sublime Text's linter for standard recognizes the plugin classPrivateMethods and everything works great. However, calling standard --fix gives this error:
standard: Unexpected linter output:

Error: Failed to load plugin 'classPrivateMethods' declared in 'CLIOptions': Cannot find module 'eslint-plugin-classPrivateMethods'

Here is my package.json:
  "standard": {
    "ignore": [
      "/.cache/",
      "/dist/"
    ],
    "env": [
      "jest"
    ],
    "plugins": "classPrivateMethods",
    "parser": "babel-eslint"
  },
  "author": "kibe",
  "license": "ISC",
  "devDependencies": {
    "@babel/plugin-proposal-class-properties": "^7.10.1",
    "@babel/plugin-proposal-private-methods": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "babel-eslint": "^10.1.0",
    "babel-jest": "^26.0.1",
    "babel-plugin-rewire": "^1.2.0",
    "eslint": "^7.2.0",
    "eslint-plugin-babel": "^5.3.0",
    "husky": "^4.2.5",
    "jest": "^26.0.1",
    "standard": "^14.3.4"
  },

and the babel.config.cjs:
module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        targets: {
          node: 'current'
        }
      }
    ]
  ],
  plugins: [
    'babel-plugin-rewire',
    "@babel/plugin-proposal-private-methods",
    '@babel/plugin-proposal-class-properties'
  ]
}

What did you expect to happen?
I am not sure how related the Sublime Text's standard linter plugin are (StandardLinter-contrib-standard) but it works great when enabling the classPrivateMethods plugin. However, standard --fix does not.
Are you willing to submit a pull request to fix this bug?
Yes

Plugins should be an array, perhaps.

You may be running two different versions of standard, one local and one global. What do you get when you run:
npx standard --version
standard --version

I'm closing this issue since I doubt there's a bug to fix here, but feel free to continue discussion! ✨


chore(api): mutable API preliminary work

Summary
Initial work on mutable/ root tree API. There are still some work that needs to be done to complete the API (public/private root merge, blockstore ref only, etc.) but this is as far as we can go right now.
Test plan (required)
scripts/rs-wnfs.sh test

Closing issues

The unused lint errors can be ignored since the API is not public yet.


clarify error about XML ID

I received this error about ncx "Error while parsing file 'value of attribute "id" is invalid; must be an XML name without colons'." The ID in ncx was the same as the path to the content ("L1-ESN2014J-R12.xhtml#r12-sec-0003). The hash triggered the error. (Earlier IDs included hyphens, and no error reported). A clearer error message that does not single out colon would be helpful. There are many disallowed characters in XML IDs (http://www.w3.org/TR/REC-xml/#sec-common-syn).

Hi Tzviya,
A colon is a valid character in an xml name, though; it's xml namespaces that assigns it a purpose. To exclude it as invalid, It has to be singled out.
Matt
From: Tzviya<EMAIL_ADDRESS>Sent: May 5, 2015 4:11 PM
To: IDPF/epubcheck
Subject: [epubcheck] clarify error about XML ID (#533)
I received this error about ncx "Error while parsing file 'value of attribute "id" is invalid; must be an XML name without colons'." The ID in ncx was the same as the path to the content ("L1-ESN2014J-R12.xhtml#r12-sec-0003). The hash triggered the error. (Earlier IDs included hyphens, and no error reported). A clearer error message that does not single out colon would be helpful. There are many disallowed characters in XML IDs (http://www.w3.org/TR/REC-xml/#sec-common-syn).
—
Reply to this email directly or view it on GitHub https://github.com/IDPF/epubcheck/issues/533 .

Makes sense, but I git this error only on ids with hashes (abd no colons)
On May 5, 2015 7:23 PM, "Matt Garrish"<EMAIL_ADDRESS>wrote:

Hi Tzviya,
A colon is a valid character in an xml name, though; it's xml namespaces
that assigns it a purpose. To exclude it as invalid, It has to be singled
out.
Matt
From: Tzviya<EMAIL_ADDRESS>Sent: May 5, 2015 4:11 PM
To: IDPF/epubcheck
Subject: [epubcheck] clarify error about XML ID (#533)
I received this error about ncx "Error while parsing file 'value of
attribute "id" is invalid; must be an XML name without colons'." The ID in
ncx was the same as the path to the content
("L1-ESN2014J-R12.xhtml#r12-sec-0003). The hash triggered the error.
(Earlier IDs included hyphens, and no error reported). A clearer error
message that does not single out colon would be helpful. There are many
disallowed characters in XML IDs (
http://www.w3.org/TR/REC-xml/#sec-common-syn).
—
Reply to this email directly or view it on GitHub <
https://github.com/IDPF/epubcheck/issues/533> .
—
Reply to this email directly or view it on GitHub
https://github.com/IDPF/epubcheck/issues/533#issuecomment-99259856.

Right, it's explaining the production rule you have to follow for them, not telling you what specific character is wrong. But you can't remove that exclusion without requiring people to go look up what an ID is supposed to conform to.
I don't think epucheck's ID validation rules try to single out the offending character(s), but I'll let others speak to whether that's feasible.
Matt
From: Tzviya<EMAIL_ADDRESS>Sent: May 5, 2015 7:27 PM
To: IDPF/epubcheck
Cc: Matt Garrish
Subject: Re: [epubcheck] clarify error about XML ID (#533)
Makes sense, but I git this error only on ids with hashes (abd no colons)
On May 5, 2015 7:23 PM, "Matt Garrish"<EMAIL_ADDRESS>wrote:

Hi Tzviya,
A colon is a valid character in an xml name, though; it's xml namespaces
that assigns it a purpose. To exclude it as invalid, It has to be singled
out.
Matt
From: Tzviya<EMAIL_ADDRESS>Sent: May 5, 2015 4:11 PM
To: IDPF/epubcheck
Subject: [epubcheck] clarify error about XML ID (#533)
I received this error about ncx "Error while parsing file 'value of
attribute "id" is invalid; must be an XML name without colons'." The ID in
ncx was the same as the path to the content
("L1-ESN2014J-R12.xhtml#r12-sec-0003). The hash triggered the error.
(Earlier IDs included hyphens, and no error reported). A clearer error
message that does not single out colon would be helpful. There are many
disallowed characters in XML IDs (
http://www.w3.org/TR/REC-xml/#sec-common-syn).
—
Reply to this email directly or view it on GitHub <
https://github.com/IDPF/epubcheck/issues/533> .
—
Reply to this email directly or view it on GitHub
https://github.com/IDPF/epubcheck/issues/533#issuecomment-99259856.

—
Reply to this email directly or view it on GitHub https://github.com/IDPF/epubcheck/issues/533#issuecomment-99260206 .

I don't think we can single out the offending character. As far as I know, this message is built in the 3d party RelaxNG schema validator (Jing).
Closing the issue as wontfix, feel free to reopen if you disagree!


wrong type in include file (esp-idf-5.3beta2) (IDFGH-13083)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.3beta2
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
See esp-idf-v5.3-beta2/components/esp_lcd/include/esp_lcd_panel_dev.h - the three fields in the union should have different types.
typedef struct {
    int reset_gpio_num; /*!< GPIO used to reset the LCD panel, set to -1 if it's not used */
    union {
        lcd_rgb_element_order_t color_space;   /*!< @deprecated Set RGB color space, please use rgb_ele_order instead */
        lcd_rgb_element_order_t rgb_endian;    /*!< @deprecated Set RGB data endian, please use rgb_ele_order instead */
        lcd_rgb_element_order_t rgb_ele_order; /*!< Set RGB element order, RGB or BGR */
    };

What is the actual behavior?
/home/danny/src/esp-idf/ZX3D95CD01S/gc9503.3/main/App.cpp:39:38: error: cannot convert 'esp_lcd_color_space_t' to 'lcd_rgb_element_order_t' in initialization
   39 | #define EXAMPLE_LCD_COLOR_SPACE     (ESP_LCD_COLOR_SPACE_BGR)
      |                                     ~^~~~~~~~~~~~~~~~~~~~~~~~
      |                                      |
      |                                      esp_lcd_color_space_t
/home/danny/src/esp-idf/ZX3D95CD01S/gc9503.3/main/App.cpp:114:24: note: in expansion of macro 'EXAMPLE_LCD_COLOR_SPACE'
  114 |         .color_space = EXAMPLE_LCD_COLOR_SPACE,

Steps to reproduce.
Compile this
#define EXAMPLE_LCD_COLOR_SPACE     (ESP_LCD_COLOR_SPACE_BGR)
    const esp_lcd_panel_dev_config_t panel_config = {
        .reset_gpio_num = EXAMPLE_LCD_GPIO_RST,
        .color_space = EXAMPLE_LCD_COLOR_SPACE,
        .bits_per_pixel = EXAMPLE_LCD_BITS_PER_PIXEL,
    };

Build or installation Logs.
No response
More Information.
No response

Thanks @dannybackx I can reproduce the build issue in a cpp project. I think the quickest workaround is to not use the color_space, it's deprecated. Please try rgb_ele_order
const esp_lcd_panel_dev_config_t panel_config = {
    .reset_gpio_num = 0,
    .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_BGR,
    .data_endian = LCD_RGB_DATA_ENDIAN_LITTLE,
    .bits_per_pixel = 16,
    .flags = {
        .reset_active_high = false,
    },
    .vendor_config = NULL,
};


Create Debian package

Create a Debian package.
This package should :

Install executable in /usr/bin folder
Have a DEBIAN folder
Have a control file
Have a postinst file to launch appshortcuts cache-init and appshortcuts cache-update

Create a command in the Makefile to build the package.

It is also necessary to test with a Mint/Ubuntu livecd.

It is done.


Also ignore *.idb (to match C.gitignore)

Reasons for making this change:
*.idb files (of VS2005 and probably other versions, too) should be also ignored.
Links to documentation supporting these rule changes:
See C.gitignore.

Can this be merged?
It is useful in my use cases, and I am not able to see any possible problem with it.

I actually wonder why this PR never got reviewed?


DB_Analyze + Database is locked

Log:
2016-08-26 12:17 INFO     db_analyze    task    Running ANALYZE on database to improve performance.
2016-08-26 12:19 WARNING  apscheduler.scheduler                 Execution of job "* (trigger: interval[1:00:00], next run at: 2016-08-26 12:19:02 EEST)" skipped: maximum number of running instances reached (1)
Exception in thread APScheduler:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/apscheduler/schedulers/blocking.py", line 30, in _main_loop
    wait_seconds = self._process_jobs()
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/apscheduler/schedulers/base.py", line 960, in _process_jobs
    jobstore.update_job(job)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/apscheduler/jobstores/sqlalchemy.py", line 101, in update_job
    result = self.engine.execute(update)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1991, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/home/xxx/apps/flexget/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
OperationalError: (sqlite3.OperationalError) database is locked [SQL: u'UPDATE apscheduler_jobs SET next_run_time=?, job_state=? WHERE apscheduler_jobs.id = ?'] [parameters:<PHONE_NUMBER>.394899, <read-only buffer for 0x7fd6b4014be0, size -1, offset 0 at 0x7fd6a85a5ef0>, '4b7429f83440f1967e4c5e82c357e52d4911ee88')]

Run with --debug-db-sessions if I remember the name correctly

Hi, nearly a year ago I had the database locked issue as well, it just disappeared by itself for a time, but came back soon after, just was too lazy to follow up on this.
I recently installed the OS from scratch on my DS 215j, this time I used a cleaner installing method for plexget by using opkg instead of the package manager. The database locked error however is still there. I attached the whole log starting today 10am with --debug-db-sessions parameter. Within August I had 411 crash files with database locked errors.
crash_report.2<IP_ADDRESS>017673523.txt
crash_report.2<IP_ADDRESS>035310988.txt
crash_report.2<IP_ADDRESS>017777554.txt
crash_report.2<IP_ADDRESS>035551689.txt
crash_report.2<IP_ADDRESS>035321351.txt
flexget.txt

i've been seeing the same issue on my freshly installed ubuntu 16.04 server. no idea how to reproduce it cause it seems to be happening randomly. btw, my sqlite db was copied over from my old flexget installation on an ubuntu 12.04 server. maybe that has something to do with it?

I don't think that an old database makes the issue persist, I tried it with a new one multiple times. I also just tried switching from python 2.7 to 3.5, but it didn't help.

#1000 is related

I'm also getting this randomly.
Isn't very frequent but does happen around once a month on Ubuntu server with flexget always running under Screen.
Any clue?


dns: enable test for ticket 7018

Ticket
Redmine ticket: https://redmine.openinfosecfoundation.org/issues/7449
https://redmine.openinfosecfoundation.org/issues/7018
https://redmine.openinfosecfoundation.org/issues/7199

@jufajardini do you understand why this PR is passing and it is not on 7 ?
cf https://github.com/OISF/suricata/pull/12263#issuecomment-2536705370

So, this PR is just DNS v2->v3 and tests pass
But the other tests task-7018-ids-dns-keywords do not pass for master8 unless you also do the v2->v3 conversion...

Merged in #2193, thanks!

yes


Change cluster from a ITransformFactory before it goes to the cluster destination

What should we add or change to make your life better?
I'm using Yarp to build a white label product for my client. I build a ITransformFactory that made Yarp responsible to verify that the request host is valid to any of the underlaying labels hosts. If the host is not matching any of the host saved to the labels I would like to make Yarp either to return a custom response or to forward to another clusterId so I can customize the response to the consumer.
Example:
Label A: Hosts["app.app", "app.dev"]
Request to host: app.app, should go down to underlaying cluster and set a header for Label A
Request: to host: app.app should go down to underlaying cluster and set a header for Label A
Request: to host: app.notmatch should give a custom response
Why is this important to you?
I would like to have some kind of custom dynamic host verification and create a custom response if the verification fails.

Transforms run too late to divert or reject the request.
If you have a fixed list of hosts, you can put those into the route match host field.
https://microsoft.github.io/reverse-proxy/articles/configfiles.html
https://microsoft.github.io/reverse-proxy/api/Microsoft.ReverseProxy.Abstractions.ProxyMatch.html#Microsoft_ReverseProxy_Abstractions_ProxyMatch_Hosts
Anything that didn't match would get a 404 by default. You could add a catch-all route at the end to customize that response:
endpoints.Map("{**catch-all}", context =>
{
  return context.Response.WriteAsync("Not Found");
});

The other option is a middleware that inspects requests and rejects them (e.g. doesn't call next()).
https://github.com/microsoft/reverse-proxy/blob/cd117da030ca16d201de9d579e11155ae040d791/samples/ReverseProxy.Config.Sample/Startup.cs#L51-L63

Thanks for fast response, a middleware it is :)


update: make git rebase quiet on Mojave system Git.

Fix regression from https://github.com/Homebrew/brew/pull/7260. CC @Bo98
This code makes me sad.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Just to confirm: I have tested this patch on Mojave and it works

Thanks for testing @Bo98!


Wrong .dll name in .lib file of windows release 0.3.24

I couldn't find a similar issue and it seems to me that this should be a bug.
I have downloaded OpenBLAS-0.3.24-x64 from sourceforge (https://sourceforge.net/projects/openblas/files/v0.3.24) and used it to compile openCV. After linking my own application against opencv, it looks for lipopenblas.exp.dll, which does not exist, as the dll that is shipped in the sourceforge archive is (correctly) called libopenblas.dll.
On further inspection, I have seen that dumpbin /all libopenblas.lib contains
RAW DATA #6
  00000000: 6C 69 62 6F 70 65 6E 62 6C 61 73 2E 65 78 70 2E  libopenblas.exp.
  00000010: 64 6C 6C 00                                      dll.

so it looks to me that the .lib file incorrectly specifies a dll name that is incorrect.
The only mentioning of this in any way I could find was https://www.itworks.hu/running-whisper-cpp-on-windows/ which contains instructions to just rename the DLL

Oops, sorry - the Windows builds are cross-compiled on Linux, and this time (and for the previous release as well) I had used mingw's dlltool to generate the .lib and .exp, instead of transferring the .def to an actual Windows host and running lib.exe there. Obviously I have missed this one discrepancy - apparently one needs to supply the dll name to dlltool as well to keep it from getting creative.

Creative indeed :). Any chance to replace the existing release with a corrected one so we can avoid the rename on our end?

Done now for both 0.3.23 and 0.3.24 (and the .lib and .exp were made with Microsoft lib.exe again just to be sure).


make gdx Color Serializable

Issue details
It would help for storing save files to make the class graphics.Color implement the Serializable interface.
I would suppose there is no downside in having this. While I'm still new to libGdx maybe someone else sees more classes which could use this.
Version of libGDX and/or relevant dependencies
1.9.14
Quick check in the master branch shows that the newest version is affected as well.
Please select the affected platforms
Doens't really matter which platform I think :)
Thanks for this awesome library!

This is a bad idea. See this Stack Overflow answer for context, https://stackoverflow.com/questions/4548816/when-should-we-implement-serializable-interface/53889695#53889695 , and this summary of the relevant section in Effective Java, https://qtips.github.io/2017/08/effective-java-chapter-11 . The java.io.Serializable interface is used very little in libGDX, with all usage in the com.badlogic.gdx.math and com.badlogic.gdx.math.collision packages. That means any code that uses other libGDX packages, like the com.badlogic.gdx.utils package with its ubiquitous Array class, won't be Serializable. Using the provided Json class for serialization is a good option if you want human-readable output, or you can use Kryo for a better approach for binary output. You can also read and write plain RGBA8888 ints that each Color can produce, which may be the best option for size reasons. I'm closing this because Serializable is a bigger problem than a feature, according to experts on Java and the people in charge of the language's future, on top of the significant number of severe disclosed vulnerabilities relating specifically to Java's built-in serialization. These vulnerabilities can also be related to games, because they are a common way network traffic is interfered with or save-files are tampered with.
tl;dr don't use Java's built-in serialization, use libGDX's Json or the related Kryo library instead.

Thank you for the indepth explanation and further links provided!


Add explicit github workflow permissions

A new repository I started from this template had default permissions for GITHUB_TOKEN set to "contents:read" and "metadata:read". I think this has changed recently because I use to be able to get actions running before April. I think it used to be read/write by default and now it's read:

My workflow execution failed because styfle/cancel-workflow-action needs "actions:write" permissions (my guess is so that it can cancel a run or something like that).
Adding "contents:read" and "actions:write" explicitly in the workflow file made this work.

perfect, thanks! looks like github did change the defaults as older repos i have (and don't even have actions on) are defaulted to read/write here https://github.com/:user/:repo/settings/actions


849- string length generation fixes (soft constraints)

Description
Strings are created to an 'infinite' length; by request they should be:

limited to 255 if no constraints require a string to be created longer than this
limited to 1000 in every circumstance

These changes introduce the concept of soft-constraints which are constraints that are considered to hold unless something overwrites them. In this case there is an always-present soft-constraint of shorterThan 255 included in the profile. If any other shorterThan constraint is included then this will be removed.
Changes

Refactor of StringRestrictions to hold features of the string required, rather than a means to generate strings
Refactor of AutomatonUtils & additional tests
Introduction of Soft-constraints
Don't use 'reflection' to create constraints in tests (for violations)

Additional notes
Some tests are failing and additional tests need to be written to cover some new functionality
Issue
Resolves #849
Resolves #865

Closing as would prefer an approach that uses a configurable maximum rather than soft constraints


Update README.md

Adding the Import Statements for Help. There are many people searching for how to import SP-API.

Cool, thanks. I'll improve the docs soon

Thanks. It will Help alot.


Build fails with could not find @babel/plugin-syntax-import-meta

Been using 2.0 beta from the day it dropped, it's working out really great on development so far 👏 Thank you for the library.
Issue:
Running snowpack build --bundle fails with the message:
Error: Cannot find module '@babel/plugin-syntax-import-meta'
  Require stack:
  - /Users/agney/code/run-throughs/reco/node_modules/snowpack/dist-node/index.js
  - /Users/agney/code/run-throughs/reco/node_modules/snowpack/dist-node/index.bin.js
      at Function.Module._resolveFilename (internal/modules/cjs/loader.js:976:15)

Reproduction:
I have been working on a repo at https://github.com/agneym/reco, it's not a minimal reproduction(sorry), but I believe it's not doing anything complex at the moment
Expected:
Build succeeds.

Thanks! We removed a bunch of old babel deps to make Snowpack lighter, looks like this one got removed incorrectly.
Fixed in c00ce85

I still get this error using snowpack 2.4.0 with pnpm.
And even when i installed the missing package, it throws with the next Cannot find module '@babel/preset-react' from.
I think Snowpack resolution algorithm doesn't understand the node_modules structure of pnpm.
When i used shamefully-hoist option, it worked properly. That's the workaround to use for the moment.
But i really hope Snowpack works well with pnpm. Because they are both great tools that make web coding lightning fast. ⚡ ❤

I don't think we're doing anything wrong here, our app-scripts-react is where "@babel/preset-react" is used, and where it's defined as a dependency. It seems like pnpm (or maybe Babel) is incorrectly loading it as a bad/known dependency.
I'd love to support pnpm without the shamefully-hoist  option, but not sure how to fix this.

One way to be compatible with pnpm would be to flatten the templates generated by CSA. For example, the babel.config.js in app-template-react-typescript extends the one in app-script-react.
To flatten...

Add the babel.config.js code directly to the app-template-react-typescript template instead of extending.
Add all the babel plugins to the package.json of  app-template-react-typescript.

Technically only step 2 is required but since the dependencies will be listed in the root template I personally think it makes sense to flatten out the config too. Step 2 is enough to hoist the babel plugins for babel's resolution strategy to work.
This flattening would be necessary for any plugin or tool that has a resolution strategy not compatible with node. So far I've only run into the issue with babel but have not tested all the templates or other plugins such as the webpack bundling plugin.
I would be happy to test other templates/plugins, update the templates, test compatibility with pnpm, npm, and yarn, and then make a PR if this flattening out strategy seems like a sensible direction to take.
Thanks for the incredible tooling!

Thanks for the feedback! I agree, the "extends" property was great early on for automatically updating users to the latest config behind the scenes. But, now that that config has baked and settled a bit, that benefit is no longer as important.

I have the same error with pnpm by now

https://github.com/pikapkg/snowpack/pull/1137
This PR should solve the error by removing the "extends" usage in our Create Snowpack App templates


Revert "feat: openssl investigation follow-up"

Reverts prisma/prisma#17126

Deprecated by https://github.com/prisma/prisma/pull/17241.


Make tortoise less reliant on hare for testnet [DO NOT MERGE]

Motivation
In the most recent testnets (123, 124), tortoise has failed because of hare failures. This makes tortoise less reliant on hare succeeding, so that the testnet should be able to continue to advance pbase even if hare fails completely.
Changes

Change how blocks vote when hare has failed
Lower tortoise thresholds

Test Plan

Affected tests have been updated: block_builder tests have been updated to expect the right voting pattern, and tortoise tests have been updated to change the number of blocks per layer (and thus votes) proportional to the modified tortoise thresholds

TODO

[x] Change voting to vote against all blocks in case of hare failure, per Tal

This PR looks huge because I merged #2296 into it. I'll rebase it to remove that to make this one cleaner.

Done. @antonlerner this is ready for a review. I'll leave it marked as a draft to make it clear that it's not meant to be merged into develop. Thanks!

bors try

Added a comment thus:
const (
	// These two thresholds control how tortoise votes on blocks and layers (patterns).
	// The first is used when voting for or against blocks (in a layer/pattern).
	// The second is used when voting for or against a layer (to promote it to newly-good as a pbase candidate).
	// They should be independent, but the existing tortoise tests expect the second to be a fixed ratio of the first.
	// NOTE: These have been lowered (from 0.6 and 0.5, respectively) for the testnet.
	globalThreshold   = 0.5
	newLayerThreshold = 0.5 * (globalThreshold / 0.6) // adjust to match global threshold
	window            = 10
)

Thanks @antonlerner ! Closing this as the relevant code has been included in the testnet release: 6a9bfe49302ffa97c4595c88414ca5c02c8f111c


validate eventTime field in python client

Signed-off-by: Pawel Leszczynski<EMAIL_ADDRESS>Problem
eventTime field of a RunEvent is a non-validated string field in Python client, which is error-prone.
Closes: #2270
Solution
Validate date time on a python side.

Note: All schema changes require discussion. Please link the issue for context.

[ ] Your change modifies the core OpenLineage model
[ ] Your change modifies one or more OpenLineage facets

If you're contributing a new integration, please specify the scope of the integration and how/where it has been tested (e.g., Apache Spark integration supports S3 and GCS filesystem operations, tested with AWS EMR).
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[x] Your changes are accompanied by tests (if relevant)
[x] Your change contains a small diff and is self-contained
[ ] You've updated any relevant documentation (if relevant)
[ ] You've updated the CHANGELOG.md with details about your change under the "Unreleased" section (if relevant, depending on the change, this may not be necessary)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)
[ ] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2022 contributors to the OpenLineage project

Let's use dateutil isoparse method instead of this complex regex. It adds one dependency to Python client.

Let's use dateutil isoparse method instead of this complex regex. It adds one dependency to Python client.

The Java definition on the server side of ZonedDateTime says:

A date-time with a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30+01:00 Europe/Paris.

And this is failing when only a date in  ISO-8601 provided. Dates like 2007-12-03 were the initial cause of the issue. The isoparse documentation claims:

An ISO-8601 datetime string consists of a date portion, followed optionally by a time portion

The Java definition on the server side of ZonedDateTime

I think that's the thing. It's server side, not included in spec. So either we change spec ("format": "date-time" in jsonschema applies to RFC 3339 does not have zones as in ZonedDateTime) or stick to what we have and use dateutil which is then enough for sure.