Loading relations of entity x from multiple different entities throw error with dataloaders

Describe the bug
I'm using graphql to load somewhat deep hierarchy of entities. One entity, X, is related (m:1) in multiple different entities which is the culprit of this issue when loaded by using dataloaders, throwing error:
TypeError: Cannot read properties of null (reading '__helper')
at helper (packages/core/src/entity/wrap.ts:35:33)
at packages/core/src/utils/DataloaderUtils.ts:181:22
    at Array.filter (<anonymous>)
at packages/core/src/utils/DataloaderUtils.ts:206:25
    at Array.map (<anonymous>)
at DataLoader._batchLoadFn (packages/core/src/utils/DataloaderUtils.ts:198:28)

I have a bit more complicated relations with my application compared to the reproduction but I was able to reproduce the behaviour by not having an await for the first load call. The error happens when the dataloader combines all those X entities and tries to map them with the owner entities in DataloaderUtils.getColBatchLoadFn. When one X belongs to another collection, the getColFilter can't find refOrCol at all.
Here's the actual scenario if it's relevant:
I have entities: Brand, VideoCollection, Video and ImageAsset
class Brand {
  @OneToMany(() => ImageAsset, (imageAsset) => imageAsset.brand, { cascade: [Cascade.ALL] })
  images = new Collection<ImageAsset>(this);
}

class VideoCollection {
  @ManyToOne(() => Brand, { nullable: true, ref: true })
  brand?: Ref<Brand>;

  @OneToMany(() => ImageAsset, (image) => image.videoCollection, { cascade: [Cascade.ALL] })
  images = new Collection<ImageAsset>(this);

  @OneToMany(() => Video, (video) => video.videoCollection)
  videos = new Collection<Video>(this);
}

class Video {
  @ManyToOne(() => Brand, { nullable: true, ref: true })
  brand?: Ref<Brand>;

  @ManyToOne(() => VideoCollection, { nullable: true, ref: true })
  videoCollection?: Ref<VideoCollection>;

  @OneToMany(() => ImageAsset, (image) => image.video)
  images = new Collection<ImageAsset>(this);
}

class ImageAsset {
  @ManyToOne(() => Video, { nullable: true, ref: true })
  video?: Ref<Video>;

  @ManyToOne(() => Brand, { nullable: true, ref: true })
  brand?: Ref<Brand>;

  @ManyToOne(() => VideoCollection, { nullable: true, ref: true })
  videoCollection?: Ref<Video>;
}

The error occurs when I load Videos and dataload the brand and videoCollection and their images.
Reproduction
import { Collection, Entity, ManyToOne, MikroORM, OneToMany, PrimaryKey, Property, Ref } from '@mikro-orm/core';
import { SqliteDriver } from '../../packages/sqlite/src';

@Entity()
class Video {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @OneToMany(() => Category, category => category.video)
  categories = new Collection<Category>(this);

  @OneToMany(() => Image, image => image.video)
  images = new Collection<Image>(this);

}

@Entity()
class Category {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @ManyToOne(() => Video, { nullable: true, ref: true })
  video?: Ref<Video>;

  @OneToMany(() => Image, image => image.category)
  images = new Collection<Image>(this);

}

@Entity()
class Image {

    @PrimaryKey()
    id!: number;

    @Property()
    url!: string;

    @ManyToOne(() => Video, { nullable: true, ref: true })
    video?: Ref<Video>;

    @ManyToOne(() => Category, { nullable: true, ref: true })
    category?: Ref<Category>;

}

describe('GH6548', () => {

  let orm: MikroORM;

  beforeAll(async () => {
    orm = await MikroORM.init({
      entities: [Video, Category],
      dbName: ':memory:',
      driver: SqliteDriver,
      debug: true,
      dataloader: true,
      allowGlobalContext: true,
      populateWhere: 'infer',
    });
    await orm.getSchemaGenerator().refreshDatabase();
  });

  afterAll(() => orm.close(true));

  test('Load with relation from different entities', async () => {
    const video = orm.em.create(Video, { name: 'video1', images: [{ url: '/image1' }] });
    const category = orm.em.create(Category, { name: 'category2', images: [{ url: '/image2' }] });
    await orm.em.flush();
    orm.em.clear();

    const v1 = await orm.em.findOneOrFail(Video, video.id);
    const c1 = await orm.em.findOneOrFail(Category, category.id);
    await Promise.all([v1.images.load(), c1.images.load()]);
  });
});

What driver are you using?
@mikro-orm/postgresql
MikroORM version
6.3.13
Node.js version
20.12.2
Operating system
MacOS
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord.
[X] The provided reproduction is a minimal reproducible example of the bug.

not having an await for the first load call

A better way here is using Promise.all which fails the same.
It's similar to #6031, but here the fix is much simpler, we just need to check if the inverse side exists, returning false if not.

True that. I just made a PR for that https://github.com/mikro-orm/mikro-orm/pull/6149


[Enhance] Faster implementation of KNN

This new KNN code is borrowed from PAConv. They use heap data structure to accelerate so it's called knn_heap.
points.shape == [8, 4096, 3]
centers.shape == [8, 64, 3]
k = 32
100 loops:
The current knn needs ~8s, while knn_heap only needs < 0.1s!

Should we still keep the current knn in the codebase? After all, they have the same functionality. And knn is not used in our codebase now so this won't cause any BC-breaking. (Or we can do a import knn_heap as knn trick in mmdet3d/ops/__init__.py?)

My first time working with custom gpu ops. Please point out any mistakes I made.

If the input and output of these two modules are the same, we can simply replace the original one for acceleration. Otherwise, we might need to prevent BC-breaking.

If the input and output of these two modules are the same, we can simply replace the original one for acceleration. Otherwise, we might need to prevent BC-breaking.

Yes, I modify the wrapper so that the input and output are the same now. Also, knn is not used in our current codebase (I understand some users may use it in their projects). I will replace the original one.

Maybe add a line somewhere telling users the speed difference of two implementations?

Maybe add a line somewhere telling users the speed difference of two implementations?

I will just replace the old one with the new KNN op since their interface are the same.


Adding hubrecht.eu domain as a student

My email address is from: https://www.hubrecht.eu/
Which is part of: Utrecht University in the Netherlands (Universiteit Utrecht) https://www.uu.nl/
This relationship can be seen from here: https://www.uu.nl/en/research/regenerative-medicine-utrecht/about-us/location

@aallahyar I am sorry, I am sorry, I have to close the request without merging, because this organization is a research center, not a college, nor a university. Please ensure that you are familiar with this repository rules located at the bottom of this page. If you are a student or a teacher, you are eligible for a free license anyway, and you can apply for it with your official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).
If you need further assistance, please send an email to<EMAIL_ADDRESS>


Support zstandard as a compression type for TfRecordDataset

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): 2.4
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
Currently: tf.data.TFRecordDataset supports GZIP and ZLIB (and possibly SNAPPY) compression types.
Propose: Support zstandard as a compression type
Will this change the current api? How?
Yes, this will introduce one more compression type to tf.data.TFRecordDataset's compression_type
Who will benefit with this feature?
All users using tfrecords for training via tf.data.TfRecordDataset should be able to benefit from the faster decompression and better compression ratio.

@yongtang this is what we had spoken briefly about during the TF IO SIO meeting today

@rllin As was discussed in the meeting, the extra compression support likely will be landed in tensorflow-io package. I will transfer the issue to tensorflow/io repo and we can continue the discussion there.


Add FTS for app name and windows name

name: pull request
about: submit changes to the project
title: "[pr] "
labels: ''
assignees: ''

description
brief description of the changes in this pr.
related issue: #
how to test
add a few steps to test the pr in the most time efficient way.

if relevant add screenshots or screen captures to prove that this PR works to save us time.
if you think it can take more than 30 mins for us to review, we will pay between $20 and $200 for someone to review it for us, just ask in the pr.
Fixes #964
/claim #964

hmm no

did you read the code?

we already have fts on these columns
you need to change db.rs code and make sure tests pass of course

i usually do cargo test and it works
here's the thing to change
https://github.com/mediar-ai/screenpipe/blob/6d03f291f102a034e89225ac7d8dfba7dfbae269/screenpipe-server/src/db.rs#L733
LIKE is very inefficient, O(n) while FTS is O(logn) for search so it would likely make search with window/app name more than 1000x faster

does not compile

any update

@louis030195 Can I fix all this on weekend? I will make sure to complete this issue

sure


Consider adding software from github.com/zosopentools

The tools at https://github.com/zosopentools are upstream open source tools that are ports being worked on for z/OS, including build instructions and patches (changes are also submitted upstream). Consider adding this to the z/OS data source file.

Done with #39


Wouldn't it be better if the application was following hexagonal architecture?

Whole Application seems to follow MVC Architecture which makes it difficult to port to other languages and/or frmaework, it is highly dependent on Gin. Maybe something like go-kit?

Hi, it was one of my first bigger Go projects. I personally would probably archive it soon since it does not follow good Go best practices.

oh can you direct some things over to me because i am learning go and would love some of the articles is that's not a problem.
Also there is one question i have been meaning to ask someone:
Say you need to get some of the data from data base, so you create a  function in your service, but the things is the data that is required in the endpoint is not the data as same as the data in the database. So do you change the data in service layer or in transport layer?


Out-Cradle is not recognized

