Create Network on Android

(pulled out from #1)
The mobile phone should be able to create a new P2P network. As of now, it can only bootstrap to an existing network. The creation of a P2P network only works in Wifi, as NAT traversal cannot be achieved in cellular networks for the 'initial' peer.

As of now, the mobile phone could be able to create a new P2P network, shared and Synchronize between Android device?

Yes, within the same Wifi, this would theoretically be possible (and not that hard to implement).

1.The tomp2p has changed,should i change the dependency of android client?(tomp2p's version is 5.0-Beta8,and android client use 5.0-Beta5)
When I use client (PC uses MultiStableH2HPeer.java to open 5 Peer. Two-Android-client in the same WiFi environment using Full-Peer mode connection PC, sometimes there will be some exceptions, such as a file delete-on-phone and then download it  or download shared file, will be reported to java.util.concurrent.RejectedExecutionException, create a folder or add a file bigger then 3M will be reported to java.lang.OutOfMemoryError.
2.In short, in the process of using the client will appear some exceptions, is the Android client not too stable?
3.Android client to achieve the function of creating network is the same as the StablePeer implementation method? Or that a newer version of this feature has been released?

1.The tomp2p has changed,should i change the dependency of android client?(tomp2p's version is 5.0-Beta8,and android client use 5.0-Beta5)

You're right, TomP2P has done some beta releases meanwhile. Upgrading to the latest release could cause compatibility issues, as Hive2Hive 1.2.2 still uses Beta5. I don't know whether the two releases are compatible.

Two-Android-client in the same WiFi environment using Full-Peer mode connect PC, sometimes there will be some exceptions, such as a file delete-on-phone and then download it or download shared file,that will be reported to java.util.concurrent.RejectedExecutionException,

Could you post the full stack trace of this exception?

create a folder or add a file bigger then 3M will be reported to java.lang.OutOfMemoryError.

Creating a folder should not use that much memory. However, I sometimes also saw these exceptions during my tests. I think it has to do with buffers used by TomP2P that are not cleaned up properly. Since Beta5, TomP2P improved much on these issues, an upgrade could therefore resolve some issues. These OutOfMemory exceptions only appear on Android, as it's more restrictive when allocating large blocks of memory.

2.In short, in the process of using the client will appear some exceptions, is the Android client not too stable?

Yes, especially for large files, it's not very stable yet.

3.Android client to achieve the function of creating network is the same as the StablePeer implementation method? Or that a newer version of this feature has been released?

The major change would be to use
NetworkConfiguration netConf = NetworkConfiguration.createInitial();
as the network configuration, instead of
networkConfig = NetworkConfiguration.create(deviceId, bootstrapAddress, bootstrapPort).setPort(bindPort);.
PeerNAT (for relaying) and setting external addresses is not required, as this only works in Wifi anyway.

I have a new problem, if the P2P network does not exist, then the user‘s file  uploaded bofore are gone? If so, then how do I save the user's file in the case of the network restart?

This is the full stack of java.util.concurrent.RejectedExecutionException when i do file delete-on-phone and then download it or download shared file.
10-13 09:43:17.721  14933-15069/org.hive2hive.mobile D/org.hive2hive.processframework.ProcessComponent﹕ Executing 'Download File Process'.
10-13 09:43:17.721  14933-15069/org.hive2hive.mobile D/org.hive2hive.processframework.ProcessComponent﹕ Executing 'org.hive2hive.core.processes.files.download.FindInUserProfileStep'.
10-13 09:43:17.821  14933-15069/org.hive2hive.mobile D/org.hive2hive.processframework.ProcessComponent﹕ Executing 'org.hive2hive.core.processes.files.GetMetaFileStep'.
10-13 09:43:18.011  14933-15069/org.hive2hive.mobile D/org.hive2hive.processframework.ProcessComponent﹕ Executing 'org.hive2hive.core.processes.files.download.InitDownloadChunksStep'.
10-13 09:43:18.011  14933-15069/org.hive2hive.mobile E/org.hive2hive.processframework.ProcessComponent﹕ An exception has been catched during execution. See cause for more information.
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@486e8398 rejected from java.util.concurrent.ThreadPoolExecutor@4349aa38[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1339) ~[na:0.0]
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.schedule(DownloadManager.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.submit(DownloadManager.java:61) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:94) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:55) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:46) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:18) ~[na:0.0]
at android.os.AsyncTask$2.call(AsyncTask.java:288) ~[na:0.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:237) ~[na:0.0]
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) ~[na:0.0]
at java.lang.Thread.run(Thread.java:841) ~[na:0.0]
10-13 09:43:18.021  14933-15069/org.hive2hive.mobile E/org.hive2hive.processframework.ProcessComponent﹕ An exception has been catched during execution. See cause for more information.
org.hive2hive.processframework.exceptions.ProcessExecutionException: An exception has been catched during execution. See cause for more information.
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:83) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:55) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:46) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:18) ~[na:0.0]
at android.os.AsyncTask$2.call(AsyncTask.java:288) ~[na:0.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:237) ~[na:0.0]
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) ~[na:0.0]
at java.lang.Thread.run(Thread.java:841) ~[na:0.0]
Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@486e8398 rejected from java.util.concurrent.ThreadPoolExecutor@4349aa38[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1339) ~[na:0.0]
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.schedule(DownloadManager.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.submit(DownloadManager.java:61) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:94) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
... 11 common frames omitted
10-13 09:43:18.021  14933-15069/org.hive2hive.mobile E/org.hive2hive.mobile.files.tasks.BaseFileTask﹕ Cannot run the file process
org.hive2hive.processframework.exceptions.ProcessExecutionException: An exception has been catched during execution. See cause for more information.
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:83) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:55) ~[na:0.0]
at org.hive2hive.processframework.composites.SyncProcess.doExecute(SyncProcess.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:46) ~[na:0.0]
at org.hive2hive.mobile.files.tasks.BaseFileTask.doInBackground(BaseFileTask.java:18) ~[na:0.0]
at android.os.AsyncTask$2.call(AsyncTask.java:288) ~[na:0.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:237) ~[na:0.0]
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) ~[na:0.0]
at java.lang.Thread.run(Thread.java:841) ~[na:0.0]
Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@486e8398 rejected from java.util.concurrent.ThreadPoolExecutor@4349aa38[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793) ~[na:0.0]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1339) ~[na:0.0]
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.schedule(DownloadManager.java:81) ~[na:0.0]
at org.hive2hive.core.network.data.download.DownloadManager.submit(DownloadManager.java:61) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:94) ~[na:0.0]
at org.hive2hive.core.processes.files.download.InitDownloadChunksStep.doExecute(InitDownloadChunksStep.java:1) ~[na:0.0]
at org.hive2hive.processframework.ProcessComponent.execute(ProcessComponent.java:70) ~[na:0.0]
... 11 common frames omitted

GCM {
    api-key = "your-api-key"
    buffer-age-limit = 20s
}

what is the api-key?How to get it? Is it requred for android?
Thanks a lot


Introduction To C# Unit Test

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #2940

Hi @mosesmwangi442
Upon running your article through our 3rd party plagiarism checker it seemed to raise a few flags and the % was higher than we typically accept. Please see attached PDF - and revisit the article to ensure we are contributing wholly unique and original content. Be sure to see our resources page to see more info on plagiarism and what is considered as such.
Introduction To C# Unit Test #4101 Copyleaks Report.pdf

@mosesmwangi442, please remove the backticks from your This Issue Closes line to correctly link your topic suggestion to your PR.

@geoffrey45


something missing ?

Hi! PolyZone / yarn  is loaded however i cannot start the busdriver script
Error loading script server.lua in resource busdrivermike-main: @busdrivermike-main/server.lua:3: bad argument #1 to 'decode' (string expected, got nil)
stack traceback:
[C]: in function 'json.decode'
@busdrivermike-main/server.lua:3: in main chunk

update your server version.
make sure the version of lua you have installed is lua 5.4 if it isnt.
ensure the file bddb,json exists. even if it's empty.
this is related to the JSON file read. and is only a bug in old cfx server code.
it shouldnt happen with the latest versions.

that did the trick thanks! , lovely resource btw :)


Include custom field

Hi,
What would be necessary to include another field into the post?
For example, to include the comment/submission "score"? I assume we need to change lib.rs, render.rs and then the post.jinja template, but I'm not sure where to change exactly.
Also, I would need to recompile the aharc after the changes, right?
A sample code would be great, but just some starting tips would also be greatly appreciated.

Since you're only beginning to work with rust, I'd recommend you get started by learning a little bit of rust.  Reading the rust book or doing some rustlings challenges. You can also find more resources on the rust language website.

I'm happy you could make it work!


irc: fix logic for creating a workspace

I think this got accidentally flipped in 436d36fcd when unless was changed to when.

Thanks again!


Debug test in error-prone

Hello guys,
I've checked out error-prone-parent and it goes ok when I run a mvn clean install.
But the fact is that I'm trying to extend a BugChecker and start to create my own BugChecker. So, for this, I'm trying to debug a test inside of it using IntelliJ.
But I just can't do it. When I try to run a single test, I got problems like these:

So far to resolve this issue, I've tried to add the -Xbootclasspath errorprone-javac argument in VM, Test argument, but the problem was not resolved.
What I'm missing, guys?
Thanks.

IntelliJ might be putting the JDK's javac first on the classpath. Can you try opening Project Structure > Modules > error_prone_core > Dependencies and moving com.google.errorprone:javac:1.9.0-dev-r2973-2 to the top?

Thanks Cushon! :) So, I've changed the order and now it is giving me another errors, ex:

Also, I checked that are some classes that are in wrong packages, ex:
AnyOfTemplateExample is in com.google.errorprone.refaster.testdata.input, but it's declared in com.google.errorprone.refaster.testdata .
Is it ok? Why are those errors occurring?

You probably want to exclude everything in .../testdata/... from the build path.

Thanks, Cushon! 👍

This would make a great addition to the wiki on building in IntelliJ: https://github.com/google/error-prone/wiki/For-Developers#intellij


Rename app

Hi, is it possible to rename an existing app in a cluster? Or do I need to totally recreate it?

