Timeout on removal

Two attempts at removal.
Unlocked incorporation - OK
Removed but timed out both times.
Record removal failed
rg11_2389.csv for somt.cen in SOM ProceedingErrno::ETIMEDOUT: Operation timed out - Took more than 100 seconds to receive data (for <IP_ADDRESS>:27017 (mongo1.freeukgen.org.uk:27017, TLS)) (on mongo1.freeukgen.org.uk:27017, connection 1:1, retries disabled), ["/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/socket.rb:419:in `rescue in map_exceptions'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/socket.rb:415:in `map_exceptions'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/socket.rb:190:in `read'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/protocol/message.rb:232:in `deserialize'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_base.rb:168:in `block (2 levels) in deliver'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_common.rb:84:in `add_server_diagnostics'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_base.rb:165:in `block in deliver'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_common.rb:124:in `ensure_connected'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_base.rb:155:in `deliver'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection.rb:300:in `block in deliver'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection.rb:306:in `handle_errors'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection.rb:299:in `deliver'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_base.rb:145:in `dispatch'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:63:in `dispatch_message'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:56:in `get_result'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:29:in `block (3 levels) in do_execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/response_handling.rb:96:in `add_server_diagnostics'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:28:in `block (2 levels) in do_execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/response_handling.rb:43:in `add_error_labels'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:27:in `block in do_execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/response_handling.rb:82:in `unpin_maybe'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable.rb:26:in `do_execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/executable_no_validate.rb:25:in `execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/write.rb:49:in `block in execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server/connection_pool.rb:590:in `with_connection'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/server.rb:425:in `with_connection'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/operation/shared/write.rb:39:in `execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/collection/view/writable.rb:196:in `block (2 levels) in delete_many'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/retryable.rb:261:in `nro_write_with_retry'", "/usr/local/lib/ruby/2.6/forwardable.rb:230:in `nro_write_with_retry'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/collection/view/writable.rb:185:in `block in delete_many'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/client.rb:1018:in `with_session'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/collection/view.rb:212:in `with_session'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/collection/view/writable.rb:179:in `delete_many'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongoid-7.1.5/lib/mongoid/query_cache.rb:188:in `block (2 levels) in alias_query_cache_clear'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/mongo-2.13.1/lib/mongo/collection.rb:646:in `delete_many'", "/home/apache/hosts/freecen2/production/lib/freecen_csv_file_unincorporate.rb:29:in `unincorporate_records'", "/home/apache/hosts/freecen2/production/lib/freecen_csv_file_unincorporate.rb:14:in `unincorporate'", "/home/apache/hosts/freecen2/production/lib/tasks/freecen_update.rake:41:in `block in <top (required)>'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:279:in `block in execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:279:in `each'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:279:in `execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/airbrake-11.0.1/lib/airbrake/rake.rb:19:in `execute'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'", "/usr/local/lib/ruby/2.6/monitor.rb:235:in `mon_synchronize'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:160:in `invoke_task'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:116:in `each'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:125:in `run_with_threads'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:110:in `top_level'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:83:in `block in run'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/lib/rake/application.rb:80:in `run'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/bin/rake:23:in `load'", "/home/apache/hosts/freecen2/production/vendor/bundle/ruby/2.6/bin/rake:23:in `'"]

Alternate way of deletion adopted and deployed to test3

Deployed to production as critical

Thanks, @Captainkirkdawson


Rebuild for openssl3

Bot seems stuck somewhere around this package...

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Through a fairly complicated chain, this depends on https://github.com/conda-forge/aws-c-http-feedstock/pull/75

@conda-forge-admin, please restart ci

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Cool, this works now and doesn't depend on https://github.com/conda-forge/aws-c-http-feedstock/pull/79 anymore!
PTAL @conda-forge/aws-c-s3
CC @hmaarrfk if you're available for pushing the button 🙃

Bot became unstuck (#127), closing


Prevent the "back" action on the screen while performing a transaction on an Android device.

Describe the bug
Prevent the "back" action on the screen while performing a transaction on an Android device.

[x] Send fund
[x] Send NFT
[x] Staking

[x] Staking
[x] Stake more
[x] Unstake
[x] Withdraw
[x] Claim reward
[x] Request Unstake

Version test: v1.0.6(180)
Devices test: MI 8 Lite
Validation passed.


Fix Already Borrowed Panic When SessionContext Used in Multiple Threads

Which issue does this PR close?
Closes #366
Rationale for this change
If you use SessionContext from multiple threads you can get a "Already Borrowed" panic from Pyo3 PyCell.
What changes are included in this PR?
Removed unneeded &mut self references to pyclasses.
Are there any user-facing changes?
Yes, I made the RecordBatchStream an actual python iterator.

I'll go ahead and close this since it has been open for a year and is in draft.
@kylebrooks-8451 feel free to re-open if you resume work on this


Luigi Compatibility issue with Spark 1.3?

Was able to run luigi task with pyspark (Spark version 1.2.1) but when upgraded to Spark version 1.3 - luigi failed to run even the workcount_pyspark example successfully.
This is the error that is returned:
INFO: Running: ['spark-submit', '--deploy-mode', 'client', '--name', 'PySpark Word Count', '--driver-memory', '2g', '--executor-memory', '3g', '--total-executor-cores', '100', 'wordcount_spark.py', 's3n://inputfilelocation/file', 's3n://outputfilelocation/file']
ERROR: [pid 27675] Worker Worker(salt=585058106, workers=1, host=ip-10-20-66-24.us-west-1.compute.internal, username=hadoop, pid=27675) failed    PySparkWordCount(total_executor_cores=100)
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/luigi-1.1.3-py2.6.egg/luigi/worker.py", line 166, in run
task_gen = self.task.run()
File "/usr/lib/python2.6/site-packages/luigi-1.1.3-py2.6.egg/luigi/contrib/spark.py", line 235, in run
universal_newlines=True)
File "/usr/lib64/python2.6/subprocess.py", line 642, in init
errread, errwrite)
File "/usr/lib64/python2.6/subprocess.py", line 1234, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

Can you try changing the name property to remove spaces? That might be the problem as the command that's executed would contain the same spaces without wrapping the string in quotes or escaping spaces. If it works that should be an easy fix. It shouldn't work on spark 1.2.1 either though.
Let me know and I'll look into it further.


[BUG] tfdocs-plugin removes links

Is there an existing issue for this?

[X] I have searched the existing issues

What version of the Terraform provider are you using?
1.2.0
What version of the Terraform CLI are you using?
1.7.3
What type of issue are you facing
bug report
Describe the bug
The temporary workaround of pinning the version for the tfplugin-docs in the main.go must be removed after fix of issue https://github.com/hashicorp/terraform-plugin-docs/issues/355.
This is a follow-up issue for PR #773
Expected Behavior
n/a
Steps To Reproduce
see https://github.com/hashicorp/terraform-plugin-docs/issues/355
User's Role Collections
n/a
Add screenshots to help explain your problem
n/a
Additional context
n/a

ToDo: Track issue-355 of tf-plugin-docs


Upgrade org.postgresql:postgresql 42.2.23 -> 42.2.24

This PR contains the following updates:

Package
Update
Change

org.postgresql:postgresql (source)
patch
42.2.23 -> 42.2.24

[ ] If you want to rebase/retry this PR, check this box.

Suggested commit message:
Upgrade PostgreSQL JDBC 42.2.23 -> 42.2.24

See:
- https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md
- https://github.com/pgjdbc/pgjdbc/compare/REL42.2.23...REL42.2.24


Implement AROMA classifier

Closes #5.
I took the metric and classifier code from ME-ICA/aroma for this.
Changes proposed in this pull request

Incorporate pure Python implementation of AROMA feature calculation and classification.
Create denoising workflow that supports "aggressive", "non-aggressive", and "orthogonalized aggressive" approaches.

@effigies I'm thinking it's time for me to write a test or two of the workflow I'm adding here. I'm thinking of just running fMRIPrep on a single subject's data in "full" mode and uploading the relevant derivatives to Box to use as test data. Do you have any recommendations for OpenNeuro datasets to grab from?

There are probably a lot of things I can do to improve the AROMA outputs (e.g., I ended up moving the component metadata, like variance explained, into a TSV that could maybe be moved back into the JSON), but I think the only thing I need to do to actually get the AROMA workflow running is modify the DerivativesDataSink to support the ICA outputs.

I don't know what's happening with the mock_config, but everything else looks good to me.

We can use https://gin.g-node.org/tsalo/ds005115-fmriprep-test as the base test data for the AROMA and denoising workflow, since it's a small dataset (50 volumes). Just need to write up a job to grab the data and a test to run the pipeline.

Merging now.


Write buffer read port

Port changes from EmbedDB-Desktop for reading out of the write buffer.

New tests files.
Edited EmbedDB.c
Edited EmbedDB.h

This PR was handled by seperating out the changes in to three PRs: #50, #58, and #61


Can't load tokenizer for 'xlm-roberta-large'

Dear authors,
I have tried to change the pre-trained model to 'xlm-roberta-large', but I got this OSerror message:
Can't load tokenizer for 'xlm-roberta-large'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'xlm-roberta-large' is the correct path to a directory containing all relevant files for a XLMTokenizer tokenizer.
Could you guide me how to solve this problem?

Dear authors,
I have tried to change the pre-trained model to 'xlm-roberta-large', but I got this OSerror message:
Can't load tokenizer for 'xlm-roberta-large'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'xlm-roberta-large' is the correct path to a directory containing all relevant files for a XLMTokenizer tokenizer.
Could you guide me how to solve this problem?