I have all the ps1 and psd1 files on Desktop. In powershell I Import-Module .\Invoke-CradleCrafter.psd1 but when I try to create a cradle by stepping through the menu I keep getting "Out-Cradle : The term 'Out-Cradle' is not recognized as the name of a cmdlet". I tried Import-Module .\Out-Cradle.ps1 then running Invoke-CradleCrafter but it still fails.

Hi, I had the same issue.
Import-Module ./Invoke-CradleCrafter.ps1
Import-Module ./Out-Cradle.ps1
Invoke-CradleCrafter

Works like a charm.

You can change 'Out-Cradle' to '.\Out-Cradle', maybe Out-Cradleis no longer support?


ENH: Theme variables

Added theme variables as specified in https://github.com/QuantEcon/sphinxcontrib-jupyter/pull/233

[ ] merge once sphinxcontrib-jupyter=0.4.1 is released on PyPI.

Merging since we've released 0.4.1


operators: Decouple src observable from dst observable in Debounce

Improve the Debounce operator in order to decouple the source observable from the output one. In order to do so, two separate goroutines are now created by Debounce. The first is in charge of pulling the items from the source observable and store it in a local buffer, while the second is in charge of pushing the last available item out to the observer at the proper rate.
Moving the call to next in the second goroutine allows to never block in the first one waiting for the observer to complete the handling of the last value.
This is particularly useful in case of a slow observer.

Alternative approach based on a new ToAsyncChannel sink: https://github.com/cilium/stream/pull/3

Superseded by https://github.com/cilium/stream/pull/3


Make sqlite3.Open thread safe

sqlite3_open_v2 implicitly calls sqlite3_initialize
sqlite3_initialize is not thread safe in the prologue
concurrent calls of sqlite3.Open even on different files
may trigger mutex initialization race and crash
Fix: use go channel with a single message in it as a barrier
letting only single-threaded sqlite3_open_v2 for the first time
Reproducibility: very low, couple hours of concurrent sqlite3.Open calls
trigger a single crash

Sample crash dump:
Thread 1 (Thread 0x7fffee7fc700 (LWP 12250)):
#0  0x0000000000000000 in ?? ()
#1  0x0000000000ba9a55 in sqlite3_initialize () at sqlite3-binding.c:151936
#2  0x0000000000bebd49 in openDatabase (zFilename=0x7fffd8000b20 "file:gen/rootkey?_busy_timeout=1000&_synchronous=full&_journal_mode=wal",
    ppDb=0xc0000b0488, flags=<optimized out>, zVfs=0x0) at sqlite3-binding.c:154720
#3  0x0000000000bec6f5 in sqlite3_open_v2 (filename=<optimized out>, ppDb=<optimized out>, flags=<optimized out>, zVfs=<optimized out>)
    at sqlite3-binding.c:155075
#4  0x0000000000b8cb35 in _sqlite3_open_v2 (zVfs=<optimized out>, flags=<optimized out>, ppDb=<optimized out>, filename=<optimized out>)
    at /home/ubuntu/go/pkg/mod/github.com/mattn/go-sqlite3@v1.10.0/sqlite3.go:53
#5  _cgo_210ed2050b13_Cfunc__sqlite3_open_v2 (v=0xc0000d2bc0) at cgo-gcc-prolog:151
#6  0x0000000000460298 in runtime.asmcgocall () at /usr/local/go/src/runtime/asm_amd64.s:635

Relevant code for sqlite3-bindings.c
24769	#ifdef SQLITE_ENABLE_MULTITHREADED_CHECKS
24770	      pFrom = multiThreadedCheckMutex();
24771	#else
24772	      pFrom = sqlite3DefaultMutex();
24773	#endif
24774	    }else{
24775	      pFrom = sqlite3NoopMutex();
24776	    }
24777	    pTo->xMutexInit = pFrom->xMutexInit;
   0x0000000000b8d61e <+222>:	mov    %rax,0xfc40cb(%rip)        # 0x1b516f0 <sqlite3Config+112>

24787	  }
24788	  assert( sqlite3GlobalConfig.mutex.xMutexInit );
24789	  rc = sqlite3GlobalConfig.mutex.xMutexInit();
   0x0000000000b8d625 <+229>:	jmpq   *%rax

This repo is a Go wrapper around the SQLite C library. If you believe you have found a bug in the C library, you should report it on their mailing list and let one of the SQLite maintainers make the proper fix. https://www.sqlite.org/support.html

I understand. Comments before ‘sqlite3_initialize’ clearly state that it is a caller’s responsibility to init SQLite in a thread safe manner.

On Feb 27, 2020, at 19:35, rittneje<EMAIL_ADDRESS>wrote:

This repo is a Go wrapper around the SQLite C library. If you believe you have found a bug in the C library, you should report it on their mailing list and let one of the SQLite maintainers make the proper fix. https://www.sqlite.org/support.html
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Coverage increased (+0.2%) to 51.678% when pulling 28b23918db6ac5d91233bf723a72eed19af3b5d9 on pzbitskiy:initialize-fix into 67986a7832dcbda29de5c1341b3dec6c6d97511a on mattn:master.

Comments above ‘sqlite3_initialize’ clearly state that it is a caller’s responsibility to init SQLite in a thread safe manner.

The docs say otherwise. https://www.sqlite.org/c3ref/initialize.html

The sqlite3_initialize() interface is threadsafe

It might be thread safe in master - some memory barriers are added to sync up caches and memory.
In the same time the comment above the function:
** The first thread to call this routine runs the initialization to
** completion.  If subsequent threads call this routine before the first
** thread has finished the initialization process, then the subsequent
** threads must block until the first thread finishes with the initialization.

Feel free to close, your call. The only thing go-sqlite3 1.10 (with sqlite 3.25.2) crashes on concurrent Open calls.

I believe that comment is describing what the implementation of sqlite3_initialize does. If they were intended to be preconditions on the caller, I imagine they would have been in the public documentation. Like I said earlier, if you believe you have found a bug in SQLite, you should post your issue on their mailing list. I don't believe that this repo is the right place for a fix to the kind of problem you are experiencing. But I'm also not the owner of this repo, just giving my two cents.

@tsachiherman Care to elaborate on the downvote? I still contend this change should not be merged, given that the claim is that there is a bug in the SQLite library itself.

@pzbitskiy Why do you believe those lines you posted from sqlite3-bindings.c to be relevant? They aren't the line numbers from your crash dump. Did you come to those lines from some deeper investigating you did?

Unfortunately I can't remember all the details after 5 months. But here is what I recalled.

They aren't the line numbers from your crash dump.

They are:

sqllite3_initialize:

 151936   rc = sqlite3MutexInit();
 151937   if( rc ) return rc;