@mfclarke we don't have a UI for renaming apps because there are multiple places where the name appears, and updating all of those references would be cumbersome, so instead the name is immutable.
You can however export / import into a new app:
$ flynn -a old-app export --file export.tar
$ flynn import --name new-app --file export.tar
$ flynn -a new-app remote add


Cannot see "Add an additional Azure AD Domain" in Azure AD connect server Wizard

In the "Use the following steps to add the new top-level domain using Azure AD Connect." section, in AAD connect server, I cannot see "Add an additional Azure AD Domain" button in AAD connect server

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

ID: 081729e5-959f-d8c2-de1b-b035c6dbc8fb
Version Independent ID: c93eda68-5b52-04bf-fca2-53bb7eba178a
Content: Azure AD Connect Multiple Domains
Content Source: articles/active-directory/hybrid/how-to-connect-install-multiple-domains.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@swiftPeter Thanks for the feedback! We are currently investigating and will update you shortly.

@swiftPeter  You need to verify the secondary domain in your tenant first. Then the ADFS needs to be configured and you need to add a different IssuerUri, which can be done by using the -SupportMultipleDomain parameter.
Once, these are done only then you would find the option to "Add an Additional Domain" in the Azure AD Connect Wizard.

@swiftPeter  We will be closing this thread now. Let us know if you need further assistance by re-opening the thread.


[DOC] Benchmark docs need updating for TpcdsLikeBench

Report incorrect documentation
Location of incorrect documentation
docs/benchmarks.md
Describe the problems or issues found in the documentation
scala> import com.nvidia.spark.rapids.tests.tpcds.TpcdsLikeBench
import com.nvidia.spark.rapids.tests.tpcds.TpcdsLikeBench
scala> val benchmark = new BenchmarkRunner(TpcdsLikeBench)
<console>:36: error: not found: value TpcdsLikeBench
       val benchmark = new BenchmarkRunner(TpcdsLikeBench)

Steps taken to verify documentation is incorrect
See above output from following the documentation.
Suggested fix for documentation
Update docs to reflect that TpcdsLikeBench is now a class with a parameter rather than an object.
 val benchmark = new BenchmarkRunner(new TpcdsLikeBench(appendDat = true | false))

@andygrove is this something that needs fixing in the 0.3 docs?  If not let's target it for our upcoming sprint.


Optimize workflow and up golang version

https://github.com/avito-tech/go-transaction-manager/issues/79

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.015%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1461

Relevant Lines:
1554

💛  - Coveralls


tools: Modify print_json_hist helper so JSON key are lowerCamelCase.

In Inspektor Gadget, we rename all our JSON key to use lowerCamelCase [1]. Sadly, this change was not propagated to our fork of iovisor/bcc for biolatency.
So, this commit modifies JSON key to use lowerCamelCase, then aligning with Inspektor Gadget.
Signed-off-by: Francis Laniel<EMAIL_ADDRESS>[1] https://github.com/kinvolk/inspektor-gadget/commit/b062da5352df

I think there are other ones missing:

https://github.com/kinvolk/bcc/blob/7d56a6f6920826a62a3cc0dc7fc302bf3cdf2618/tools/profile.py#L381-L382
https://github.com/kinvolk/bcc/blob/7d56a6f6920826a62a3cc0dc7fc302bf3cdf2618/tools/capable.py#L329

I hope we're not missing more of them.


Bad documentation

There is very bad documentation @ https://rally1.rallydev.com/slm/doc/webservice/ . it almost all needs to be re-written in a human readable format

I'll give you they are certainly dated.  The object model explorer is pretty functional though, despite its craigslisty look and feel.  What are you having trouble with?


The config override doesn't work for deleting keys (and I didn't find a straightforward fix).

          The config override doesn't work for deleting keys (and I didn't find a straightforward fix). `loss_scaling` seems to be a argument specific to Graphcore optimizers

Originally posted by @luis-mueller in https://github.com/datamol-io/graphium/pull/378#discussion_r1263960268
Updating keys is a good default behaviour, but sometimes we want to destroy something from the base config, like removing the loss_scaling or if the base config has edge features, and we don't want them in our modified config.
Perhaps the solution is simply to create a simpler version of the base config? For example one that wouldn't have the accelerator?

The hydra overwrite syntax comes to mind (hydra is based on omegaconf). It's CLI based and among other things, they support the removal of a key (e.g. foo.bar) from a config through the ~ prefix (e.g. /path/to/app.py ~foo.bar).

I have some experience using hydra and think it could be an option. There one has more flexiblity when composing configs. However, it would require some changes to the current config format. Another benefit of hydra is that we’d be building on existing open-source and best practices for config handling and don’t have to maintain our own solution.

Using hydra, it's also nice to be able to split each config in components that can be reused. There seems to be a lot of "~code~ config repetition" right now.

@cwognum @DomInvivo I created a PR where I am demonstrating how our configs could look with hydra.


Slightly thinner borders on nodes

epilogue to #1080
slightly thinner borders are more in line with, ehem, other lines

Nice! LGTM


Clean up contracts storage

Contracts storage map should reflect information to other storage maps:

For each existing Node Contract:

ActiveNodeContracts list for related node should store the contract
Seen on devnet: contract 8786 on node 19 is not in active list [19658, 19664, 19791, 20876, 22149, 22151]

A node/deployment key should exist in ContractIDByNodeIDAndHash
Seen on devnet: key not exists for contract 5880 on node 15

Name Contracts:
NOTHING TO REPORT

Rent Contracts:
NOTHING TO REPORT

Fix deployed and verified on devnet


Update HTTP/3 error codes

This should resolve #9427

[approve ci autest]

Hmm, this is a weird test to fail.


ViewMode 1 issue with crop area going outside the container

Hi there,
There is an issue when trying to enlarge the cropping area on ViewMode 1.
I've attached a video with a demonstration.
The issue is on Mac & PC chrome (tested on several computers).
https://vid.me/JG9m

Got it. Thanks for report this issue.