sry to disturb, i run into the same problem and want to know if you have resolve this yet?


fix: auto detect gaslimit on withdraw

Description
withdrawal function has been updated and when invoked

if overrides.gasLimit is passed ->  that value is used
else it will try to fetch the gasLimit via estimateGas
and if any error occurs -> will default to 2100

Refs
fixes : https://github.com/ScopeLift/umbra-protocol/issues/262
Testing

locally tested with debugger statements
Additonally set the default gasLimit to 2500 and executed the withdraw -> and the gas limit was set to 21000 (by the estimateGas` function
https://polygonscan.com/tx/0x2c64a01853ad85e4e5df74d2a03bdbf8ffb269100c6cd5a05a8c46e873dac4db

@mds1 doneeee

@apbendi When exactly are you seeing that? I tried to reproduce but using msolomon.eth as the recipient works for me on polygon locally—I was able to get to the MM confirmation then rejected the transaction. Maybe try re-installing packages as a sanity check? (though the version number there looks correct...)

@mds1 I did fresh install to be sure and I'm still seeing the issue. See below:

Ah whoops I was looking at the send page, not receive page 🤦
Either way, just pushed a fix—let me know if that works!

Ah thanks for pushing that in @mds1  <3


Recommend Pressable over Touchable for alternative to Button

Fix this sentence with more up to date guidance.

The result of https://js.coach/?menu[collections]=React Native&page=1&query=button does not seem to not be helpful, so will remove that link

Oh whoops it looks like #3415 does the same thing.


Fallback-Handling changes from version 2.3.4 to 2.4.0

With version 2.3.4 the following functionality calls only the Fallback notFoundFallback if a ConnectException is thrown in connect(). But in version 2.4.0 the aspect calls both Fallbacks: notFoundFallback and failureHandling.
import net.jodah.failsafe.*;
import net.jodah.failsafe.event.ExecutionAttemptedEvent;
import net.jodah.failsafe.function.CheckedFunction;

import java.net.ConnectException;
import java.time.Duration;

public class Main {
    public static void main(String[] args) {
        new Main().execute();
    }

    private void execute() {
        Timeout<Object> timeout = Timeout.of(Duration.ofMillis(1000L));
        Fallback<Object> notFoundFallback = Fallback.of((CheckedFunction<ExecutionAttemptedEvent<?>, ?>) this::handleNotFound).handleIf(this::causedBy404);
        CircuitBreaker<Object> circuitBreaker = new CircuitBreaker<>();
        Fallback<Object> failureHandling = Fallback.ofException(this::handleException);

        FailsafeExecutor<Object> executor = Failsafe.with(failureHandling, circuitBreaker, notFoundFallback, timeout);
        Integer result = executor.get(this::connect);
        System.out.println("result = " + result);
    }

    private Integer connect() throws ConnectException {
            throw new ConnectException();
    }

    private boolean causedBy404(Object o, Throwable throwable) {
        return throwable instanceof ConnectException;
    }

    private Object handleNotFound(ExecutionAttemptedEvent<?> event) {
        System.out.println("handleNotFound");
        return null;
    }

    private Exception handleException(ExecutionAttemptedEvent<?> event) {
        System.out.println("handleException");
        return new IllegalArgumentException();
    }
}

Therefore, with the version 2.3.4 there is the output:
handleNotFound
result = null

However, with version 2.4.0 there is:
handleNotFound
handleException
Exception in thread "main" java.lang.IllegalArgumentException
	at Main.handleException(Main.java:39)
	at net.jodah.failsafe.Fallback.lambda$ofException$0(Fallback.java:119)
	at net.jodah.failsafe.Fallback.apply(Fallback.java:235)
	at net.jodah.failsafe.FallbackExecutor.lambda$supply$0(FallbackExecutor.java:48)
	at net.jodah.failsafe.Execution.executeSync(Execution.java:129)
	at net.jodah.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:376)
	at net.jodah.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:67)
	at Main.execute(Main.java:20)
	at Main.main(Main.java:10)

Is this a bug? Or is there a method to get the old behavior back?

I think it's a bug.
First of all, I think the circuitBreaker and the outer Fallback are red herrings. I get the same results if I omit the circuit breaker from the Failsafe.with call, and the confusing stack trace seems to be the result of throwing IAE when handling the ConnectException.
Note that if you return a non-null value, e.g., 404, from handleNotFound, it works as you expect in both 2.3.4 and 2.4.0:
handleNotFound
result = 404

So apparently a null result value for a Fallback is seen as a failure. That doesn't fit the spec: Fallback.of(R result) is not documented as throwing NPE, but specifying a null return value (whether by Fallback.of((Object)null) or Fallback.of(e -> null)) doesn't result in a null return value from the execution.
That explains why the fallback doesn't do its job: When it re-evaluates its handle condition with its fallback result, the same arguments (null, ConnectException) are passed to causedBy404 again, and this time it fails for good. If Fallback did not have to re-evaluate the handle condition, this would work as expected. See #248 for long discussion about this.

Thanks for reporting this.

This is fixed in 2.4.2.


Fix Kakao Extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Kakao has changed their API to return null for clipChapterThumbnailList, this change comments out the thumbnail extractor to fix the issue.

Why I'm getting this error?
C:\Users\MARK>youtube-dl -F https://tv.kakao.com/channel/3643855/cliplink/412069491
[Kakao] 412069491: Downloading video info
[Kakao] 412069491: Downloading video URL for profile LOW
[Kakao] 412069491: Downloading video URL for profile BASE
[Kakao] 412069491: Downloading video URL for profile MAIN
[Kakao] 412069491: Downloading video URL for profile HIGH
[Kakao] 412069491: Downloading video URL for profile HIGH4
Traceback (most recent call last):
File "main.py", line 19, in
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl_init_.py", line 474, in main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl_init_.py", line 464, in _real_main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\YoutubeDL.py", line 2019, in download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\YoutubeDL.py", line 797, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\extractor\common.py", line 530, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\extractor\kakao.py", line 120, in _real_extract
TypeError: 'NoneType' object is not iterable

@zackmark29 That was the error I was getting on the old version of the file, try the new one linked in the commit. I tested with the one in the commit and it works fine.

@zackmark29 That was the error I was getting on the old version of the file, try the new one linked in the commit. I tested with the one in the commit and it works fine.

Alright. thanks

@zackmark29 That was the error I was getting on the old version of the file, try the new one linked in the commit. I tested with the one in the commit and it works fine.

Do you have compiled exe version?

@zackmark29 That was the error I was getting on the old version of the file, try the new one linked in the commit. I tested with the one in the commit and it works fine.

Do you have compiled exe version?

I do not, however you can run python __main__.py https://tv.kakao.com/channel/3643855/cliplink/412069491 from your CLI and it should begin downloading then.

@zackmark29 That was the error I was getting on the old version of the file, try the new one linked in the commit. I tested with the one in the commit and it works fine.

Do you have compiled exe version?

I do not, however you can run python __main__.py https://tv.kakao.com/channel/3643855/cliplink/412069491 from your CLI and it should begin downloading then.

Ah alright. I'll try.

Still the same error. I already updated the kakao.py with your updated code.

Still the same error. I already updated the kakao.py with your updated code.

That is strange... not sure what would be causing the error then as the affected code is commented out, and I was able to download the video fine on my end. Can you paste the error you got this time (even if it is the same as before)? I would also suggest double-checking to make sure the file is exactly matching what is shown here (especially around line 120 where the change is).

Still the same error. I already updated the kakao.py with your updated code.

That is strange... not sure what would be causing the error then as the affected code is commented out, and I was able to download the video fine on my end. Can you paste the error you got this time (even if it is the same as before)? I would also suggest double-checking to make sure the file is exactly matching what is shown here (especially around line 120 where the change is).

Thank you it's now working.
I forgot to comment the 'thumbnails': thumbs, from line 139

Still the same error. I already updated the kakao.py with your updated code.

That is strange... not sure what would be causing the error then as the affected code is commented out, and I was able to download the video fine on my end. Can you paste the error you got this time (even if it is the same as before)? I would also suggest double-checking to make sure the file is exactly matching what is shown here (especially around line 120 where the change is).

Thank you it's now working.
I forgot to comment the 'thumbnails': thumbs, from line 139

Okay, glad to hear it's working for you now!


Browser support

Question
Hi. I want to use this lib as pure js to be used in browser.
As documented, it support browser. But I didn't get a luck with it.
I also tried browersify, esbuild but no luck.
Versions
Which version of aws-jwt-verify are you using?
I tried 4.0.0, it gave some error. Hence downgraded to   "aws-jwt-verify": "^2.1.3",
Are you using the library in Node.js or in the Web browser?
Web browser
If Web browser, which web browser and which version of it are you using?
Chrome, Firefox

when i user browserify, i get following error:
TypeError: The "listener" argument must be of type Function. Received type object

when i upgrade the library version to 4.0.0, i get a error during browsification:
Error: Can't walk dependency graph: Cannot find module '#node-web-compat' from '/node_modules/aws-jwt-verify/dist/cjs/jwt-rsa.js'

Hi @leenabora !
Best use esbuild or webpack they should both work with the latest version of this lib out of the box. rollup needs a bit of extra config. Here is a Vite example showing how to use the lib in web, with the additional rollup config: https://github.com/awslabs/aws-jwt-verify/tree/main/tests/vite-app
If that doesn't help you please provide us steps to reproduce, showing exactly what you are trying.

you are right. It worked with esbuild. Thanks for your help.

Awesome! You're welcome


Add space after CSS property

In line with the rest of the CSS formatting.

Coverage remained the same at 70.395% when pulling 39a7cadf76789dfecb26a18dc40ac57d83909a49 on johnbacon:patch-1 into 84fa330dd52c7a88ced854132f95673892ff9935 on Mango:master.


Add ext-net_snmp

Relevant information
Splitting the net_snmp devices away from the kentik_default and moving them into their own entity
Checklist

[x] I've read the guidelines and understand the acceptance criteria.
[x] The value of the attribute marked as identifier will be unique and valid.
[x] I've confirmed that my entity type wasn't already defined. If it is I'm providing an
explanation above.

@naxhh wondering if there is something holding this up?

@Mesverrum sorry on the delay, we have been more busy than usual... Merging it now 👍


molokai: Fix color behaviour with replace mode

Before

After

And better contrast between replace an visual modes
Before

After

Finished, and sorry.

Perhaps visual mode better with 118 (green)?

thanks. Please squash.

I changed finally to green the visual mode and I forgot to update gui colors.
Thanks a lot.

okay, thanks again.


Instantly add posts to the map when they are created via click to post

on branch feature/EVO-1046-click-map-to-create-post


hooks in React.js.md

hooks in React.js

Description 📜hooks in React.js
Fixes #8566

Type of change 📝

[ X] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[ X] Frontend Dev #React/Angular/Vue

Checklist ✅

[X ] I follow Contributing Guidelines & Code of conduct of this project.
[ X] I have performed a self-review of my own code or work.
[ X] I have commented my code, particularly in hard-to-understand areas.
[ X] My changes generates no new warnings.
[ X] I'm GWOC'21 contributor

I have made all the changes. Please review once and try to merge it.


Feature: [Triggers] Run select only if there any triggers for tenant

Currently Saltcorn runs SELECT * FROM "tenant"."_sc_triggers" where when_trigger=$1  [ 'Often' ] every few minutes for each tenant.
Such a select adds unnecessary load to the database and other Saltcorn resources.
Triggers are usually added via the Saltcorn Administrator UI.
Therefore, if new triggers appear, Saltcorn learns about this when adding.
Also, at startup Saltcorn can check the current state of triggers for all tenants once.

this will be one of the first first jobs when performance work starts


Adding pause/resume recording for the versions of Android that support it

Problem
react-native-audio currently does not implement pausing/resuming  recordings. This is due to the fact that Android MediaRecording API Level 23 (Marshmallow) does not support pause. However, API Levels 24 and above (Nougat) do include pausing and resuming APIs. If  react-native-audio is being used in versions of Android with API Levels 24 and above, it should be able to pause and resume a recordings.
Proposed Solution
The strategy is to check at runtime if the available API supports pause/resume recordings. If so, use Java Reflection to inspect the MediaRecorder class, get a reference to its pause and resume methods, and use them. In the case that the available API does not support pause, fall back to stoping the recording instead.
This solution does not require to change the Android minimum version required. Additionally, it updates the mechanism for measuring the recording time so that it accurately supports pause.
I have done some basic testing, and the implementation seems to work as expected. Feel free to comment / provide feedback.

Hi @jsierles, is there anyone who can review this pull request and merge it?

Sure, I'll take a look and merge if it looks good. Thanks!

Running the example, pausing works, but resuming gives me this error Please call startRecording before stopping recording.

@jsierles I cannot reproduce the error. Can you give me more details?

@jsierles I noticed that the pause was not working on iOS. Not sure why, but after looking at the code, I'm surprised that it ever worked.
This documentations on AVAudioRecorder says that to resume a paused recording, you must call record() but that was not used in the code at all. The following diff seems to solve the problem, but I'm not sure if it should be part of this pull request.
diff --git a/ios/AudioRecorderManager.m b/ios/AudioRecorderManager.m
index 9cf6303..39c6a39 100644
--- a/ios/AudioRecorderManager.m
+++ b/ios/AudioRecorderManager.m
@@ -212,9 +212,10 @@ RCT_EXPORT_METHOD(stopRecording)

 RCT_EXPORT_METHOD(pauseRecording)
 {
-  if (_audioRecorder.recording) {
-    [self stopProgressTimer];
-    [_audioRecorder pause];
+  if (_audioRecorder.isRecording) {
+      [_audioRecorder pause];
+  } else {
+      [_audioRecorder record];
   }
 }

Any thoughts  on this?

Thanks for pointing this out. I agree things are not ideal here and I'm not sure how it went wrong, as I've haven't been using this lib in a while.
In general I don't like that pause on the native side would both implement pause AND resume. I think the JS API should be have explicit pause and resume functions, and call the appropriate native methods. Can we work on both iOS and Android in this PR to get that right? What do you think?

Regarding the error, it happens when I started up the example app from a fresh install. Let me see about fixing these method signatures first and see how it goes.

I opened another PR with some modifications, and now it seems to work OK on Android and iOS. Let me know if this looks good to you @lmarmol

Closing in favor of #233.

@jsierles I agree that pause and resume should be two different API calls. This is particularly useful when handling incoming phone calls events to automatically pause and resume recordings. I'll be willing to help to make this happen.

OK - I merged a fix for all this in #233. Feel free to submit another PR if it need more work or a clearer API. Thanks for the help!

Thanks for the great job you two have done!

If we could make it work on even below API 24, it would be great.
But it will be a lot of work I guess.
The link following talks about it on Android.
https://stackoverflow.com/questions/39321420/pause-resume-with-android-mediarecorder-api-level-24

@benevbright Interested to try a PR?

No, I can't. I'm sorry. I don't have time for it these days.
But I would keep it in my mind for someday.


Challenge:Regular Expressions: Find One or More Criminals in a Hunt

Describe your problem and how to reproduce it:
Regex expression should fail according to the problem specified but is passing due to missing test cases.
Write a greedy regex that finds one or more criminals within a group of other people. A criminal is represented by the capital letter C.
let reCriminals = /C+/; // Change this line//this passed and is according to question.
let reCriminals = /c+/ig; // Change this line//this regex should fail since capital letter is asked on question and will match lower-upper case//passed
Add a Link to the page with the problem:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt
Tell us about your browser and operating system:

Browser Name: FireFox
Browser Version: 83.0
Operating System: Windows 10

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

Thank you, for taking the time to open this issue.
I am not sure there is any need to do anything here. The aim of the lesson is to teach the + quantifier, but I do understand what you are getting at about campers being able to pass without following the instructions.
As you say, if anything is to be done, a test needs to be added/altered checking that the reCriminals variable does not match c.
I will leave this up for others to weigh in on.

To try and clarify the problem, you are supposed to match capital C letters. With the let reCriminals = /c+/ig; regex @nikikalwar mentioned, it will match lowercase and capital c's, but there is no test to catch that.
Since the instructions specifically say capital C, I think we can make a change here. I vote to just change one of the existing tests to include a lowercase c.


Model checkpoint support?

Hi, is it possible to release the models' checkpoints? Thanks!

this checkpoint is ~2.3 GB, where I don't have a good place to host it (my OSU school GDrive account is expiring).


Schema Graph / Data not loading

Connected to a remote instance data and schema does not load. Did not try with locally running edgedb, nor with docker.

I'm not sure if we have the same issue but I've tried using version "2.0-dev.6629+7951e59" of the edgedb and the UI connects to the database server, can see that there's a database inside, but the network requests are erroneous:
 File "edb/server/protocol/binary.pyx", line 1822, in edb.server.protocol.binary.EdgeConnection.main
  File "edb/server/protocol/binary.pyx", line 1446, in parse
  File "edb/server/protocol/binary.pyx", line 1373, in edb.server.protocol.binary.EdgeConnection.parse_prepare_query_part
edb.errors.BinaryProtocolError: empty query

Will try to run it with other nightly builds and see how it goes


Update NGEN compilation

NGEN compilation was failing due to certain Windows dependencies not being enabled in Windows containers yet.
The COMPLUS_NGenProtectedProcess_FeatureEnabled is used as a workaround.

Fixes #25

I see newer 2019 images do not have this optimization built in. Was it fixed in 2019?


 Apologies if it's been already resolved somewhere else.
I'm using latest Visual Studio 2019 (16.11.3) , targeting ARM64. Compilation of render_sort.cpp fails.
The fix is to check for both macros _M_ARM and _M_ARM64. After that everything compiles successfully.
Thank you.

That's interesting! I have been building this for ARM64 for a while, haven't run into this as an issue before. This does look more correct though, so I'll be happy to take it :)
I did switch this to /develop FYI, master branch is always the most recently published version.


A C++ solution for Merge Without Extra Space (GFG- Hard)

Description
Given two sorted arrays arr1[] of size N and arr2[] of size M. Each array is sorted in non-decreasing order. Merge the two arrays into one sorted array in non-decreasing order without using any extra space.
Link to the Problem Statement: Link
Test Case 1
Input:
N = 4, M = 5
arr1[] = {1, 3, 5, 7}
arr2[] = {0, 2, 6, 8, 9}
Output: 0 1 2 3 5 6 7 8 9
Explanation:
Since we can't use any extra space, modify the given arrays to form
arr1[] = {0, 1, 2, 3}
arr2[] = {5, 6, 7, 8, 9}
Test Case 2
Input:
N = 2, M = 3
arr1[] = {10, 12}
arr2[] = {5, 18, 20}
Output: 5 10 12 18 20
Explanation:
Since we can't use any extra space, modify the given arrays to form
arr1[] = {5, 10}
arr2[] = {12, 18, 20}
Sir, I can work on this issue and provide C++ solution for the same. Kindly Assign me this issue under LGM-SOC'21

Can I try in python?

can i do in java?


Added Turkish translations to schema & type definition messages

Co-authored-by: Aykut Kırcan<EMAIL_ADDRESS>

LGTM! @epoberezkin


Allow cops to share context between files

Is your feature request related to a problem? Please describe.
tl;dr It would be great to have a way to have a cop run across all processed sources to compare between files.
On a project I work on we make use of rails engines to separate different parts of our codebase into smaller components. As such we have a use case where we need to make sure there are no duplicate controller names in any of the rails engines so for example two separate rails engines should not be allowed to create the duplicate class name FooController.
Initially this was solved with a class level cache which would store all of the class names that had been seen and add an offense in there were any duplicates. This was a bit of a hack but since Rubocop creates a new cop instance per processed source this was the only way to share information between processed source files. When we added rubocop-daemon this became a problem because the cache now persists between runs due to the long running process. This leads to false positives because the cache will likely already contain all of the class names that we saw on the last run.
I know this isn't necessarily Rubocop's issue since its really the long running process via rubocop-daemon that creates the problem but I think that the issue can only really be solved within Rubocop itself.
Describe the solution you'd like
There are three solutions I can think of. The easiest might be to provide a run identifier that can uniquely identify each different rubocop run. This would allow the user to check this ID during cop execution and determine if they want to clear the cache wherever it is stored. This might be the easiest and is essentially how I solved it for our cop (i'll explain my current solution further down).
A second solution would be to have a context object that is created at the beginning of the run and allow cops to store and share context between each of the cops. In my case, this would allow my cop to store the different class names which can be checked in the next instance of the cop for the next processed file. This would probably be the most flexible and fit into the current model.
Thirdly would be to change the current contract of a cop to allow it to be long lived. This would be to create all of the cop instances up front and then use those instance for each processed file. This would also likely require the addition of a few hooks that can be used by cops before_run, after_run, etc to allow the cop to manually clean up any state that it has.
Describe alternatives you've considered
I have currently worked around the issue essentially implementing idea #1. In the cop we still have the class level cache but we also keep track of the object_id of the Rubocop::Runner instance.
def _run_id
  ObjectSpace.each_object(RuboCop::Runner).to_a.last&.object_id || 1
end

This instance is long lived for the life of the run and is recreated in rubocop-daemon for each run. This gives us a unique identifier that can be checked against for each processed file. If the object_id has changed then we know its a new run and can clear the cache.
Additional context
None

I imagine very few cops need this so it's not clear a builtin solution is advisable.
OTOH, it should be easy to roll your own, with something like:
class MyCop < RuboCop::Cop::Cop
  class << self
    attr_accessor :seen
  end
  self.seen = {}

  def on_class(node)
    seen = MyCop.seen[node.identifier]
    add_offense(node, message: "Already defined in #{seen}") if seen
    MyCop.seen[node.identifier] = processed_source.path
  end
end

I haven't tested this and this is just a proof of concept for the persistence across Cop's instances (there's many ways where this would fail for namespaced classes)
Or am I missing something?

@marcandre that's an interesting idea, I always get a little nervous amount monkey patching given the wild west ruby used to be back in the day 😄. Those class level callback are a cool idea I hadn't considered but  as you pointed out that would probably be one of the easier solutions to implement.
I know this is a weird feature request since its not technically Rubocop's issue since without rubocop-daemon it works as expected. The solution I posted to look for the last instance of the Runner instance seems to work fairly well, although having to call to_a on an enumerable always makes me a little nervous but what can you do.
I was actually a bit surprised I couldn't find any other examples of Cops that look for validations across files, I sort of would have thought this use case would be more common.
If there is interest beyond my use case I'd be happy to put together an implementation of the idea you proposed, if not I'm also happy to close this and let it be a point of reference for someone else trying to do something similar.

This is something that would be incredibly useful for the Cookstyle project which uses the RuboCop engine. We're analyzing Chef cookbooks and we've been pretty successful at it with the isolated file design of RuboCop. There's a lot of things that would be really great to build out that need to take into consideration the entire cookbook and therefore need a way to check the ast of multiple files. I'm currently walking the directory tree to find our metadata file and then reparsing that, but it's pretty slow to parse that file over and over again. Having some sort of way to grab that file's parsed ast out of cache and use a matcher against it would be really amazing.

I'm slaving on a refactoring of the add_offense  / autocorrect API in #7868 and I will most likely introduce Cop#source_buffer=. Currently, some cops are simply setting @source_buffer directly. I will have a legacy support mode (on by default), cop writers will have to specify explicitly if they use the newer API. Since existing cops might rely somehow on the instances being recreated for each source file, maybe the legacy mode could maintain that while the modern API would imply the notion that a Cop is created once for the full run, with multiple calls to Cop#source_buffer= (and possible a dedicated callback?).
This would make it easy to cache stuff accross files  (and automatically not between runs even with the daemon).
@bbatsov how does instances of cops being reused for different files sound like? That would impact only Cops what explicitly sign in to API I'm working on

@tas50 super interesting use case, I knew I couldn't have been the only one who had a use case that required looking across source files. I'm not sure what the most extensible solution would be here, the class level callbacks would likely only satisfy my use case and help with rubocop-daemon type environments. If there's anything I can do to help with planning/implementation of a proposed solution I'd be happy to contribute.

I think I've mostly hit the wall with what I can do one file at a time so I'm thinking about what I can achieve with helpers and ast caching at this point. Give me some more time and I'm sure I'll have more opinions on how this could potentially look in a perfect world. I have 190 cops for Chef now that we ship to all our customers. It's been a ton of fun to write these. Great platform overall and I think I can bend it to achieve the next phase of what I need.

My PR now includes modern Cops being persisted accross files. The callbacks (now named on_begin_walk and on_end_walk) would allow you to store the current processed source, e.g.
def initialize(*)
  @processed = {}
  super
end

def on_end_walk
  @processed[processed_source.path] = processed_source
end

It's not clear if this persistence is on for all modern cops (inheriting from Cop::Base instead of Cop::Cop) or only opt-in. Now that I think of it, opt-in might simply be easier as persistence might be more trouble than boon for most cops.

Makes sense to me.  A bit of historical context - originally we went for the share-nothing approach mostly because in Ruby you can't really make much meaningful cross-file analysis - you don't know what code is loaded in the file you're inspecting (unlike in a language like Python, Java or Clojure), you don't know in which order the source files were loaded, etc. That meant other than looking for code duplications, there wasn't much potential for cross-file analysis and so we focused on analyzing files in isolation, which as a bonus was simpler to implement.

Given that the majority of cops (ours or custom) don't need to keep context and that it is difficult to test that a cop is clearing it's cache (if any), I'm thinking it would be best that persistence be opt-in, say:
def self.multiple_source_support?
  true
end

Otherwise cops get re-created as before. Sounds good?
Note: our mixins should still support it and clear their cache though. As much as my Cache helper is cute, there's a bug in JRuby that makes it unusable for mixins, so I'll get rid of it.

use case where we need to make sure there are no duplicate controller names in any of the rails engines

Let me ask you a couple of questions @ajorgensen
Do you namespace your engines?
Do you use isolate_namespace?
What happens if you extract an engine to a gem, how would you make sure the new engine from your monolith doesn't overlap with it?
Are there any cops that would benefit from this feature?

Do you namespace your engines?
In general the engines are namespaced but there are some cases where the classes are at the top level.
Do you use isolate_namespace?
Looks like 2 / ~150 of the engines use isolate_namespace
What happens if you extract an engine to a gem, how would you make sure the new engine from your monolith doesn't overlap with it?
My understanding is the rubocop definition to detect duplicate class names (the motivation for this feature request) checks to make sure there are no collisions. We have ~25 custom cops that do a variety of things.
Are there any cops that would benefit from this feature?
I'm sorry im not sure what you mean by this question. In our use case, the checking for duplicate class names across ruby files would benefit from the ability to keep context between cop instances. I'm not sure I have another specific use case off the top of my head though.

Do you use isolate_namespace?
Looks like 2 / ~150 of the engines use isolate_namespace

I could find more than that https://github.com/search?l=Ruby&q=isolate_namespace&type=Code
One of the first references a problem related to it:
# isolate_namespace is causing problems accessing the app's url helpers when the app
# mixes in methods to a controller.
#   <%= logout_path %> <-- this will crash, no url helpers are accessible

but I can't tell how fair is this though.

What happens if you extract an engine to a gem, how would you make sure the new engine from your monolith doesn't overlap with it?

Let me reiterate this. What if you have gem 'myengine' in your Gemfile, how would you expect RuboCop to find name collisions in this case?

My understanding is the rubocop definition to detect duplicate class names

RuboCop is a static code analyzer.
There's nothing that prevents you to define app/models/user.rb and app/workflows/user.rb defining the same User class, where one would just reopen it and throw potentially overlapping methods into it. No Rails engines involved. I might be mistaken, but this doesn't seem like a task for RuboCop to me.

Are there any cops that would benefit from this feature?
I'm not sure I have another specific use case off the top of my head though.

That was the answer I was hoping to get, thanks.

Are there any cops that would benefit from this feature?

Seems to me that some "Duplicated" cop could benefit from it. Duplicated spec, duplicated constant, duplicated method, duplicated algorithm, ...

Duplicated spec

A spec for the same class in a different folder?

duplicated constant

rubocop-rubycw doesn't handle that, but there's a runtime warning:
1.rb:3: warning: already initialized constant A::X
1.rb:2: warning: previous definition of X was here

duplicated method

ruby -cw doesn't seem to care about that even in the scope of a single file. Keeping in mind method definitions in conditionals, define_method with interpolated method name, undef this seems like a very complicated and error-prone task. Not to say when the source is spread over.

duplicated algorithm

https://github.com/seattlerb/flay

@pirj Im not sure I understand your point. In the codebase that I am working on and the motivation for this feature request we have an explicit need for finding duplicate class names across many rails engines. Im sorry if I am misunderstanding your intention but I am not advocating for a general purpose duplicate class finder to be built into rubocop, simply the ability to share context between cop instance during a run to allow any cross file type analysis.
Rubocop today does not support comparing across different files in general as it has a "share nothing" model for the cops at runtime, which totally makes sense and makes the design much easier to reason about. We hacked around this by using a class variable but it comes with its drawbacks specifically when attempting to cache cop runs to speed up execution, as I've mentioned this is more of a rubocop-daemon problem not rubocop itself.

Duplicated spec

A spec for the same class in a different folder?

Could be, or testing the same thing (say if there's a shared_example that should be extracted), or the same let() {} appearing more than X times, but I guess that all falls under the more genera duplicated method/algorithm.

duplicated constant

rubocop-rubycw doesn't handle that, but there's a runtime warning:
1.rb:3: warning: already initialized constant A::X
1.rb:2: warning: previous definition of X was here

Sorry, I wasn't clear, I meant duplicated values, say the same %[list of identical keywords that could be factorized]

duplicated method

ruby -cw doesn't seem to care about that even in the scope of a single file. Keeping in mind method definitions in conditionals, define_method with interpolated method name, undef this seems like a very complicated and error-prone task. Not to say when the source is spread over.

duplicated algorithm

https://github.com/seattlerb/flay

Exactly, for flay-like processing...

What I mean is that bending RuboCop to do cross-file checks may not overweigh the added complexity given that apart from this single use case there are other tools that do this job better (flay) or even no other dedicated tool dares to do that.
Keeping in mind that Rails engines can be isolated out of the box if written correctly, I would say a cop in rubocop-rails that checks for the presence of isolate_namespace and defined namespaces for engine code would do just fine.

I'm not trying to shot down the idea, just not too convinced that it is really worth it.

What I mean is that bending RuboCop to do cross-file checks may not overweigh the added complexity

It's basically done, I just have to test it and close this issue, and it really wasn't complex.

@marcandre were you still working on this?

Totally slipped my mind, and I don't intend to, so I'm closing this.


Occasional Crash on 'scaleImageForScrollViewTransitionFromBounds:'

I get the occasional crash:
[ISVImageScrollView scaleImageForScrollViewTransitionFromBounds:toBounds:]
*** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]'
I think the line 101:
CGSize containedImageSizeOld = [self rectSizeForAspectRatio:self.imageAspectRatio
thatFitsSize:oldSize];
might be returning a zero size and further down the line, it becomes the denominator in a division.
I'm not sure if the fix should be done in 'rectSizeForAspectRatio:thatFitsSize:' or in 'scaleImageForScrollViewTransitionFromBounds'

Hello @ezathashim!
Thank you for reporting this. I'll investigate the issue and get back to you soon. Meanwhile if you could provide at least some steps to reproduce that would help a lot!

I can't reproduce it, but I do get the occasional crash report through HockeyApp. I have attached a crash report
ImageScrollView_Crash.log


Images are not sent

WA-JS Version
2.28.1
WhatsApp Version
2.2412.50
Browser Version
Brave 1.64.109 / Chromium 123.0.6312.58
Operation System
Windows 11
Steps to reproduce
Paste images from clipboard or upload from computer.
What is expected?
Images must be sent when pasting or uploading from the computer
What is actually happening?
When pasting images from the clipboard into a conversation or uploading from your computer, the images are not sent.
When you disable library injection, images are sent normally.

Any additional comments?
No response

Hi, I tried to reproduce your error here, but without success. I used the same version, injected, logged in, pasted image, sent by selecting through the menu, sent via WPP, and no error was presented. Could you provide more details on how you are injecting, or if this error was a temporary one?

I discovered that the problem only happens in groups, and is not restricted to images, but to messages as well.
I'm using the library in an extension, and I inject it as follows:
[parasite.js]
...
async function load() {
setTimeout(async ()=>{
await import("./wppconnect-wa.js");
await import("../main.js");
} , 1000);
}
...
The library is loading normally:

In the previous version of lib, the problem did not occur. To generate a new version of the extension, I just replaced the "wppconnect-wa.js" file with the new one (2.28.1) and recompiled the project.

Alright, we've seen more issues like this before, and they were resolved by updating the project dependencies. Please use the latest version (3.1.0).
https://github.com/wppconnect-team/wa-js/releases/tag/v3.1.0

Version 3.1.0 fixed the issue.
Thank you very much!


Allow temporary changes to settings

Issue Type: Feature Request
When editing a standalone file (not in a workspace) I will sometimes want to have non-standard settings. A common example is to set python.pythonPath to a specific virtualenv, needed for an individual script.
Activating the virtualenv and editing the file
venv\Scripts\activate.ps1
code myfile.py

does not result in the virtualenv being active in VS Code, if I already have VSCode open (the file is opened in the existing instance, and the path settings don't transfer over).
If I could say "set python.pythonPath to XXX" for the current session, that would be sufficient. I don't want to change my user settings, as that would be a permanent change (and I typically use temporary virtualenvs, so the environment will probably be gone before my next editing session). Even if this functionality was only available as an extension API, that would be enough as I could write my own extension to expose it.
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 6.1.7601

Should this be a feature request for the Python extension, or for vscode?

If you set python.pythonPath during a session, does the Python extension pick it up immediately, or require a window reload?
I'm guessing it will require you to reload the window. If so, then this might really just be a feature request for the Python extension. But if not, I think you could have an extension that would modify that setting on activate, and restore it on deactivate.

@roblourens Sorry, this seems to have been closed because it needed more information. What exactly were you looking for?
The question about pythonPath is something I can check - but that's one specific setting and I was asking about the general case. So while it might be useful if the Python extension picked it up, it wouldn't help for other settings. Your other comment, "I think you could have an extension that would modify that setting on activate, and restore it on deactivate" sounds more promising, but you seem to be saying that rather than making a temporary setting change, I make a permanent change and revert it "on deactivation" - won't that risk the permanent setting remaining altered if the editor closes without deactivation happening (for example, if the editor crashes)?
I'm specifically asking about per-session settings, not about temporarily making changes to the settings file(s). Maybe I'm not making myself clear - I'm not 100% sure if "session" is the correct term. But basically if I have a code window open, and then I use code somefile on the command line, I'd like to be able to make changes to the settings for the somefile window (to match the environment I ran code somefile from - which may be different from the settings for the rest of the open code windows).)

I understand that, but I'm not convinced that it would be generally useful. But I'll pass it on.

@pfmoore Why not opening your project/folder in a Workspace ?

Open your project in VSCode
Open the same project in a Workspace using command Workspaces: Duplicate Workspace in New Window
There you can have workspace settings customised only to that workspace

Let me know if this works for you?

@sandy081 Because it's not a project or folder. I have a "Scratch" directory with many individual one-file scripts in it. There's no consistent configuration for all these files, so treating the "Scratch" directory as a project or workspace is incorrect. I open a file in this directory via code myfile.py, and the directory it's in is irrelevant.
But if that file uses (for example) Pandas, I want it to run with my Data Science virtualenv active. If, on the other hand, it uses database calls, I want to run it with my DB access virtualenv. So I need to set a per-file Python path, and I can't do that.
I'm trying to move from using vim as my editor to VS Code, and this (editing single files) is a very, very common pattern of usage for me in vim. Being able to do the same in VS Code is key - if I have to continue using vim for single files, and VS Code for directory-based projects, I end up switching between two editors and that's unlikely to work as a long term solution, so I'll probably end up sticking with Vim (which would be a shame, as I'd miss out on all of the large project benefits of VS Code).

@bpasero Can be this a valid use-case for file based workspaces?

@sandy081 I would argue the other way around, a use-case for allowing to define settings from outside (the user level) for a specific path.

Do you mean whenever a user opens this file, different user settings (associated to this file) kicks off?

@sandy081 at least settings that work in the context of the editor (or can be overridden per file type) could work like this. This goes into the direction of allowing to define workspace specific settings from outside the workspace. I guess for that solution we would need to have some way of mapping settings to a path.

File type specific settings would be a right solution for this.

File type specific settings are emphatically not the right solution for this - I am asking for settings that will differ based on the file, even though it's the same filetype (typically Python).
Please reopen this issue - closing it as a duplicate is incorrect.

@pfmoore how does being able to define settings for an absolute file path not cover that request?

@bpasero I'm confused. What I am asking for in this issue is an ability to temporarily change settings. I.e., to execute a command or edit a form that changes (say) python.pythonPath, and have that change last only for the current session, and not be persisted anywhere.
The discussion seems to have diverged into asking whether having the ability to specify settings on a per-file basis would satisfy my requirement. It would, but it would be per individual file, and not per file type, or per directory, or anything like that... And if that were the case, I don't know how the UI to configure per-file settings would work. I'm imagining something like Vim's or Emacs' modelines, settings embedded in the file, but as it's not my proposal I don't really know what's being suggested.
So my comment stands. The issue referenced (#35350) is definitely not a duplicate of this one, nor is it a solution to the problem that I have which prompted me to raise this issue. Unfortunately I don't seem to have a "re-open this issue" button available to me, otherwise I'd just reopen this - but as it stands I simply have to keep commenting here asking someone else to reopen it. If no-one can, I can open a new issue, but that will fragment the discussion which seems pointless.

@pfmoore all global settings today live in a file settings.json and I could see how the following syntax could allow to define settings per file path:
{
   "<some path>": { <some settings> }
}

Agreed, but

As noted, I didn't ask originally for per-file settings, but temporary per-session settings.
That would then become invalid if I moved the file (unlike the "modeline" style of solution).

Can I suggest that if someone (remember - it wasn't me, although the feature would be useful to me and I'd happily join in the discussion) wants to discuss per-file settings, it should be on a different issue, and this issue should return to the original request, which was for temporary, per-session settings?
And can someone please re-open the issue, as it clearly isn't a duplicate of the one that was linked, and just as clearly, the discussion here is ongoing.

@bpasero Coming back to initial idea, if we treat single file also as a workspace, then the settings will remain until the window is closed, unless user saves it.
@pfmoore What do you expect when an another file is opened in the same window? Do you expect the current settings also apply to that file or you expect different settings per file?

@sandy081 I hadn't really thought about that. Given that what I was suggesting was all very manual (having to set the relevant parameters every time I opened the file) it's not something I'd considered much.
If I think about how I imagined something like this being implemented, I see it as working as if I'd changed the global settings, but only in memory and once I close the instance/window, the changes I made are lost. So in that model, opening a new file in the same window would get the current settings.
I should say that in my mind, "opening a workspace/project/folder" is a very different scenario (and I have completely different expectations) than "opening a single file". And I'm talking here solely about "opening a single file" - treating VS Code as a file editor like Vim, or Notepad++, or similar. That may not be how VS Code works in practice - if so, my expectations could easily seem very odd to you (it would also mean that there's a significant documentation issue that I should flag up, but at this point I wouldn't even know how to describe that!)

@pfmoore I agree that using the word workspace makes this scenario heavier and is causing confusion. It is an implementation detail that all windows (single file/empty window, folder and multi folders) are called workspaces.
I think supporting session (empty workspace / file) settings makes sense to me.

Ah, I see now. That makes sense to me. Thanks for your patience with my garbled explanations!

I'm not sure whether this falls under the same scope, but the VSCodeVim plugin needs to modify the user's status bar colors temporarily as the user enters different modes. These changes don't really need to be persisted, but nevertheless due to the lack of any other API end up modifying the user's ~/.config/Code/User/settings.json, which is annoying if you version control that file.
See: https://github.com/VSCodeVim/Vim/issues/2948 and the warning in the README.

/duplicate
https://github.com/microsoft/vscode/issues/43226 - This issue talks about supporting in memory transient settings per window session.


local: Fix creating data dirs

Codecov Report

Merging #1231 into master will decrease coverage by 0.21%.
The diff coverage is 77.77%.

@@            Coverage Diff            @@
##           master   #1231      +/-   ##
=========================================
- Coverage   52.81%   52.6%   -0.22%
=========================================
  Files         127     131       +4
  Lines       12257   12354      +97
=========================================
+ Hits         6474    6499      +25
- Misses       5028    5097      +69
- Partials      755     758       +3

Impacted Files
Coverage Δ

internal/backend/local/local.go
67.81% <100%> (+1.73%)
:arrow_up:

internal/fs/path_prefix.go
73.91% <73.91%> (ø)

internal/backend/test/tests.go
57.7% <0%> (-0.66%)
:arrow_down:

internal/fs/file.go
0% <0%> (ø)

internal/fs/file_unix.go
0% <0%> (ø)

internal/fs/deviceid_unix.go
0% <0%> (ø)

cmd/restic/lock.go
60% <0%> (+7.5%)
:arrow_up:

Continue to review full report at Codecov.

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


⚠ Mobitopup has degraded performance

In 89330c6, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3671 ms

Resolved: Mobitopup performance has improved in c7b0316.


Rule: consistent RuleTester.errors property

When writing ESLint rule tests using RuleTester, it can be beneficial to enforce consistent usage of the errors property in this RuleTester docs screenshot:

For example, I usually always want to enforce errors to be an object, and I want to require that object to include the message, line, and column properties.
Thoughts on adding a rule like this? Still thinking through what the name could be and what the default options would be for this rule.

Sure, this seems reasonable to me. I don't have any strong opinions about what the options would be like -- maybe a list of required keys in options objects? I'm open to other design suggestions too.

The hard part about this rule is how to configure it and what the default options are. With the addition of the messageId property, it doesn't necessarily make sense to default to requiring the user of this rule to use message vs. messageId. I figure at least one of them should be required, though, by default.

maybe a list of required keys in options objects

That's what I'm thinking for sure. I suppose there is nothing wrong with an opinionated default list of required keys, and if someone is using this rule, they can override the defaults? Not sure it'd be the best experience, but I don't see another way forward for this rule.


[Do not merge] PR for difference

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

Sorry, it's just a mistake of me.


Add option to increase SO_RCVBUF on dnstap listen socket

hey,
Unbound is super aggressive (for good reasons) in closing the blocking TCP sockets should there be even a tiny receive queue on collector side (due to IOPS peaks, for example).
Perhaps add config option to manually set setReadBuffer on the dnstap collector listening socket so kernel could at least buffer more data in such scenarios?

good idea, I need to check if it's easy to implement.

I am not an expert in this topic, can you help me to implement that ?
Can you confirm that if you change this value, you need to be < to the max value defined by the OS ?

You can set any value without error and if you exceed the net.core.rmem_max then it'll just get clamped to max value. Good programs produce a warning if you get clamped so operator can adjust settings.
Golang socket API does not really make it easy to set and get socket options. Rought PoC I hacked together:
package main

import (
	"fmt"
	"net"
	"syscall"
	"context"
)

func main() {
	lc := net.ListenConfig{
		Control: func(network, address string, conn syscall.RawConn) error {
			conn.Control(func(fd uintptr) {
				desired :=  1024 * 1024 * 100
				syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVBUF, desired)
				actual, _ := syscall.GetsockoptInt(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVBUF)
				fmt.Println(desired, actual)
			})
			return nil
		},
	}

	//listener, _ := net.Listen("tcp", "<IP_ADDRESS>:1234")
	listener, _ := lc.Listen(context.Background(), "tcp", "<IP_ADDRESS>:1234")

	fmt.Println(listener)

	for {
		conn, _ := listener.Accept()
		fmt.Println(conn, conn.(*net.TCPConn))
		//conn.(*net.TCPConn).SetReadBuffer(1024 * 1024 * 100)
	}
}

With net.core.rmem_max = 16000000 it'll get clamped to 32000000 (double value is expected, other half of the memory is used for socket metadata) and you can also inspect actual socket receive buffer:
$ ss -n -p -m -l '( sport = 1234 or dport = 1234 )'
Netid       State        Recv-Q       Send-Q               Local Address:Port               Peer Address:Port       Process
tcp         LISTEN       0            4096                             *:1234                          *:*           users:(("test",pid=1207135,fd=3))
         skmem:(r0,rb32000000,t0,tb16384,f0,w0,o0,bl0,d0)

Note that TCPConn interface also provides SetReadBuffer but you have to adjust this for every accepted socket and there is no way to get the actual value so no way to produce a warning.

Some other languages make this pretty easy, example from my own code :)
                        rcvbuf = 134217728
                        @sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_RCVBUF, rcvbuf)
                        if (actual = @sock.getsockopt(Socket::SOL_SOCKET, Socket::SO_RCVBUF).int) < rcvbuf
                                Logger.warn("Unable to set SO_RCVBUF to %d, actual %d" % [rcvbuf, actual])
                        end

FYI,  the following adaptation of your proposal will be implement on next release
// Configure SO_RCVBUF, thanks to https://github.com/dmachard/go-dns-collector/issues/61#issuecomment-1201199895
func SetSock_RCVBUF(conn net.Conn, desired int, is_tls bool) (int, int, error) {
	var file *os.File
	var err error
	if is_tls {
		tlsConn := conn.(*tls.Conn).NetConn()
		file, err = tlsConn.(*net.TCPConn).File()
		if err != nil {
			return 0, 0, err
		}
	} else {
		file, err = conn.(*net.TCPConn).File()
		if err != nil {
			return 0, 0, err
		}
	}

	// get the before value
	before, err := syscall.GetsockoptInt(int(file.Fd()), syscall.SOL_SOCKET, syscall.SO_RCVBUF)
	if err != nil {
		return 0, 0, err
	}

	// set the new one and check the new actual value
	syscall.SetsockoptInt(int(file.Fd()), syscall.SOL_SOCKET, syscall.SO_RCVBUF, desired)
	actual, err := syscall.GetsockoptInt(int(file.Fd()), syscall.SOL_SOCKET, syscall.SO_RCVBUF)
	if err != nil {
		return 0, 0, err
	}
	return before, actual, nil
}

Output:
 INFO: 2023/02/24 18:41:33.830156 [tap] dnstap collector - set SO_RCVBUF option, value before: 131072, desired: 104857600, actual: 425984

Thanks, looks good to me
ESTAB     0          0               [::ffff:.<IP_ADDRESS>]:6000            [::ffff:<IP_ADDRESS>]:54756
         skmem:(r0,rb268435456,t0,tb87040,f36864,w0,o0,bl0,d0)

Implemented in v0.29. 0 release


Add support for the QueryUTxO via the new IPC API

There are still quite a few queries to cover. This covers just the
QueryUTxO one. This requires exporting a UTxO type.
For now the UTxO type has no interesting instances but the newtype
wrapper is exposed which just uses the other API types in a simple way.
newtype UTxO era = UTxO (Map TxIn (TxOut era))

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge


[FIX]: Fix releasing device set on host thread during multigpu call

Describe the changes
This PR fixes an issue when RunOnDevice is called for multi-gpu while other goroutines calling device operations are run outside of RunOnDevice. The issue comes from setting a device other than the default device (device 0) on a host thread within RunOnDevice and not unsetting that host threads device when RunOnDevice finishes.
When RunOnDevice locks a host thread to ensure that all other calls in the go routine are on the same device, it never unsets that thread’s device. Once the thread is unlocked, other go routines can get scheduled to it but it still has the device set to whatever it was before while it was locked so its possible that the following sequence happens:

NTT domain is initialized on thread 2 via a goroutine on device 0
MSM multiGPU test runs and is locked on thread 3 setting its device to 1
Other tests run concurrently on threads other than 3 (since it is locked)
MSM multiGPU test finishes and release thread 3 back to the pool but its device is still 1
NTT test runs and is assigned to thread 3 --> this will fail because the thread’s device wasn’t released back

We really only want to set a thread's device while the thread is locked. But once we unlock a thread, it’s device should return to whatever it was set at originally. In theory, it should always be 0 if SetDevice is never used outside of RunOnDevice - which it shouldn’t be

Is it possible to identify that setDevice() is called outside of a RunOnDevice and throw an error?

I don't think so and its probably better to not expose it if we would just throw an error

Maybe we should not expose it if it should not be called by users directly.

It can be used outside of RunOnDevice but only in certain situations. For example, if a user has two programs running side by side and they want each one to target a different device for the entirety of each process' lifetime, then it would make sense to call it directly and not use RunOnDevice which would incur overhead each time they called down to the GPU.
I'll add a comment on SetDevice to clarify which cases it should be used directly and which cases RunOnDevice should be used


Inconsistent terminology for "finding additional items in the marketplace"

Testing #21633
We have inconsistent terminology for prompting the user to search the marketplace for additional things. For example:

Debug Menu: "Install More Debuggers..."
Preferences | Color Theme: "Find more in the Marketplace..."
Preferences | File Icon Theme: "Find more in the Marketplace..."

Changing "Install More Debuggers" to "Find more in the Marketplace..." does not make sense because there is no context for "more".  "Find more debuggers in the Marketplace..." is simply too long for the menu.  A better solution I think would be to change these across the board.
I'm not a fan of the word "more" in this context as it feels very informal, so I suggest the following:
Install Additional Debuggers...
Install Additional Color Themes...
Install Additional File Icon Themes...

@chrisdias makes sense to me, I can change my wording if @aeschli agrees he will do the same :)

Sure, I will change it for March!


Add JOIN support to PinotQuery

Model JOIN as one type of the DataSource

Codecov Report

Merging #10421 (bd7536e) into master (01ff18d) will decrease coverage by 36.60%.
The diff coverage is 14.70%.

@@              Coverage Diff              @@
##             master   #10421       +/-   ##
=============================================
- Coverage     60.94%   24.35%   -36.60%
+ Complexity     5060       58     -5002
=============================================
  Files          2028     2028
  Lines        110627   110656       +29
  Branches      16846    16848        +2
=============================================
- Hits          67427    26947    -40480
- Misses        38154    80940    +42786
+ Partials       5046     2769     -2277

Flag
Coverage Δ

integration1
?

integration2
24.35% <14.70%> (?)

unittests1
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...org/apache/pinot/sql/parsers/CalciteSqlParser.java
63.46% <14.70%> (-20.98%)
:arrow_down:

... and 1391 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

how do you think we can model a lateral unnest?
E.g.


Currency format

You can easily add currency format, this works for us:
const DBFFIELD_TYPE_CURRENCY = 'Y';    // Currency

public function getCurrency($columnName)
{
    $s = $this->choppedData[$columnName];

    $s = unpack('q', $s);

    if ($s) {
        return $s[1] / 10000;
    }

    return 0;
}

You can also use:
$s = unpack('l', $s);

It results in the same.

Do you have it working @alexjeen? Would you mind opening a PR?

Hi there @hisamu, yes we've verified that it works. However we only use the reading part of this library.
I don't have time to make a PR in the coming weeks for the writing part (and to do some testing for the writing part).
This is the test file we have used to check if it actually works, its a table with a single column and row.
test.dbf.zip


fix(Android): Migrate NonNull annotation to AndroidX

Summary
On androidX the android.support.annotation.NonNull package does not exist, and this causes build error
Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[x] I have tested this on a device and a simulator
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

Hi @ederzadravec could you merge current master into your branch.

hi @safaiyeh, yes

Thanks!

Actually there is a previous PR, that does the same thing. ill Close for that


fix vectorcall argument handling

Fixes #4093

Make PY_VECTORCALL_ARGUMENTS_OFFSET a size_t like on CPython
Change the assert in PyVectorcall_NARGS to check the recovered number, not the original value (which is > PY_SSIZE_T_MAX on purpose)

For the CPython definitions, see

https://github.com/python/cpython/blob/main/Include/abstract.h#L275
https://github.com/python/cpython/blob/main/Include/cpython/abstract.h#L32 and


Roadmap: Task 5d: Snapping for glyphs, vertices and map features

Allow snapping of new vertices to existing glyphs, vertices, or (where practical) map features

Update for the new snapping behavior:

PR landing in bokeh shortly.


New User: KongGe

Name: KongGe
Homepage url: http://kongge.com
Brand Guidelines/Licensing: N/A
Logo: http://img.shenghuozhe.net/shz/2015/11/02/500w_200h_CD9351446450920.png

Nice, wanna open a PR for it? Here's some examples

Sure, i created a pull request #531 , and run logo file through ImageOptim


fix: dependabot correct name

Linkin this here for the issue https://github.com/chromaui/chromatic-cli/issues/550


Fix FolderExplorer pnpjs related issues

Q
A

Bug fix?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
fixes #741

What's in this Pull Request?
probably pnpjs version related fixes

@pnp/sp/lists is not included in the FileExplorerService.ts, but used (see the linked issue)
The result that web.lists is undefined and that exception. Used here: https://github.com/pnp/sp-dev-fx-controls-react/blob/dda0256dab865a47c56a971763bf44f18689a5dc/src/services/FolderExplorerService.ts#L44

double encoding of folder paths (of the "%" symbol) in the same service. This causes the list of folders to be always empty even after the change above (see the linked issue). The pnpjs library already does encoding of this parameter. pre-encoding it results in double-encoding of the "%" symbol and invalid folder paths.

Thank you @nbelyh for the fix!


Feature request :- NO need to double checking to delete the task if it's already done/checked

Is your feature request related to a problem?
I'm always frustrated when it asks to delete the already-done task
The solution you'd like
If the checkbox is clicked and the task is cut off, there is no need to double check for the task.
Alternatives you've considered
A specific button to delete all completed tasks at once.
If you feel unclear feel free to ask questions.

I think at this point of time, this is not required.


Group all traits test under one e2e directory

I would like to move all trait related tests into one directory e.g. e2e/common/traits to give it more structure.
I would also like to have a suffix in the name e.g. addons_test.go -> addons_trait_test.go
Thanks

I think it's been fixed with #2059.


Invalidate url and searchParams separately

Describe the problem
TL;DR: Inside layouts, searchParams invalidation is tied to URL invalidation. If searchParams change but the URL does not, invalidation still happens.
Picture this route setup:
/[type]/[slug]/[route]
Each level here uses nested layouts; the data is gotten inside layouts at every step, using the data from the parent. Currently I have the setup where I append a search param at the end of the URL:
/private/test/10/?preview
and want the logic at the /[type] layout to be different because of it, resulting in a different API request in load. But as soon as I introduce an event.url.searchParams dependency inside that layout, it starts invalidating on any URL change, not merely searchParams change.
Describe the proposed solution
It would be nice to split the searchParams invalidation off of URL invalidation, making them independent.
Alternatives considered
Currently I bullied it into ignoring URL validation with this hack.
const absolutelyNotSearchParams =
    Object.getOwnPropertyDescriptor(Object.getPrototypeOf(event.url), 'searchParams').get.call(event.url)

Importance
would make my life easier
Additional Information
Discord thread link on spelunking the code for the invalidation: https://discord.com/channels/457912077277855764/1061705110880780298

Could you provide a code snippet of what you want to achieve? I'm having a hard time wrapping my head around this.

Sure! Here's a slice of my project:
https://stackblitz.com/edit/sveltejs-kit-template-default-xhzbzu?file=src%2Froutes%2Fu%2F[uid]%2F%2Blayout.js
src/routes/u/[uid]/layout.js: I feel it is not supposed to invalidate the entire stack because I am not watching the url, i'm watching query params.
I want to slap that query param at the end and make the route near the root of the stack change the API request.

Ok I think I understand now.
You want foo?bar and baz?bar not to rerun +layout.js if its load function is only using the search params and vice versa
export function load({ url }) {
  url.searchParams...;
  url.search..;
  // ..
}

It's probably possible, but I'm wondering if it's worth the additional code, and if instead something like #6294 in combination with depends is better suited for such situations.

Yeah, just throwing my edge case out there. From what I have seen, it will require additional query_changed and uses things. Not a priority because there is a workaround, but it will result in less "why is this happening" for users. I could see a couple of permutations where this would be unexpected (it was for me, had to deep into the SK logic for the first time for this).

I've been trying to find a way around this bug for a few days without luck. My use case is similar to @Algoinde where I have a layout that loads a document based on a URL search param. That document gets used by numerous child routes but the document doesn't change unless the search param changes.
Here's the server layout:
// routes/doc[...section]/+layout.server.ts

export const load = (async (event) => {
  // Optional revision passed in via the url = ?revision=abcd123
  // We want to only rerun this load() when the revision search param changes.
  const revision = event.url.searchParams.get('revision') ?? 'latest'

  const doc = await loadDoc(revision)
  return {
    doc
  }
}) satisfies LayoutServerLoad

In my +page.svelte there are various internal links to other sections, e.g. /doc/section1/subsection1. Due to this bug, every navigation change causes the layout to reload, despite the url param not ever changing, (or even being provided.)
I understand why this is happening and I understand how to access the searchParams in a way that will not track the URL and cause the reload. However, I do not understand how to reload the layout only when the searchParams changes.
E.g. in my +page.svelte I have a link to a previous revision, /doc/section1?revision=previous

If I access the searchParams in an untracked way, clicking on this link will not cause the load to happen which means the wrong version of the doc will be shown.
If I access searchParams in the usual way, (url.searchParams.get(...)) every internal link to the same document will cause a reload of the doc, while links to previous revisions will work.

I've tried using depends + the untracked access method described in this issue but I don't understand how to check the previous value of the URL in order to call invalidate on the URL when I know there should be a reload of the layout.
Is there actually a workaround for this? How do we only reload a layout when a URL search param changes?
One suggestion would be to provide a second parameter to depends() that takes in the string/url to check and returns true if the url should be invalidated and false otherwise.
e.g.
const { url, depends, request } = event
const currentRevision = new URL(request.url).searchParams.get('revision') ?? 'latest'

// Depend *only* on the `revision` search param
depends(request.url, (url: string) => {
  // Return true if the provided URL should be invalidated
  const newRevision = new URL(url).searchParams.get('revision') ?? 'latest'
  return newRevision !== currentRevision
})

I have another use case where this would be very useful.
In my project I have a /products layout/page that displays a list of products, and /products/[id] page that displays a given product. The /products/[id] page still shows products from /products undearneath.
// /products +layout.server.js
export async function load({ locals: { db }, url }) {
  const search = new URL(url).searchParams.get('search');
  const { items } = await db.read('products', { search });
  return { items };
}

The problem is I want to be able to query the products list with a URL param.
To do this I need to:

show the list using a param (e.g. /products?search=tea)
when a user clicks on a given product from the list show a product page (e.g. /products/bubbletea)
when a user wants to go back to the products list I add the param (/products?search=tea) so that the user doen't have to manually use the search again and, obviously (*see note below*), to prevent the list from refreshing, hovewer...

That causes the list to be refreshed not just everytime the user navigates back to the products list, but EVERYTIME the users clicks on any product. That's because of the fact that the /products layout relies on the URL to filter the list and the parameter disappears from the url when the user is navigating to a chosen product. Hovewer when the user goes back to a /products?search=tea the param reappears exactly how it was before on that pathname so it shouldn't trigger the reload in my case. I can hovewer see a use case where it should, so...
My point is we should be able to control when the reload is happening.
*note*: I'd just like to add here that I think that kind of behaviour seems intuitive to me. That even though the pathname depends on a URL, when absolutely nothing changes in it since last time the given route was visited there is no need for a refresh. I do understand why what is happening is happening, but -in my head - intuitively it should be happening.
Personally I think that we should be able to control all (or most) conditions of a reload. My proposition:
export async function load({ reload }) {
  reload({ parentLoad: false, searchParams: false }) // etc
  return;
}

Bump.
Any updates on this? Without this fix, certain types of access patterns are not possible with Kit.
E.g. It's not possible to load layout data using a search param such that subsequent navigations to child routes does not invalidate the layout data.

Bump.
Any updates on this? Without this fix, certain types of access patterns are not possible with Kit.
E.g. It's not possible to load layout data using a search param such that subsequent navigations to child routes does not invalidate the layout data.

I ran into this and you can do any of the following:

Add an onNavigate/onUpdate in the +layout to invalidateAll
surround the slot with a #key Block.
invalidate all in a $: block in the page.

Bump.
Any updates on this? Without this fix, certain types of access patterns are not possible with Kit.
E.g. It's not possible to load layout data using a search param such that subsequent navigations to child routes does not invalidate the layout data.

I ran into this and you can do any of the following:

Add an onNavigate/onUpdate in the +layout to invalidateAll
surround the slot with a #key $page.url.pathName Block.
invalidate all in a $: block in the page.

The issue is that I don't want to invalidate all since that would invalidate both the layout and the page. I want to invalidate just the page but leave the layout alone. Imagine an app that uses 2 url parameters. The first is used to load the layout data and the second is used by the page to load data. Theres no way (that I know of due to this bug) to change just the pages url search param and have only the page load rerun.

I tried to do what you're saying by making a nested page with a route param
according to the url param you want to switch.
Then surrounding the <slot in the layout with a key block like in my 2nd
method
On Sat, 28 Oct 2023 at 8:09 PM Cory Virok @.***> wrote:

Bump.
Any updates on this? Without this fix, certain types of access patterns
are not possible with Kit.
E.g. It's not possible to load layout data using a search param such that
subsequent navigations to child routes does not invalidate the layout
data.
I ran into this and you can do any of the following:

Add an onNavigate/onUpdate in the +layout to invalidateAll
surround the slot with a #key $page.url.pathName Block.
invalidate all in a $: block in the page.

The issue is that I don't want to invalidate all since that would
invalidate both the layout and the page. I want to invalidate just the page
but leave the layout alone. Imagine an app that uses 2 url parameters. The
first is used to load the layout data and the second is used by the page to
load data. Theres no way (that I know of due to this bug) to change just
the pages url search param and have only the page load rerun.
—
Reply to this email directly, view it on GitHub
https://github.com/sveltejs/kit/issues/8403#issuecomment-1783873094, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFY5BLW4PVBVANTTGQJHT3YBU35NAVCNFSM6AAAAAATVCU4B2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBTHA3TGMBZGQ
.
You are receiving this because you commented.Message ID:
@.***>

I tried to do what you're saying by making a nested page with a route param according to the url param you want to switch. Then surrounding the <slot in the layout with a key block like in my 2nd method
…
On Sat, 28 Oct 2023 at 8:09 PM Cory Virok @.> wrote: Bump. Any updates on this? Without this fix, certain types of access patterns are not possible with Kit. E.g. It's not possible to load layout data using a search param such that subsequent navigations to child routes does not invalidate the layout data. I ran into this and you can do any of the following: 1. Add an onNavigate/onUpdate in the +layout to invalidateAll 2. surround the slot with a #key $page.url.pathName Block. 3. invalidate all in a $: block in the page. The issue is that I don't want to invalidate all since that would invalidate both the layout and the page. I want to invalidate just the page but leave the layout alone. Imagine an app that uses 2 url parameters. The first is used to load the layout data and the second is used by the page to load data. Theres no way (that I know of due to this bug) to change just the pages url search param and have only the page load rerun. — Reply to this email directly, view it on GitHub <#8403 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACFY5BLW4PVBVANTTGQJHT3YBU35NAVCNFSM6AAAAAATVCU4B2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBTHA3TGMBZGQ . You are receiving this because you commented.Message ID: @.>

Ah yes, I would imagine that works fine if you can move the search params into route parameters.

Bump.
Any updates on this?

Can this be considered fixed by https://github.com/sveltejs/kit/pull/11258?


Node.js  Performance Team Meeting 2023-09-18

Time
UTC Mon 18-Sep-2023 17:00 (05:00 PM):

Timezone
Date/Time

US / Pacific
Mon 18-Sep-2023 10:00 (10:00 AM)

US / Mountain
Mon 18-Sep-2023 11:00 (11:00 AM)

US / Central
Mon 18-Sep-2023 12:00 (12:00 PM)

US / Eastern
Mon 18-Sep-2023 13:00 (01:00 PM)

EU / Western
Mon 18-Sep-2023 18:00 (06:00 PM)

EU / Central
Mon 18-Sep-2023 19:00 (07:00 PM)

EU / Eastern
Mon 18-Sep-2023 20:00 (08:00 PM)

Moscow
Mon 18-Sep-2023 20:00 (08:00 PM)

Chennai
Mon 18-Sep-2023 22:30 (10:30 PM)

Hangzhou
Tue 19-Sep-2023 01:00 (01:00 AM)

Tokyo
Tue 19-Sep-2023 02:00 (02:00 AM)

Sydney
Tue 19-Sep-2023 03:00 (03:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Performance Team+Meeting+2023-09-18&iso=20230918T1700
or https://www.wolframalpha.com/input/?i=05PM+UTC%2C+Sep+18%2C+2023+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1IPuj2vodvblvRyPiX22LbFRWL9wZp0TWsleHQHNKiUQ/edit

Agenda
Extracted from performance-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node

Improve developer experience for v8 performance related flags #43407

nodejs/performance

Bring back clonefile on Mac OS X #110
Fast path for --no-deprecation #90
Performance of WHATWG ReadableStream.read() #82
MakeCallback is very slow #24

Invited

Performance team: @nodejs/performance

Observers/Guests
Notes
The agenda comes from issues labelled with performance-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/94710602723

As most of the team will be in Bilbao for the Collaborator Summit (https://github.com/openjs-foundation/summit/issues/360), I assume that we will cancel the meeting. However, if anyone wants to proceed with the meeting, I am available to chair if needed.