sqlite3MutexInit:

  24757 SQLITE_PRIVATE int sqlite3MutexInit(void){
  24758   int rc = SQLITE_OK;
...
  24768     if( sqlite3GlobalConfig.bCoreMutex ){

Zero address on top of the stack tells us the jumped to NULL address.
Prev item in the call stack points to sqlite3MutexInit.
There is only one call by a pointer there:

24789	  rc = sqlite3GlobalConfig.mutex.xMutexInit();
   0x0000000000b8d625 <+229>:	jmpq   *%rax

And yes, RAX is zero and assert is stripped out in release build.

Now follow the path:

Two threads inter sqllite3_initialize and hit sqlite3MutexInit
Next, inside sqlite3MutexInit they execute these assignments concurrently.
I understand how one thread could see NULL in xMutexInit in case of no memory barriers but there is one:

  24784     pTo->xMutexNotheld = pFrom->xMutexNotheld;
  24785     sqlite3MemoryBarrier();
  24786     pTo->xMutexAlloc = pFrom->xMutexAlloc;

I think I had explanation about it but can't figure it out.

@tsachiherman Care to elaborate on the downvote? I still contend this change should not be merged, given that the claim is that there is a bug in the SQLite library itself.

@rittneje, try to look on this issue from an application perspective - the applicative stack would look like this:
[Application] -> [Go SQL library] -> [mattn sqlite3 driver] -> [sqlite3 library]
So, from workaround perspective:

At this point in time, if an application developer want to release a product that doesn't have this issue, he/she would need to patch it in the application itself.
Google aren't going to do anything about this issue in their SQL library.
The mattn sqlite3 driver isn't the source of the issue, according to your claim.
sqlite3 library according to you need to be fix.

I'm not claiming that it shouldn't be fixed in the sqlite3 library itself. I think it should. However, from practical perspective, even if the sqlite3 library would get updated, it will take a long time before the fix reaches everyone.
That's why I think that in the case of such a trivial fix, it should be patched in the driver right away. With that, the bug would no longer be applicable, and the driver would be safe for usage. This workaround can be removed from the driver once the sqlite3 library would confirm to its documentation.
Another note - even if you were to report that to the sqlite3 library team, they might fix it by updating their documentation.. which would leave you at the same place.


Link to "Test Device Registration Connectivity script" broken

Link to "Test Device Registration Connectivity script" seems broken, this will land you on the homepage of Code Samples on Docs. Script is not to be found in this gallery. This is/was a useful script, I hope this becomes available again :)

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

ID: 816f0138-d336-3905-9f4f-e60c04da9326
Version Independent ID: ce5166e4-5d15-ef1f-1090-576a69e601e8
Content: Configure hybrid Azure Active Directory join for managed domains
Content Source: articles/active-directory/devices/hybrid-azuread-join-managed-domains.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

Hello @wiseleaf23,  Thanks for your feedback! We will investigate and update as appropriate.

This is a known issue the PG is working to get the scripts re-published this week or next in a publicly available repository. #reassign @MicrosoftGuyJFlo #please-close


Update Healthcheck logic

Closes #2517
Description Of Changes
The database health check step was found to be extremely heavy, sometimes spiking response times to ~1 sec when running locally with nothing else hitting the server
Code Changes

[ ] simplify the database health check

Steps to Confirm

[ ] list any manual steps for reviewers to confirm the changes

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

After refactoring the database check:

with a worker enabled:

I don't believe any of these test failures are related to these changes


incorect preffered dependency resolution

related issue: https://github.com/ember-cli/ember-cli/issues/9639#issuecomment-929625043
TLDR: dart-sass always put cwd as first step resolution path, and this is wrong behavour for broccoli build (we should have input tree as cwd)
workaround: replace cwd during sass build

this should now work: https://github.com/adopted-ember-addons/broccoli-sass-source-maps/blob/master/index.js#L123

Hi @patricklx! Nope, have tried it before (hardcoding), it seems problem in dart-sass https://github.com/ember-cli/ember-cli/issues/9639#issuecomment-929612363

did you try with the new compile api?

NodeImporter is now legacy code. if I'm correct, it should now use: https://github.com/sass/dart-sass/blob/main/lib/src/import_cache.dart#L70


Add FAQ to docs

On the hunt for more frequently asked questions. If you think of anything I haven't covered, let me know.

Another FAQ would be support for dynamic shapes

@carmocca Added questions about dynamic shapes and inplace operations.

Supergood start on the FAQ!


✨ Implement service-level retry budgets

The current retry component is based on the counting retries that happens on the scope of one request.
It's useful to watch for a general amount of requests/retries we have done so far trying to communicate with given dependant mservice.

I can attempt to tackle this issue, if you're taking any contributions!

Hey @Chris2W, certainly! I would appreciate any help ❤
I was thinking of reusing the current token buckets that Hyx provides to limit number of retries. Take a look at this guy: https://github.com/roma-glushko/hyx/blob/main/hyx/ratelimit/managers.py#L12

Appreciate it! Sorta new to open source and wanted to dive into distributed systems.
Would the following test be a somewhat valid usage of the retry decorator that limits the number of retries via the TokenBucketLimiter class from https://github.com/roma-glushko/hyx/blob/main/hyx/ratelimit/managers.py#L12 ?
`async def test__retry__global_retry_limit() -> None:
listener = Listener()
max_global_retries = 4
per_time_secs = 1
bucket_size = 4
@retry(on=RuntimeError, max_global_retries=max_global_retries, per_time_secs=per_time_secs, bucket_size=bucket_size, listeners=(listener,))
async def faulty_func() -> int:
    raise RuntimeError

with pytest.raises(RateLimitExceeded):
    for _ in range(5):
        assert await faulty_func()

await event_manager.wait_for_tasks()

assert listener.retries == max_global_retries`

Was thinking of adding a limiter that instantiates a TokenBudgetLimiter class from hyx/ratelimit/manager.py to the RetryManager. The retry decorator can include some similar optional parameters as the ratelimit. Is this the desired functionality ? Might need some more clarification if not, thanks!

@Chris2W

Appreciate it! Sorta new to open source and wanted to dive into distributed systems.

That's great, Chris! I hope Hyx will serve that purpose well 🚀

Would the following test be a somewhat valid usage of the retry decorator that limits the number of retries via the TokenBucketLimiter class from https://github.com/roma-glushko/hyx/blob/main/hyx/ratelimit/managers.py#L12 ?

Generally, yes 👍  A few thoughts about this test:

the following part seems to retry until we have tokens in the bucket:

with pytest.raises(RateLimitExceeded):
        for _ in range(5):
            assert await faulty_func()

That's fine but I suspect we may need to be able to set the per request limit (for example, 3 retries at most like in the current retry logic) as well. That is we retry until we have tokens in the bucket and at most that number of times per request. This way we could limit how many tokens one request could possibly consume from the bucket.

Need to think if we want to raise RateLimitExceeded or some retry-specific error based on the underlying RateLimitExceeded

The retry decorator can include some similar optional parameters as the ratelimit.

Yeah, that's a good option. Alternatively, we could have a separate specific decorator like bucket_retry with those specific parameters. Also, it's good to allow users to pass an instance of limiter, so users could implement their own strategies.

Interesting. I think having users to pass in an instance of a limiter might make more sense than just the parameters for the retry bucket.
As for needing to be able to set the per request limit, from my understanding, that would be including the attempts parameter, correct? I've also revised the test such that AttemptsExceeded is raised rather than RateLimitExceeded. No issues so far with that. Can discuss more in the discord! :)

@Chris2W

Interesting. I think having users to pass in an instance of a limiter might make more sense than just the parameters for the retry bucket

There is a cool API design principle that sounds along the lines of "make the common case quick and easy while advanced ones possible" (we need to sum up our design principles somewhere explicitly 👀 ).
The option you have suggested Chris (e.g. having all params of the underlying token as params of the decorator) is about the common cases. I imagine most people would want to just specify those params as they use the decorator without a will to think where to put the global instance of the limiter.
The idea of passing the limiter instance is one to make the "advance" cases possible.
But at this point it's likely not worth it to overwhelm you with such fine-grained details. We need to get the underlying logic right first, so let's focus on adding a separate decorator with all params (like you have suggested) and then we will extend that in the followup PRs/tasks.

As for needing to be able to set the per request limit, from my understanding, that would be including the attempts parameter, correct?

Oh yeah that would make a lot of sense 👍
We want to keep params with the same meaning/semantics called the same way across API. That should make it easy to leverage user's existing knowledge of Hyx and translate it to a new primitives they have never used before.

I've also revised the test such that AttemptsExceeded is raised rather than RateLimitExceeded. No issues so far with that.

Great 🙌

Can discuss more in the discord! :)

See you there 🚀


WARNING: no jshint version could be extracted from:

I'm using ST3 under Windows 8.1 (x64) with node installed and set up in my path correctly. I'm trying to use this plugin, but it doesn't seem to do anything. I noticed this in my console output which presumably has something to do with it.

Any suggestions as to what do? The other linters I have installed work fine.

Facing the same issue in Ubuntu 14.04, Python 2.7, jshint v2.8.0
jshint --version works fine, but in debug mode sublimelinter throws this error:
"WARNING: no jshint version could be extracted from:"


Links not working