This is not really a issue, is a form of recognise your incredible work along any Unix system (even on phones whith SailfishOS

I have been using hosty on my Unix-like machines for years. But it wasn't till yesterday when I realize how powerful is this script for ad blocking purposes even on... mobile phones! Yes, you have read it right. You can run and use hosty perfectly on Sailfishos.org, which means you'll get phone-wide ad blocking by simply following this easy steps: https://www.linuxleon.org/2019/11/hosty-un-bloqueador-de-anuncios-para.html
Hope you take in mind that your incredible work with hosty is working on smartphones too. Thanks a lot for all your efforts!

Hola! Acabo de ver esto, muchas gracias por tomarte el tiempo de escribirlo.
I will take notes on the additional steps you took to make it work because I'm very interested in having a purer Linux on my phone. And it fits into the future projects I'm working on.
As always, if you have any comment or suggestion, reach me out.
Have a great day.


Improve StepProgress Granularity

First off, This is an awesome library! Thank you to everyone that has worked on it.
Currently we are struggling with one aspect of using Scrollama. We are using stepProgress to pass progress to a greensock animation timeline so we can scrub through an animation on scroll like so:
scroller
      .setup({
        step: myStepElement,
        offset: 0,
        progress: true,
        threshold: 1,
      })
      .onStepProgress(({ progress }) => {
        myGsapTimeline.progress(progress);
      });

however because this library is forcing progress to be reported as a 3 digit number (https://github.com/russellgoldenberg/scrollama/blob/master/src/init.js#L326) it forces our timeline animation to only have a maximum of 1000 keyframes which results in janky playback if our animation is being played over a stepElement that is taller than 1000 pixels of which we have several instances.
would you consider a PR that allows control of how granular the progress value returned? Do you forsee any performance problems? e.g. does the number NEED to be rounded?
another workaround I was toying with in my head would be to stack a few 1000px stepElements  and inside the onStepProgress function derive a more precise progress by doing something like:
onStepProgress(({ index, progress }) => {
        const totalStepElements = 4
        const stepRatio = (1 / totalStepElements)
        const overallProgress = stepRatio * index + (stepRatio * progress)
        myGsapTimeline.progress(overallProgress);
      });

The decimal places was an arbitrary decision. Removing that now in v2.1.6. Curious if your hack solution worked out for you though. Also be aware that the implementation of the granularity for intersectionObserver is not consistent across browsers so I wouldn't rely on  that for anything critical.

We ended up just reverting to scrollmagic for the particular project we were using this on. I think it would have worked. We had our fingers crossed too that safari would catch up in terms of its implementation of intersection observer and the choppiness of the polyfill on that platform.


🚀 Next release: 4.11.0 (August 2023)

Hi everyone,
The next release is scheduled for the beginning of september.
Ideal planning:

14/08 to 03/09: DEV
01/09: Call to translators to ensure we have translations for new features
04/09 to 06/09: Tests
06 or 07/09: Final release

### Main novelty
- [ ] https://github.com/openfoodfacts/smooth-app/issues/2483
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4023
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4513

### Secondary novelties
- [ ] https://github.com/openfoodfacts/smooth-app/issues/2737
- [ ] https://github.com/openfoodfacts/smooth-app/issues/3983
- [ ] https://github.com/openfoodfacts/smooth-app/issues/3982
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4021

### To finish
- [ ] https://github.com/openfoodfacts/smooth-app/pull/4444
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4069
- [ ] https://github.com/openfoodfacts/smooth-app/issues/3986
- [ ] https://github.com/openfoodfacts/smooth-app/issues/3985
- [ ] https://github.com/openfoodfacts/smooth-app/issues/3326
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4547

### Minor
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4510

### Backlog
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4023
- [ ] Convert the settings screen to a custom screen
- [ ] https://github.com/openfoodfacts/smooth-app/discussions/1378
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4545
- [ ] https://github.com/openfoodfacts/smooth-app/issues/4544
- [ ] https://github.com/openfoodfacts/smooth-app/issues/2586

It's time for the call to translators, how shall that be done

It's time for the call to translators, how shall that be done

Hi Marvin,
We have totally changed our plans (just yesterday).
We will soon provide a new timeline, but the plan is to revamp the homepage + product page by removing the carousel.
In this release, there will also be a "new" feature in parallel, but we're now 100% sure of what it will be yet.


Publish in pip repository just the "caqui" folder

Fixed in MR https://github.com/douglasdcm/caqui/pull/24


Improve OpenGL examples

Summary of feature
The opengl examples are too simple.

There is no Material class.
There is no Scene class
There is no Entity class
There is no Vertex struct
There is not Triangle struct

Does this have a proposal?
Idk

You haven’t filled out the issue description saying what needs to be improved. We have nothing to action on this issue.

You haven’t filled out the issue description saying what needs to be improved. We have nothing to action on this issue.

Sorry I accedently clicked post before I was ready.

Ah gotcha, thanks. For the issue then, I don't think we necessarily need these. We're not intending to teach OpenGL, rather to show you how our bindings can be used. A lot of your suggestions are either unnecessary or are prescriptive of a specific game engine architecture, and we don't want to throw game engine architecture concepts into the mix of an already hard thing to teach.

Ah gotcha, thanks. For the issue then, I don't think we necessarily need these. We're not intending to teach OpenGL, rather to show you how our bindings can be used. A lot of your suggestions are either unnecessary or are prescriptive of a specific game engine architecture, and we don't want to throw game engine architecture concepts into the mix of an already hard thing to teach.

But there are not examples or tutorials for C# they are all for other languages and they are still really hard to find.

I do completely understand where you are coming from. However it is just not in scope for maintainers to teach every game engine concept. I agree it’d be great to promote the usage of C# for this, and being a trailblazer in learning materials would indeed help. This is why I think I’d be on board with the community contributing Demos (instead of Tutorials) to demonstrate this functionality. This should help in providing extended resources beyond our tutorials, without overburdening the team in maintaining essentially a course in how to build a game engine. And naturally by being community contributed this further reduces the load of the maintainers team.
This is just my opinion though. I’m not a maintainer anymore, more just a shadow BDFL that tries to align the maintainers to keep the project going. They have the ultimate say in what happens. More specifically, developer experience (which includes tutorials) is @ThomasMiz’s expertise who may have comments here. But I feel like what I’ve expressed is likely to match the view of the maintainers team.

Would you perhaps be interested in something like this being added as a demo? Made this a while ago, it's just kinda sitting around so if it can be put to better use then I'm all for it.

Shadows would be cool yes.


edge.width() returns weight, not width/thickness

As described in title.
Issue exits in edge.py, on line 122.
    def width(self):
        """Returns the thickness of the edge."""
        return self._weight

Proposed solution
Replace self._weight with self._thickness
Also maybe make the naming more consistent? Width is called both thickness and width. And in the edge.set_width() function, the parameter is called weight which makes things confusing and might've led to this issue.
Later today when I've got time i'll submit a pull request.

This issue should be fixed. And internally all references to width are now just width, and not sometimes thickness.
Changing the name to "thickness" across the board may be something useful to do with v3, as usage of the term "width" can clash with how weights are sometimes used in Algorithmics.


Adjust the ansible file to serve the application

Updates Ansible File for Repman deployment.

2c7f688 Adjusts the deployment inventory to reflect the current infrastructure, ensuring accurate host entries and groups for configuration management.

fb2784d Modifies the task for Ansible to perform permission adjustment on the cache folder to ensure proper read and write access.

e4e624a, 16f1588
Updates Ansible configurations to support PostgreSQL 15, ensuring compatibility and taking advantage of new features in the latest version.
4066b2b
Disables deprecated configurations in PostgreSQL 15 configuration files
1f022ab
Removes deprecated configurations from the PostgreSQL 15 configuration to avoid potential conflicts and ensure a clean and up-to-date environment.
cc52155
Updates deprecated configuration names in PostgreSQL 15 to current standards.

d0b6818
Removes the php8.0-json virtual package, which has no PHP 8.0 candidate, to avoid conflicts and ensure proper package management.
ae9bd31
Updates PHP to version 8.0, taking advantage of new features and improvements while ensuring compatibility with existing applications.

439597f
Updates application installation variables to align with the latest deployment requirements and standards.
3e6ce51
Adjusts repository and branch variables to use the master-aztec branch, aligning with the latest development workflow.


Improve help output

The current output is poorly aligned. We should consider formatting the commands in a similar way that CLI tools show help with -h flags.

The main issue with this is the way discord displays things, I think we should use a mixture of tabs and spaces

My idea is to print something like this:
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32	  use a 32-bit data model if available
    -d64	  use a 64-bit data model if available
    -server	  to select the "server" VM
                  The default VM is server,
                  because you are running on a server-class machine.
...etc.


[ZEPPELIN-3551] Upgrade Scala to 2.11.12

What is this PR for?
This is just to update scala to 2.11.12 which to be consistent with spark (SPARK-24418).
This PR takes over and closes #3033
There was a minor conflict which my PR (https://github.com/apache/zeppelin/pull/3206) introduced. That change is compatible with both Scala 2.11.8 and 2.11.12 so we don't need to change it anymore.
What type of PR is it?
[Improvement]
Todos

[x] - None

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-3551

How should this be tested?

CI pass

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Hi @HyukjinKwon ,
any news about this PR? Does it support Spark 2.4.0 (Scala 2.11.x) interpreter already? I just created a new branch which builds a customized zeppelin docker based on BDE spark docker and while testing it on SANSA via SANSA-Notebooks, found out that it does not work with Spark 2.4.0 :(. (see the stack trace below) :
java.lang.NoSuchMethodException: scala.tools.nsc.interpreter.ILoop.scala$tools$nsc$interpreter$ILoop$$loopPostInit()
	at java.lang.Class.getMethod(Class.java:1786)
	at org.apache.zeppelin.spark.BaseSparkScalaInterpreter.callMethod(BaseSparkScalaInterpreter.scala:268)
	at org.apache.zeppelin.spark.BaseSparkScalaInterpreter.callMethod(BaseSparkScalaInterpreter.scala:262)
	at org.apache.zeppelin.spark.SparkScala211Interpreter.open(SparkScala211Interpreter.scala:84)
	at org.apache.zeppelin.spark.NewSparkInterpreter.open(NewSparkInterpreter.java:102)
	at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:62)
	at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:617)
	at org.apache.zeppelin.scheduler.Job.run(Job.java:188)
	at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:140)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)

Is there a plan to have that support soon on the new release? or we have to downgrade and use Spark 2.3.x instead ?
Looking forward to hearing from you.
Best regards,

Many thanks for your response!
As of now, I will downgrade the Spark version and looking forward to the new release of Zeppelin.
Best regards,

hmm, not sure why, this is the error, but I don't see recent changes that might have broken it

09:52:10,841  INFO org.apache.zeppelin.notebook.Paragraph:381 - Run paragraph [paragraph_id: paragraph_1546509130838_525871799, interpreter: org.apache.zeppelin.spark.SparkInterpreter, note_id: 2DZC2NGPW, user: anonymous]
09:52:10,841 DEBUG org.apache.zeppelin.interpreter.remote.RemoteInterpreter:206 - st:
z.run(1)

then the test timed out

Yup.. let me take a look


Docker Registry API Doesn't Sanitise `Location' Header

It was discovered that Docker API did not properly sanitise the resource path before serving a 301 redirect response.
Proof Of Concept:
REQUEST:
GET https://www.google.com HTTP/1.1
Host: <IP_ADDRESS>:2375

RESPONSE:
HTTP/1.1 301 Moved Permanently
Location: https://www.google.com/
Date: Mon, 19 Feb 2018 11:30:01 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8

Note: The Docker API are NOT supposed to be called in a browser, so this issue should be considered as a minor one. In addition, exposing the API on a TCP socket is NEVER recommended!
Tested on:
Server:
 Engine:
  Version:    17.12.0-ce
  API version:    1.35 (minimum version 1.12)
  Go version:    go1.9.2
  Git commit:    c97c6d6
  Built:    Wed Dec 27 20:09:54 2017
  OS/Arch:    linux/amd64
  Experimental:    false

If you need any other information I may have missed, let me know,
Thanks,

Thanks!
/cc @justincormack @n4ss PTAL

@havoc88 Can you provide a reproduction against the registry with curl? Your examples don't look like you're hitting the registry (ie docker server version is irrelevant).

@stevvooe Nothing related to Registry, wrong title, my bad. That's related to the Docker API

oh! can you reopen this issue in the https://github.com/moby/moby issue tracker? That's where the code for the Docker API lives


Image Upload Support (browse and clipboard)

Nice work.
Do you have plans to add clipboard paste support for images that will auto-upload to a configured URL? As a bonus if there were a configuration for direct integration with an S3 bucket without needing to host or use a Lambda as an intermediary, that would be nice.
EDIT:
Could we add handlePastedFiles to TDraftEditorProps?
That should allow me to pass a function to MUIRichTextEditor in my render that can handle the upload of the pasted image to S3 then insert it into the editor as a normal image reference to a URL.
What do you think?
Here's a sample handler I found:
handlePastedFiles (files) {
        let state = this.state.editorState;
        files.forEach( item => {
            this.uploadFile(item).then(res => {
                const contentStateWithEntity = state.getCurrentContent().createEntity('IMAGE', 'IMMUTABLE', { src: res.data })
                const entityKey = contentStateWithEntity.getLastCreatedEntityKey()
                const editorStateWithEntity = EditorState.set(state, {
                    currentContent: contentStateWithEntity
                });
                const newEditorState = AtomicBlockUtils.insertAtomicBlock(
                    editorStateWithEntity,
                    entityKey,
                    ' '
                );
                const newState = EditorState.forceSelection(
                    newEditorState,
                    newEditorState.getCurrentContent().getSelectionAfter()
                )
                this.setState({editorState: newState})
            })
        })
    }