Extra Space Problem
I run the demo. When I manually type a link element, it is converted to a link. It's good. I only observe some extra spaces before the link text. This may need some fix.
Pasting link in markdown breaks further links.
When I pasted the following:
[example](http://example.com "Optional title")[space]
It did not convert to a link. Then I tried to add similar links below this line and they did not convert to a link either.
However when I try to manually type a link to another position (away from the pasted string) in the document, it is converted to link properly.
Editing Links
One more thing: can we edit existing links by putting cursor over the link?

@aladagemre I can't repoduce

Extra Space Problem
Pasting link in markdown breaks further links.

in the latest demo. Please check if the bug is still there https://canner.github.io/canner-slate-editor.
As for Editing Links I've added, remove button when hovering links. Will soon add an edit button!

Hi, now I can not even type on the editor. Only Enter and backspace buttons work. Tested with Chrome and Firefox on MacOS. I'm not sure why.

Now I can say

We have to add press space after link statement in order to get it converted to link. Pressing Enter does not convert to link.
Spaces before the link remains.
Pasting markdown link does not convert to link (need to press space after pasting) but does not break further manual links anymore.

Oh, got it, I misunderstood your problems! Thanks for reporting it, I'll update fixes tomorrow thanks!

Hi @aladagemre, trailing spaces is fixed in v1.5.1. 🎉

Pasting markdown link does not convert to link (need to press space after pasting).
I think pasting markdown links shouldn't convert to links since we have implemented copy & paste HTML(It will automatically serialize into the editor) in our editors.

We have to add press space after link statement in order to get it converted to link. Pressing Enter does not convert to link.
I am thinking about this, for inline styles we listened to entering spaces to parse the line whether it matched some rules (and most editors does the same way). But still a good idea. I've checked Wordpress's editor, it only supports converting blocks (List, Header, etc...) when pressing enter.

Thanks! Now space problem is fixed!
The only problem with pasting markdown links is when you type your markdown file in your desktop editor like Atom / Sublime (without HTML rendering) and then paste it here. What could be done is to figure out whether the pasted text contains HTML or plain markdown syntax and act accordingly. That would be another improvement task.

Sounds pretty useful! I'll think whether it is possible to implement it! 😄


New task creation flow (not fully done)

To do:

implement horizontal list of 'blocks' or 'cards' that each represent one type of task (eg. image tagging, etc.)
implement arrow at the bottom of each tab that 'scrolls' to the next tab (ie. next step in task creation)
make the tabs disappear and display a new view entirely when "Done" is pressed

Notes:

I set the "md-dynamic-height" attribute to "true" because I had a problem with the size of the views under each tab (they were fixed to a small size), but I don't know if we want to keep it dynamically resizeable like that
I didn't do the launch part yet (after pressing "Done")

closing as it has been covered previously in another PR


Added 2 new operations 'NTPTimestampToUNIXTimestamp' and 'UNIXTimesta…

Hello,
I'm adding 2 new operations to convert NTP timestamp to UNIX timestamp and the other way round.
The NTP timestamp is detailed in the following links :
https://www.ntp.org/reflib/y2k/
https://datatracker.ietf.org/doc/html/rfc5905
https://tickelton.gitlab.io/articles/ntp-timestamps/

Failed on UI tests. Can you fix it or do i need to made modifications to the operations code ?

Hello,
Any news on this ?

Hey @KossiJunior, this is a really good PR and a nice addition to CyberChef!  Could you add the tests you've created to the test runner in this file:
https://github.com/gchq/CyberChef/blob/master/tests/operations/index.mjs
Other than that, your PR looks ready to go!

It should be good.


migrating tim repos to pull cra config from a file

Description

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

PR for migrating craEnvironmentVariables :  https://github.com/terraform-ibm-modules/terraform-ibm-icd-edb/pull/120

:tada: This PR is included in version 1.5.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


base64 decode support

It would be really cool to auto-decode strings if we can detect that they are in base64 encoding.

work for this is being done on the base64 branch

This is in a good place, and has been merged into master and deployed. Closing.


Sorting Technique

Description
I would like to implement

Merge sort

Additional context
Above programs will be in C language
Important Checklist

[x] I have read the contribution guidelines before making this issue.
[x] I have verified this issue program is not already implemented
[x] I have not pushed this code anywhere else (even my repo)

Languages and Assignees:

[ ] Python: @
[ ] Java: @
[x] C: @
[ ] C++: @

Sorting algorithms have their seperate issues for all languages

@kaustubhgupta I want to implement merge sort in C language in this repo as this repo currently don't have one under C folder


Add travis badge

I see there is a test script, we should add it into npm script then enable travis + add travis badge.

I'll update test code and add a badge same time! After that, I'd like to release v0.1.0.


Corporate Console - Empty table with no data is displayed when all the Pending CLA Manager requests are accepted/declined

Background
Preqreuisite
All the Pending CLA Manager requests for the project should be accepted /declined
Steps to Follow

Launch Corporate console
Login as CLA Manager
Click on the Company
Click on the project
Observed that Empty table with no data is displayed.

Initial behavior when there are no CLA Manager requests

it looks like issue is fixed

Issue is still reproducible.
Accept CLA Manager request and observed that empty table is displayed
Before

After

Old console is deprecated and removed.


[binary] Backend state

Yesterday I added simple persistent storage to the Rust backend to save static service manifest + dynamic service state.
Putting more thought into it, I don't think we need to have persistent storage at all.
The backend state we are talking about here is composed of: running, downloaded, isDownloading, enoughMemory (free memory), enoughSystemMemory (total memory), enoughStorage.
This data is not user settings that should be stored, it is dynamic values that can change.
To implement running I would rather check the Tauri state (state.running_services on binary branch).
To implement downloaded we have to check that all files are fully downloaded. It is a bit tedious but that way we are sure that this state is correct.
To implement isDownloading I would also rather check Tauri state rather than using persistent store.
To implement enoughMemory it has to be a runtime check since this value is dynamic.
enoughSystemMemory could in theory change
enoughStorage it has to be a runtime check since this value is dynamic.
What do you think?

Yep, I agree. Persistent storage is not necessary.


Deprecate Composite Codec

https://community.xmtp.org/t/xip-19-deprecate-the-composite-codec/525
Lets remove the composite codec from the supported types.

Hi @nplasterer
I am not sure if this XIP has been approved yet, but I deprecated the CompositeCodec in this PR. I just wanted to ease your workload a bit while implementing "Group Chat" ;-) . Here are the steps to completely remove the Composite Codec:

Documentation Update: Updating all client SDKs and other XMTP.org documantations.
Decide about complete removal version.
Communication: Notifying developers about the deprecation through release notes, blog posts and community forum.
Deprecated Class Removal and increase version.

🙏 Always much appreciated!


tooth placode

Add:
abnormal tooth placode morphology (child of abnormal tooth development MP:0000116)
DEF: any structural anomaly of the local thickening that is formed within the primary dental lamina and grows into a solid epithelial bud that invades the underlying mesenchyme; the placodes consist of thickened epithelium and underlying neural crest derived mesenchyme, and they function as the first signaling centers of the tooth
SYN: abnormal dental anlage morphology
SYN: abnormal dental placode morphology
SYN: abnormal dental primordium morphology
SYN: abnormal odontogenic placode morphology
SYN: abnormal tooth anlage morphology
SYN: abnormal tooth primordium morphology
SOURCES: PMID:26755699, GO:0060790 https://www.ncbi.nlm.nih.gov/books/NBK27071/
COMMENT: The term placode has not been universally adopted in the field of tooth development research. In mouse, stages prior to bud (E11–E12.5) have often been collectively referred to as the epithelial thickening, dental lamina, or simply initiation stage. PMID:24487243
Change primary term label for absent tooth primordium MP:0000117 to “absent tooth placode”
AMENDED DEF: missing the local thickening that is normally formed within the primary dental lamina and grows into a solid epithelial bud that invades the underlying mesenchyme; the placodes consist of thickened epithelium and underlying neural crest derived mesenchyme, and they function as the first signaling centers of the tooth
SYN: absent dental anlage
SYN: absent dental placode
SYN: absent dental primordium
SYN: absent odontogenic placode
SYN: absent tooth anlage
SYN: absent tooth primordium
SYN: absent tooth primordia

Added: abnormal tooth placode morphology MP:0030510
Changed the primary term label for absent tooth primordium MP:0000117 to “absent tooth placode”, amended the definition, added synonyms, and made the term a child of abnormal tooth placode morphology MP:0030510


Add .travis.yml. Implements #417

This also changes the version code to be based on commit count in the current branch rather than master. Apparently Travis doesn't fetch the master which caused this to fail.
Since we only publish master builds this should not have any unwanted side effects. Yet we spread the version code to allow inserting version numbers if necessary.

Yeah, I'm not sure why the push build failed. Maybe there is some sort of timeout issue. We'll see how it works.


Don't hang request during pinning creation

Summary
Currently the operation to create a new pin imply an hanging request that can take very long time.
An async operation, permitting to request the pinning status that contain also the sync percentage, should be preferable.
Motivation
To keep hanged requests during long operations is a bad practice. In case of large files this can keep very long time, and is very easy that will lead to client timeouts. Moreover, this keep busy the client waiting for response.
Implementation
Every time that a pin request is submitted, an async task is started for complete the data retrieval.
In the meantime, the response is immediately replied to the client, that in this way doesn't need to keep waiting.
Client will be able to request info on how pinning operation is going. The pin details request will return if pinning is present, if it is completed, or if it is in sync. In this case, response could also include information on operation progress.
Drawbacks
Don't see anything.

This would be indeed nicer. Please note that this is a general problem with any API endpoint that deals with big data, ergo it takes long time.
It takes long time because currently Bee fetches all the content first in order to have the data locally in order to be able to pin it. As a workaround I would suggest to use the swarm-pin header when uploading if that is possible in your use case, because then the uploaded content could be automatically pinned and you

Yes, thanks @agazso, I know and I will use primary the swarm-pin header in our application. Anyway, this is a thing to have, in my opinion.

We are not planning to have this feature in the near future.
We can reopen it if further discussion is needed at any point in the future.

Please @istae reopen this and leave it open. Call must be async, if not now, at least in future. To close this is a bad decision, in my opinion.


Out of range error in test.py with sample file

First, thanks a lot for this cool project!
During some initial tests with the code base, i run into the following issue, which seems to be a bug:
I run the test.py script with your sample from https://openofdm.readthedocs.io/en/latest/_downloads/samples.dat using the following command: python2 test.py samples.dat --no_sim
I am running the script on a Ubuntu 20.04 LTS, x86_64 system and end up with an out of range error. Below, you can find the log:
andreas@dev-pc:~/mnt/hdd1/openofdm/scripts$ python2 test.py samples.dat --no_sim
Using file /home/andreas/mnt/hdd1/openofdm/scripts/samples.dat (21440 samples)
Decoding...
Power trigger at 0
Decoding packet starting from sample 11
[COARSE OFFSET] 0.010686 (2)
[FINE OFFSET] 0.000318 (0)
[FREQ OFFSET] 0.010686 (2)
[PILOT OFFSET] 0.016022 (4)
[NO PUNCTURE]
[SIGNAL] {'parity_bits': '1', 'len_bits': '010100010000', 'rsvd': '0', 'length': 138, 'ht': False, 'tail_bits': '000000', 'rate': 24, 'parity_ok': True, 'rate_bits': '1001', 'mcs': 0}
12 DATA OFDM symbols to decode
[PILOT OFFSET] 0.086909 (22)
[PILOT OFFSET] 0.110029 (28)
[PILOT OFFSET] 0.104411 (26)
[PILOT OFFSET] 0.133532 (34)
[PILOT OFFSET] 0.205433 (52)
[PILOT OFFSET] 0.227036 (58)
[PILOT OFFSET] 0.255751 (65)
[PILOT OFFSET] 0.279896 (71)
[PILOT OFFSET] 0.312476 (79)
[PILOT OFFSET] 0.349655 (89)
[PILOT OFFSET] 0.362203 (92)
[PILOT OFFSET] 0.392154 (100)
[NO PUNCTURE]
[  0] 88 42 2c 00 e4 90 7e 15 2a 16 e8 de 27 90 6e 42
[ 16] e8 de 27 90 6e 40 70 13 00 00 05 01 00 20 00 00
[ 32] 00 00 43 e0 7b 59 2e 77 13 34 95 a7 85 f5 32 69
[ 48] 08 38 4f c5 99 0f ea a6 13 c4 ee df f7 22 e2 fe
[ 64] 34 7d 75 95 f3 74 45 f5 1a 33 18 bb 8b 02 53 ed
[ 80] dc e9 74 28 b7 08 33 04 82 fc a2 f5 72 ac 8f 87
[ 96] 99 8f 22 64 79 62 ac f9 9d 38 3d ed 8c c4 bc 95
[112] ce ed da 08 cc 1d a2 d2 39 07 9b 0a 43 2f 4c f4
[128] ad 61 5b 2a dc 7c 52 7f 21 e9
Stop after 1640 samples
Traceback (most recent call last):
  File "test.py", line 217, in <module>
    test()
  File "test.py", line 97, in test
    if getattr(expected_signal, attr) == signal_out[idx]:
IndexError: list index out of range

Have you tried the dot11zynq branch?

Assuming you are referning to the dot11zynq branch from the opensdr fork ( here ) , i can confirm that the error is present there as well.

@JiaoXianjun Assuming you are referring to the dot11zynq branch from the opensdr fork (here) , i can confirm that the error is present there as well.
Btw: Which is your actual development repo? Is it this (https://github.com/jhshi/openofdm) or the one in opensdr (https://github.com/open-sdr/openofdm) ? I am asking since I am porting this library to the Ettus B210 device and will eventually open a PR..

have you ever solved this problem? I have faced the same trouble with you

@bby0616 Yes, I did. However, since there has been no activity here so far, I haven't PRd it back to this repo. I upgraded the script to python3 (including many additional adjustment. Feel free to have a look/fork it from here: https://github.com/andreaskuster/openofdm

@bby0616 Yes, I did. However, since there has been no activity here so far, I haven't PRd it back to this repo. I upgraded the script to python3 (including many additional adjustment. Feel free to have a look/fork it from here: https://github.com/andreaskuster/openofdm

Thanks bro, I am really appreciate your help


'Client' object has no attribute '_nr_event_hooks'

We're observing a bug getting reported within Sentry from within the New Relic agent.
Description
It appears the NR agent is attempting to access a variable/attribute that has not been provided to the object:

Expected Behavior
We expect the monitoring agent to not trigger bug alerts or cause API calls to fail.
Troubleshooting
No troubleshooting is feasible from our end.  Our NR agent is appropriately configured.
Steps to Reproduce
This was triggered during a HTTP request to our application.
Your Environment
Our application is asgi/uvicorn/FastAPI.  Libraries present:

aenum=3.1.0
aioredis=1.3.1
alembic=1.6.5
async-timeout=3.0.1
certifi=2021.5.30
chardet=4.0.0
fastapi=0.65.1
greenlet=1.1.0
gunicorn=20.0.4
h11=0.12.0
hiredis=2.0.0
httpcore=0.12.3
httptools=0.1.1
httpx=0.17.1
idna=2.10
importlib-metadata=4.4.0
limits=1.5.1
mako=1.1.4
markupsafe=2.0.1
newrelic=<IP_ADDRESS>
pip=20.0.2
psycopg2-binary=2.8.6
pydantic=1.8.2
python-dateutil=2.8.1
python-editor=1.0.4
redis=3.5.3
requests=2.25.1
rfc3986=1.5.0
sentry-sdk=1.1.0
setuptools=46.1.3
six=1.16.0
sniffio=1.2.0
sqlalchemy=1.4.17
starlette=0.14.2
tenacity=7.0.0
text-unidecode=1.3
typing-extensions=<IP_ADDRESS>
urllib3=1.26.5
uvicorn=0.13.4
uvloop=0.14.0
websockets=8.1
wheel=0.34.2
zipp=3.4.1

Additional context
Part of the stack trace is available here: https://gist.github.com/twcurrie/575ab0e9d710b98e2fd133db9f7584e8

Repro
import asyncio

import httpx
import newrelic.agent

client = httpx.Client()

# BUG TRIGGER: Initialize is called after client is created
newrelic.agent.initialize()

@newrelic.agent.background_task()
async def main():
    with client:
        r = client.request(method="GET", url="https://www.example.org/")
    print(r)

asyncio.run(main())


fix(Prototype): Fix Popover prototype after breaking changes

Fix prototype after breaking changes introduced in this PR https://github.com/stardust-ui/react/pull/556

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Major release

We should define a release cycle for major versions. The idea to release 3.0.0 next #3957 is currently somehow ignoring that users will have to prepare for some braking changes. For larger deployments with multiple users & repositories (There are deployments with >1000 repos 😉) this requires some time.
Especially changes to pipeline configs take some time. To streamline this process we started adding some deprecation notices to the pipeline compiler some time ago. Therefore I propose defining a major release cycle of > 12 months (would result in a release date of earliest Nov 23, 2024 for 3.0.0). In addition every change that requires interaction by the Woodpecker users (not only admins) should be announced / marked as deprecated latest some time (proposing  3 months) before removal to provide enough time for admins to update to latest minor versions and users to notice / be notified by this change.
Having some minimum duration for major will also allow the maintainers / contributors to propose changes that should definitely be considered in the next version.

I remember that from v0.15.x to v1.0.0 we took quite a while and I often had to say ... you should use next as it is not jet released ... so a more rapid release schedule as we have now is a good. As the bump from 1.0.0 to 2.0.0 was a bit short I think 7months are quite OK.
So I would not specify strict dates as nobody works on WP full time btw ... but rather ranges.
So I'm OK to have a block majour versions to be made before 1/2year to the last one but it could be longer if no more than a few (2...3) breaking things are scheduled. blocking it for 1year is to much in my opinion.
What we could do is to have a release branch in times where a majour version is in development, to be able to still release new versions, if needed ... If we do it the other way around and hold breaking changes till we wana do a majour version we get a lot of conflicts etc ...

Hopefully we come to the phase to stabilize that at least pipeline definitions are stable to not have breaking changes

I think https://github.com/woodpecker-ci/woodpecker/issues/2780 shows quite some list

Sorry for "spam" here and there, I just want to understand the rules and a flow.
Follow up of https://github.com/woodpecker-ci/woodpecker/pull/3918#issuecomment-2263739788 and https://github.com/woodpecker-ci/woodpecker/issues/3997#issuecomment-2263646174.
Should #3397 was opened before 2.7.0 to be eligible for 3.0? Should PR was opened also or Issue is enough?
Suppose, I waited for next major to be announced, because I didn't want to waste time to make a PR into branch, which will become far outdated before actual merge. How should I know, that after 2.7 next major is coming? What is the flow?
Besides, reading #2780:

Deprecated parts have to be announced in the release notes

Did I understand correctly, that 7 opened/drafted PRs from the deprecation tracker are not going to 3.0 as well as #2473, #3411?

except pipeline config changes (as updating them is hard and time-consuming if you have a lot of repos)

There are at least two changes that I've just faced:

Removed uppercasing all secret env vars, instead, the value of the secrets property is used
Removed alternative names for secrets, use environment with from_secret

I have to fix almost all my pipelines because of the first change particularly.

:point_up: we should be more carefull in the future :/ ... I also might have to look for that myselfe in my patches more ...
anyway I think with #3262 we could detect more things and add certain tests that "test default usecases" and if you need touch them you have to  add breaking lable ... the rest is already handled quite well by the breaking lable

What you are saying is definitely good 👍 , but my main point was

we didn't want changes to get into 3.0, that require updating pipelines
now, we already have ones
therefore, let's get aboard the others 😃 (consider it)


More randomizers

Failed tests:  BeanValidationTest.generatedBeanShouldBeValidUsingBeanValidationAPI:94
Expecting empty but was:<[ConstraintViolationImpl{interpolatedMessage='must be in the past', propertyPath=birthday, rootBeanClass=class io.github.benas.randombeans.validation.BeanValidationAnnotatedBean, messageTemplate='{javax.validation.constraints.Past.message}'}]>
BeanValidationTest.generatedValuesShouldBeValidAccordingToValidationConstraints:64
Expecting:
<2025-10-05T08:40:19.401>
to be in the past but was not.
Seems unrelated to my changes, as far as I can tell.

Coverage increased (+0.4%) to 75.82% when pulling 503879b9abc1a22b90d452afe95be2e3334d24aa on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

Test failure was caused by my commit which move the pre-java-8 time related randomizers to TimeRandomizerRegistry.

Coverage increased (+0.3%) to 75.657% when pulling b3203413484fc05531af699b0ccca31c831ae102 on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

Coverage increased (+0.3%) to 75.657% when pulling 2d0f2259bb55f8855bcbefb0d1d75d410a22b8d8 on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

Coverage increased (+0.3%) to 75.657% when pulling 2d0f2259bb55f8855bcbefb0d1d75d410a22b8d8 on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

Coverage increased (+0.3%) to 75.719% when pulling ebc47efdbf1718909ed7a2561a8b8291050e1501 on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

Coverage increased (+0.3%) to 75.719% when pulling 8ea1a65d6e72a2f03d2763fdbac971d8320d0428 on PascalSchumacher:more_randomizers into a00dd1de7e849d86e1f89f53e3dcf9f334fe9f33 on benas:master.

I changed the old generic signature because it was "wrong"/ugly to use. The new one was less verbose for the user (see other changes of the same commit), but as you said it was too permissive.

Yes. Clearly, Randomizer<Gender> randomizer is better than Randomizer<Enum<Gender>> randomizer;.
I also like the idea of replacing MonthRandomizer by EnumRandomizer<Month>. :+1:
Thank you for these nice additions.


Better implement for using Enum

Also format code by using black
Already tested on my computer

I explained why at #100

Since this is a reformatting PR using Black, it makes sense to reorder imports using isort according to PEP8 standards:
import argparse
import asyncio
import json
import os
import random
import sys
import uuid
from enum import Enum
from typing import Generator, Literal, Optional, Union

import requests
import websockets.client as websockets

Feel free to add to your PR if you agree

I did not find the relevant criteria in pep8, The elements related to the import order are the following.

Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.
Imports should be grouped in the following order:

Standard library imports.
Related third party imports.
Local application/library specific imports.

You should put a blank line between each group of imports

Sorting by word length first, then alphabetically is my personal habit.

https://github.com/acheong08/EdgeGPT/pull/100#issuecomment-1454766166

No need to support str as the argument. It's just for cli command input, not sdk functions.

I'll merge this and then format with pre-commit

working well.


fix: re-enable touch scrolling for buttons.

ReactSpectrum should override this when/if they start pulling from
SpectrumCSS again.
Description
Fixes #1128
How and where has this been tested?
This was simple enough that I didn't test directly -- I have tested removing this same style in the public doc pages in the debugger though.
To-do list

[x] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] This pull request is ready to merge.