```

Thanks in advance,
Rob

I went ahead and tried this but couldn't get the events to fire for handlePastedFiles or handlePastedText. Not sure what I did wrong or if there is another limiting factor (maybe mui-rte is on an older version of draft-js?)
Here's how I implemented it:
In my UI code I added the component with handlers that just wrote to the console log as a test to see if it was working. I then tried pasting images or text from my clipboard hoping to see the console logs.
                   <MUIRichTextEditor
                      label="Type something here..."
                      onSave={this.save}
                      inlineToolbar={true}
                      handlePastedText={this.handlePastedText}
                      handlePastedFiles={this.handlePastedFiles}
                    />

  save = data => {
    console.log(data);
  }

  handlePastedFiles = files => {
    console.log(files);
  }

  handlePastedText = (text, html, editorState) => {
    console.log(text, html, editorState);
  }

Then I modified MUIRichTextEditor.tsx with the following:
type TDraftEditorProps = {
    spellCheck?: boolean
    stripPastedStyles?: boolean
    handlePastedFiles?: any
    handlePastedText?: any
}

interface IMUIRichTextEditorProps extends WithStyles<typeof styles> {
    id?: string
    value?: any
    label?: string,
    readOnly?: boolean
    inheritFontSize?: boolean
    error?: boolean
    controls?: Array<TToolbarControl>
    customControls?: TCustomControl[]
    decorators?: TDecorator[]
    toolbar?: boolean
    inlineToolbar?: boolean
    inlineToolbarControls?: Array<TToolbarControl>
    draftEditorProps?: TDraftEditorProps
    keyCommands?: TKeyCommand[]
    onSave?: (data: string) => void
    onChange?: (state: EditorState) => void
    handlePastedFiles?: any
    handlePastedText?: any
}

                        <Editor
                            customStyleMap={customRenderers.style}
                            blockRenderMap={customRenderers.block}
                            blockRendererFn={blockRenderer}
                            editorState={editorState}
                            onChange={handleChange}
                            readOnly={props.readOnly}
                            handleKeyCommand={handleKeyCommand}
                            keyBindingFn={keyBindingFn}
                            ref={editorRef}
                            handlePastedFiles={props.handlePastedFiles}
                            handlePastedText={props.handlePastedText}
                            {...props.draftEditorProps}
                        />

Hi @robnewton
For making your example work, you just need to add the new properties in the TDraftEditorProps type
type TDraftEditorProps = {
    spellCheck?: boolean
    stripPastedStyles?: boolean
    handlePastedFiles?: any
    handlePastedText?: any
}

and then use it like the following:
<MUIRichTextEditor
    label="Type something here..."
    onSave={save}
    draftEditorProps={{
        handlePastedFiles: () => {
            console.log("files")
        },
        handlePastedText: (text, html, editorState) => {
            console.log("text")
        }
    }}
/>

This will trigger the events, but I am not sure if it will work as expected. I will check it later when I have some time.

I've been messing with it a bit but I don't think changes to mui-rte/src in my node_modules folder is having any effect on it. I assume I need to compile it and replace the /dist contents to affect changes. Anyway, I'll outline the plan below at least and you can let me know what you think.
The idea I want to try is calling confirmMedia() after the image blob has been processed by my upload function. Rather than exposing it outside of mui-rte I figured we could pass it as a param to a pasted file handler function like this:
                   <MUIRichTextEditor
                      label="Type something here..."
                      onSave={this.save}
                      inlineToolbar={true}
                      filePasteCallback={this.filePasteCallback}
                    />

Internally mui-rte would define it's own file handler that calls this filePasteCallback prop and passes the confirmMedia function as the second param like this:
    const handlePastedFiles = (files: Array<Blob>): DraftHandleValue => {
        console.log('Image pasted into editor. Calling custom prop handler and passing confirmMedia function')
        if (props.filePasteCallback)
            props.filePasteCallback(files, confirmMedia)

        return 'handled'
    }

The handler in my app, filePasteCallback(), would then be responsible for calling the upload handler to get the file uploaded to the server. Once it's uploaded a URL to the image will be returned and we would call the passed in confirmMedia() function to add it to the editor. Like this:
  filePasteCallback = (files, confirmMedia) => {
    console.log('You pasted images from the clipboard!');

    files.forEach(file => {
      console.log(`Processing a pasted image with the size of ${file.size}`);

      //Upload the image to the server then return the URL to it
      const imageUrl = this.handleImageUpload(file)

      //Add it to the editor
      confirmMedia(imageUrl, file.width, file.height, "left", "image")
    })
  }

Went ahead and forked your repo so I could make changes and ended up getting it working so I'll send you a PR. I took a different approach to what I outlined above that is a bit cleaner and inspired by how I saw the OrpheusEditor implementation.
There is one more thing I could use your help with and that's using the base64 for the image to render immediately while upload is going then update the URL after the upload promise returns.
Here's a screen recorded gif showing it in action.

Added the PR: https://github.com/niuware/mui-rte/pull/66

@robnewton Can you do the PR on development branch instead? Thank you

Done

Here's a sample implementation of the onUpload handler that calls a Lambda function using Axios that handles uploading the image to an S3 bucket.
  onUpload = (file) => {
    return new Promise(function (resolve, reject) {
      axios({
        method: 'POST',
        url: 'https://www.mywebsite.com/my/lambda/url',
        data: {file: file.body}
      })
        .then(res => {
          resolve({ 'publicUrl': `${res.data.publicUrl}` })
        })
        .catch(err => {
          resolve({ 'publicUrl': `${file.body}`, error: `Error uploading the image: ${err}`})
        })
    })
  }

Then there is the Lambda contents
var AWS = require('aws-sdk');

const S3_KEY = 'my-access-key';
const S3_SECRET = 'my-access-secret';
const S3_REGION = 'us-east-1';
const S3_BUCKET = 'my-bucket';
const S3_FOLDER = 'my-folder';
const log = true;

exports.handler = async (event, context) => {
  try {
    if (log) console.log('Pasted Image Uploader Called!')
    AWS.config.update({ accessKeyId: S3_KEY, secretAccessKey: S3_SECRET, region: S3_REGION })

    let filename = 'something-unique'
    let imageFileName = `${S3_FOLDER}/${filename}.png`  //TODO: derive this from the file passed

    const bodyParsed = JSON.parse(event.body)
    var s3Bucket = new AWS.S3({ params: { Bucket: S3_BUCKET } })
    var buf = new Buffer(bodyParsed.file.replace(/^data:image\/\w+;base64,/, ""), 'base64')
    var data = {
      Key: imageFileName,
      Body: buf,
      ContentEncoding: 'base64',
      ACL: 'public-read'
    }

    await s3Bucket.putObject(data).promise()
    const publicUrl = `https://${S3_BUCKET}.s3.amazonaws.com/${imageFileName}`
    if (log) console.log(`Uploaded ${publicUrl}`)

    return {statusCode: 200, body: JSON.stringify({ publicUrl: publicUrl })}
  } catch (err) {
    if (log) console.log('Location Image Uploader Failed!', JSON.stringify(err))
    return {statusCode: 500, body: JSON.stringify({ msg: err.message })}
  }
}

This feature was added in version 1.18.0. Please check this example for further details.


Return the transaction ID of the submitted expenses.

The current implementation does not return the transaction id of the submitted expense for confirmation it was processed.
Pull request coming soon.

Closed by !1.


pre-commit [F] retrieve protected branches information failed: EOF

Gitea version (or commit ref):
Git version:
Operating system:
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Running Gitea on kubernetes:
Intermittent error on push.
Error starts as
remote: 2019/07/25 14:01:25 [...s/setting/setting.go:980 NewContext()] [E] Error saving generated JWT Secret to custom config: open /data/gitea/conf/app.ini: permission denied

Changing the permission of the .ini file changes the error to:
! [remote rejected] master -> master (pre-receive hook declined)

The issue seems to stem from the precommit hook that is returning an EOF error:
2019/07/25 14:21:00 [T] GetProtectedBranchBy: http://<IP_ADDRESS>:3000/api/internal/branch/55/DMC120-notifications-testing-proper
2019/07/25 14:21:00 [...io/gitea/cmd/hook.go:109 runHookPreReceive()] [F] retrieve protected branches information failed: EOF
2019/07/25 14:22:34 [T] GetProtectedBranchBy: http://<IP_ADDRESS>:3000/api/internal/branch/36/develop
2019/07/25 14:22:34 [...io/gitea/cmd/hook.go:109 runHookPreReceive()] [F] retrieve protected branches information failed: EOF
2019/07/25 14:28:23 [T] GetProtectedBranchBy: http://<IP_ADDRESS>:3000/api/internal/branch

...
Screenshots
n/a the UI is unaffected.

Again:
(venv) Richards-MacBook-Pro:connector-notification-lib richard$ git push
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 12 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.15 KiB | 1.15 MiB/s, done.
Total 6 (delta 5), reused 0 (delta 0)
remote: Gitea: Internal error
remote: retrieve protected branches information failed: EOF
To https://gitea-tooling.az.connectors.gdpdentsu.net/connectors/connector-notification-lib
 ! [remote rejected] feature/job_messages -> feature/job_messages (pre-receive hook declined)
error: failed to push some refs to 'https://gitea-tooling.az.connectors.gdpdentsu.net/connectors/connector-notification-lib'

Could you try to change LOCAL_ROOT_URL to http://<IP_ADDRESS>:3000/?

Waiting for the error to come back and I'll try this.

You should run the admin task: Update the '.ssh/authorized_keys' file with Gitea SSH keys.
Also ensure that there is not a key not controlled by Gitea in that file.

@zeripath is there a script to run this admin task? Or how should I update these keys? If it's important, we clone the repos via https as ssh just hangs and never works.

It's on the admin users administrator settings page.

Which version of Gitea was this issue seen on?


feat: Select rows by code on Table

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.
After take the list for the table, I'm set on the _selectedRows the firstrow selected on my Table, but the table doesnt show the row selected, doesnt change de color of the row, its possible make this?
Describe the solution you'd like
Select the rows by code, changing also the color of the rows.
Additional context
No response

@gmondin https://www.blazor.zone/tables/selection#Normal
use bind-SelectedRows


Add PSQL comparison tests for except, intersect

Which issue does this PR close?
Closes #1286.
Note: While testing this the build of ballista-scheduler failed multiple times, apparently due to https://github.com/rust-lang/rust/issues/84970 (incremental compilation flakiness). See https://github.com/mrob95/arrow-datafusion/runs/4200142294?check_suite_focus=true for an example. Adding cargo clean -p ballista-scheduler before cargo build fixed it.

Look great to me, thanks @mrob95.  cc @Jimexist


Clean up / reduce alert noise