@snowystinger could you take a look at this? We've been discussing bringing this change, but it would override something react-spectrum wrote and wanted to see if it would break things for you.


JetSki to scale up workers

Description
Jetski to support build and scale up worker nodes to a desired scale_worker_count mentioned in ansible-ipi-install/group_vars/all.yml. It must be executed from the same admin node (ansible machine which is used to deploy the fresh cluster playbook-jetski.yml), because it refers to ocpdeployednodeinv.json and ocpnondeployednodeinv.json(originally created by playbook-jetski.yml) inside ansible-ipi-install directory.
Type of change
Please select the appropiate options:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Testing

[x] Scaling Worker count 1 to 2
[x] Scaling Worker count 0 to 2
[x] Scaling Worker count 0 to 1 to 2

Checklist

[x] I have performed a self-review of my own code
[x] If a change is adding a feature, it should require a change to the README.md and the review should catch this.
[ ] If the change is a fix, it should have an issue. The review should make sure the comments state the issue (not just the number) and it should use the keywords that will close the issue on merge.
[ ] A change should not being merged unless it passes CI or there is a comment/update saying what testing was passed.
[ ] PRs should not be merged unless positively reviewed.

Will re-open another PR with code rebase


Updating spanish translations

Could you maybe resolve the conflicts?

I can see it was since I deleted the other files, I'm re-forking the repository, but I'll fix the conflict for now, thanks


I can't send ETH

What version of Wallet are you using?
FUEL　WALLET　alpha
What is happening?
When I send 0.2 ETH to my address, an error is displayed and I can't do anything
steps to reproduce
Just select SEND and send 0.2ETH to your address
How it should behave?
I want you to send me
What os are you seeing the problem on?
Windows Desktop
What browser?
Chrome
What is your browser version?
バージョン: 110.0.5481.178（Official Build） （64 ビット）

closing as duplicate of #613


Ability to search in documentation

Unless I have been missing something, it would be very nice to be able to search for terms in the documentation.
I've been using sol2 for about a week now and it works great. My only problem has been when I read something in the documentation and at some point later I remember reading about that thing but I cannot remember where in the docs that was.

I just realized that http://sol2.readthedocs.io/en/latest/search.html exists, could that be made more visible or more accessible? For instance, put that at the top of each page of the documentation

Yeah, I need to choose a better theme or customize it, but documentation customization is not my fortre.

To anyone who's reading this: if you need a good Sphinx Theme I can choose that makes search easier, or have some information about how to customize a Sphinx theme, I could use that help.

Praise be to @OrfeasZ !


Non-Blocking-Bug: RSpec/MessageSpies

Set the following config
RSpec/MessageSpies:
  SupportedStyles: receive

Run rubocop
Observe failures
The full error is very long but looks like it's trying to do something against the type safety
An error occurred while RSpec/MessageSpies cop was inspecting /home/luke/Code/site_prism/spec/site_prism_spec.rb:15:6.
undefined method `map' for "receive":String
Did you mean?  tap
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:89:in `supported_styles'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:66:in `style'

This was ran against the SitePrism repo, whilst trying to fix these issues - https://github.com/site-prism/site_prism/blob/master/.rubocop_todo.yml#L53
Mention the following information in the issue report:
0.73.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.8 x86_64-linux)
Finished in 1.6680358289995638 seconds

This didn't stop the rubocop tool from working, and it did report the results correctly, just with a shedload of red warnings.

@luke-hill Can you please provide more detailed backtrace?
I can't reproduce on site_prism master branch with Ruby 2.5.5.