eta: 2023Q1
description:
Create runbooks for all critical alerts and link to them, and eliminate unactionable critical/non-critical alerts (e.g. replace Pingdom with the Synthetic Monitor).

https://github.com/protocol/bifrost-infra/tree/master/docs/runbooks


Show zoos at zoom 13, not 15.

Connects to #421.
Needs a migration.
@rmarianski, could you review, please?

:+1:


conditionnal email verification

I added a param in settings to avoid the validation of users email. So, if it's on false, it logs you in straight after your account creation.
And the MAIL_URL env can be set from the settings file

Hello,
thank you very much for this contribution!
May i discuss about some minor details ?

is there any reason to put settings key/values in dedicated "private" section of settings.json ?

There is already  an email section with related stuff (and all settings are written in camelCase).
Note that according to meteor docs (see https://docs.meteor.com/api/core.html#Meteor-settings), all settings are kept on server except those starting with public so i presume it's still safe.

about the new mail_url settings: maybe it should test for Meteor.settings.private.mail_url existence before overwriting the env settings.  This will allow both usage (settings.json or env var MAIL_URL)

All existing settings have default values which are  documented in README.md.

I made a mistake sorry :)
I will make some changes.
Yes, it can be in another part than private, you are right. Force of habit to have only two sections, public and private :)
The mistake that I made was to put email verification needed in private instead of public. We need it in public to redirect the user after the account creation.
I will also put the test as you said,

Cool! Thank you


factorio: 1.1.36 → 1.1.37

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

pokes @lukegb.

Thanks! Didn't see this :)

No problem  :)


Please update to use only Vnyan

Vnyan does not have a VMC sender function and most people have stopped using VseeFace due to Vnyan having it's own built- tracking, it is possible to send pose data via VMC alone.

That would require a lot more work to be done here. The VMC input isn't fluff, it's actually doing most of the heavy lifting here. Right now it just takes the armature received via VMC and performs a bit of simple IK to position the arms accordingly, leaving everything else as-is. This eliminates the need for having to do the tracking in this application (to know how the body should be positioned) as well as having to load and process the model for the avatar (to know what the dimensions of the avatar should be).
The only possibility I could think of to avoid that work would be if there were a setup that would allow for VNyan to do the tracking, send the pose info out via VMC (or some other format?), and then receive updated tracking info back and actually use that.
Otherwise, actually doing all of the work that VMC is eliminating would cause this program to get significantly larger, and retread a lot of ground. You'd be back at square one, where you still wouldn't be using VNyan's built-in tracking. Avatar loading is somewhat less of an issue since VRM is based on the reasonably popular GLTF format, but that's still a pretty decent amount of work to add here. All in all, in that scenario this program just ends up taking the place of the VSeeFace you're trying to eliminate.
The other option I can think of (and originally investigated) would be if VNyan supported some form of IK node for use in its node graphs, in which case this whole thing would have been a lot simpler. Then it would just be a matter of tossing the controller inputs to VNyan over regular OSC and do the processing in the node graph and let VNyan do the IK. Unfortunately, this wasn't an option when I started developing this (and to my knowledge, still isn't).
As an aside, another alternative is Warudo, with which you can do pretty much do exactly that last option (with a plug-in I made a while back to allow its node graphs to receive OSC messages).


Version bump

Hey Team,
There have been some good updates in the past few months but there hasn't been an update since about 4 months ago. Would it be possible to publish a new version off of master?

Hey there! I will try to get a new version published this week. Feel free to tag me here in case I forget.

Version 0.13 has now been released


Add LLVM pass timer

Depends on https://github.com/numba/llvmlite/pull/624

expose llvm:: report_and_reset_timings()
provide python API to access the information

CI is failing because we need a new llvmlite

/AzurePipelines run

/azp run

Hmm... i'm surprised that the behavior of the timer is different depending on the OS.

Hmm... i'm surprised that the behavior of the timer is different depending on the OS.

Think there's some state going on somewhere, locally, on linux, this sometimes works and sometimes does not!

Looks like sometimes the columns coming back from the timer are missing the "System Time" column.
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0015 seconds (0.0015 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   0.0011 ( 80.3%)   0.0000 ( 30.4%)   0.0011 ( 77.9%)   0.0011 ( 77.8%)  SROA #3
   0.0001 (  9.5%)   0.0000 ( 34.8%)   0.0002 ( 10.7%)   0.0002 ( 10.6%)  Early CSE #2
   0.0001 (  5.6%)   0.0000 ( 21.7%)   0.0001 (  6.4%)   0.0001 (  6.2%)  Simplify the CFG #9
   0.0000 (  1.2%)   0.0000 (  2.9%)   0.0000 (  1.3%)   0.0000 (  1.3%)  Dominator Tree Construction #25
   0.0000 (  1.2%)   0.0000 (  4.3%)   0.0000 (  1.3%)   0.0000 (  1.3%)  Post-Dominator Tree Construction #5
   0.0000 (  0.9%)   0.0000 (  4.3%)   0.0000 (  1.0%)   0.0000 (  0.9%)  Dominator Tree Construction #26
   0.0000 (  0.4%)   0.0000 (  0.0%)   0.0000 (  0.3%)   0.0000 (  0.6%)  Instrument function entry/exit with calls to e.g. mcount() (pre inlining) #2
   0.0000 (  0.4%)   0.0000 (  1.4%)   0.0000 (  0.5%)   0.0000 (  0.5%)  Prune NRT refops #4
   0.0000 (  0.3%)   0.0000 (  0.0%)   0.0000 (  0.3%)   0.0000 (  0.4%)  Lower 'expect' Intrinsics #2
   0.0000 (  0.3%)   0.0000 (  0.0%)   0.0000 (  0.3%)   0.0000 (  0.3%)  Normalize NRT refops #4
   0.0014 (100.0%)   0.0001 (100.0%)   0.0015 (100.0%)   0.0015 (100.0%)  Total

[PassTimingRecord(user_time=0.0011, user_percent=80.3, system_time=0.0, system_percent=30.4, user_system_time=0.0011, user_system_percent=77.9, wall_time=0.0011, wall_percent=77.8, pass_name='SROA #3'), PassTimingRecord(user_time=0.0001, user_percent=9.5, system_time=0.0, system_percent=34.8, user_system_time=0.0002, user_system_percent=10.7, wall_time=0.0002, wall_percent=10.6, pass_name='Early CSE #2'), PassTimingRecord(user_time=0.0001, user_percent=5.6, system_time=0.0, system_percent=21.7, user_system_time=0.0001, user_system_percent=6.4, wall_time=0.0001, wall_percent=6.2, pass_name='Simplify the CFG #9'), PassTimingRecord(user_time=0.0, user_percent=1.2, system_time=0.0, system_percent=2.9, user_system_time=0.0, user_system_percent=1.3, wall_time=0.0, wall_percent=1.3, pass_name='Dominator Tree Construction #25'), PassTimingRecord(user_time=0.0, user_percent=1.2, system_time=0.0, system_percent=4.3, user_system_time=0.0, user_system_percent=1.3, wall_time=0.0, wall_percent=1.3, pass_name='Post-Dominator Tree Construction #5'), PassTimingRecord(user_time=0.0, user_percent=0.9, system_time=0.0, system_percent=4.3, user_system_time=0.0, user_system_percent=1.0, wall_time=0.0, wall_percent=0.9, pass_name='Dominator Tree Construction #26'), PassTimingRecord(user_time=0.0, user_percent=0.4, system_time=0.0, system_percent=0.0, user_system_time=0.0, user_system_percent=0.3, wall_time=0.0, wall_percent=0.6, pass_name='Instrument function entry/exit with calls to e.g. mcount() (pre inlining) #2'), PassTimingRecord(user_time=0.0, user_percent=0.4, system_time=0.0, system_percent=1.4, user_system_time=0.0, user_system_percent=0.5, wall_time=0.0, wall_percent=0.5, pass_name='Prune NRT refops #4'), PassTimingRecord(user_time=0.0, user_percent=0.3, system_time=0.0, system_percent=0.0, user_system_time=0.0, user_system_percent=0.3, wall_time=0.0, wall_percent=0.4, pass_name="Lower 'expect' Intrinsics #2"), PassTimingRecord(user_time=0.0, user_percent=0.3, system_time=0.0, system_percent=0.0, user_system_time=0.0, user_system_percent=0.3, wall_time=0.0, wall_percent=0.3, pass_name='Normalize NRT refops #4'), PassTimingRecord(user_time=0.0014, user_percent=100.0, system_time=0.0001, system_percent=100.0, user_system_time=0.0015, user_system_percent=100.0, wall_time=0.0015, wall_percent=100.0, pass_name='Total')]
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0005 seconds (0.0005 wall clock)

   ---User Time---   --User+System--   ---Wall Time---  --- Name ---
   0.0001 ( 31.8%)   0.0001 ( 31.8%)   0.0001 ( 31.5%)  Simplify the CFG #10
   0.0001 ( 29.7%)   0.0001 ( 29.7%)   0.0001 ( 29.6%)  Early CSE #3
   0.0001 ( 17.1%)   0.0001 ( 17.1%)   0.0001 ( 16.9%)  SROA #4
   0.0000 (  5.6%)   0.0000 (  5.6%)   0.0000 (  5.6%)  Post-Dominator Tree Construction #6
   0.0000 (  5.1%)   0.0000 (  5.1%)   0.0000 (  5.3%)  Dominator Tree Construction #27
   0.0000 (  3.8%)   0.0000 (  3.8%)   0.0000 (  3.9%)  Dominator Tree Construction #28
   0.0000 (  2.4%)   0.0000 (  2.4%)   0.0000 (  2.4%)  Prune NRT refops #5
   0.0000 (  1.5%)   0.0000 (  1.5%)   0.0000 (  2.2%)  Instrument function entry/exit with calls to e.g. mcount() (pre inlining) #3
   0.0000 (  1.5%)   0.0000 (  1.5%)   0.0000 (  1.4%)  Lower 'expect' Intrinsics #3
   0.0000 (  1.5%)   0.0000 (  1.5%)   0.0000 (  1.3%)  Normalize NRT refops #5
   0.0005 (100.0%)   0.0005 (100.0%)   0.0005 (100.0%)  Total

[]

as a result the regex doesn't match and there's no records to parse.

I should have addressed all comments. On https://github.com/numba/numba/pull/6560#discussion_r552181599, does the slowdown worth adding a env-var to disable the timings?

I should have addressed all comments. On https://github.com/numba/numba/pull/6560#discussion_r552181599, does the slowdown worth adding a env-var to disable the timings?

I should have addressed all comments. On #6560 (comment), does the slowdown worth adding a env-var to disable the timings?

Thanks @sklam. RE slowdown, I think this should just be off by default and enabled by env var or some other means. I don't think it's a cost that can be justified on the most common path, what do you think?

I should have addressed all comments. On #6560 (comment), does the slowdown worth adding a env-var to disable the timings?

Thanks @sklam. RE slowdown, I think this should just be off by default and enabled by env var or some other means. I don't think it's a cost that can be justified on the most common path, what do you think?

Added NUMBA_LLVM_PASS_TIMINGS to enable/disable the pass timings.

Added NUMBA_LLVM_PASS_TIMINGS to enable/disable the pass timings.

@stuartarchibald I've accepted the patch.

@stuartarchibald I've accepted the patch.

@stuartarchibald I've accepted the patch.

Great, thanks, approved for merge.

@stuartarchibald I've accepted the patch.

Great, thanks, approved for merge.


[20.03-backport] knot: keyFiles, no dynamicUser

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

LGTM.

I expect this doesn't need a line in NixOS release notes, as migrating from DynamicUser=yes should be compatible, right?  I think even switching back and forth should work OK thanks to systemd adjusting ownership automatically.

Yes. The other way around it might cause some problems but switching away from DynamicUser should not break anything.


Does not seem to work with Dvorak

To Reproduce
Steps to reproduce the behavior:

switch to Dvorak keyboard
create a script ctrl + key "j" => insert "c"
register with hawck-add and chmod+x

Expected behavior
ctrl+j (when typed in Dvorak, this is ctrl+c on a qwerty keyboard) should result in ctrl+c being pressed.
Desktop (please complete the following information):

Distro: Arch
Version: git (from aur)
Method of installation (put X inside [ ] if any of the following apply):

[ ] install.sh
[X] AUR package

Keymap: dvorak
Keyboard (put X inside [ ] if any of the following apply):

[X] USB
[ ] Bluetooth
[ ] Laptop built-in
[ ] I use a USB steering wheel exclusively for all my data input.

#32 seems to be the same thing


Public Beta Testing

I propose that a Public Beta branch be created for the repository (equivalent to a release branch for a UAT programme in GitFlow) to allow us to preview and test upcoming and WIP features by synchronising our RuneLite clients to the branch.

Well, everything that is in master is available to everyone using snapshots.

In the short term, one possibility would be to run another CI system (like AppVeyor, or something similar) which allows storage of build artifacts so that non-technical users can just download PR/branch's build and run it to test. In the longer term, it sounds like Travis is adding this functionality soon™? travis-ci/travis-ci#532

Well, we already have that, everything is deployed to maven repository, you can just download shaded.jar from there and run it. But, we don't have this documented, as it is not very good to have average users run snapshots.

The problem with this isn't a technical one, we already provide snapshot binaries to the launcher. The problem is that the builds are not for public consumption. Most people who do not have the technical knowledge to build the client do not have the knowledge to report bugs in a useful capacity.

That would pretty much be the same as the old plugin importing system (or whatever it was called), which Jagex made us remove. I feel like having the Snapshot for people who really can't wait is fine. Also, having people randomly import not fully completed prs/plugins would also be a 'customer support' nightmare

As stated, we do deploy everything pushed to master to repo.runelite.net, and you can pass --version= to the launcher and give it the current snapshot version. I think we shouldn't make it any easier than this. In the past we've found giving snapshot to people who do not understand the implications usually does not end well.

I'd say a more elegant solution would be to offer a simple GUI for enabling WIP versions, albeit buried in the settings, but with a big warning indicator stating that features involved on the WIP version are not guaranteed to work and offer an easy reversion for people in over their heads.
Also, bug reports are only as good as the facility used to report them.  If they're simply reported on here in free-form, they're guaranteed to be lacking.  However, if you provide an intuitive bug reporting form and hook it into your GitHub issues via a script, you would obtain far better reports, helping to propel the project forward at a greater pace.

I would say expecting people that want to run snapshots to at least know how to pass simple parameter to launcher is not very harsh criteria for allowing people to run snapshots, there is no need to have GUI for that.
Even though having some beta testers could be nice, but having people be able to test the snapshot that do not know what they are doing would be worse than not having testers at all imo.

Having a greater pool of testers available is not a problem, so long as you have a solid enough bug reporting system to take advantage of the sheer numbers, as I detailed previously.

I've created a wiki page for running the development snapshot version. (thanks @xaviergmail for the screenshot!) I think this should be enough to satisfy this issue for now?
https://github.com/runelite/runelite/wiki/Running-on-the-Development-Snapshot-Version


Added optional id attribute to toolbar buttons

This will more easily allow better customization of toolbar buttons with css.  If an id property exists for an element of type i, then an attribute is set in the generated html.  If id property doesn't exist, nothing happens.

I have included this manually in the repository now. Just to bear in mind, in future versions the toolbar is integrated with another external plugin that has ID property as an option.


Prevent jumping text when adding search-highlight

Add border width to negative margin to prevent jumping text

Before:

After:

This is awesome attention to detail, I didn't notice this at all. Thanks so much for finding this and fixing!


Draft: Support multi-button presses on Philips remotes

Proposed change
ButtonPressQueue currently resets when receiving a button press from a different button than the previously received one. This prevents proper handling when pressing multiple buttons at the same time.
Additional information
Fixes #3591
This is still a draft. Would like to add another test to make sure multiple button presses are handled correctly. So far tests only check for multi-presses of the same button. Also want to wait for feedback from ericu65 in #3391
Checklist

[ ] The changes are tested and work correctly
[x] pre-commit checks pass / the code has been formatted using Black
[x] Tests have been added to verify that the new code works

Manual tested fix from PR and on RDM001 simultaneous presses of both switches while in mode 2 (dual rocker) both events are received correctly now.


Login Page UI design

Login Page UI design
I am beginner, its my first contribution.

Share the screenshot of your changes.

"I am only design ui login page"

Great work, But Sign in page is already there.
Work on other issues.


Performance degradation after updating graph-tool

I observed a general degradation of performances and longer runtimes after upgrading graph-tool to version 2.40
Latest graph-tool version introduced some optimization (possibly OMP based) which I believe collide with the joblib parallelization we use to run multiple models at the same time.
A possible workaround could be downgrade to gt version 2.37 or set n_jobs=1

The degradation was only apparent to a specific running condition (i.e. hardware allocation).


Use glob brace expansion for file extensions to better handle large lists of filters

Uses  glob syntax is "brace expansion." It allows you to specify multiple patterns within a single set of braces, separated by commas. For example, **/file{.ext1,.ext2} will match both file.ext1 and file.ext2.
Before
Error: An error occurred trying to start process '/home/runner/runners/2.320.0/externals/node20/bin/node' with working directory '/home/runner/work/sample-javascript-monorepo/sample-javascript-monorepo'. Argument list too long

Due to a massive expansion in a long list of projects/file extensions in a monorepo:
Run dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
  with:
    filters: babel-cli:
    - packages/babel-cli/**/*.js
    - packages/babel-cli/**/*.jsx
    - packages/babel-cli/**/*.mjs
    - packages/babel-cli/**/*.es
    - packages/babel-cli/**/*.es6
    - packages/babel-cli/**/*.ts
    - packages/babel-cli/**/*.tsx
    - packages/babel-cli/**/*.mts
    - packages/babel-cli/**/*.cts
    - packages/babel-cli/**/*.htm
    - packages/babel-cli/**/*.html
    - packages/babel-cli/**/*.xhtm
    - packages/babel-cli/**/*.xhtml
    - packages/babel-cli/**/*.vue
    - packages/babel-cli/**/*.hbs
    - packages/babel-cli/**/*.ejs
    - packages/babel-cli/**/*.njk
    - packages/babel-cli/**/package.json
    - packages/babel-cli/**/yarn.lock
    - packages/babel-cli/**/package-lock.json
    - packages/babel-cli/**/pnpm-lock.yaml
    - packages/babel-cli/**/*.json
    - packages/babel-cli/**/*.yaml
    - packages/babel-cli/**/*.yml
    - packages/babel-cli/**/*.raml
    - packages/babel-cli/**/*.xml
  babel-code-frame:
    - packages/babel-code-frame/**/*.js
    - packages/babel-code-frame/**/*.jsx
    - packages/babel-code-frame/**/*.mjs
    - packages/babel-code-frame/**/*.es
    - packages/babel-code-frame/**/*.es6
    - packages/babel-code-frame/**/*.ts
    - packages/babel-code-frame/**/*.tsx
    - packages/babel-code-frame/**/*.mts
    - packages/babel-code-frame/**/*.cts
    - packages/babel-code-frame/**/*.htm
    - packages/babel-code-frame/**/*.html
    - packages/babel-code-frame/**/*.xhtm
    - packages/babel-code-frame/**/*.xhtml
    - packages/babel-code-frame/**/*.vue
    - packages/babel-code-frame/**/*.hbs
    - packages/babel-code-frame/**/*.ejs
    - packages/babel-code-frame/**/*.njk
    - packages/babel-code-frame/**/package.json
    - packages/babel-code-frame/**/yarn.lock
    - packages/babel-code-frame/**/package-lock.json
    - packages/babel-code-frame/**/pnpm-lock.yaml
    - packages/babel-code-frame/**/*.json
    - packages/babel-code-frame/**/*.yaml
    - packages/babel-code-frame/**/*.yml
    - packages/babel-code-frame/**/*.raml

After
Run dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
  with:
    filters: babel-cli:
    - packages/babel-cli/**/*.{js,jsx,mjs,es,es6,ts,tsx,mts,cts,htm,html,xhtm,xhtml,vue,hbs,ejs,njk,json,yaml,yml,raml,xml}
    - packages/babel-cli/**/package.json
    - packages/babel-cli/**/package-lock.json
    - packages/babel-cli/**/pnpm-lock.yaml
    - packages/babel-cli/**/yarn.lock
  babel-code-frame:
    - packages/babel-code-frame/**/*.{js,jsx,mjs,es,es6,ts,tsx,mts,cts,htm,html,xhtm,xhtml,vue,hbs,ejs,njk,json,yaml,yml,raml,xml}
    - packages/babel-code-frame/**/package.json
    - packages/babel-code-frame/**/package-lock.json
    - packages/babel-code-frame/**/pnpm-lock.yaml
    - packages/babel-code-frame/**/yarn.lock
  babel-compat-data:
    - packages/babel-compat-data/**/*.{js,jsx,mjs,es,es6,ts,tsx,mts,cts,htm,html,xhtm,xhtml,vue,hbs,ejs,njk,json,yaml,yml,raml,xml}
    - packages/babel-compat-data/**/package.json
    - packages/babel-compat-data/**/package-lock.json
    - packages/babel-compat-data/**/pnpm-lock.yaml
    - packages/babel-compat-data/**/yarn.lock

Tested on a .js change scenario ...
      "**/*.{js,jsx,mjs,es,es6,ts,tsx,mts,cts,htm,html,xhtm,xhtml,vue,hbs,ejs,njk,json,yaml,yml,raml,xml}",

Would be good to also validate one of these changes handles both Gemfile + Gemfile.lock
    "**/Gemfile{,.lock}",

const pm = require('picomatch');
const isMatch = pm("**/Gemfile{,.lock}");

console.log(isMatch('hello/Gemfile'));
console.log(isMatch('hello/Gemfile.lock'));
console.log(isMatch('hello/Gemfile.lock.lock'));
console.log(isMatch('hello/Gemfile.foo'));
console.log(isMatch('hello/Gemfil'));
console.log(isMatch('hello/foo'));

Gives:
$ node test.js
true
true
false
false
false
false

So yes, that glob works.


Add a tool to sort the content inside lproj localization files and improve the translation of Simplified Chinese.

many languages changes?

 many languages changes?

for most languages, sorted, without other changes. for zh_CN, sorted and modified.

okay thank you~ we need some time to sync up with other translators (many people don't use github and just send me translation files directly).


Not able to use treesitter derived mode with straight

Given the following config, straight will byte compile the package, and generate an autoload file. The autoload file pulls in rust-prog-mode unconditionally. I'm not sure how to workaround this, maybe wrap the file content with a runtime check?
(setq straight-use-package-by-default t)
(use-package rust-mode
  :init
  (setq rust-mode-treesitter-derive t))

$ cat rust-mode-autoloads.el
...
;;; Generated autoloads from rust-prog-mode.el

(register-definition-prefixes "rust-prog-mode" '("rust-"))
...

I'm not sure how straight works to comment on this. But I would be happy to accept a documentation PR if you have found a workaround for this ?

@xofyarg You can disable autoloads and byte-compiling for rust-mode by doing:
(use-package rust-mode
    :straight (:build (:not compile autoloads)))

But in my experience this still doesn't work because whenever I use the above with :init (setq rust-mode-treesitter-derive t) my whole emacs session just crashes.

Same issue with use-package. rust-mode was unable to load, while built-in rust-ts-mode was loaded.

Same issue with use-package. rust-mode was unable to load, while built-in rust-ts-mode was loaded.

Do you mean without straight ? If that's the case, something else is wrong - since I'm using rust-mode fine with use-package.

@psibi Right! I am using use-package without straight. The config is below. Every time I open a rust file, The built-in rust-ts-mode is enabled. I have to enable rust-mode manually.

GNU Emacs 29.4

(use-package rust-mode
  :init (setq rust-format-on-save t
              rust-mode-treesitter-derive t))

@psibi I found the root cause in my env. I enabled global-treesit-auto-mode, which conflicts with the treesitter derived mode in  rust-mode.

Yeah, agree. I use rust-mode with use-package (without straight) and didn't come across this issue. This issue seems to be happening when straight is involved.

If I install rust-mode with straight and without the use-package macro, i.e
(straight-use-package 'rust-mode)
(setq rust-mode-treesitter-derive t)

I have no problems. I also have no problems when global-treesit-auto-mode is enabled.

I can't reproduce these errors.

Sorry for the late reply. Let me try to explain the issue in more details:
Firstly, rust-mode is defined by either rust-prog-mode or rust-mode-treesitter, depends on which one is evaluated last. There's a trap for rust-mode-treesitter-derive though. When evaluating rust-prog-mode, it requires rust-mode, which in turn requires rust-mode-treesitter to define the rust-mode. The definition will then be overridden by rust-prog-mode later. This means if rust-prog-mode is loaded, the rust-mode will be derived from prog-mode.
Secondly, straight generates the autoloads file by default with loaddefs-generate, which scans the variable/functions definitions and put register-definition-prefixes into the generated autoloads file. This leads to an entry (register-definition-prefixes "rust-prog-mode" '("rust-")).
Now let's see how it (doesn't) work: the autoloads has the code below. When a .rs file is opened,  rust-mode.el will be loaded because of the auto-mode-alist and the autoload entry for rust-mode. If rust-mode-treesitter-derive is set, it will require rust-mode-treesitter, so far so good. Then if something tries to complete definitions that starts with rust-, M-x describe-function rust-mode for example, rust-prog-mode will be loaded because of the registered prefix.
(autoload 'rust-mode "rust-mode" "\
Major mode for Rust code." t)
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
(register-definition-prefixes "rust-prog-mode" '("rust-"))

The following straight snippet works but not elegant, as it manually set autoloads for rust-mode:
(use-package rust-mode
  :straight (:build (:not autoloads))
  :init
  (setq rust-mode-treesitter-derive t)
  (autoload 'rust-mode "rust-mode" nil t)
  (add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode)))

I'm not sure if there are any better options, there are something in my mind:

Use autoload-compute-prefixes in rust-prog-mode to disable generating autoloads for that file.
Add another layer over rust-mode-treesitter/rust-prog-mode, and have a command to switch between them, depending on the rust-mode-treesitter-derive variable.


DateTime deserialize error when saving an object with a valid formatted date time

I'm getting a parser error when saving any object (in my case Accounts) with a datetime. I'm on Ruby 1.8.7. Here is a sample date from the db: 2011-11-05 23:43:51 UTC which the gem converts to: 2011-09-13T20:57:42.L+0000 Ruby 1.8.7 doesn't support %L in strftime so I edited the gem source locally to another valid format: YYYY-MM-DDThh:mm:ssZ and I still receive the same error despite the date format being valid as specified in the API docs (http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_select_dateformats.htm). The error is:
Cannot deserialize instance of datetime from VALUE_STRING value 2011-09-13T20:57:42Z
/Users/JavierJulio/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/bundler/gems/databasedotcom-6d89ce70f4ba/lib/databasedotcom/client.rb:376:in `ensure_expected_response': Cannot deserialize instance of datetime from VALUE_STRING value 2011-09-13T20:57:42Z at [line:1, column:574] (Databasedotcom::SalesForceError)
	from /Users/JavierJulio/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/bundler/gems/databasedotcom-6d89ce70f4ba/lib/databasedotcom/client.rb:334:in `with_encoded_path_and_checked_response'
	from /Users/JavierJulio/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/bundler/gems/databasedotcom-6d89ce70f4ba/lib/databasedotcom/client.rb:316:in `http_patch'
	from /Users/JavierJulio/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/bundler/gems/databasedotcom-6d89ce70f4ba/lib/databasedotcom/client.rb:250:in `update'
	from /Users/JavierJulio/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/bundler/gems/databasedotcom-6d89ce70f4ba/lib/databasedotcom/sobject/sobject.rb:103:in `save'

The field that gets that value is a custom field, type DateTime. Any ideas why the API could still be throwing a parse error despite the datetime being correct? Will the databasedotcom gem support Ruby 1.8.7? As the strftime used when parsing datetime from the API result uses %L which isn't supported in 1.8.7.

Researching further I came across this last post in regards to the same error mentioned previously when saving an object with a date time value through the API.
"It definitely won't work with the new Date() attempt.  If you're going to use JSON you need to format your datetime in ISO-8601.  You can get an example of what that is if you query a datetime field through the REST API."
When reviewing the gem source again, the date is custom formatted in the coerced_attrs hash but then later that hash is turned to JSON. Why not leave the DateTime object in the hash and let the coerced_attrs.to_json handle the conversion? That could solve the problem of 1.8.7 support too. Method in question: https://github.com/heroku/databasedotcom/blob/master/lib/databasedotcom/client.rb#L501

Fixed in 1.2.5, which is available from rubygems immediately

I realize now that the to_json I don't think would have done the proper conversion as I'm using this gem on Rails and it has the extensions to make that happen. Thanks for the fix!

This is also happening with "date" fields.  Try setting the "CloseDate" on a SF Opportunity object:

sf_opportunity["CloseDate"] = Date.today
→ Thu, 01 Dec 2011
sf_opportunity.save
Databasedotcom::SalesForceError: Cannot deserialize instance of date from VALUE_STRING value 2011/12/01 at [line:1, column:264]
from /Users/jose/.rvm/gems/ree-1.8.7-2011.03/gems/databasedotcom-1.2.5/lib/databasedotcom/client.rb:376:in `ensure_expected_response'

Casting Date.today.strftime("%Y-%m-%dT%H:%M:%S.000%z") makes the error go away

Jose, I can'r reproduce this.  I can do the following just fine, in both 1.8.7 and 1.9.2:
o = Opportunity.last
o.CloseDate = Date.today + 2
o.save

Could you post a gist of a repro scenario?

Sure thing.  Here you go:
https://gist.github.com/61440be4b57cdf1081d3

I have opened a new issue at https://github.com/heroku/databasedotcom/issues/38

Jose, I can't reproduce- can you send the debugging output I requested in https://github.com/heroku/databasedotcom/issues/38 ?
Thanks!


MINOR rename kafka.utils.Whitelist to IncludeList

rename internal classes, methods, and related constants for KIP-629

Is allowList more suitable to replace whiteList?

@chia7712 this was already discussed as part of KIP-629. The term "include" was chosen to align with existing configs we already had. Please see the KIP and the mailing list discussion

this was already discussed as part of KIP-629. The term "include" was chosen to align with existing configs we already had. Please see the KIP and the mailing list discussion

Got it. thanks for the information!

jdk11 failures seem unrelated


Formatting as ISO8601 should use a Z when in UTC mode

Currently, a moment in UTC mode (such as moment.utc(), or moment().utc(), etc.) is formatted with a +00:00 offset when .format() is called with no parameters.
Example:

For best conformance to ISO8601/RFC3339, when the time zone is explicitly UTC then we should use Z instead of +00:00.
The difference is semantic only, though important in some contexts.  For example, +00:00 might be from London in the winter, or from several places in Africa.  But Z is always UTC.

See #2078

Also #2375

@mj1856 i would like to help, i have the enviroment up, can you give me another hint how to proceed, thanks

Tracked by #3098


home-assistant: 2021.4.4 -> 2021.4.5

Motivation for this change
https://github.com/home-assistant/core/releases/tag/2021.4.5
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

    Outdated dependencies
┏━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Package ┃ Current ┃ Wanted ┃
┡━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
│ numpy   │ 1.20.1  │ 1.20.2 │
└─────────┴─────────┴────────┘

still in staging

========== 8040 passed, 5 skipped, 3286 warnings in 552.37s (0:09:12) ==========


Hook up components

This commit shows the data in the components we have so far.
The components we are now using:

components/metadata
components/info-metric
components/chart

Before

After
Stuff in green - real data
Stuff in red - placeholders

 (5) Add metrics Charts for the Single Performance Page (EPIC 2)


[FEAT] Autoplay audio/video on flashcard reveal/flip

Popular way to learn languages is to attach pronunciations to flashcards and obsidian-spaced-repetition works great with audio embeds (like .webm) but the play button must be pressed explicitly for each card. It would be great if there was an option to autoplay audio or video on flashcard reveal or flip.
Edit: There's a way to get this behavior by using auto-play feature of media-extended plugin. The down-side is that opening flashcard notes will autoplay all sounds :grimacing:

Yeah, same FR. Want to have a feature to support audio player.


Update documentation

Please update the documentation and the files.
Particularly, this step: Universal method - use J-link to burn firmware
I get error when trying to add the Artery MCUs to J-flash.

I found a way to flash it the solution is the following:

Download this file

from https://www.arterychip.com/en/product/AT32F403A.jsp

Unzip the file and open

Copy JLinkDevices.xml from C:\Program Files\SEGGER\JLink_V794 to C:\Users[User]\AppData\Roaming\SEGGER

This fixes the problem and we can flash with JFlash or JFlash Lite software.

Thanks for the information, we have updated the Wiki.


Support tight lists

Description
In markdown-it lists rendered differently depending on the indentation between the list items (look at the distance between the elements):

Markup
Result

But wysiwyg editor always convert all lists to non-tight lists (lists with bigger distance between the elements)
Proposal
Let's preserve indentation between the list items and fully support tight lists

We want to solve this problem by setting styles in YFM for the paragraph inside the list, so that it is displayed compactly.


Wanting to Add a Custom health Depletion Bar for Custom Notes

Describe your problem here.
Well i have Done very Well in The custom Note Animation for Both Bf and Opponent but the small problem is i don't know how to add a Misses to lower health thats all (i don't want to increase health just Lower it).
Here the Code that im Working on
function goodNoteHit(id, noteData, noteType, isSustainNote)
if noteType == 'DodgeNote' then
if noteData == 0 then
playSound('sword-swoosh', 1);
objectPlayAnimation('boyfriend', 'singLEFT-alt', false)
objectPlayAnimation('dad', 'singSLASH1', false)
setProperty('dad.specialAnim', true);
end
if noteData == 1 then
playSound('sword-swish', 1);
objectPlayAnimation('boyfriend', 'singDOWN-alt', false)
objectPlayAnimation('dad', 'singSLASH2', false)
setProperty('dad.specialAnim', true);
end
if noteData == 2 then
playSound('sword-swish', 1);
objectPlayAnimation('boyfriend', 'singUP-alt', false)
objectPlayAnimation('dad', 'singSLASH1', false)
setProperty('dad.specialAnim', true);
end
if noteData == 3 then
playSound('sword-swoosh', 1);
objectPlayAnimation('boyfriend', 'singRIGHT-alt', false)
objectPlayAnimation('dad', 'singSLASH2', false)
setProperty('dad.specialAnim', true);
end
end
end
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

objectPlayAnimation() is deprected; use either playAnim() or characterPlayAnim(<boyfriend/dad>, , <forced?>) instead.
do note that characterPlayAnim is considered to be deprecated, but still somewhat works


Clear jobs in scheduler before shutting down quartz scheduler. Added …

…logs

Current coverage is 36.37% (diff: 0.00%)

Merging #227 into master will increase coverage by 0.07%

@@             master       #227   diff @@
==========================================
  Files           260        259     -1
  Lines         14432      14030   -402
  Methods           0          0
  Messages          0          0
  Branches       2438       2348    -90
==========================================
- Hits           5238       5103   -135
+ Misses         8475       8213   -262
+ Partials        719        714     -5

Powered by Codecov. Last update 3c5ee6f...4e3e63f


Requirements and Specifications Section

As a team, we need to split up the work and complete the Requirements and Specifications Section of our project documentation.

We have now split up the work, and the markups have been noted on the Word document.

We have completed the Requirements and Specification Section, submitted it to Canvas, and pushed a copy to our repo.


[Task]: Override package's edit state through file import

SubTasks
https://www.notion.so/appsmith/cdd277bfe8524f648e73cf2587218dc1?v=c80faa651e644294bea86f10c17b874f&p=107fe271b0e280449d2af2d4cc454de7&pm=s

We should not be doing this as part of JIT pull + latest.
Here is why: https://theappsmith.slack.com/archives/C04GRCN4CS3/p1735549707814639?thread_ts=1735533027.175609&cid=C04GRCN4CS3


Fix issue 18934 - make std.variant support getting types that have const members

The root cause is simply that the wrong static if check is used for something that should be a move semantic.
The two places that I could see this affects are assigning a Variant to another Variant, and the get function.
I'm 99% sure that this is correct. There's no way to get a reference to the data, so the fact that technically const data is changing doesn't matter. It's more like the same memory is just being used for something different.
This is reinforced by the fact that you can simply assign another value and it works (even without this change).

@MartinNowak updated the comment, let me know if it's clearer or not.

Probably it ran in an unlucky time. See https://github.com/dlang/dmd/commit/137ebc2265aad3880b8b5c3e7e09bfe5a6dc773f
I guess a restart helps.

Looks like this didn't make it into 2.080.1
Should I re-target master, or can this still go into stable?

Should I re-target master, or can this still go into stable?

Fixes can always go into stable.

@MartinNowak thx!


when seata server using mysql as a consistent storage system, consider to support authentication plugin 'caching_sha2_password' for mysql 5.8+

Why you need it?
when seata server using mysql as a consistent storage system, consider to support authentication plugin 'caching_sha2_password' for mysql 5.8+

@dk-lockdown I will go to learn about this plugin, and you can also explain the problem you are currently experiencing.

just upgrade mysql-driven's version,currently mysql-connector-java:5.1 seem to be used


cannot use test after fresh install, --watch is not supported without git/hg, please use --watchAll

using yarn test or npm test after fresh install gives this error

--watch is not supported without git/hg, please use --watchAll

test can be started if I initialize repository or using --watchAll which is not needed in create-react-app

can't confirm what fixed or caused this but it works well using the latest version
closing this one


Do I need libusbK?

I've plugged the board in and it's recognised as USBasp by Zadig while the Device Manager shows it under 'libusb-win32 devices' as 'USBaspLoader'. Is that enough, or do I still need libusbK?
What does libusbK do here?

Seems you don't need it, as far as I can tell. Perhaps it was necessary in Windows 7 or something.


[Reef-67] Refactor utility methods in NativeInterop

NativeInterop currently load CLR assemblies for the files provided in global folder, but it gets files from the jar that is not necessarily and easy to cause out of sync. This change does the following:
• Separate load lib in a new class LibLoader  and use injection to get the reference of the object through JobDriver constructor
• Load global files directly instead of getting them from jar
• Renamed and refactored the methods to use LoadLibFromGlobal() and loadFromReefJar()
• Put file names, folder names in ReefFileName class and use injection to get the reference in LibLoader class
• Replaced System.out into proper Log and updated logs
• Add LogScope for LibLoader

This is to resolve issue REEF-67
https://issues.apache.org/jira/i#browse/REEF-67?filter=-1

@jwang98052 I've done a pass.

The change on review comments pushed in


FTDI timing fixes to intersect PDUs

not all to be merged, but contains important stuff also valid for me

too far away from original, too specialized to his wallbox. picked some parts, but he committed not cherry-pickable steps.


Work around DT conflict; bump TS and @types/styled-components

@types/styled-components causes a conflict with @types/react-native. See DefinitelyTyped/DefinitelyTyped#33311.
Close #5294

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS against d7493e5136793b5274f7fec6d77a8ab8a0ea56a9


chore(master): release 1.11.0

:robot: I have created a release beep boop
1.11.0 (2022-08-24)
Features

updated action.yml (e49c674)
updated package.json (aea0a60)

Bug Fixes

fixed version tag (baa4c82)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/SethCohen/github-release-to-discord/releases/tag/v1.11.0 :sunflower:


ES6 tagged template literals for virtual-hyperscript

Discussion of an idea for a useful utility library that could be built separate to Cycle.js.
Idea is given:
let element = html`

Hello, ${name}!

`;

be transformed (be equivalent) to
let element = h('section', [
  h('h1', `Hello, ${name}`)
]);

That seems really nice!
Just to note here, this does a similar transform for JSX:
https://github.com/andreypopp/es6-template-strings-jsx/

I think this gist gives a pretty accurate draft of what such repo would look like for virtual-hyperscript: https://gist.github.com/lygaret/a68220defa69174bdec5

We are using hyperscript-helpers in 8.0.0-rc2, so this issue is obsolete.