An error occurred while RSpec/MessageSpies cop was inspecting /home/luke/Code/site_prism/spec/site_prism_spec.rb:17:6.
undefined method `map' for "receive":String
Did you mean?  tap
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:89:in `supported_styles'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:66:in `style'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:67:in `preferred_style?'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:48:in `block in on_send'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:63:in `block in receive_message_matcher'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:51:in `block in receive_message'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:564:in `block in visit_descendants'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:193:in `block in each_child_node'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:190:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:190:in `each_child_node'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:563:in `visit_descendants'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/node.rb:268:in `each_node'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:44:in `receive_message'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:63:in `receive_message_matcher'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-rspec-1.33.0/lib/rubocop/cop/rspec/message_spies.rb:47:in `on_send'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:57:in `block (2 levels) in trigger_responding_cops'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:128:in `with_cop_error_handling'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:56:in `block in trigger_responding_cops'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:55:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:55:in `trigger_responding_cops'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:32:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `block in on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:164:in `on_block'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `block in on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:164:in `on_block'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `block in on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:50:in `on_begin'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:164:in `on_block'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/ast/traversal.rb:13:in `walk'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/commissioner.rb:44:in `investigate'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/team.rb:119:in `investigate'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/team.rb:107:in `offenses'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cop/team.rb:44:in `inspect_file'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:277:in `inspect_file'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:225:in `block in do_inspection_loop'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:257:in `block in iterate_until_no_changes'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:250:in `loop'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:250:in `iterate_until_no_changes'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:221:in `do_inspection_loop'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:124:in `block in file_offenses'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:142:in `file_offense_cache'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:122:in `file_offenses'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:110:in `process_file'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:87:in `block in each_inspected_file'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:86:in `each'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:86:in `reduce'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:86:in `each_inspected_file'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:73:in `inspect_files'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/runner.rb:39:in `run'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cli.rb:210:in `execute_runner'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cli.rb:80:in `execute_runners'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/lib/rubocop/cli.rb:51:in `run'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/exe/rubocop:13:in `block in <top (required)>'
/usr/share/rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
/home/luke/.rvm/gems/ruby-2.3.8/gems/rubocop-0.73.0/exe/rubocop:12:in `<top (required)>'
/home/luke/.rvm/gems/ruby-2.3.8/bin/rubocop:23:in `load'
/home/luke/.rvm/gems/ruby-2.3.8/bin/rubocop:23:in `<main>'
/home/luke/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `eval'
/home/luke/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `<main>'
.Scanning /home/luke/Code/site_prism/spec/spec_helper.rb

https://travis-ci.com/site-prism/site_prism/jobs/231773214 is a CI job runnign with it

@luke-hill This is where the problem originates from. The fix is trivial:
RSpec/MessageSpies:
-  SupportedStyles: receive
+  EnforcedStyle: receive

@bquorning @Darhazer Do you think this misconfiguration possibility is something that needs Core RuboCop attention? I think of restricting SupportedStyles and maybe some other core options to be only defined in config/default.yml, not user-defined .rubocop*.ymls.

I’m not sure rubocop has any distinction between “official” configuration files and user-defined configurations. Of course we want to still be able to use SupportedStyles in rubocop-rspec’s configuration file ;-)

I just want to add, I have also configured SupportedStyles in my rubocop configuration file. More than once. 🤦♂

I just want to add, I have also configured SupportedStyles in my rubocop configuration file
It's not a big deal if it's a list ¯_(ツ)_/¯

Did the fix work for you, @luke-hill ? Do you mind to close the issue, or do you think anything still needs to be addressed in the scope of this ticket?

I think something still needs fixing.  Something needs fixing, even if it's just
"Please ensure SupportedStyles is an Array"

@luke-hill I think that would be an issue for rubocop-hq/rubocop. Could you open an issue there, please? (I could probably also transfer this issue)

@luke-hill Just in case, have you notified rubocop team about this?
@bquorning I believe this issue can be closed.

I didn't notify the original team no sorry @pirj

@bbatsov @koic Is validating proper user-defined configuration (.rubocop.yml vs config/default.yml) something you'd like to add you the roadmap?


[FR] add firebase analytics event log to the sdk

Is your feature request related to a problem? Please describe.
I use firebase realtime database and firebase functions to realize most of my backend processing for my apps.
Currently firebase functions/firebase-admin-node is not able to register analytics events... this leads to several not optimal situation which i will relate one here.
When a user purchase something from my app, i use firebase functions + third party apis to process the payment and update the relevant data into the database... however this process might be asynchronous because many payments methods behave like this...
So, many times, right after the user purchase, i return the status 'pending' to the user and waiting the payment follow its flow.
When i get the final answer from the payment APIs, case the order is approved i would like to register a firebase analytics event so i can monitore such events on my firebase dashboard, but even there is a standard event for such situation, firebase functions is not able to register any analytics events because such api was designed to be used only by client applications.
so in this scenario i need to publish this into a topic, subscribe the client to the topic and write the event log in the client aplication.
Describe the solution you'd like
I know firebase analytics is designed to be client side because you collect many data for every event such as location, gender, age etc that only the client has... but there isn't any real tecnological limitation to avoid using it from backend ignoring the missing data.
If I the "business owner" dont care about demographic or geografical data about my purchases and only need to monitore its progress i wish i could simple register the event from firebase functions

Related to https://github.com/firebase/firebase-admin-java/issues/137

Any update on whether this functionality is being considered for addition to the admin package?
We have backend processes that run for each user upon which we'd like to log events or add/remove them from a particular audience.
Currently it seems like this is not possible, is that correct?
Thanks!

There's been some preliminary discussions about adding this feature (and even some prototyping work that we cannot share).  We will continue to press the issue with the GA team and see what they think about it.

There's been some preliminary discussions about adding this feature (and even some prototyping work that we cannot share).  We will continue to press the issue with the GA team and see what they think about it.

Thanks for the update @hiranya911.
🤞 the GA team is open to it.
This is a blocker for us using firebase cloud messaging as is.


no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info

Hi,
Facing this error on Ubuntu 18.04
youtube-dl https://youtu.be/LbDOCJcDRoo --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://youtu.be/LbDOCJcDRoo', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.07.16
[debug] Python version 2.7.15+ (CPython) - Linux-4.18.0-25-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: none
[debug] Proxy map: {'http': , 'https': ''}
[youtube] LbDOCJcDRoo: Downloading webpage
[youtube] LbDOCJcDRoo: Downloading video info webpage
WARNING: Unable to extract video title
ERROR: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 2109, in _real_extract
raise ExtractorError('no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info')
ExtractorError: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

python  __main__.py https://youtu.be/LbDOCJcDRoo
[youtube] LbDOCJcDRoo: Downloading webpage
[youtube] LbDOCJcDRoo: Downloading video info webpage
[youtube] LbDOCJcDRoo: Downloading MPD manifest
[download] Destination: Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard-LbDOCJcDRoo.mp4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
  0  275M    0 1638k    0     0   247k      0  0:18:59  0:00:06  0:18:53  401k

@remitamine Have same issue with downloading
However, tried video from issue creator, and can download it fine. For me this one does not work. Maybe will be reproducable with this one.
user@DESKTOP F:\tmp\youtube-dl\youtube-manual
$ youtube-dl -f best -x "https://music.youtube.com/watch?v=ojjDhdoPF6E"
[youtube:playlist] Downloading playlist RDAMVMojjDhdoPF6E - add --no-playlist to just download video ojjDhdoPF6E
[youtube:playlist] RDAMVMojjDhdoPF6E: Downloading page 1 of Youtube mix
[download] Downloading playlist: RDAMVMojjDhdoPF6E
[youtube:playlist] playlist RDAMVMojjDhdoPF6E: Collected 0 video ids (downloading 0 of them)
[download] Finished downloading playlist: RDAMVMojjDhdoPF6E

user@DESKTOP F:\tmp\youtube-dl\youtube-manual
$ youtube-dl -f best -x "https://music.youtube.com/watch?v=ojjDhdoPF6E"
[youtube] ojjDhdoPF6E: Downloading webpage
[youtube] ojjDhdoPF6E: Downloading video info webpage
ERROR: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Verbose:
[debug] System config: []
[debug] User config: ['--write-sub', '--sub-lang', 'en', '--convert-subs', 'ass', '--embed-sub', '--user-agent', 'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36', '--ffmpeg-location', 'ffmpeg.exe', '--external-downloader', 'ffmpeg.exe']
[debug] Custom config: []
[debug] Command-line args: ['--ffmpeg-location', 'G:\\cli_aliases', '-f', 'best', '-x', '--verbose', 'https://www.youtube.com/watch?v=ojjDhdoPF6E']
[debug] Encodings: locale cp1250, fs mbcs, out cp65001, pref cp1250
[debug] youtube-dl version 2019.07.16
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg N-94334-gab4795a085, ffprobe N-94334-gab4795a085, phantomjs 2.1.1
[debug] Proxy map: {}
[youtube] ojjDhdoPF6E: Downloading webpage
[youtube] ojjDhdoPF6E: Downloading video info webpage
ERROR: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\YoutubeDL.py", line 796, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\extractor\common.py", line 530, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\extractor\youtube.py", line 2109, in _real_extract
youtube_dl.utils.ExtractorError: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

@remitamine I can download video of @rahulpathakgit fine, but have problem with different one. Maybe this will help:
youtube-dl --verbose https://www.youtube.com/watch?v=ojjDhdoPF6E
[debug] System config: []
[debug] User config: ['--write-sub', '--sub-lang', 'en', '--convert-subs', 'ass', '--embed-sub', '--user-agent', 'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36', '--ffmpeg-location', 'ffmpeg.exe', '--external-downloader', 'ffmpeg.exe']
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=ojjDhdoPF6E']
[debug] Encodings: locale cp1250, fs mbcs, out cp65001, pref cp1250
[debug] youtube-dl version 2019.07.16
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
WARNING: ffmpeg-location ffmpeg.exe does not exist! Continuing without avconv/ffmpeg.
[debug] exe versions: phantomjs 2.1.1
[debug] Proxy map: {}
WARNING: ffmpeg-location ffmpeg.exe does not exist! Continuing without avconv/ffmpeg.
WARNING: ffmpeg-location ffmpeg.exe does not exist! Continuing without avconv/ffmpeg.
[youtube] ojjDhdoPF6E: Downloading webpage
[youtube] ojjDhdoPF6E: Downloading video info webpage
ERROR: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\YoutubeDL.py", line 796, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\extractor\common.py", line 530, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpaxmfe_l6\build\youtube_dl\extractor\youtube.py", line 2109, in _real_extract
youtube_dl.utils.ExtractorError: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

youtube-dl https://www.youtube.com/watch?v=ojjDhdoPF6E
[youtube] ojjDhdoPF6E: Downloading webpage
[youtube] ojjDhdoPF6E: Downloading video info webpage
[download] Destination: Amon Amarth - Shield Wall (Official Audio)-ojjDhdoPF6E.mp4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  3 12.4M    3  416k    0     0   137k      0  0:01:33  0:00:03  0:01:30  431k

OK.. then can't help more... seems to apply to random video for different people as I still can't download it

I got the same issue and I solved it. The cause of the issue was UA because when I set some UA like mobile device (Android, iPhone etc) by --user-agent option, the request was redirected to m.youtube.com once and then went back to www.youtube.com again. So, maybe the behavior gave bad effect to parse its response.
I wish you good luck.

Same error for me, here's Linux Mint 19.3 with python 3.7m:
youtube-dl https://www.youtube.com/watch?v=F7tMuUekYQA --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=F7tMuUekYQA', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.08.13
[debug] Python version 3.6.9 (CPython) - Linux-5.3.0-28-generic-x86_64-with-LinuxMint-19.3-tricia
[debug] exe versions: ffmpeg 3.4.6, ffprobe 3.4.6
[debug] Proxy map: {}
[youtube] F7tMuUekYQA: Downloading webpage
[youtube] F7tMuUekYQA: Downloading video info webpage
ERROR: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/home/piotao/.local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/home/piotao/.local/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/home/piotao/.local/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 2109, in _real_extract
raise ExtractorError('no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info')
youtube_dl.utils.ExtractorError: no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


Feature request: option to disable search

If selectionRequired is false, a input's value can be different if a user only types it vs selects it.
But for our use case the user needs to be able to type any custom string. Disabling the search feature will help prevent users from accidentally typing their selection instead of selecting it.
Edit: I (or someone else who stumbles on this issue) may also be able to help with this if you can point me to the right places in the code.

If I understood correctly, If I added a searchEnabled option, allowing to disable search, would solve that?

Not solve the issue, but help it. E.g. suppose an option's name is "Yes" with value "YES". If the user types "Yes", the value will be "Yes" instead of "YES". This is a trivial example, but may screw up backend parsing.
A malicious user will always be able to get around this design, but the goal is to prevent a normal user from accidentally searching and finish typing a value that should have been selected.
Thanks for your quick responses by the way!

Like you refered to in your first comment, if selectionRequired  is set to false, whatever the user writes in the field, will send it. That's the desired behavior. Maybe it's a bug. :)
Having said that, yeah, having the option to disable search, it's not a bad idea.
No problem, thanks for helping improve the plugin. :)

Hey,
searchDisabled option added on 1.7.0! Thanks.
Sérgio


Add resizeToAvoidBottomInset Option to WoltModalSheet to Control Keyboard Overlay Behavior

Description
This PR introduces a new flag, resizeToAvoidBottomInset, to the WoltModalSheetPage. This enhancement addresses an issue (https://github.com/woltapp/wolt_modal_sheet/issues/154). With this change, developers can now choose whether the WoltModalSheet.mainContent should resize when the onscreen keyboard appears, preventing it from shifting up and down.
Solution
To address this problem, we have added the resizeToAvoidBottomInset flag to the WoltModalSheetPage. This flag allows developers to specify whether the main content of the modal sheet should be resized to avoid being obscured by the keyboard. Internally, WoltModalSheet uses a Scaffold widget to implement this functionality. The flag's default value is sourced from [WoltModalSheetDefaultThemeData.resizeToAvoidBottomInset], and set to true so that existing package users are not affected.
Usage
To prevent the wolt_modal_sheet from shifting when the keyboard appears, set resizeToAvoidBottomInset to false in the WoltModalSheetPage. This will cause the keyboard to overlay directly on top of the modal sheet, without affecting its position or triggering a page reconstruction.
WoltModalSheetPage(
  resizeToAvoidBottomInset: false,
  // other properties
)

resizeToAvoidBottomInset false
resizeToAvoidBottomInset true

Related Issues
https://github.com/woltapp/wolt_modal_sheet/issues/154
Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

LGTM


Error with @nguniversal/express-engine version 5.0.0-beta.6

Error Message
ERROR in ./node_modules/ngx-device-detector/ngx-device-detector.umd.js
Module not found: Error: Can't resolve 'nguniversal/express-engine/tokens' in 'C:....\node_modules\ngx-device-detector'
Possible Reason
"nguniversal/express-engine" version "5.0.0-beta.6" no longer contains "tokens.js" which ngx-device-detector version "1.1.7" demands to work.

looks like the request, response tokens are now exposed like this: import {REQUEST} from '@nguniversal/express-engine'

Is there a quick fix for this?

Reverting and locking @nguniversal/express-engine to version 5.0.0-beta.5 worked here, though it seems a bit hackish to me.

@alcidesqueiroz certainly. That can be a temporary solution but not a permanent one.
@brendanairvuz would you be able to look into this issue anytime soon?

@AhsanAyaz yes I can, it should be a quick fix and I'll submit a PR today or tomorrow.

Any news?

Can you guys try now with the latest release 1.2.0?

I'm receiving this error now,
Uncaught Error: Can't resolve all parameters for DeviceDetectorService: ([object Object], ?).
I'm using:

I had just hit the same error and this seems to have fixed the issue for me, cheers

Same error with version 1.2.1, i am using ngx-rocket

Same error happens yet. I'm using angular 5. Follow below error log:
ERROR in<EMAIL_ADDRESS>Module not found: Error: Can't resolve '@angular/platform-server' in 'D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\src'
resolve '@angular/platform-server' in 'D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\src'
Parsed request is a module
using description file<EMAIL_ADDRESS>(relative path: ./src)
Field 'browser' doesn't contain a valid alias configuration
after using description file<EMAIL_ADDRESS>(relative path: ./src)
resolve as module
D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\src\node_modules doesn't exist or is not a directory
D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\node_modules doesn't exist or is not a directory
D:\workspace\talentos\frontend\node_modules@nguniversal\node_modules doesn't exist or is not a directory
D:\workspace\talentos\frontend\node_modules\node_modules doesn't exist or is not a directory
D:\workspace\talentos\node_modules doesn't exist or is not a directory
D:\workspace\node_modules doesn't exist or is not a directory
D:\node_modules doesn't exist or is not a directory
looking for modules in D:\workspace\talentos\frontend\node_modules
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules)
Field 'browser' doesn't contain a valid alias configuration
after using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules)
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules/@angular/platform-server)
no extension
Field 'browser' doesn't contain a valid alias configuration
D:\workspace\talentos\frontend\node_modules@angular\platform-server doesn't exist
.ts
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
as directory
D:\workspace\talentos\frontend\node_modules@angular\platform-server doesn't exist
looking for modules in D:\workspace\talentos\frontend\node_modules
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules)
Field 'browser' doesn't contain a valid alias configuration
after using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules)
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./node_modules/@angular/platform-server)
no extension
Field 'browser' doesn't contain a valid alias configuration
D:\workspace\talentos\frontend\node_modules@angular\platform-server doesn't exist
.ts
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
as directory
D:\workspace\talentos\frontend\node_modules@angular\platform-server doesn't exist
looking for modules in D:\workspace\talentos\frontend\src
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src)
Field 'browser' doesn't contain a valid alias configuration
after using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src)
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src/@angular/platform-server)
no extension
Field 'browser' doesn't contain a valid alias configuration
D:\workspace\talentos\frontend\src@angular\platform-server doesn't exist
.ts
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
as directory
D:\workspace\talentos\frontend\src@angular\platform-server doesn't exist
looking for modules in D:\workspace\talentos\frontend\src
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src)
Field 'browser' doesn't contain a valid alias configuration
after using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src)
using description file: D:\workspace\talentos\frontend\package.json (relative path: ./src/@angular/platform-server)
no extension
Field 'browser' doesn't contain a valid alias configuration
D:\workspace\talentos\frontend\src@angular\platform-server doesn't exist
.ts
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
as directory
D:\workspace\talentos\frontend\src@angular\platform-server doesn't exist
[D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\src\node_modules]
[D:\workspace\talentos\frontend\node_modules@nguniversal\express-engine\node_modules]
[D:\workspace\talentos\frontend\node_modules@nguniversal\node_modules]
[D:\workspace\talentos\frontend\node_modules\node_modules]
[D:\workspace\talentos\node_modules]
[D:\workspace\node_modules]
[D:\node_modules]
[D:\workspace\talentos\frontend\node_modules@angular\platform-server]
<EMAIL_ADDRESS><EMAIL_ADDRESS>[D:\workspace\talentos\frontend\node_modules@angular\platform-server]
[D:\workspace\talentos\frontend\node_modules@angular\platform-server]
<EMAIL_ADDRESS><EMAIL_ADDRESS>[D:\workspace\talentos\frontend\node_modules@angular\platform-server]
[D:\workspace\talentos\frontend\src@angular\platform-server]
<EMAIL_ADDRESS><EMAIL_ADDRESS>[D:\workspace\talentos\frontend\src@angular\platform-server]
[D:\workspace\talentos\frontend\src@angular\platform-server]
<EMAIL_ADDRESS><EMAIL_ADDRESS>[D:\workspace\talentos\frontend\src@angular\platform-server]
<EMAIL_ADDRESS>6:24-59
<EMAIL_ADDRESS>@ ./node_modules/ngx-device-detector/ngx-device-detector.umd.js
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://<IP_ADDRESS>:0 ./src/main.ts
webpack: Failed to compile.


Ordered interceptions

Could you explain a bit more what this patch does ?

@saturn4er Sorry it has been a while, can you resolve the conflicts here ?

Closing due to lack of response, interceptors is now updated to be sorted by depth of intercept call which can help with the ordering


add recommends KKtoSD and Kronometer

This makes no sense to me..

Not your fault, I broke the validator. Fix is in KSP-CKAN/CKAN#2203. Please bear with us till that gets merged.
Is it safe to ignore the previous 2 PRs?

This PR should be fine once the validator gets fixed; re-opening.

#rebuild

@Galileo88, the validator is working now, so you can switch it back to recommends now if you think that's more appropriate. Adding a "blocked by" label to make sure you have a chance to consider that before this gets merged.

Ah ok cool! I was pulled my my hair (or what’s left of it) out trying to figur this out lol

ok its ready to go!


Sonic Boom bug in street scene

In shadertoy.js if we enable 'SAMPLE_ALPHA_TO_COVERAGE' (context.enable(context.SAMPLE_ALPHA_TO_COVERAGE);) the render of sonic-boom would be wrong:
https://user-images.githubusercontent.com/60634884/165412886-01cc98ea-aa4e-400b-9db5-8eb7d3d0403f.mp4
This is the result if I comment out context.enable(context.SAMPLE_ALPHA_TO_COVERAGE); :
https://user-images.githubusercontent.com/60634884/165413011-b1387a1a-7073-4acd-9761-84989a8dfb5f.mp4

Is it okay to disable SAMPLE_ALPHA_TO_COVERAGE?

Is it okay to disable SAMPLE_ALPHA_TO_COVERAGE?

No, that would break a lot of shaders. I think perhaps the sonic boom should be updated to be compatible with alpha to coverage.


Status Code:405 Method Not Allowed

Request Method:POST
Status Code:405 Method Not Allowed
the GET Method is ok,but post does not work and error occurred,other web server is ok

I'm trying to post data from one HTML form on site A to site B.
I'm still getting the error message indicated above
Request Method: POST
Status Code:405 Method Not Allowed
Can you please try and fix this, at the moment I'm having to test out my whole payment system and it is in very tedious steps where I publish to a Heroku server via GitHub and then I can see whether changes I made are as desired. Would love to do it through your Live server extension(Which I love btw), can you please update the server settings to be able to handle post requests

Issue is still ongoing!


restart the cloud shell for updated terraform binary

If you needed to create the bin directory and move the updated Terraform binary into it, the user may need to "restart" their close shell session for the command "terraform version" to properly work with the updated binary. I experienced this in the bash shell.

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

ID: 0e89ec2c-6792-5fda-8838-e4b4aac79960
Version Independent ID: 357320a3-8d02-d834-6553-d183584e8639
Content: Get Started - Configure Terraform in Azure Cloud Shell with Bash
Content Source: articles/terraform/get-started-cloud-shell-bash.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

@thomasknowles Thanks for the feedback on your experience. I've added a step to the instructions to restart Cloud Shell after copying the Terraform executable into the bin directory. The article should republish tomorrow.


Tsc doesn't typecheck

Bug Report
🕗 Version & Regression Information
❯ tsc --version
Version 4.1.5

⏯ Playground Link
Playground link with relevant code
💻 Code
function hi(): [string | undefined] {
  return [undefined];
}

const [string] = hi();

string.big();

🙁 Actual behavior
this code doesn't cause error when i run it with tsc
BUT this code DOES cause a error in the playground
🙂 Expected behavior
to error

The playground has the strictNullChecks option enabled, which is by default disabled with the compiler.

why strictNullChecks is disabled by default??

To avoid breaking changes.